|
Можно ли реализовать ШИМ со стабильными параметрами на AT89S8253? |
|
|
|
Oct 1 2009, 21:08
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(rezident @ Oct 2 2009, 00:29)  Прохожий, вы прикололись или вопроса не поняли? Видимо не понял. Или понял не так как Вы, извините. Цитата(rezident @ Oct 2 2009, 00:29)  Как на ШИМ-контроллере с помощью указанного топикстартером MCU можно дискретно изменять скважность? В простейшем случае подаем сигнал с выхода ШИМ МК через фильтр на ногу, регулирующую мертвое время TL494 (все остальное штатно). Изменение скважности при этом будет дискретным. Дрожание сигнала будет зависеть от качества фильтра. В непростейшем можно через ЦАП...
Сообщение отредактировал Прохожий - Oct 1 2009, 21:10
|
|
|
|
|
Oct 3 2009, 17:26
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(rezident @ Oct 2 2009, 03:21)  Если бы у топикстартера в МК был ШИМ, то он бы не стал заморачиваться формированием ШИМ, только для того, чтобы с помощью него управлять ШИМ-контроллером, который тоже сформирует ШИМ. Весьма странное решение, не находите?  Ничего странного не нахожу. Это не я придумал, к сожалению. По последней ссылке в моем посте №3 даже спец. ИС именно для этого предназначенная. А преимуществ, на самом деле у этого метода несколько больше, чем недостатков...
Сообщение отредактировал Прохожий - Oct 3 2009, 17:29
|
|
|
|
|
Oct 4 2009, 20:43
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 1-05-06
Из: Одесса
Пользователь №: 16 644

|
последовательным портом 80c52 в нулевом режиме мы при кварце 8,8МГц выдавали 5,5битный голос с частотой 11 киловыборок. При этом еще в реалтайме разжимались хаффман и дельта. Ваша задача намного проще, а тактовая втрое выше. Дрожжание на обработку прерываний обходится хитрыми процедурками в начале прерывания - они смотрят на таймер, вызвавший прерывание, а самотормозятся на нужное к-во тактов.
|
|
|
|
|
Oct 5 2009, 08:03
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 16-02-05
Из: Санкт-Петербург
Пользователь №: 2 668

|
Цитата(62256 @ Oct 5 2009, 00:43)  последовательным портом 80c52 в нулевом режиме мы при кварце 8,8МГц выдавали 5,5битный голос с частотой 11 киловыборок. При этом еще в реалтайме разжимались хаффман и дельта. Ваша задача намного проще, а тактовая втрое выше. Дрожжание на обработку прерываний обходится хитрыми процедурками в начале прерывания - они смотрят на таймер, вызвавший прерывание, а самотормозятся на нужное к-во тактов. Прочитайте внимательно первый пост. Формирование ШИМ - это только одна из многих задач. Это к вопросу о простоте. (прерывание от таймеров, формирующих ШИМ, будут иметь не высший приоритет, т.к. будут решаться и другие более важные задачи). Да и процедура, описанная Вами позволит (насколько я понял) только "дощитать" длительность формируемую для ШИМ. А как быть если отрабатывается некое прерывание (только вошли в него) и пришло прерывание от таймера, который формирует длительность ШИМ (т.е. уже ничего добавлять не надо, а надо как можно быстрее обработать это прерывание - вот Вам и увеличение длительносьти в "+"?
|
|
|
|
|
Oct 5 2009, 22:33
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 1-05-06
Из: Одесса
Пользователь №: 16 644

|
Цитата(LSV @ Oct 5 2009, 11:03)  вот Вам и увеличение длительносьти в "+"? вот на это увеличение и есть запас - нижний предел у Вас 15%. Генерация много тактов не возьмет, поэтому таймеру шима можно дать бОльший приоритет. А если использовать УАПП - так у него своё прерывание при выходе последнего бита. Но если есть место на плате, есть питание, и есть деньги - то проще поставить внешний таймер, хоть ВИ54 и явно избыточен для такой задачи.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|