Цифровой осциллограф своими руками.

Что мерить, чем мерить, как мерить. И, естественно - зачем мерить...

При поддержке компании ПРИСТ


Chettuser

Re: Цифровой осциллограф своими руками.

Сообщение Chettuser »

Есть опыт ковыряния STM32L-Discovery, хотел присоединиться к теме, вопрос: STM32F4-Discovery пойдёт или именно STM32F3-discovery?
Реклама
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

Re: Цифровой осциллограф своими руками.

Сообщение Arpad »

UM1570 User manual STM32F3DISCOVERY
Hardware and layout UM1570 Page_12/36 Doc ID 023594 Rev 2
● Superior and innovative peripherals:
● Улучшенный и инновационных периферийных устройств:
– Analog: 4x 12-bit ADC 5 MSPS reaching 18 MSPS in interleaved mode,
– Аналоговый: 4x 12-разрядного АЦП 5 МГц достижении 18 МГц в режиме чередования
Chettuser писал(а): хотел присоединиться к теме, вопрос: STM32F4-Discovery пойдёт или именно STM32F3-discovery?

Всегда приветствуется, с одной стороны с другой стороны, зачем спрашивать. Направление желательно STM32F3-discovery. По анонсам сам STM32F303 можно разогнать до 110-140 МГц при питании 3.3В и при 3.6В до 180 МГц но с потерей в разрядности АЦП до 2битов и иметь вместо 12 только 10.
Реклама
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: Цифровой осциллограф своими руками.

Сообщение Galizin »

Поскольку сразу 4 АЦП запустить нельзя сразу, то придется использовать таймер для их запуска со сдвигом на заданное количество тактов. Будет ли Использоваться USB? Если будет, то придется довольствоваться дробными веременами отсчетов, если же не будет, то можно будет контроллер тактировать 70 мегагерцами, а отсчеты сделать 0,2 микросекунды ровно при 12 битах. Либо немного оверклочить и на 80 мерагерцах получить 0,1 микросекунды ровно при 6 битах.
Если смотрите документацию - то раздел Alternate trigger mode о запуске.
Понятно также почему 18 мегагерц а не 20. 72мегагерца /4такта = 18. Вообще то должно было быть 14/4 = 3.5 тактов. Но наверное он не умеет начинать работать с полутакта.
Последний раз редактировалось Galizin Вт окт 22, 2013 10:15:52, всего редактировалось 1 раз.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Цифровой осциллограф своими руками.

Сообщение balmer »

Arpad писал(а):По анонсам сам STM32F303 можно разогнать до 110-140 МГц


Может ну его нафиг все эти оверклокинги?

Вот ВитГо дело пишет. Если хочется быстрой частоты дискретизации, то STM32F4 и AD9283.

Мыслю так. Ну получится считать быстро данные на STM32F303. А дальше что с ними делать? Там мощи хватит только для того, чтобы данные записать, а потом медленно-медленно выводить на экран или медленно-медленно передавать по USB.

А вот на STM32F4 и AD9283 при 20 Msps точно можно успеть и данные считать и обработать и передать их по USB 2.0 HiSpeed.

STM32F303 - тоже неплохой чип, но для своей области применения и для 10 Msps. И к тому же 4 ADC в STM32 - этож нехилая емкостная нагрузка, там надо будет уже всякие компенсирующие цепи вставлять на выходе ОУ, да и сам ОУ очень мощный по выходу должен быть, чтобы хотябы 8 бит получить точности.

Лично мне данные на экране не так важно видеть. С этим нормально и покупные осциллографы справляются. Важнее получить поток данных для последующей обработке на компьютере. Скажем сдвинута одна синусоида на 0.5 градуса относительно другой - фиг это увидишь на экране. Или есть та-же синусоида чутка промодулированная по частоте, это тоже незаметно. Да и маленькие нелинейные искажения не видны, а при обработке на компьютере все наглядно и с цифрами.
Реклама
Эиком - электронные компоненты и радиодетали
Chettuser

Re: Цифровой осциллограф своими руками.

Сообщение Chettuser »

Arpad писал(а): сам STM32F303 можно разогнать до 110-140 МГц

Да чего разгонять если в штатном режиме работает вроде как. :)
STM32F407VGHigh-performance and DSP with FPU, ARM Cortex-M4 MCU with 1 Mbyte Flash, 168 MHz CPU,
Этот в F4 стоит - с одной стороны, с другой - код то пишете под F3, а здесь уже с F407 в другом ключе можно остаться - набор периферии может оказаться разным (надо смотреть).
Реклама
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: Цифровой осциллограф своими руками.

Сообщение Galizin »

balmer писал(а):А дальше что с ними делать? Там мощи хватит только для того, чтобы данные записать, а потом медленно-медленно выводить на экран или медленно-медленно передавать по USB.

А Вы думаете что в 4xx будет как то иначе? Что нужно сделать с данными очень быстро?
Я предполагаю, что нужно принять только решение о синхронизации. Это делается аппаратно например компараторами. Как сформировался импульс синхронизации, так нужно накопить заданное количество данных, остановиться и медленно медленно все что Вы написали. Ну по крайней мере 168 мегагерц тут не спасет. Вот если только пару гирагерц :)
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровой осциллограф своими руками.

Сообщение Леонид Иванович »

Galizin писал(а):Что нужно сделать с данными очень быстро?


На всех развертках, кроме самой быстрой, с данными на лету нужно делать пиковое детектирование или усреднение, иначе никакой памяти не хватит. АЦП ведь всегда работает на максимальной частоте (иначе будут алиасы).

Galizin писал(а):Как сформировался импульс синхронизации, так нужно накопить заданное количество данных, остановиться


Накопление данных нужно производить не после события синхронизации, а и до (предыстория) и после (постистория). Да и само событие синхронизации это не просто фронт внешнего сигнала, а совпадение каких-то сложных условий (уровень сигнала, скорость нарастания, длительность импульса), которые должны проверяться на лету.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Цифровой осциллограф своими руками.

Сообщение balmer »

Galizin писал(а):А Вы думаете что в 4xx будет как то иначе?

Да, в STM32F4 есть "USB on-the-go high-speed" 480Mbits/s
В STM32F3 только "USB full-speed" 12 Mbits/s

Galizin писал(а):Что нужно сделать с данными очень быстро?


Лично мне нужно быстро считать нелинейные искажения синусоидального сигнала.
Спектр сигнала.
Разницу фаз между сигналами.

Galizin писал(а):Вот если только пару гирагерц :)


Они есть у меня, на PC. Для 20 Msps хватит.
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: Цифровой осциллограф своими руками.

Сообщение Galizin »

balmer писал(а):ни есть у меня, на PC. Для 20 Msps хватит.

Это будет приставка-АЦП для большого брата. Нормальное решение. Это действительно 303 не потянет. Вам нужно брать что потолще.

Леонид Иванович писал(а): данными на лету нужно делать пиковое детектирование или усреднение, иначе никакой памяти не хватит. АЦП ведь всегда работает на максимальной частоте (иначе будут алиасы).

Здесь нужно думать. После усреднения боюсь алиасы остануться. Также боюсь, что 303 при работе на максимальной частоте не справится с детектированием и усреднением. Все таки на 16 тактов процессора 4 отсчета АЦП - это очень много. Можно только сохранить, еще можно определить аппаратно фронт или спад. Все остальное представляется проблематичным. Ну наверное поэтому и ставят ПЛИС в таких вещах.
Честно говоря об алиасах не задумывался. Как я понимаю пиковое детектирование - это и есть борьба с альясами. Тогда использовать по полной 18 мегагерц для выборки - это утопия. Правда можно сделать несколько режимов - на больших частотах памяти хватит что бы потом ее обработать. Можно обработать потом альясы.
А на малых нужно на лету все смотреть из-за недостатка памяти. Но там уже нужно будет понижать частоту выборок, что бы процессору время дать. От сложных условиях синхронизации - типа скорости нарастания вероятно придется отказаться при использовании 303 совсем. Правда синхронизацию по длине импульса возможно можно будет обработать, если немного дать процессору времени - уменьшить выборку допустим до 10 мегагерц. Если еще уменьшить частоту выборок, возможно и пиковое детектирование можно будет сделать.
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

Re: Цифровой осциллограф своими руками.

Сообщение zöner »

а что это даст ?
имел ввиду не тактирование, а триггер АЦП:

Код: Выделить всё

The events generated by the general-purpose timers and the advanced-control timers
(TIM1 on all devices and TIM8 on STM32F303xB/STM32F303xC devices) can be internally
connected to the ADC start trigger and injection trigger, respectively, to allow the application
to synchronize A/D conversion and timers.
То есть использовать 4 таймера со сдвигом для индивидуального запуска каждого АЦП.
Или 2 таймера для пуска ADC1,2 и 3,4 в interleave.
Последний раз редактировалось zöner Вт окт 22, 2013 14:13:43, всего редактировалось 1 раз.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

Re: Цифровой осциллограф своими руками.

Сообщение ВитГо »

помоему это немного для других случаев (однократного преобразования или преобразования по событию)

нам же скорее всего нужно непрерывное преобразование - и здесь проще запустить со смещением чем мудрить еще таймер...
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровой осциллограф своими руками.

Сообщение Леонид Иванович »

Galizin писал(а):После усреднения боюсь алиасы останутся.


Усреднение - это цифровой FIR-фильтр с прямоугольным окном. АЧХ не очень крутая, зато у фильтра простая реализация. Подавление алиасов будет вполне заметное, но не идеальное. Лучше, конечно, при снижении частоты развертки производить передискретизацию с помощью более качественного фильтра, но тогда растут затраты ресурсов. Можно для этих целей применить довольно экономичные по затратам CIC-фильтры.

Galizin писал(а):Также боюсь, что 303 при работе на максимальной частоте не справится с детектированием и усреднением.


Совершенно очевидно, что осциллограф нужно строить на ПЛИС. Сегодня как сами ПЛИС, так и средства разработки, доступны каждому радиолюбителю. А притягивать за уши STM32 и получить на выходе барахло, потратив уйму драгоценного времени - по меньшей мере неразумно. Тем более, что не получится догнать даже существующий проект - NeilScope. К чему тогда всё это?
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

Re: Цифровой осциллограф своими руками.

Сообщение ВитГо »

Леонид Иванович,

как показывает обсуждение улучшать есть что.. ту же аналоговую часть !!!
так что стоит просто смотреть на проблему в комплексе... и тогда полезно будет всем..

а то что на ПЛИС лучше всего - так об этом никто и не спорит :-)

ПЛИС конечно интересно прикрутить, и даже есть интересные способы :-)

но у меня пока все в стопоре из за аналога... вот закончу с ним - буду думать над обработкой при помощи ПЛИС и процессора..


ПОМОГИТЕ РАЗРАБОТАТЬ АНАЛОГ ! чтобы было просто и эффективно...

проблема в существующих аналогах (простых, типа нейлскопа) - предоставить оптимальный уровень сигнала на оцифровку - чтобы получить максимальное разрешение..
схемы подобные нейлскопу этого дать не смогут !!
кто не верит - посмотрите архив mosc.zip что я кидал выше - и сделайте по аналогии с нейлскопом коэффициенты - там разрешение далеко не оптимальное получается.. даже до 100 отсчетов на некоторых пределах не будет :-( при том что у АЦП 250 отсчетов !!!

по моим расчетам аналог должен последовательно усиливать сигнал, причем на столько сколько нужно... и смещать нужно сигнал в обе стороны... (а не только вверх)... - вот тогда еще можно рассчитывать на количество отсчетов около 150-170 для любой амплитуды сигнала...
в идеале (смотреть mosc.zip) можно получить 200 отсчетов для любого входного сигнала !!! вот это был бы аналог ! всем аналогам аналог !
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровой осциллограф своими руками.

Сообщение Леонид Иванович »

ВитГо писал(а):улучшать есть что.. ту же аналоговую часть


Чтобы улучшить аналоговую часть NeilScope, нужно разбираться в аналоговой схемотехнике. А те бредни, которые публикуются в этой ветке, ничего не улучшат.
Chettuser

Re: Цифровой осциллограф своими руками.

Сообщение Chettuser »

Ушёл штудировать Хоровица и Хилла.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

Re: Цифровой осциллограф своими руками.

Сообщение ВитГо »

Леонид Иванович писал(а):
ВитГо писал(а):улучшать есть что.. ту же аналоговую часть


Чтобы улучшить аналоговую часть NeilScope, нужно разбираться в аналоговой схемотехнике. А те бредни, которые публикуются в этой ветке, ничего не улучшат.


вот и прошу помощи..
помогите разобраться !
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: Цифровой осциллограф своими руками.

Сообщение Galizin »

Леонид Иванович писал(а):Совершенно очевидно, что осциллограф нужно строить на ПЛИС. Сегодня как сами ПЛИС, так и средства разработки, доступны каждому радиолюбителю. А притягивать за уши STM32 и получить на выходе барахло, потратив уйму драгоценного времени - по меньшей мере неразумно. Тем более, что не получится догнать даже существующий проект - NeilScope.

Я не согласен с такой позицией. Например возьмем источник питания - есть источники на 10 ампер и 100 вольт, но это не значит, что не востребованы 1 амперные и 30 вольтовые. Или Лады и Мерседесы ...
Просто нужно всегда отдавать себе отчет какую цену платишь за то или иное решение. Например применение только 303 вместо ПЛИС, АЦП и памяти - это отказ от 3 цифровых корпусов из 4. Это большой + к такому решению. Плата в скудности синхронизации, борьба с альясингом, возможно даже неудачная, поочередное использование процессора для накопления и обработки - это минусы этого решения.
Я уже думаю над осциллограом на 303 несколько часов. Пока идея подсократить корпуса мне нравится.
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

Re: Цифровой осциллограф своими руками.

Сообщение zöner »

1 контроллер и лопата типа такой - вещи несравнимые по сложности и стоимости.
там одна ПЛИС в полтора раза дороже контроллера.
F303 есть в корпусах на 48 и 64 вывода - весь скоп в получается миниатюрный в виде пробника.
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

Re: Цифровой осциллограф своими руками.

Сообщение Arpad »

zöner писал(а):1 контроллер и лопата типа такой - вещи несравнимые по сложности и стоимости.

и обратная сторона лопаты типа таковой для устрашения
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровой осциллограф своими руками.

Сообщение Леонид Иванович »

Ничего страшного там нет, хороший прибор. Перед разработчиком NeilScope снимаю шляпу. Если в этой ветке речь идет о плохом, но простом приборе, который можно реализовать на голом STM32, тогда зачем так озадачиваться аналоговой частью? Скопировать один в один - и даже жирно будет.
Ответить

Вернуться в «Измерения»