STM32: быстрый опрос внешнего ADC

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

STM32: быстрый опрос внешнего ADC

Сообщение Open »

Добрый день! Понадобилось, значит, мне оцифровать сигнал с частотой эдак мегагерц 40-60.
Выбор пал на stm32F205 (системная частота 120, ДМА можно запустить на 60, если ничего не путаю :) ), АЦП соответственно внешнее, собираюсь прикручивать через FSMC ну и ДМА, на него натравленное. Кроме этого планируется запуск еще одного ДМА (правда с частотой порядка 100 КГц) для управления усилением оцифровываемого си гнала.
Вопрос заключается в следующем: Насколько может порвать временную диаграмму и как с этим бороться?
Реклама
Аватара пользователя
rus084
Друг Кота
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская
Контактная информация:

Re: STM32: быстрый опрос внешнего ADC

Сообщение rus084 »

для таких целей больше подойдет ПЛИС

з.ы. если не секрет , для чего предназначается эта конструкция?
Меня зовут Димон .
Изображение
Изображение
Реклама
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

rus084 писал(а):для чего предназначается эта конструкция?

Для оцифровки УЗ эхо-последовательности (2.5 мгц)
Плис это хорошо, но я остановился на МК, так как там еще доп. функции будут.

Вот что что, а УСБ на плис собирать мне не улыбается ну никак, собственно как и разбираться со встраиваемым МК (там будет нетривиальная ЦОС. хотя можно и свой обрезанный процессор своять) :)

Вариант, где и МК и ПЛИС вместе не проходит по габаритам (скорее всего).

P.S. и пожалуйста, не надо мне напоминать про товарища Котельникова :)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32: быстрый опрос внешнего ADC

Сообщение HHIMERA »

ДМА можно запустить на 60

Сомневаюсь... ДМА имеет свою латентность...
Кроме этого планируется запуск еще одного ДМА (правда с частотой порядка 100 КГц) для управления усилением оцифровываемого си гнала.

Это решается установлением приоритетов...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Эиком - электронные компоненты и радиодетали
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

HHIMERA писал(а):Сомневаюсь... ДМА имеет свою латентность...

Вот это то и пугает! Вопрос в том как это отразится на полученном результате!
На счет приоритетов: Да, решается, но как не крути, а память то у МК однопортовая, соответственно будет коллизия временной диаграммы и ктото в очереди да постоит :).

И вот еще вопрос (для знатоков архитектуры шины): если ДМА тактируется 60ю МГцами, и соотвтственоо 1 цикл представляет из себя операцию чтения и записи, то это будет 30 МГц, или же в 1м такте шины предусмотрена фаза чтения и фаза записи? или же все запутанней ? :)

И вот еще вопрос в догонку: Можно ли ядру (STM32) сказать HALT! (тормозни свой счетчик команд и жди прерывания по окончанию ДМА)
что бы пустой цикл шину не тиранил :) ??
Если дыры во временной диаграмме будут выражаться в потере 1го измерения, и при этом процесс "проглатывания" будет стационарным (т.е. повторяться от последовательности к последовательности), то такой расклад вполне приемлем.
Реклама
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32: быстрый опрос внешнего ADC

Сообщение balmer »

Не успеешь обработать входящие данные. Я на STM32F303 (частота 72 МГц) обрабатывал сигнал 2 канала по 3 MSps (суммарно 6 MSps). Уже получается впритык по скорости.

К томуже. DMA то успеет тебе нормально передать данные на частоте 50 МГц, но! Не забываем что процессору тоже нужно обращаться к памяти, и при такой загрузке шины процессор будет работать не очень быстро. Будет постоянно ожидать данных из памяти.

Так, что если хочется обрабатывать подобный сигнал - нужен чип с частотой порядка 1 ГГц и LVDS интерфейс до ADC.

Open писал(а):И вот еще вопрос в догонку: Можно ли ядру (STM32) сказать HALT! (тормозни свой счетчик команд и жди прерывания по окончанию ДМА)
что бы пустой цикл шину не тиранил :) ??


Можно. В сэмпликах от STM32L Discovery полно такого кода.
Реклама
Аватара пользователя
rus084
Друг Кота
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская
Контактная информация:

Re: STM32: быстрый опрос внешнего ADC

Сообщение rus084 »

поэтому только ПЛИС
Меня зовут Димон .
Изображение
Изображение
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32: быстрый опрос внешнего ADC

Сообщение balmer »

Почему "только ПЛИС"?

Кроме ПЛИС есть еще и DSP процессоры. Там есть LVDS входы.
Так то и стандартному гигагерцовому процессору хватает мощи, но вот как туда данные от быстрого ADC завести - непонятно.
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

balmer писал(а):Не успеешь обработать входящие данные.

Вы, видимо невнимательно смотрели первый пост.
Имеется ввиду совместная работа DMA и FSMC. Процессор в этом не участвует. И вообще ему в это время вообще нежелательно что либо делать(обращаться к памяти или еще как ни будь загружать шину)

Логика работы выглядит так:
АЦП физически вешается на FSMC_D0..FSMC_D11 и FSMC_CLK.
Запускается ДМА, читающее из адресного пространства FSMC и складывает в стопочку в обычной памяти. Сразу после старта ДМА процессор уходит в HALT и ждет, когда все кончится.

На счет ПЛИС - я почти смерился, и даже доказал себе массу плюсов :) вот только ЮСБ напрягает...
balmer писал(а): но вот как туда данные от быстрого ADC завести - непонятно.

старый, проверенный способ - внешнее FIFO :) . Правда в последнее время на рынке чейто такие микрухи не попадаются...
Последний раз редактировалось Open Вт авг 26, 2014 17:13:18, всего редактировалось 1 раз.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32: быстрый опрос внешнего ADC

Сообщение HHIMERA »

ну так в чём проблема??? Вы ж не на прикупе... вам и карты в руки... Строб пина до и после транзакции ДМА... узнаете время транзакции... а следовательно и скорость... у ДМА приоритет...
"Я не даю готовых решений, я заставляю думать!"(С)
holomen
Встал на лапы
Сообщения: 109
Зарегистрирован: Вт июл 15, 2008 20:00:10

Re: STM32: быстрый опрос внешнего ADC

Сообщение holomen »

60msps лучше на плис делать. А чтобы не плодить корпусов в эту плис и ниос подходящий затолкать под программную обработку.
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

HHIMERA писал(а):Вы ж не на прикупе..

А вот и на нем :) Надо шефа трясти на раскошелится (100ногих корпусов нет)
Потом, после неудачного эксперимента руками разводить не хочется :))
holomen писал(а):60msps лучше на плис делать

Видимо придется, тем более, что там доп задачи как раз под плис будут... Микропроцессор под свои нужды я уже накидал. Хотя УСБ контроллер какой ни будь таки придется напаивать, или на месяц уйти в астрал и самому поднять^^
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32: быстрый опрос внешнего ADC

Сообщение balmer »

Open писал(а): Вы, видимо невнимательно смотрели первый пост.
Имеется ввиду совместная работа DMA и FSMC. Процессор в этом не участвует.


Ну если данные сначала сэмплируются, а потом останавливается сэмплирование и идет обработка продолжительное время - тогда проблем нет, вполне может заработать. Только берите лучше сразу STM32F405, стоят столько же (порядка 300 руб/шт), а частота повыше.
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

balmer писал(а):Ну если данные сначала сэмплируются, а потом останавливается сэмплирование и идет обработка продолжительное время

Так и есть - сначала принимаем, потом пережевываем :)
balmer писал(а):Только берите лучше сразу STM32F405

Спасибо! Тем более, если мне память не изменяет, с 205 на него портируется без правок.
holomen
Встал на лапы
Сообщения: 109
Зарегистрирован: Вт июл 15, 2008 20:00:10

Re: STM32: быстрый опрос внешнего ADC

Сообщение holomen »

Open писал(а):
holomen писал(а):60msps лучше на плис делать

Видимо придется, тем более, что там доп задачи как раз под плис будут...

Тем более. Все быстрое железом, а неспешную обработку процом.
Микропроцессор под свои нужды я уже накидал.

Зачем свой? Неужели из трех ниосов ни один не подходит?
Хотя УСБ контроллер какой ни будь таки придется напаивать, или на месяц уйти в астрал и самому поднять^^

Да вроде ведь есть на опенкоресах USB корки. Хотя да, приходится допиливать. В крайнем случае можно поставить народную CY68013, но там тоже нужно покурить маны. А можно быстро и дорого поставить че-нить от FTDI и не париться с дровами на ББ, а прикинуться компортом. В общем, путей более чем достаточно.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32: быстрый опрос внешнего ADC

Сообщение balmer »

Скорее всего будут правки. Есть "старые" STM32F1xx, STM32F2xx. И "новые" STM32L1xx, STM32F3xx, STM32F4xx. У них много периферии немного по другому настраивается.
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

holomen писал(а):Зачем свой? Неужели из трех ниосов ни один не подходит?


Свой ближе, тем более у него будет 4 адресных пространства. А система команд очень обрезанная и специфическая (программа больше похожа на временную диаграмму для окружающей архитектуры + переходы условные и не очень). Никаких стэков, прерываний, ДМА и прочего. Делается за день, за неделю отлаживается.
Тем более я в конюшне ксилинса :) До альтеры руки никак не дойдут :kill:
balmer писал(а):Скорее всего будут правки.

Ну по крайней мере библиотека OTG от STM идет под 205 и 405. Остальное если срастаться не будет - это уже мелочи :))
holomen
Встал на лапы
Сообщения: 109
Зарегистрирован: Вт июл 15, 2008 20:00:10

Re: STM32: быстрый опрос внешнего ADC

Сообщение holomen »

Open писал(а):Делается за день, за неделю отлаживается.

Эттааа... Даже не пять, это все двенадцать! :D
Тем более я в конюшне ксилинса :) До альтеры руки никак не дойдут :kill:

Да, религиозные предпочтения - они такие...
Впрочем... Неужели у ксилинксов нет готовых процессорных корок?
Open
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн авг 19, 2013 13:50:49

Re: STM32: быстрый опрос внешнего ADC

Сообщение Open »

holomen писал(а):Да, религиозные предпочтения - они такие...
Впрочем... Неужели у ксилинксов нет готовых процессорных корок?

Да собственно предпочтение обусловлено только ограниченностью свободного времени (и в некотором смысле ленью :) ). Ибо что первое попалось под руку то и юзаю.
Есть у них корки: пикоблэйз халявный, но 8 бит. И микроблэйз 32бита, но надо покупать лицензию..
Ответить

Вернуться в «ARM»