Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.04.2011, 21:45  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию LPC2129 ШИМ

Сконфигурировал вродь правильно, но никак не допру, почему не работает ШИМ.

PHP код:
IODIR0    |=    (1‹‹1);
    
IOCLR0    |=    (1‹‹1);

    
PINSEL0     &=    ~((1‹‹3)|(1‹‹2)); // select pwm3 on p0.1
    
PINSEL0     |=    (1‹‹3)|(0‹‹2);

    
PCONP    |= (1‹‹5);         // powering pwm
    
PWMPR    =    20000;    //    prescaler 
    
PWMMR3    =    10000;//     compare register
    
PWMMCR    =    (1‹‹10);//     сброс от совпадения pwm3
    
PWMPCR    =    (1‹‹11);//    включен pwm3
    
PWMTCR    =    (1‹‹3)|(1‹‹1)|(1‹‹0); 
Счетчик не тикает, выход молчит
Реклама:
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 16.04.2011, 22:28  
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Поглядите регистр PWMEMR там надо поставить биты "защелкивания" значения регистра сравнения ШИМ, по крайней мере так в LPC2300, поглядите в даташит
Вот гляньте как у меня в LPC23хх

void PWM_conf (void)
{
// присоединение вывода к ШИМ
PINSEL7|=_BV(21); PINSEL7|=_BV(20); //Connect PWM1.3 to pin 26

// включение ШИМ на выводе
PWM1PCR |= _BV(PWMENA3); //включить выод PWMENA 3
PWM1PCR &=~_BV(PWMSEL3); // управление одиночным перепадом

// конфигурирование

PWM1PR=0x00; // предделитель


PWM1MCR|=_BV(1); // сбрасываем при вовпадении счетного регистра с PWMMR0
PWM1MCR|=_BV(0); // прерывание при вовпадении счетного регистра с PWMMR0

PWM1LER|=_BV(0) | _BV(3) ; // включить защелки в канале 0 и 6

PWM1TCR|=_BV(0); // разрешение счета

return;
}
__________________
То, что нас не убивает - делает нас сильнее

Последний раз редактировалось serb-radio; 16.04.2011 в 22:30.
serb-radio вне форума  
Непрочитано 17.04.2011, 01:07  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Попробовал по аналогии - ничего. Счетчик не считает
А как вы задаете период и скважность?
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 17.04.2011, 09:14  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Сообщение от alberio Посмотреть сообщение
PWMTCR = (1‹‹3)|(1‹‹1)|(1‹‹0);
Навскидку первое - у Вас счетчик PWM в ресете.
Цитата:
The counters remain reset until TCR[1] is returned to zero.
PWMTCR = (1‹‹1); //Сброс PWM таймера
PWMTCR = (1‹‹3)|(1‹‹0); //Разрешение PWM режима и таймера

Последний раз редактировалось AJScorp; 17.04.2011 в 09:20.
AJScorp вне форума  
Сказали "Спасибо" AJScorp
alberio (17.04.2011)
Непрочитано 17.04.2011, 13:12  
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Задается в программе в прерывании, для формирования пачки импульсов. Необходимо после задания периода и скважности защелкивать PWMEMR. Так еще поглядите подается ли питание на модуль шимрегистр PCONP
void pow_init (void)
{

//выключение периферии
PCONP&= ~_BV(PCI2C0)& ~_BV(PCRTC) & ~_BV(PCEMC1) &~_BV(PCCAN1) &~_BV(PCCAN2);
PCONP&= ~_BV(PCI2C1) &~_BV(PCSSP1) & ~_BV(PCSPI) & ~_BV(PCUART2) &~_BV(PCUART3);
PCONP&= ~_BV(PCI2C2) & ~_BV(PCI2S) &~_BV(PCSDC) &~_BV(PCGPDMA) &~_BV(PCENET);
PCONP&= ~_BV(PCUSB) & ~ _BV(PCUART0);

// включение периферии
PCONP|= _BV(PCTIM0) | _BV(PCTIM1) | _BV(PCTIM2) | _BV(PCTIM3) | _BV(PCPWM1) | _BV(PCSSP0) | _BV(PCAD);

return;
}
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 17.04.2011, 13:44  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Сообщение от AJScorp Посмотреть сообщение
Навскидку первое - у Вас счетчик PWM в ресете.
Так и есть, спасибо - таймер затикал Вот только ШИМа нет. Читаю - и никак не могу понять. Есть регистр PWMPR - прескалер счетчика для модуля ШИМ, есть регистр PWMMR3, для третьего канала ШИМ - регистр сравнения (длительности импульса). А период? Задается PWMPR? Тогда мне непонятно, почему не работает...
PHP код:
PWMPR    =    100;        //    prescaler 
    
PWMMR3    =    50;            //    PWMMR3     compare register

    
PWMPCR    =    (1‹‹11);    //    pwm control    включен pwm3
    
PWMMCR    =    (1‹‹10);//    compare control register сброс от совпадения pwm3
    
PWMLER    =    (1‹‹3);

    
PWMTCR    =    (1‹‹1);
    
PWMTCR    =    (1‹‹3)|(1‹‹0); 
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 17.04.2011, 14:17  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Для режима Single Edge PWM установка выхода в "1" происходит по MR0, в "0" по MRx.

Можно установить период в MR0 (PWMMCR = 0x02), а заполнение регулировать через MR3. На рисунке - пример для MR5.
Миниатюры:
Нажмите на изображение для увеличения
Название: LPCPWM.PNG
Просмотров: 59
Размер:	45.6 Кб
ID:	20690  
AJScorp вне форума  
Сказали "Спасибо" AJScorp
alberio (17.04.2011)
Непрочитано 17.04.2011, 15:31  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Да, теперь, вроде бы понимаю. То есть регистр одного из каналов играет роль регистра периода для другого - таблица в даташите. В данном случае регистр нулевого канала есть регистром периода для третьего. Ну... немного странно, ведь выходит, что все 6 каналов не запустишь одновременно...
Тем не менее Счетчик считает - сбрасывается, все как надо. Только вот ШИМа на выходе все нет
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 17.04.2011, 16:45  
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

а PINSEL сконфигурячил как надо? и предделителя чегото большеватое значение
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 17.04.2011, 17:15  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: LPC2129 ШИМ

Сообщение от alberio Посмотреть сообщение
Ну... немного странно, ведь выходит, что все 6 каналов не запустишь одновременно...
Запускаются 6 одновременно. Только не "все 6", а 6 из семи. Каналов то 7.
kison вне форума  
 

Закладки

Метки
arm, lpc2129, pwm, шим
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу наладить ШИМ Саныч Производственное оборудование 4 01.05.2011 17:10
Кривая генерация шим putmannn Электроника - это просто 28 11.02.2011 21:27
Помогите С P-Канальным Транзистором В Шим winso Источники питания и свет 39 11.10.2010 07:49
Проблема с аппаратным ШИМ в мега169 Archer07 Микроконтроллеры, АЦП, память и т.д 3 09.07.2010 15:40
Ищу ШИМ контроллер serb-radio Информация по радиокомпонентам 1 16.02.2010 21:10


Часовой пояс GMT +4, время: 14:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot