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

 
 
> STM32F2xx - как покрасивее считывать внешнее АЦП черз SPI, с DMA и желательно в автомате
Сергей Борщ
сообщение May 8 2012, 09:29
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Есть внешнее 16-битное АЦП с выходом SPI (конкретно LTC2383). Я выходом capture таймера генерю ему сигнал "начать преобразование". В ответ оно выставляет сигнал BUSY. После преобразования оно снимает сигнал BUSY и готово отдать мне 16 бит по SPI. Так вот вопрос - а можно ли, используя периферию STM32F2xx, сделать так, чтобы по этому сигналу BUSY автоматом, т.е. без участия программы, активизировался обмен по SPI? Из SPI данные будут забираться через DMA. Читал документацию, но ничего лучше чем "повесить BUSY на вход внешнего прерывания и в обработчике кидать фиктивный байт в SPI" пока не придумал. АЦП шустрое, не хотелось бы скакать в прерывание после каждого преобразования. Есть еще одна идея, но не буду ее пока излагать чтобы не ограничивать полет фантазии. Что можно намутить более хитрого?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение May 11 2012, 14:41
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Vladimir_T @ May 11 2012, 13:48) *
По приему всего блока данных DMA, может сгенерить прерывание.
Так это не проблема - проблема заставить проц этот блок данных через SPI "всосать" без вмешательства программы. Если бы я мог инициировать транзакцию DMA внешним сигналом - проблем мы не было.

QUOTE (inventor @ May 11 2012, 15:15) *
какой-то странный у вас кристал!
Нет, не странный - просто другой. LTC2383. У него нет регистра DR. Он самодостаточен и slave. Дернул ногу - он преобразовал - можно считывать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Сергей Борщ   STM32F2xx - как покрасивее считывать внешнее АЦП черз SPI   May 8 2012, 09:29
- - AHTOXA   Для чтения SPI всяко надо два канала DMA - один дл...   May 8 2012, 11:46
- - _pv   sclk постоянно выдавать тоже с таймера, spi в слэй...   May 8 2012, 11:46
- - -JonnS-   Скрещивал STM32discovery с ADS8361 (20бит слово). ...   May 8 2012, 18:31
- - Vladimir_T   Я сделал так. Сигнал окончания преобразования DRDY...   May 11 2012, 10:24
|- - Сергей Борщ   QUOTE (Vladimir_T @ May 11 2012, 13:24) Т...   May 11 2012, 10:32
- - Vladimir_T   По приему всего блока данных DMA, может сгенерить ...   May 11 2012, 10:48
- - inventor   че та я не понимаю. у меня например ацп - ads1210 ...   May 11 2012, 12:15
|- - Vladimir_T   Цитата(Сергей Борщ @ May 11 2012, 18:41) ...   May 12 2012, 03:47
|- - MrYuran   Цитата(Сергей Борщ @ May 11 2012, 18:41) ...   May 12 2012, 05:31
|- - Tolyaha   Цитата(Сергей Борщ @ May 11 2012, 17:41) ...   May 23 2012, 08:47
- - khach   Для запуска DMA для вычитки данных из внешеного АЦ...   May 12 2012, 10:50
- - Сергей Борщ   В общем родил я такую стратегию: TIM4_CH1 формиру...   May 16 2012, 19:23
|- - jcxz   Что-то у вас на одну задачу куча таймеров тратится...   May 17 2012, 02:37
|- - SBE   Цитата(Сергей Борщ @ May 16 2012, 23:23) ...   May 17 2012, 13:50
|- - Сергей Борщ   QUOTE (SBE @ May 17 2012, 16:50) На повер...   May 22 2012, 17:28
|- - SBE   Цитата(Сергей Борщ @ May 22 2012, 21:28) ...   May 23 2012, 09:32
- - Сергей Борщ   Спасибо всем - да, до AN2548 я не добрался. Посмот...   May 23 2012, 09:55


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

 


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


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