|
Осциллограф на базе LPC4370, Выбор концепции |
|
|
|
Jun 1 2015, 04:20
|
Местный
  
Группа: Участник
Сообщений: 228
Регистрация: 21-04-09
Пользователь №: 48 064

|
Требуется собрать прототип специализированного запоминающего осциллографа со следующими хар-ми: 1. Каналов: 3 2. Выборок для каждого канала: 15-20Мsps, BW <=10Mhz 3. Триггер синхронизации. Уровень вх. сигнала при котором начинается "складирование". 4. Запись накопленных данных для каждого канала на флешку, после срабатывания триггера канала, в диапазоне от -100 000 до + 15 000 000 выборок. На ум приходит следующая базовая концепция: Берем LPC4370 с 80Msps АЦП, используем 3 пина входа ADCHS, постоянно записываем в SDRAM через FIFO DMA данные каждого канала в отдельно выделенные 3 сектора памяти. По срабатыванию соотв триггера с соотв. канала начинаем заполнение сектора до момента когда в секторе останется 100 000 выборок ("старых"), останавливаем соотв. канал DMA и сливаем соотв. сектор из SDRAM на флешку. Не смотря на дешевизну решения, видимо тут будут проблемы с мультиплексированием между пинами входа АЦП, возможность выделения отдельных секторов под каждый АЦП в памяти и прочие... MK Поддерживает Automatic high/low threshold detection, что видимо позволит не применять отдельные компараторы и ЦАП, но дополнительную, исчерпывающую инфу по АЦП найти не удалось. Вторая концепция: брать три отдельных 20Msps АЦП и через любой Cortex M3 + SDRAM (64MB) обрабатывать данные, эта схема подороже, + нужно организовать схему синхронизации. Но возможно затраты нейронов на прогр. часть будут ниже. Хотелось бы обсудить. Если что то упустил из требований готов ответить.
|
|
|
|
|
Jun 1 2015, 05:25
|
Местный
  
Группа: Участник
Сообщений: 228
Регистрация: 21-04-09
Пользователь №: 48 064

|
Цитата(Golikov A. @ May 31 2015, 17:02)  А битность какая? 3*20=60 МСэмплов по 16 бит, это 120 МБайт в секунду... что-то мне говорит что не много на рынке карточек памяти которые такое прокачают  ... У ИХР 12бит АЦП, но не суть. Затираем 16бит. С типом памяти надо подумать) Цитата то есть получается что вам надо иметь по хорошему буффер на все эти 15 100 000 выборок в памяти для всех каналов, что в целом не много. Потом хорошо подойдет кольцевой ДМА от СТМов. Зарядить его на запись по кругу всех 15 100 000, и пусть постоянно пишет, как приходит событие заряжаете таймер(счетчик) на 15 000 000 оставшихся значений, и по выходу либо перебрасываете ДМА на другой буфер, либо выключаете, и спокойно из памяти сохраняете... 1. У СТМ нету таких АЦП. 2. ДМА можно настроить для каждого канала АЦП? (канал мультиплексора)
|
|
|
|
|
Jun 1 2015, 05:36
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
NXP во всяком случае 1768 вычитывает АЦП как 16 бит, он сдвигает результаты на 4 бита влево. Учитывайте при расчете памяти... 1. по STM - не знаю есть там такие АЦП или нет, у нас другой человек выбирает железо  я уже работаю с данностью  2. У STM есть браст режим, когда АЦП лупять друг за другом, При этом там есть 2 или 3 группы, можно сделать так чтобы 1 АЦП первой группы, снимало данные синхронно с 1 АЦП второй группы (можно ли так запустить 3 группы одновременно не знаю, кажется только 2). Но всегда можно запустить АЦП одна за другой. После снятия данных со всех выбранных АЦП генерится событие для канала ДМА, для одного и он их всех забирает, разложить их каждое в свой буффер уже ручками...
|
|
|
|
|
Jun 1 2015, 06:04
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(LexaryStyle @ Jun 1 2015, 07:20)  Не смотря на дешевизну решения, видимо тут будут проблемы с мультиплексированием между пинами входа АЦП Этот вопрос затронут в мануале. Проблемы возможны, но только жизнь покажет, преодолимы они или нет. В крайнем случае можно поставить 3xLPC4370 - всё равно это дешевле и проще, чем 3 внешних быстрых АЦП. Кстати, ещё интересен вопрос, насколько значительными будут наводки от сигналов SDRAM на АЦП. Тем более, что в худшем случае нужно будет прокачивать 120 МБайт/с. Цитата(LexaryStyle @ Jun 1 2015, 07:20)  ...возможность выделения отдельных секторов под каждый АЦП в памяти Нет такой проблемы. Но схема пересылки данных будет нетривиальная. Не получится на лету загонять данные из АЦП прямо в SDRAM. Придётся делать промежуточный буфер в ОЗУ на чипе. Ну и ловко жонглировать всем этим на лету. Цитата(LexaryStyle @ Jun 1 2015, 07:20)  MK Поддерживает Automatic high/low threshold detection, что видимо позволит не применять отдельные компараторы и ЦАП Будет вырабатываться прерывание по событию срабатывания триггера. Там хитрость только в том, чтобы минимизировать неточность определения времени, вызванную неопределённостью времени входа в обработчик прерывания. Цитата(LexaryStyle @ Jun 1 2015, 07:20)  ...дополнительную, исчерпывающую инфу по АЦП найти не удалось. По всем вопросам, которые вы затронули, я видел вполне достаточную информацию.
|
|
|
|
|
Jun 1 2015, 07:45
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(blackfin @ Jun 1 2015, 12:38)  Цитата Ещё указано входное сопротивление (5 кОм). Собственно, RC и задаёт полосу. Параллельное соединение R вх и C вх полосу не задает, КМК. да 5кОм это не немного не то R, которое задаёт полосу, правда вот щёлканье сэмплирующей ёмкостью (если под 4.5пФ она подразумевалась) на частоте 80МГц даёт входной импеданс 400Ом, если остальные 4.5кОма - всё-таки последовательное сопротивление ключей, то АЦП на 80Мспс с входной полосой всего 6МГц не самый лучший выбор для осциллографа. ну и судя по отсутсвию нормальной информации в даташите там похоже не всё хорошо, иначе на первой же странице указали бы какой у них замечательный встроенный АЦП. по поводу мультиплексирования каналов: есть такой проект airspy, там обещают 20МГц по двум каналам (IQ), с полосой по 10МГц. с другой стороны, lpc4370 конечно здорово что за 10-12$ получаем сразу МК с усб, контроллером памяти и АЦП, но можно взять FT601Q - 8$, пару АЦП AD9609 или похожих и напрямую гнать до 200-300МБ/с по USB3 прямо в ПК. получится не сильно дороже, зато с полосой 700МГц можно и что-нибудь поинтереснее сделать.
|
|
|
|
|
Jun 1 2015, 10:13
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(_pv @ Jun 1 2015, 12:22)  что ж это за буфер такой, у которого вход всего 5кОм, тем более для 12-ти разрядного АЦП? А вот хотя бы такой (см. приложенную картинку). Цитата(_pv @ Jun 1 2015, 12:22)  и там не флэш АЦП, на 12-то разрядов. Это не я придумал, это в мануале написано: Цитата The A/D convertor architecture is a flash convertor type with differential inputs.
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 1 2015, 10:44
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(scifi @ Jun 1 2015, 17:13)  А вот хотя бы такой (см. приложенную картинку). кружком не обведёте на этой картинке что именно Вы тут считаете буфером? Цитата(scifi @ Jun 1 2015, 17:13)  Это не я придумал, это в мануале написано: и действительно, convertor. у них весьма извращенное представление о том что такое flash АЦП.
|
|
|
|
|
Jun 1 2015, 11:32
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(_pv @ Jun 1 2015, 13:44)  кружком не обведёте на этой картинке что именно Вы тут считаете буфером? Да, тормознул. На самом деле хотел другой пример привести (AD9201): Цитата PMOS source-followers buffer the analog input pins from the charge kickback problems normally associated with switched capacitor ADC input structures. This produces a very high input impedance on the part, allowing it to be effectively driven from high impedance sources. This means that the AD9201 could even be driven directly by a passive antialias filter. Согласен, что про входные цепи NXP могли бы что-нибудь написать.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|