Chettuser писал(а):Arpad писал(а):Предлагается база Cortex-M4 (можно и другое более, но по карману для большинства!)
LPC1700 или LPC1800? Правда ног у них аж до 208. Попадаются и поменьше, но с урезанной периферией. Содержат драйвер LCD (ну как дополнительная опция).
1. Давайте определим что делаем конструкцию без ПЛИС - нам нужна простая конструкция !!
Таким образом нужно будет реализовывать захват данных с АЦП при помощи самого контроллера (по аналогии с Хамелеоном)
Следовательно здесь нужно выбирать среди контроллеров у которых есть интерфейсы быстрого ввода параллельных данных (8 бит) с АЦП по такту, это могут быть интерфейсы:
- FSMC - частота по моим данным до 32 мгц
- DCMI - частота по даташиту до 54 мгц, в тестах работал на 84 мгц...
насколько я знаю у LPC нет интерфейса DCMI, это фенечка STM32Fx07 (207, 407 точно!!)
2) без внешней памяти - нам нужна простая конструкция !
поэтому от внешней памяти пока предлагаю отказаться !!
во-первых, для этого нужен камень с полным интерфейсом (по ногам) FSMC (иначе нужно будет делать внешний буфер-защелку, а это сразу даст падение скорости работы !!)
во-вторых, это лишний корпус, разводка, цена и так далее
следовательно нам нужен камень с возможно максимальным объемом ОЗУ (пока не заостряем насколько большим)
в принципе вышеуказанным требованиям удовлетворяют камни STM32F207 и STM32F407
в 100 ногом STM32F407VG - 128 кб памяти, и 12 ногий интерфейс DCMI
STM32F407VG стоит на плате STMF4 Discovery - то есть платформа более чем доступная !!
ну и стоимость камня не такая уж и запредельная, http://www.promelec.ru/catalog/1/11/1777/0/148200/ (это для сборки законченного устройства и установки на готовую плату)
3) дисплей - с универсальным интерфейсом ничего нет
к сожалению все большие дисплеи зачастую имеют параллельный 16ти битный интерфейс...
имея камень на макетке со 176 ногами (камень F407IG) проблем никаких !
но вот на 100 ногом (F407VG) - уже начинаются песни с разводкой линий FSMC и DCMI, DAC, USB, MCO1 и так далее...
поэтому нужно принять решение из разряда:
- подключаем такой то параллельный дисплей (и он доступен на ебай, алиэкспресс, деалэкстриме - и по цене не космос)
- либо подключаем дисплей с SPI интерфейсом (но они как правило меньше по диагонали, вроде как больше 3 дюймов я не видал, но я не сильно искал)
почему я не хочу подключать дисплей посредством GPIO? - потому что хочется задействовать DMA вывод данных на дисплей - а для этого это должен быть FSMC либо SPI либо еще какой то интерфейс передачи данных...
- ЛИБО не заморачиваемся на дисплее (в конце концов он будет нужен только на отладке) а делаем выход на USB или BT (как компромис оставить небольшой SPI дисплей для мобильности):
--- достоинство USB-простота реализации на камне, не нужно никаких доп. микрух для CDC_VCP подключения (на компе виден как ком-порт) - в принципе можно просто сразу поставить USB как обязательную опцию проекта (прошивать без программатора опять таки удобно - я эту фенечку уже освоил и описал - проще пареной репы (к слову для тех кто думаем попробовать программировать на STM32 - программатор можно не покупать для старших линеек типа F4))
--- достоинство BT - отсутствие проводов и 100% гальваническая развязка.. - опять таки как доп. бонус - это возможность в будущем подключаться хоть к смартфону на андроиде хоть к планшету..
у меня например есть телефончик с экраном в 5.7 дюймов.. разрешение как у компа (1280х720) - его цена 200 баксов с доставкой ! - лучшего экрана (с сенсором) - вряд ли можно придумать, тем более в телефоне можно и хранить осциллограмы - памяти в любом гигабайты !
4) используемый АЦП AD9283 - думаю тут возражений не будет
их что называется на вкус и на цвет, я памятуя о том что DCMI завелся на частоте clk/2 заказал себе 100 мгц версию АЦП.. если кто не желает такого разгона - то можно заказать на меньшую частоту
кстати, поскольку ширина шины DCMI всего 12 бит (для 100 ногого корпуса) - то соответственно ни о каком втором канале наверное речи вести не получиться...
либо делать попеременный захват данных с АЦП вдвое уменьшая частоту дискретизации - но тут еще возникает вопрос организации коммутации всего это добра в виде двух АЦП... боюсь проще собрать еще один канал на STM32F407 и придумать межпроцессорное взаимодействие так как логику или счетчики на 100 мгц уже фиг найдешь (либо подбирать надеясь что будет работать) ну или вместо корпусной логики делать все это на плис (но тогда - мы теряем простоту конструкции...)
в общем именно из за ширины DCMI я бы пока не стремился к многоканальности...
5) входная аналоговая часть - то что на самом деле самое сложное в проекте
пообщавшись здесь я лишний раз убедился что требований к входной части можно предъявить столько что не реализуешь
к сожалению здесь опыта нет, поэтому сейчас наверное буду делать простой вариант, без особых высоковольтных изысков, и если что получиться - то буду думать как сделать чтобы вход выдерживал не раз упомянутые здесь 300 вольт в любом положении делителя и с щупом 1:1
делитель оптимальным показался 1:2 \ 1:20 (расчеты были в теме выше..)
еще интересную идею предложил Sergi с делителем 1:2 \ 1:100 - пока думаю, поскольку пока не понял выигрыша в таком делителе (если учесть что все равно более 100 вольт на щупы подавать нельзя - погорят кондеры подстроечные нафиг!)
операционник opa4354 - это 4 усилителя в одном корпусе, с достаточно большим диапазоном входного напряжения..
селектор делителя либо 4051 либо предложенные Sergi аналоговые коммутаторы G3157 (по его опытам они интереснее 4051 на порядок)
в общем если кто имеет опыт или имеет что сказать в аналоговом тракте - то добро пожаловать !



я предложил...