Quad Interlave ADC?

Арпрос
Сб 26 мая 2018 г. 1:20 утра
Спецификации говорят, что платы F3 способны на 18 мс/с Quad Interlave ADC. У кого -нибудь есть код, чтобы сделать это?

Арпрос
Сб 26 мая 2018 г., 2:09
Я думаю, что неправильно понял, как должно быть достигнуто 18 мс/с. Глядя на справочное руководство, Похоже, можно получить 9 мс/с в одиночном режиме, если один уменьшает разрешение до 6 бит. Предположительно, в двойном режиме, который дает рекламируемые 18 мс/с. При более разумном 8 -битном разрешении нужно иметь возможность использовать двойной переоцененный режим, чтобы получить 14 мс/с, что все еще довольно хорошо.

AG123
Сб 26 мая 2018 г., 7:36 утра
Я смотрел на F3, так как ICS по цене довольно привлекательно, и наиболее привлекательной особенностью является быстрый AD )

Скажем, даже если мы сможем сделать 18 MSPS x 8 битов
Тогда я думаю, что с точки зрения более крупных SOC, таких как серия VE и ZE, и мы можем исправить E.G A 1 МБ чип SRAM через FSMC
Это поможет с помощью DAQ (Datat Aquisition) E.глин. осциллограф, но он будет преследовать общую цену, учитывая больший SOC, SRAM и т. Д

Дэйв Дж
Сб 26 мая 2018 г., 11:50
[Арпрос - Сб 26 мая 2018 г., 2:09]] - Я думаю, что неправильно понял, как должно быть достигнуто 18 мс/с. Глядя на справочное руководство, Похоже, можно получить 9 мс/с в одиночном режиме, если один уменьшает разрешение до 6 бит. Предположительно, в двойном режиме, который дает рекламируемые 18 мс/с. При более разумном 8 -битном разрешении нужно иметь возможность использовать двойной переоцененный режим, чтобы получить 14 мс/с, что все еще довольно хорошо.
Это мое понимание. Возможно, можно было бы иметь два набора двойных чередованных образцов с одним набором с другой, но я решил, что лучше иметь два более медленных канала, а не один быстрый.
[AG123 - Сб 26 мая 2018 г., 7:36]] - Я смотрел на F3, так как ICS по цене довольно привлекательно, и наиболее привлекательной особенностью является быстрый AD )

Скажем, даже если мы сможем сделать 18 MSPS x 8 битов
Тогда я думаю, что с точки зрения более крупных SOC, таких как серия VE и ZE, и мы можем исправить E.G A 1 МБ чип SRAM через FSMC
Это поможет с помощью DAQ (Datat Aquisition) E.глин. осциллограф, но он будет преследовать общую цену, учитывая больший SOC, SRAM и т. Д
Я не думаю, что это большая проблема. Относительно ранние прицелы DSO, такие как Tektronix TDS210, могли бы сделать только несколько тысяч образцов на канал, которые могут быть достигнуты с помощью чипсов CB и CC. Вам не нужно выборки с максимальной скоростью, вы можете управлять АЦП по таймеру, чтобы получить практически любую скорость дискретизации, и запуск позволяет запечатлеть по любой стороне точки, которую вы хотите посмотреть. Время передачи данных на ПК не так уж и проблем.

Арпрос
Сб 26 мая 2018 г. 13:40
[Дэйв Дж - Сб 26 мая 2018 г., 11:50 утра] - вы можете управлять АЦП по таймеру, чтобы получить почти любую частоту дискретизации, и запускает вам захватывать по любой стороне точки, которую вы хотите посмотреть.
Я думал о том, чтобы запустить приобретение в круговом режиме, с аналоговым наблюдением за прерыванием для запуска. После того, как произойдет прерывание триггера, я получу приблизительное местоположение триггерной точки в буфере с регистром DMA NDT. Затем продолжайте запускать приобретение до тех пор, пока не будет получено необходимое количество очков после получения триггера (наблюдая за регистром NDT и отключив DMA, когда мы достигнем правой точки). Это звучит правильно?

Могу ли я управлять АЦП по таймеру в двойном переоценке режима, и иметь как мастер, так и рабские АБР?

Дэйв Дж
Сб 26 мая 2018 г. 15:28
[Арпрос - Сб 26 мая 2018 г. 13:40] - Я думал о том, чтобы запустить приобретение в круговом режиме, с аналоговым наблюдением за прерыванием для запуска. После того, как произойдет прерывание триггера, получите приблизительное местоположение триггерной точки в буфере с регистром DMA NDT. Продолжайте запускать приобретение до тех пор, пока не будет получено необходимое количество очков после получения триггера (просмотрев регистр NDT и отключив DMA, когда мы достигнем правой точки). Это звучит правильно?
В значительной степени. Я использую второй таймер, управляемый тем, который управляет ADC, чтобы подсчитать количество образцов, затраченных после триггера, и прерывается, когда я достаточно захватил достаточно. Еще одна вещь, которую следует рассмотреть, - это убедиться, что вы заполняете весь буфер для образцов. Если вы захватываете половину буфера образцов после спускового крючка, вам необходимо убедиться, что вы заполняете вторую половину, прежде чем вы включите триггер, иначе вы рискуете иметь неверные данные. Если вы хотите захватить половину буфера образца после спускового крючка, вы можете использовать прерывание DMA Half -Transfer и включить только триггер при ответе на это.

Так что процесс захвата будет:
  • Начните захватить с помощью триггера и счетчика с триггером отключено, но при включенном прерывании DMA Transfer Transfer прерывание.
  • В обработчике прерывателя прерывания DMA, отключите прерывание HT и включите триггерное прерывание.
  • В обработчике Trigger прерывания захватите регистр NDT DMA, включите счетчик после триггера и отключите триггерное прерывание.
  • В прерывании счетчика с триггером остановите преобразование.
Могу ли я использовать Drive The ADC по таймеру в двойном переоценке режима, и иметь как мастер, так и рабские АБР? Похоже, вы можете с альтернативным режимом триггера, но я не уверен в том, чтобы сделать DMA с общим регистром данных в этом режиме (выполняя последние половины, количество запросов DMA, что может быть значительным). Если это невозможно, в режиме чередования вы можете контролировать, когда подчиненные образцы АЦП относительно главного АЦП. Я думаю, что вы могли бы использовать только главную АЦП до его максимальной скорости, и если вы хотите идти быстрее, чем переход в двойной переоцененный режим, уменьшить мастер -скорость ADC и использовать задержку перед пробами подчиненных АЦП, чтобы получить равномерные пробелы. См. Рисунок 101 в руководстве RM0316.

Арпрос
Сб 26 мая 2018 г., 17:03
[Дэйв Дж - SAT 26 мая 2018 г., 15:28] - Если вы захватываете половину буфера образцов после спускового крючка, вам необходимо убедиться, что вы заполните другую половину, прежде чем вы включите триггер, иначе вы рискуете иметь недопустимые данные.
Это хороший момент. Спасибо!
Если вы хотите захватить половину буфера образца после спускового крючка, вы можете использовать прерывание DMA Half -Transfer и включить только триггер при ответе на это. Работают ли половина и полные прерывания передачи в круговом режиме?
Так что процесс захвата будет:
  • Начните захватить с помощью триггера и счетчика с триггером отключено, но при включенном прерывании DMA Transfer Transfer прерывание.
  • В обработчике прерывателя прерывания DMA, отключите прерывание HT и включите триггерное прерывание.
  • В обработчике Trigger прерывания захватите регистр NDT DMA, включите счетчик после триггера и отключите триггерное прерывание.
  • В прерывании счетчика с триггером остановите преобразование.
Разве не проще просто иметь цикл в течение всего времени и смотреть регистр NDT вместо использования таймера?

Кстати, я планирую использовать Osciprime (с новым драйвером источника) для пользовательского интерфейса.

Дэйв Дж
Сб 26 мая 2018 г., 19:17
[Арпрос - Сб 26 мая 2018 г., 17:03] - Работают ли половина и полные прерывания передачи в круговом режиме?
Да. Идея иметь их обоих заключается в том, что вы знаете, что можете обработать половину буфера, собирая данные в другую половину.
Разве не проще просто иметь цикл в течение всего времени и смотреть регистр NDT вместо использования таймера? Это зависит от того, как работает ваше программное обеспечение. Мой основной цикл обрабатывает очередь событий. Различные события (нажатие кнопок, захват завершен и т. Д.) добавить в эту очередь и обработать по очереди. Не используя процессор, чтобы дождаться завершения захвата означает, что он может делать другие вещи в то же время - отображение запускаемого индикатора, например, на пользовательском интерфейсе.
Кстати, я планирую использовать Osciprime (с новым драйвером источника) для пользовательского интерфейса. Я строю что -то автономное управление своим собственным экраном с вращающимся энкодером и шестью кнопками для пользовательского ввода. Это то, как сейчас выглядит мой интерфейс.

Изображение

Формы волны - это просто фиктивные для тестирования пользовательского интерфейса, и у меня все еще есть несколько ошибок, чтобы сгладить.

Арпрос
Сб 26 мая 2018 г., 19:30
Это выглядит действительно красиво!

Дэйв Дж
Сб 26 мая 2018 г., 19:59
[Арпрос - Сб 26 мая 2018 г., 19:30] - Это выглядит действительно красиво!
Спасибо. Попытка разработать использование пользовательского интерфейса с минимальным контролем была довольно сложной задачей.

Я почти на стадии, где мне действительно нужно решить, что делать с моим аналоговым входным этапом. Я планирую использовать встроенные F303 в Opamps и попытаться сохранить вещи как можно более просто. Проблема состоит в напряжении, только платы Dev Supply +Ve Ones. Для связки DC это не та проблема, которую я могу просто компенсировать вход, как Dpscope se делает. Я также хочу иметь возможность переключать связь в пользовательском интерфейсе, чтобы ручной переключатель, такой как использование Jyetech Scopes, не подойдет, и это означает, что мне нужно иметь возможность каким -то образом обрабатывать -в. Приглашаются любые предложения.

Пито
Сб 26 мая 2018 11:08
Вы можете создать -ve (я не знаю, какие напряжения/токи вам действительно нужны), легко переключив выходной штифт (несколько кГц) и используя 2 диода (Шоттки) и 2 конденсатора (скажем, 1-10UF Ceramics).. Только для небольших течений (скажем, 1-2 мА).

Дэйв Дж
Солнце 27 мая 2018 г. 9:39
[Пито - Сб 26 мая 2018 г., 23:08] - Вы можете создать -ve (я не знаю, какие напряжения/токи вам действительно нужны), легко переключив выходной штифт (несколько кГц) и используя 2 диода (Шоттки) и 2 конденсатора (скажем, 1-10UF Ceramics).. Только для небольших течений (скажем, 1-2 мА).
Для переключения между кондиционером и постоянным током используется что -то вроде 4053. Мне нужно -в -в напряжение для штифта VEE, если я хочу иметь возможность управлять входами, которые go -ve.

Ваша идея выглядит многообещающе - время для экспериментов.

AG123
Солнце 27 мая 2018 г. 14:22
[Дэйв Дж - Сб 26 мая 2018 г., 11:50]] -
[AG123 - Сб 26 мая 2018 г., 7:36]] - Я смотрел на F3, так как ICS по цене довольно привлекательно, и наиболее привлекательной особенностью является быстрый AD )

Скажем, даже если мы сможем сделать 18 MSPS x 8 битов
Тогда я думаю, что с точки зрения более крупных SOC, таких как серия VE и ZE, и мы можем исправить E.G A 1 МБ чип SRAM через FSMC
Это поможет с помощью DAQ (Datat Aquisition) E.глин. осциллограф, но он будет преследовать общую цену, учитывая больший SOC, SRAM и т. Д
Я не думаю, что это большая проблема. Относительно ранние прицелы DSO, такие как Tektronix TDS210, могли бы сделать только несколько тысяч образцов на канал, которые могут быть достигнуты с помощью чипсов CB и CC. Вам не нужно выборки с максимальной скоростью, вы можете управлять АЦП по таймеру, чтобы получить практически любую скорость дискретизации, и запуск позволяет запечатлеть по любой стороне точки, которую вы хотите посмотреть. Время передачи данных на ПК не так уж и проблем.
Привет, Дэйв,
Большое спасибо за понимание действительно TDS210 захватывает 2500 образцов x 2 канала, его образцы / сек намного быстрее, хотя
https: // sg.тек.com/document/fact-sheet/ ... Компания фактов
Это дает мне вдохновение, чтобы получить F3, который я проигнорировал ранее
При 18 мс с.глин. SPI и т. Д

New ST Nucleo's, Arduino Nano Form Factor