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

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

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


Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

Скажите пожалуйста, можно ли сделать так:
считываю данные из порта с помощью DMA в буфер (без участия ЦПУ) и одновременно считывать
через ресурсы ЦПУ ( IN port x)?
Так например я сохраняю в кольцевой буфер историю, а синхру ловлю в основном цикле WHILE(port x >sinc). Можно со штампом времени( как говорит ВитГо). И при совпадении обрабатывать с известного места (или за n отсчетов ранее).
Реклама
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

Sergi писал(а):Скажите пожалуйста, можно ли сделать так:
считываю данные из порта с помощью DMA в буфер (без участия ЦПУ) и одновременно считывать
через ресурсы ЦПУ ( IN port x)?
Так например я сохраняю в кольцевой буфер историю, а синхру ловлю в основном цикле WHILE(port x >sinc). Можно со штампом времени( как говорит ВитГо). И при совпадении обрабатывать с известного места (или за n отсчетов ранее).


а откуда читать будешь ?
если с DCMI->DR - то ведь еще нужно знать когда прочитать (флаг заполнения учитывать) - и вот когда флаг прочитаешь (если не пропустишь его сброс от DMA который работает быстрее) - то конечно можно прочитать (правда если успеешь до того момента когда в него новое значение уже попадет при очередном захвате, см. ниже)...

думаю уже на даташитных частотах (<54 мспс) захвата DCMI обрабатывать данные напрямую с порта не получиться.. просто не успеет процессор.. - даже на ассемблере получается 4 такта проца на захват одного байта...
4 байта на один DCMI->DR = всего 16 тактов процессора...
теперь простой вопрос (к сожалению риторический) - что можно успеть сделать за эти 16 тактов с данными в DCMI->DR (напоминаю там 4 захвата) ?


ИМХО лучше извращаться в ускорении обработки буфера ОЗУ...
тот же цикл WHILE(port x >sinc) примененный для ОЗУ будет скорее всего быстрее поскольку можно написать его так чтобы читать БАЙТЫ из ОЗУ и их уже сравнивать
Реклама
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

Я проверял- сохраняет из порта в озу за 6 тактов ЦПУ без ДМА. Добавить сравнение и переход +3 такта и разрешать сохранять через ДМА.
Если не сохранятьв озу а ловить синхру - до разрешения записи 7 тактов ЦПУ.
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

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

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

да, ldr/str выполняется за 6 тактов, но это на линейном коде, если не было ветвлений, плюс неизвестно как будет влиять DMA и конкуренция за шину.

в приближении выглядит как-то так:
- запускаем DCMI в закольцованном режиме,
- максимально быстро читаем порт / DCMI->DR, или буфер в поисках триггера,
- если находим, запоминаем позицию триггера, запускаем таймер на N тактов, спим,
- по прерыванию таймера - останов DCMI и разгребание буфера.
Реклама
Эиком - электронные компоненты и радиодетали
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

Именно так и думал!
Реклама
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

только не забудьте что DCMI отдает сразу 4 байта...

если только анализировать только 1 байт из 4х....
так тогда проще ОЗУ анализировать.. прыгая например через 5-6 байт.... так можно и за DCMI успеть :-))
Последний раз редактировалось ВитГо Пн сен 30, 2013 21:12:31, всего редактировалось 1 раз.
Реклама
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

да, это известные ссылки...

там кстати и описана странность даташита про DCMI: при АКТИВНЫХ уровнях синхронизации (VSYNC, HSYNC) данные не принимаются !! (к слову об ошибках в даташитах)... чтобы данные захватывались нужно уровни синхронизации установить в неактивный уровень :-)
прикол в том что в регистре конфигурации задаются именно активные уровни (при которых нет захвата), а не казалось бы логичных уровни при которых наоборот идет захват...

потом еще чтото было про DMA (давно читал... буду разбираться - перечитаю и вспомню :-)))
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

Прикинул с 4 байтами
прочитал регистр DCMI - 2такта
сдвинул на 24(16,8,0) бита-1 такт, сравнил 1 такт, переход 2 -такта(это все 4 раза) итого 18
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

проще это делать по памяти.. буфер то все равно кольцевой...
так и предвыборка будет сохраняться...
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Задача, необходимо получить кольцевой буфер аналогично
ФИФО или ПЛИС с максимальным быстродействием на МК_Ф407.
Вложения
DSC02752_s.jpg
(77.23 КБ) 525 скачиваний
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Вношу, уточнение в предыдущий пост, была использована м/сх счетчика 74VНC161, а не 74LVC161 как указано в приложении. С 74LVC161 возможно было бы чуть лучше.

Ребята, пора Ваши идеи воплотить и выкарбовать в камне для потомков, для созерцания!!
В камне все станет на место «Вху-из-Вху», камень Вас или Вы камня.
Вложения
Ген_идей.doc
(23 КБ) 204 скачивания
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

Arpad писал(а):Задача, необходимо получить кольцевой буфер аналогично
ФИФО или ПЛИС с максимальным быстродействием на МК_Ф407.


это реализуемо..

а вот на счет диаграмм: получается что на 168 мгц для обоих счетчиков возможны сбои ?
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

Arpad писал(а):Вношу, уточнение в предыдущий пост, была использована м/сх счетчика 74VНC161, а не 74LVC161 как указано в приложении. С 74LVC161 возможно было бы чуть лучше.

Ребята, пора Ваши идеи воплотить и выкарбовать в камне для потомков, для созерцания!!
В камне все станет на место «Вху-из-Вху», камень Вас или Вы камня.


Я и Sergi (если хотите Sergi и Я) работаем над этим..

сейчас думы над входной частью..

на вход наверное opa656 - да, дорого, но зато вроде бы с диф. напряжением на входе +-Vcc... - у кого нить есть замечания ?

соответственно питать ее от +-3 вольт.. соответственно размах входного сигнала после делителя +-3 вольта, правильнее наверное даже +-2.5 вольта...

теперь вопрос о входном делителе, вернее о его коэффициентах и способах съёма сигнала с точек деления (герконовое реле или ключи по типу 74ahc1g66 или 4052 или 4051)..
вчера казались оптимальными делители 1\10\100
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

2 Arpad
У Вас память пишет байт за 6нс ?
Я прикидывал буфер на 161 счетчиках и опасался писать менее чем за 8нс. память cy7c1041
есть смоделированная схема в diptrace и микрокапе
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

ВитГо писал(а):на вход наверное opa656 - да, дорого, но зато вроде бы с диф. напряжением на входе +-Vcc... - у кого нить есть замечания ?
соответственно питать ее от +-3 вольт.. соответственно размах входного сигнала после делителя +-3 вольта, правильнее наверное даже +-2.5 вольта...

Грабли??
OPA656 ELECTRICAL CHARACTERISTICS: VS = +/-5V
INPUT
Most Positive Input Voltage(5) +2.75 +2.1 +2.05 +2.0 V Min
Most Negative Input Voltage(5) –4.5 –4.0 –3.9 –3.8 V Min
Most Positive Input Voltage(6) +3.25 +2.6 +2.5 +2.4 V Min
Most Negative Input Voltage(6) –4.5 –4.0 –3.9 –3.8 V Min

OUTPUT
Voltage Output Swing No Load 3.9 -3.7 V Typ
RL = 100Ohm 3.5 3.3 3.2 3.1 V Min

(5) Tested < 3dB below minimum specified CMRR at CMIR limits.
(6) Input range to give > 53dB CMRR.
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Sergi писал(а):2 Arpad
У Вас память пишет байт за 6нс ?
Я прикидывал буфер на 161 счетчиках и опасался писать менее чем за 8нс. память cy7c1041

В память пишется за 10-12 нс слово из ФИФО-Спартан-3 при необходимости, за 6 нс пишется выход счетчика симулирующий АЦП на входе ПЛИС.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

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

Arpad писал(а):
ВитГо писал(а):соответственно питать ее от +-3 вольт.. соответственно размах входного сигнала после делителя +-3 вольта, правильнее наверное даже +-2.5 вольта...

Грабли??
OPA656 ELECTRICAL CHARACTERISTICS: VS = +/-5V
INPUT
Most Positive Input Voltage(5) +2.75 +2.1 +2.05 +2.0 V Min
Most Negative Input Voltage(5) –4.5 –4.0 –3.9 –3.8 V Min

:(
нет, просто опять препятствия, неужели нет операционника с нужными нам характеристиками ?!


значит оставляем opa656, и никаких делителей после усилка...
на входе один делитель, что то вроде диапазонов по входному напряжению.. цель работы делителя на вход операционника подать напряжение не более 1 вольта...
до 1 вольта (1:1), цена деления (единица АЦП) 0.008 вольта
дальше наверное до 5 вольт (1:5 для цифровых схем с ИС) - 0.04 вольта
потом до 25 вольт (1:25, сюда попадет аналог с питанием +-12, +-15, и так далее) 0.2 вольта
и до 100 вольт (1:100, это для любителей мерить розетки, конечно с щупом 1:10) 0.8 вольта

на выходе 8129 для организации сдвига сигнала с единичным усилением..

или так совсем плохо ?
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

2 Arpad
Спасибо, все понял. У меня два канала, старший и младший байт, тактируются 60МГц. Или интерлив один канал 120МГц пишется словом при 60МГц тактовой.
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

ВитГо писал(а):вопрос о входном делителе, вернее о его коэффициентах и способах съёма сигнала с точек деления (герконовое реле или ключи по типу 74ahc1g66 или 4052 или 4051)..
вчера казались оптимальными делители 1\10\100

Из прошлого в теперешнее... 1\10\100\1000
Вложения
524S2.png
(110.7 КБ) 438 скачиваний
Ответить

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