Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
PWM в этом долбанном AT91SAM7A3
Отправлено
vitalyn (109.202.17.244) 23 октября 2013, г. 13:07
Всем привет!
Проблема у меня - старые грехи жить не дают...
AT91SAM7A3. ШИМ. Используется канал 0. Регистр CMR =0, что означает, что прескалер равен MCK (=48 МHz), CPOL=0, CPD=0 и режим LEFT_ALIGNED. Регистр периода равен 4096. Прерывания не используются. Канал как сконфигурирован один раз, так больше и не останавливается - используется регулировка duty-cycle через update регистр. Исходное состояние - duty-cycle равен 2048, на выходе наблюдается красивый меандр с частотой 11.7 кГц (это нормально и правильно). Теперь начинаем плавненько менять скважность путём записи новых значений в update регистр (от 2048 снижаем до 240) - скважность плавненько меняется. Только проблема в том, что она спонтанно меняется не в ту сторону! Такое ощущение, что у этой скотины спонтанно меняется полярность выхода!
Кто-нибудь наступал на эти грабли? Учитывая что это не первый косяк, выявленный в SAM7A3, то грешу на процессор, но может быть, всё-таки, я чего-то не так делаю? Просто во втором случае проблему можно исправить в программе, а в первом случае придётся девайс на другом процессоре заново разрабатывать.
Составить ответ | Вернуться на конференцию
Ответы