Страница 1 из 1
STM32: быстрый опрос внешнего ADC
Добавлено: Пн авг 25, 2014 17:08:25
Open
Добрый день! Понадобилось, значит, мне оцифровать сигнал с частотой эдак мегагерц 40-60.
Выбор пал на stm32F205 (системная частота 120, ДМА можно запустить на 60, если ничего не путаю

), АЦП соответственно внешнее, собираюсь прикручивать через FSMC ну и ДМА, на него натравленное. Кроме этого планируется запуск еще одного ДМА (правда с частотой порядка 100 КГц) для управления усилением оцифровываемого си гнала.
Вопрос заключается в следующем: Насколько может порвать временную диаграмму и как с этим бороться?
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Пн авг 25, 2014 17:22:38
rus084
для таких целей больше подойдет ПЛИС
з.ы. если не секрет , для чего предназначается эта конструкция?
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Пн авг 25, 2014 17:39:05
Open
rus084 писал(а):для чего предназначается эта конструкция?
Для оцифровки УЗ эхо-последовательности (2.5 мгц)
Плис это хорошо, но я остановился на МК, так как там еще доп. функции будут.
Вот что что, а УСБ на плис собирать мне не улыбается ну никак, собственно как и разбираться со встраиваемым МК (там будет нетривиальная ЦОС. хотя можно и свой обрезанный процессор своять)
Вариант, где и МК и ПЛИС вместе не проходит по габаритам (скорее всего).
P.S. и пожалуйста, не надо мне напоминать про товарища Котельникова

Re: STM32: быстрый опрос внешнего ADC
Добавлено: Пн авг 25, 2014 17:49:56
HHIMERA
ДМА можно запустить на 60
Сомневаюсь... ДМА имеет свою латентность...
Кроме этого планируется запуск еще одного ДМА (правда с частотой порядка 100 КГц) для управления усилением оцифровываемого си гнала.
Это решается установлением приоритетов...
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Пн авг 25, 2014 17:59:10
Open
HHIMERA писал(а):Сомневаюсь... ДМА имеет свою латентность...
Вот это то и пугает! Вопрос в том как это отразится на полученном результате!
На счет приоритетов: Да, решается, но как не крути, а память то у МК однопортовая, соответственно будет коллизия временной диаграммы и ктото в очереди да постоит

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

??
Если дыры во временной диаграмме будут выражаться в потере 1го измерения, и при этом процесс "проглатывания" будет стационарным (т.е. повторяться от последовательности к последовательности), то такой расклад вполне приемлем.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 10:39:13
balmer
Не успеешь обработать входящие данные. Я на STM32F303 (частота 72 МГц) обрабатывал сигнал 2 канала по 3 MSps (суммарно 6 MSps). Уже получается впритык по скорости.
К томуже. DMA то успеет тебе нормально передать данные на частоте 50 МГц, но! Не забываем что процессору тоже нужно обращаться к памяти, и при такой загрузке шины процессор будет работать не очень быстро. Будет постоянно ожидать данных из памяти.
Так, что если хочется обрабатывать подобный сигнал - нужен чип с частотой порядка 1 ГГц и LVDS интерфейс до ADC.
Open писал(а):
И вот еще вопрос в догонку: Можно ли ядру (STM32) сказать HALT! (тормозни свой счетчик команд и жди прерывания по окончанию ДМА)
что бы пустой цикл шину не тиранил

??
Можно. В сэмпликах от STM32L Discovery полно такого кода.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 10:55:48
rus084
поэтому только ПЛИС
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 11:06:15
balmer
Почему "только ПЛИС"?
Кроме ПЛИС есть еще и DSP процессоры. Там есть LVDS входы.
Так то и стандартному гигагерцовому процессору хватает мощи, но вот как туда данные от быстрого ADC завести - непонятно.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 12:41:20
Open
balmer писал(а):Не успеешь обработать входящие данные.
Вы, видимо невнимательно смотрели первый пост.
Имеется ввиду совместная работа DMA и FSMC. Процессор в этом не участвует. И вообще ему в это время вообще нежелательно что либо делать(обращаться к памяти или еще как ни будь загружать шину)
Логика работы выглядит так:
АЦП физически вешается на FSMC_D0..FSMC_D11 и FSMC_CLK.
Запускается ДМА, читающее из адресного пространства FSMC и складывает в стопочку в обычной памяти. Сразу после старта ДМА процессор уходит в HALT и ждет, когда все кончится.
На счет ПЛИС - я почти смерился, и даже доказал себе массу плюсов

вот только ЮСБ напрягает...
balmer писал(а): но вот как туда данные от быстрого ADC завести - непонятно.
старый, проверенный способ - внешнее FIFO

. Правда в последнее время на рынке чейто такие микрухи не попадаются...
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 12:53:23
HHIMERA
ну так в чём проблема??? Вы ж не на прикупе... вам и карты в руки... Строб пина до и после транзакции ДМА... узнаете время транзакции... а следовательно и скорость... у ДМА приоритет...
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:05:37
holomen
60msps лучше на плис делать. А чтобы не плодить корпусов в эту плис и ниос подходящий затолкать под программную обработку.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:25:54
Open
HHIMERA писал(а):Вы ж не на прикупе..
А вот и на нем

Надо шефа трясти на раскошелится (100ногих корпусов нет)
Потом, после неудачного эксперимента руками разводить не хочется
holomen писал(а):60msps лучше на плис делать
Видимо придется, тем более, что там доп задачи как раз под плис будут... Микропроцессор под свои нужды я уже накидал. Хотя УСБ контроллер какой ни будь таки придется напаивать, или на месяц уйти в астрал и самому поднять^^
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:26:09
balmer
Open писал(а): Вы, видимо невнимательно смотрели первый пост.
Имеется ввиду совместная работа DMA и FSMC. Процессор в этом не участвует.
Ну если данные сначала сэмплируются, а потом останавливается сэмплирование и идет обработка продолжительное время - тогда проблем нет, вполне может заработать. Только берите лучше сразу STM32F405, стоят столько же (порядка 300 руб/шт), а частота повыше.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:34:02
Open
balmer писал(а):
Ну если данные сначала сэмплируются, а потом останавливается сэмплирование и идет обработка продолжительное время
Так и есть - сначала принимаем, потом пережевываем
balmer писал(а):Только берите лучше сразу STM32F405
Спасибо! Тем более, если мне память не изменяет, с 205 на него портируется без правок.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:44:57
holomen
Open писал(а):holomen писал(а):60msps лучше на плис делать
Видимо придется, тем более, что там доп задачи как раз под плис будут...
Тем более. Все быстрое железом, а неспешную обработку процом.
Микропроцессор под свои нужды я уже накидал.
Зачем свой? Неужели из трех ниосов ни один не подходит?
Хотя УСБ контроллер какой ни будь таки придется напаивать, или на месяц уйти в астрал и самому поднять^^
Да вроде ведь есть на опенкоресах USB корки. Хотя да, приходится допиливать. В крайнем случае можно поставить народную CY68013, но там тоже нужно покурить маны. А можно быстро и дорого поставить че-нить от FTDI и не париться с дровами на ББ, а прикинуться компортом. В общем, путей более чем достаточно.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:52:18
balmer
Скорее всего будут правки. Есть "старые" STM32F1xx, STM32F2xx. И "новые" STM32L1xx, STM32F3xx, STM32F4xx. У них много периферии немного по другому настраивается.
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 13:56:48
Open
holomen писал(а):Зачем свой? Неужели из трех ниосов ни один не подходит?
Свой ближе, тем более у него будет 4 адресных пространства. А система команд очень обрезанная и специфическая (программа больше похожа на временную диаграмму для окружающей архитектуры + переходы условные и не очень). Никаких стэков, прерываний, ДМА и прочего. Делается за день, за неделю отлаживается.
Тем более я в конюшне ксилинса

До альтеры руки никак не дойдут
balmer писал(а):Скорее всего будут правки.
Ну по крайней мере библиотека OTG от STM идет под 205 и 405. Остальное если срастаться не будет - это уже мелочи

Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 14:06:28
holomen
Open писал(а):Делается за день, за неделю отлаживается.
Эттааа... Даже не пять, это все двенадцать!
Тем более я в конюшне ксилинса

До альтеры руки никак не дойдут

Да, религиозные предпочтения - они такие...
Впрочем... Неужели у ксилинксов нет готовых процессорных корок?
Re: STM32: быстрый опрос внешнего ADC
Добавлено: Вт авг 26, 2014 14:14:14
Open
holomen писал(а):Да, религиозные предпочтения - они такие...
Впрочем... Неужели у ксилинксов нет готовых процессорных корок?
Да собственно предпочтение обусловлено только ограниченностью свободного времени (и в некотором смысле ленью

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