Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект

Пт май 09, 2014 10:48:02

Доброго...,
недавно я ознакомился с документацией на МК STM32F303vct6, установленный на плате STM32F3DISCOVERY (описание в аттаче). И меня очень заинтересовало наличие в нем 4х штук 5ти мегасемпловых АЦП. Причем эти АЦП могут работать парами по внутреннему стробу, расширяясь до 10ти MSPS при 12ти битной точности.
Типа так:
Изображение
см. STM32F30x ADC modes.pdf в аттаче
То есть, мы видим камушек ценой до 10 баксов с двумя 10MSPS АЦП. Это грозит нам возможностью красиво, не по Найквисту/Котельникову, а именно красиво разворачивать на экране осциллографа любые сигналы с частотой до 1-2МГц применяя прямую выборку по времени, и периодические сигналы до 10-20Мгц и выше, применяя техники выборок по эквивалентному времени, по двум каналам одновременно.
Типа так:
Изображение
см. Equivalent_time_sampling_technics.pdf в аттаче
Если приобрести плату STM32F3DISCOVERY (11 баксов на st.com, на алибабах/ибэях 23 бакса, а у нас немного дороже, около 30ти), то мы поимеем прекрасный макет для оценки возможностей этого МК в качестве почти готового USB осциллографа. (не забывая ознакомится с Лицензионным соглашением на использование оценочных плат ST, в аттаче снизу).
На этой плате собран программатор/отладчик типа ST LINK V.2 на МК STM32 103-ей серии, а также сам МК STM32F303vct6 с небольшой, но интересной обвязкой, которая может пригодится.
1. Для начала предлагаю реализовать одноканальный USB осциллограф на "настоящие 1Мгц" на базе платы STM32F3DISCOVERY (не забывая, что она оценочная, на всех ее фотках должна быть надпись типа "демонстрационный/оценочный макет, не для продажи")
2. Дальнейшее развитие - одноканальный осциллограф с народным ЖКИ от Nokia 1100 - цена и доступность которого зашкаливают. Кроме того, Nokia заявляет, что выпустила этот телефон в количестве 250млн штук, и что он является чуть ли не самым массовым бытовым радиоэлектронным прибором всех времен и народов. Это значит, что запчасти для него еще долго будут на рынке.
3. В продолжение этого балета есть смысл сделать два канала, прикошачить несколько плюшек типа частотомера, измерителя RCL, логического пробника и использовать дисплей от Nokia 6300, который стоит недорого (китайская копия всего в два раза дороже (около 6 баксов) дисплея от Nokia 1100) и на него есть описание.

В этой теме предлагаю определиться с пунктом №1, и реализовать его. Остальные пункты наверное лучше будет потом вынести в отдельные темы, если администрация позволит.

По ходу пьесы можно немного увеличить скорость работы АЦП понизив его точность до 10ти или даже 8ми бит.
типа так:
Изображение
Если посмотреть на скорость семплирования при точности 8бит, то мы увидим 7,2MSPS для одного АЦП. При использовании сдвоенного черезстрочного режима она возрастет почти вдвое.

Мои обстоятельства не дают повода надеяться на самостоятельную реализацию по нескольким причинам:
1. Я слаб в Сях и радиолюбительских делах. Даже если смогу, то не скоро. :)
2. Обстановка у нас на Донбассе сложная, даже страшновато заказывать эту плату в иногородних интернет магазинах, а вдруг не дойдет?
Но недорогой и более-менее качественный осцил в свою лабу мне все равно хочется. :)
И именно поэтому я и создал эту тему, изложив максимум имеющейся у меня инфы, а так же мои собственные соображения.
Выкладывать даташит и справочное руководство по STM32F303vc не буду, дабы не перетяжелять тему.

Предполагаю следующие проблемы:
1. Изготовление печатной платы и распайка на ней микроконтроллера: корпус LQFP суров, особенно в стоногом варианте.
Вложения
Equivalent_time_sampling_technics.pdf
(1.95 MiB) Скачиваний: 2506
STM32F30x ADC modes.pdf
(725.42 KiB) Скачиваний: 1874
STM32F3DISCOVERY.pdf
(327.91 KiB) Скачиваний: 1884
EvaluationProductLicenseAgreement.pdf
Лицензионным соглашением на использование оценочных плат ST
(21.08 KiB) Скачиваний: 1533
Последний раз редактировалось DrLivsy Пт май 09, 2014 11:54:19, всего редактировалось 7 раз(а).

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 10:49:07

Решение проблемы с печатной платой: EmKit_QFP100 Макетная, отладочная плата. Гугл знает где и почем.
Последний раз редактировалось DrLivsy Пт май 09, 2014 11:53:35, всего редактировалось 1 раз.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 11:40:08

дисплей 96 x 65 что ли ? данунафиг

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 11:43:15

Morroc писал(а):дисплей 96 x 65 что ли ? данунафиг

Для народного/ширпотребовского употребления вполне. тем более, что этот дисплюк для автономной работы, без USB.
Особенно с перспективой перепрошивки и установки дисплея 320х240 - очень даже.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 12:01:50

DrLivsy писал(а):Но недорогой и более-менее качественный осцил в свою лабу мне все равно хочется. :)


Тут ситуация такая: если хочется иметь осцилл, то нужно просто купить какой-нибудь DSO203, или лучше QDSO за 120$. А вот если хочется с этим всем долго повозиться, тогда можно браться делать. Тема с самодельным цифровым осциллографам, наверное, рекордсмен по незаконченным проектам.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 12:19:18

Леонид Иванович писал(а):
DrLivsy писал(а):Но недорогой и более-менее качественный осцил в свою лабу мне все равно хочется. :)


Тут ситуация такая: если хочется иметь осцилл, то нужно просто купить какой-нибудь DSO203, или лучше QDSO за 120$. А вот если хочется с этим всем долго повозиться, тогда можно браться делать. Тема с самодельным цифровым осциллографам, наверное, рекордсмен по незаконченным проектам.

Спс, подумаю...

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 13:12:54

может пригодится http://tomeko.net/miniscope_v2d/

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 13:45:41

oleg110592 писал(а):может пригодится http://tomeko.net/miniscope_v2d/

Действительно интересный проект, на таком же МК, но низкоскоростной.
Причина - нехватка памяти для буферизации данных. (? надо разобраться, исходников не видал)
А вот софтина для ББ почти готовая, и кроме осцилла, реализован генератор. Причем форма выходного сигнала вырисовывается мышкой - я в восторге! (на видео можно увидеть) :music:
PS. Пообщался с автором: маловат буфер USB.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Пт май 09, 2014 18:02:51

Не вижу ничего сурового у LQFP100 делал платку без проблем! а по поводу осциллографа соглашусь с ЛИ.
Изображение

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 09:30:12

optima писал(а):Не вижу ничего сурового у LQFP100 делал платку без проблем! а по поводу осциллографа соглашусь с ЛИ.

Красиво, это ЛУТ или фотоспособ?

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 09:42:30

ФОТО!

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 12:09:27

Почему не ПЛИС+АЦП?

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 18:11:13

pcb писал(а):Почему не ПЛИС+АЦП?

Та я не гордый, мне бы хоть МК к USB прикрутить. Просто опыта мало, и пока видится одна проблема по п. 1му: действительно большой поток данных от МК через USB на комп. Если МК тупо делает АЦП и отдает на ББ, то мы имеем поток в ~15МБ/сек (типа 10MSPSx12bit). Это и вправду много для 2х юсбей, тем более, что буфер у МК под ЮСБ всего 512 байт. Это намекает на то, что надо делать какую-то предобработку прямо на МК, тем более,, что у него есть какие-то DSP возможности. Особенно ввиду того, что 12бит нам не надо, нам хватит и 8ми, а там вообще 14MSPS. :oops:
Вообще это мой первый проект на СТМ, я еще даже оценочной платой не обзавелся, ожидаю на след. неделе.
В общем, ридю даташиты/референсы, жду плату, обсуждаю перспективы с опытными людьми.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 18:28:52

DrLivsy писал(а):Просто опыта мало, и пока видится одна проблема по п. 1му: действительно большой поток данных от МК через USB на комп. Если МК тупо делает АЦП и отдает на ББ, то мы имеем поток в ~15МБ/сек (типа 10MSPSx12bit). Это и вправду много для 2х юсбей, тем более, что буфер у МК под ЮСБ всего 512 байт. Это намекает на то, что надо делать какую-то предобработку прямо на МК, тем более,, что у него есть какие-то DSP возможности. Особенно ввиду того, что 12бит нам не надо, нам хватит и 8ми, а там вообще 14MSPS. :oops:

Немного отодвиньтесь от близкого рассмотрения вопроса.
512 байт это уже 512 отсчётов. Довольно много, ведь на экране осциллографа мы видим не больше 100 отсчётов. Памяти даже на растяжку хватит.
Обновление экрана не чаще 10 раз в секунду. Значит, вам достаточна скорость передачи 5120 байт в секунду. Скорость 115 кбод перекроет потребности в четыре раза.
Достаточно захватывать сигнал в буфер при совпадении условий синхронизации, а потом передавать себе в комп потихоньку. ;)

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сб май 10, 2014 18:40:57

GARMIN писал(а):
DrLivsy писал(а):Просто опыта мало, и пока видится одна проблема по п. 1му: действительно большой поток данных от МК через USB на комп. Если МК тупо делает АЦП и отдает на ББ, то мы имеем поток в ~15МБ/сек (типа 10MSPSx12bit). Это и вправду много для 2х юсбей, тем более, что буфер у МК под ЮСБ всего 512 байт. Это намекает на то, что надо делать какую-то предобработку прямо на МК, тем более,, что у него есть какие-то DSP возможности. Особенно ввиду того, что 12бит нам не надо, нам хватит и 8ми, а там вообще 14MSPS. :oops:

Немного отодвиньтесь от близкого рассмотрения вопроса.
512 байт это уже 512 отсчётов. Довольно много, ведь на экране осциллографа мы видим не больше 100 отсчётов. Памяти даже на растяжку хватит.
Обновление экрана не чаще 10 раз в секунду. Значит, вам достаточна скорость передачи 5120 байт в секунду. Скорость 115 кбод перекроет потребности в четыре раза.
Достаточно захватывать сигнал в буфер при совпадении условий синхронизации, а потом передавать себе в комп потихоньку. ;)

Спасибо. Гора с плеч.
Это типа намек на то, что пора садиться за CoIDE и начинать кодить?
Понял.
Я тока еще немного теорию цифрового осциллоскопирования почитаю. А то у меня пока есть небольшие непонятки с простыми вопросами типа синхронизация, особенно для режима с хитроэквивалентными выборками. :)

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Вс май 11, 2014 23:37:30

1- Логический анализатор с аналоговым каналом "LOGIC-U PRO" http://6-lab.com/ru/news/3-projectnews/ ... u-pro.html. Одновременно на мониторе 8 каналов логического анализатора и один канал осциллогрофа и все с объемом памяти ПК и частотой дискретизации 12 МГц! Купил в 2010 г и доволен (насчет осциллографа- меня устраивает, но понравится не всем). Анализатором читал только И2С и УАРТ(с другими нет работ). Достоинство- память в ОЗУ ПК, т.е. можно писАть долго. Там еще ряд возможностей(генератор,вольтметр,частотомер), но я их не пробовал. Кстати китайцы продают аналоги дешевле (в 2010г не продавали)
2- в самодельном придется повозиться с входной частью если захотите хорошие характеристики
3- вот может поможет " Цифровой осциллограф своими руками". viewtopic.php?f=10&t=10324&p=1832086&hilit=осциллограф+stm32f303#p1832086

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Вт май 13, 2014 17:01:09

DrLivsy писал(а):измерителя RCL


Хех, а я свой измеритель RCL на STM32F303 уже почитай полгода делаю по вечерам. Уже почти готов, осталась мелочевка :)) Могу сказать, что аналоговая часть для осциллографа и RCL сильно отличаются, врядли имеет смысл совмещать в одной конструкции.

Особенности такие.
1. Коэффициэнт усиления. Сигнал 100 мкВ это уже считается хорошая амплитуда сигнала.
2. Нелинейные искажения. Если будет скажем 1% нелинейных искажений - это уже не откалибровать во всем диапазоне нормально. Поплывет определение фазы сигнала.
3. Фильтрация верхних частот обязательна. На частотах порядка 1 МГц куча радиостанций/помех. И каждый сантиметр выводов деталей их ловит.

PS: А так да, 303-я серия очень хороша.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Вт май 13, 2014 18:42:31

А я токо шо принес STM32F3DISCOVERY домой! :music:
На одном ЮСБ порте говорит программатор СТлинк, а на втором - СТМ32 мышь. Но мыша не работает, там видать отдельная прошивка есть.
Мои опасения насчет жестокости лицензионного соглашения не совсем оправдались: в инструкции на обратной стороне вкладыша написано "...10/ Develop your own applications using available examples" - разрабатывайте свои собственные приложения используя имеющиеся примеры.
То есть это не ардуино, ее нельзя встраивать в готовые изделия, но и не просто игрушка, можно свои проекты отрабатывать.
Красиво на ней светодиодов напаяли. :)
balmer писал(а):
DrLivsy писал(а):измерителя RCL

Хех, а я свой измеритель RCL на STM32F303 уже почитай полгода делаю по вечерам. Уже почти готов, осталась мелочевка :)) Могу сказать, что аналоговая часть для осциллографа и RCL сильно отличаются, врядли имеет смысл совмещать в одной конструкции.

Просто одним коробком на столе меньше.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Ср май 14, 2014 10:36:17

DrLivsy писал(а):Просто одним коробком на столе меньше.


Это только сначала кажется, что "просто". Вот скажем сделаешь ты осциллограф. Очень быстро сделаешь. Потратишь всего 3 месяца.
Дальше выбор:
- вставить это в корпус и радоваться готовому изделию.
- промучаться еще 3 месяца и прикрутить RLC Meter.

Причем разработка нескольких устройств в одном - это дополнительный гемморой. Например в RLC измерителе важно сделать короткие провода между аналоговой и цифровой частью, это очень сильно уменьшает уровень помех, наводимых на ADC входы микроконтроллера.

Я бы вообще присоветовал сделать для начала USB осциллограф простенький на основе Discovery. USB примеры есть простые у STM32. Приделать пару ОУ на вход и готово.

Можно даже данные качать по USB без реалтайма. Выделить буфер на 20 КБ и пихать туда сэмплы. Потом скачивать на компьютер и строить графики.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Ср май 14, 2014 16:51:52

balmer писал(а):Я бы вообще присоветовал сделать для начала USB осциллограф простенький на основе Discovery. USB примеры есть простые у STM32. Приделать пару ОУ на вход и готово.

Можно даже данные качать по USB без реалтайма. Выделить буфер на 20 КБ и пихать туда сэмплы. Потом скачивать на компьютер и строить графики.

Как раз это программа-минимум - сделать простенький USB осцилл.

А насчет РЦЛ измерителя: http://radiokot.ru/circuit/digital/measure/113
С исходниками. Рекомендую.
Ответить