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

 
 
> вывод слова из озу по таймеру с помощью DMA, stm32f4xx
klen
сообщение Feb 10 2013, 09:12
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Здравствуйте.
Возникла необходимость вывести битовый поток заданной длинны через лапку микросхемы stm32f4xx . длинна импульса бита 50ns(20МГц), просто заводя таймер на 50 нан и в прерывании запись в порт бита не успевает 168 / 20 = 8,9 таков таймера до следующего тика, а само прерывани не менее 12 тактов... нейспевает. какнить с помошью дма можно извернутся?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Feb 11 2013, 01:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(klen @ Feb 10 2013, 15:12) *
Возникла необходимость вывести битовый поток заданной длинны через лапку микросхемы stm32f4xx . длинна импульса бита 50ns(20МГц), просто заводя таймер на 50 нан и в прерывании запись в порт бита не успевает 168 / 20 = 8,9 таков таймера до следующего тика, а само прерывани не менее 12 тактов... нейспевает. какнить с помошью дма можно извернутся?
А чем SPI не канает?
Go to the top of the page
 
+Quote Post
klen
сообщение Feb 12 2013, 17:42
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(jcxz @ Feb 11 2013, 05:41) *
А чем SPI не канает?


сасибо за идею.
заюзал SPI2 в режиме I2S - оп причине наличия у i2S своего собственного PLL что дает возможность тонко управлять битрейтом выходного потока. раскочегарил на максимум скорости - получилось
1, MCO(мастер клок - меандр) 132МГц
2, I2S_CK - меандр 32МГц
3, собственно выталкиваемые биты со чкоростью клока

сехе обычная - ОЗУ -> DMA-> SPI, выдается пачка импульсов(в моем случае это 128 бит M-последовательность ) из озушного буфера одинарной DMA транзакцией. а милисикундный период мачек таймером. в прерывании по переполнению запускается DMA.

все отлично работает, никакой загрузки проца. шина и матрица видимо шевелется а остальные ресурсы остаются в наших руках sm.gif
спасибо за подсказку сам бы не допертил.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 11:39
Рейтинг@Mail.ru


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