Многие, наверное, слышали или видели осциллографы с алиэкспресс на stm32f103 dso-138 или dso-150. Для начинающих вполне интересная игрушка, но экран в 2.4" уж совсем маленький.
Встретил я на просторах сети вот такое красивое решение вывода на экран. И возникла у меня мысль, а что, если это решение скрестить с осциллографом?! Поискал, может такое уже есть, и да, есть тема с непонятным роликом на Ютубе, прошивка платная, исходников соответственно нет.
Значит вполне можно этим заняться для изучения!
Даташиты на разные процессоры я то давно изучаю, но знать возможности кристалла это одно, а писать для него это совсем другое.
Для начала я экспериментировал с такой палаткой https://stm32-base.org/boards/STM32F103 ... -Pill.html
И уже после, сделал свою макетку ...


С прицелом перехода на stm32f303, у которого АЦП заметно лучше. Занимался я этим проектом набегами уже давно, но предыдущая карантинная неделя позволила заниматься им более плотно, и вот первые результаты:
~10КГц:
~100КГц:
~300КГц:
Источник сигналов генератор Г6-37. Ни каких сглаживаний пока нет. Реально, можно смотреть сигналы до 200кгц, все, что выше это не сигнал, а пародия на него. Это при том, что stm у меня разогнан до 96мгц от штатных 72, а АЦП с максимальных 14мгц тактовой до 24.
Как на dso заявляется 500кгц?! По моим прикидкам на dso можно смотреть сигналы до 100кгц и все. Если у кого есть реальная информация по возможностям dso, с интересом выслушаю.
В схеме я заложился на два канала, но это и возможности АЦП в 2 раза уменьшит,и тем не менее.
Экран имеет развертку 640х480х60гц, а в точках 320х240. С отображением есть одна проблема, во время работы АЦП появляется небольшой муар, он просмотру не мешает, но убрать его у меня не получается, не смотря на эксперименты с приоритетами dma spi и adc (нашел способ устранить, теперь все ок). Операционный усилитель на данный момент у меня mcp6022. Питание STM и соответственно опоры АЦП 3.6В, и диапазон ОУ приведен к этому напряжению. Кварц на 8Мгц у себя не нашел, использовал на 12 (12*8=96). Значение тактовой в районе 100МГц хорошо подходит к работе SPI при разрешении 640х480.
Исходники я выложу по завершению проекта, сейчас они ещё очень сырые, но если кто то захочет повторить схему прямо сейчас пишите (для 103 выложил).
upd: слегка откорректировал схему и добавил текущую прошивку, которую можно залить просто в плату Blue-Pill, те практически к этой платке припаять разъем VGA на 4х проводках и все! картинка уже будет. Дальше или свой сигнал подать на PA0 или тестовый с порта PA15, а если еще и три кнопки подключить, то будет вообще весь текущий функционал...
upd2: добавил исходник проекта для stm32f103 под кварц 8Мгц (для платки Blue-Pill) как есть, тк 103 проектом заниматься не вижу смысла в сравнении с возможностями stm32f303.