-
- Внешний Д-триггер, тактируемый упомянутым шим-сигналом. Второй вариант - ПДП из регистра в порт по тому же таймеру. Там хоть 16 бит - Kpoк(04.02.2021 08:25)
- На таймерах STM32 можно такой концерт для фортепьяно с оркестром
сыграть!!! И полностью аппаратно, без всяких джиттеров. Рекомендую
почитать про DMA burst mode - это когда регистры конфигурации
таймера меняются "на лету", загружаясь по ДМА. Я делал на STM32
полностью аппаратную RGB развертку. Дерзай!!! - il-2(04.02.2021 08:09)
- ДМА никак не решает поставленную задачу. ДМА лишь позволяет не
грузить ядро. Между реквестом ДМА и завершением транзакции джиттер
примерно такой же, как и при использовании прерываний. Ну может
чуть меньше, но непринципиально. Отсутствие джиттера гарантирует
прямая синхронизация модулей периферии. Если она есть в требуемой
для задачи конфигурации, конечно. - my504(04.02.2021 11:16)
- Ты тоже почитай про DMA burst mode. Джиттеры ДМА-транзакций никак
не влияют на джиттеры таймера, который только перенастраивается с
помощью ДМА (разумеется, если интервалы таймера превышают возможные
задержки ДМА). - il-2(04.02.2021 11:57)
- Ты так пишешь про бурст мод, словно это не элементарщина, а
сакральное знание. Однако я и писал о том, что не ДМА обеспечивает
малый джиттер. Понятно, что если нужно хором сменить несколько
регистров периферии, требуется пакетная передача ДМА с интервалом
шины по единственному реквесту. - my504(04.02.2021 12:07)
- Термины, термины :-) Почитай про Timer burst mode :-) -> - il-2(04.02.2021 12:10, ссылка)
- Ты так пишешь про бурст мод, словно это не элементарщина, а
сакральное знание. Однако я и писал о том, что не ДМА обеспечивает
малый джиттер. Понятно, что если нужно хором сменить несколько
регистров периферии, требуется пакетная передача ДМА с интервалом
шины по единственному реквесту. - my504(04.02.2021 12:07)
- Ты тоже почитай про DMA burst mode. Джиттеры ДМА-транзакций никак
не влияют на джиттеры таймера, который только перенастраивается с
помощью ДМА (разумеется, если интервалы таймера превышают возможные
задержки ДМА). - il-2(04.02.2021 11:57)
- Чуть поподробней. Что именно можно у них менять на лету? Период,
ширину импульса. Ещё что? - Kpoк(04.02.2021 10:58)
- Все параметры, задаваемые в регистрах конфигурации. За подробностями см. AN4776 General-purpose timer cookbook, а так-же описание регистра TIMx->DCR . Я кстати, немного термины перепутал - речь идет о Timer burst mode. Термин DMA burst mode относится к режиму DMA в STM32F2. - il-2(04.02.2021 12:08)
- Про какой кусочек на диаграмме хотите подробности?
>>> SciFi(1 знак., 04.02.2021 11:08, картинка)
- Про все. У ПИКов, например, некоторые изменения наступают только после выключения-включения модуля. - Kpoк(04.02.2021 12:15)
- Вероятно проблема в том, что собственно на лету менять в генерации ничего нельзя. Часть регистров будет употреблена лишь после очередного апдейта, а часть вообще не может быть модифицирована на лету. Только после останова/завершения пакета ДМА. Бурст мод может лишь пакетом (с интервалом транзакций шины) выгрузить конфигурацию в регистры периферии, но ничего не меняет в процедуре апдейта. - my504(04.02.2021 11:43)
- а как смещать указатель буфера ПДП на ходу? - ИвaнII(04.02.2021 10:42, )
- ДМА никак не решает поставленную задачу. ДМА лишь позволяет не
грузить ядро. Между реквестом ДМА и завершением транзакции джиттер
примерно такой же, как и при использовании прерываний. Ну может
чуть меньше, но непринципиально. Отсутствие джиттера гарантирует
прямая синхронизация модулей периферии. Если она есть в требуемой
для задачи конфигурации, конечно. - my504(04.02.2021 11:16)
- 4 бита - это 4 или даже 2 output compare модуля. У многих чипов столько есть. Работают "железно". Nikolay_Po(101 знак., 03.02.2021 23:29)
- Логику можете немного подробнее описать? Возможно коллективным разумом что-нибудь придумаем. - evgeniy1294(03.02.2021 23:08)