реклама на сайте
подробности

 
 
> Максимальное разрешение многоканального программного ШИМ на STM32, Проверьте мои измышления, плз
Dog Pawlowa
сообщение Apr 2 2009, 09:52
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



N 16 каналов
F Частота 400 Гц
n Количество градаций 1000
f Частота микроконтроллера 72 MHz
p Ресурсы времени на обслуживание ШИМ 50%

T Период прерывания обслуживания ШИМ = (1/(F*n)) = 1/(400*1000) = 2,5 мкс
Время прерывания 2,5 *50/100 = 1,25 мкс.
Допустимое количество команд 72*1,25= 90

Делаем тупо 16 раз:

if (count==pwm[NUM]) PORT->BSRR=PIN

На каждый канал тратится шесть команд, итого 96 команд плюс инкремент-пролог-эпилог.
Много. Плюс джиттер - отдельный вопрос.

Переделываем на предварительное формирование слова для записи в порт, и потом три записи этих байтов
4 команды на канал итого 64 плюс чистка и запись в три порта 11 команд всего 75.
Чуть лучше.

Какие еще варианты могут быть? (кроме снижения требований, конечно )

Сдвиговый регистр на SPI с записью по DMA? Что-то еще?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016