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

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

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


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

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

Сообщение Arpad »

ВитГо писал(а):случаем за лицензионные ограничения не выходите ?
ibiza11 писал(а): не знаю, но попробуйте перенести проект поближе к корневому каталогу диска, без кириллических символов в пути.

Спасибо, за напоминания азбучных истин, поставлю поближе к корневому каталогу диска, без кириллических символов в пути.
За 3 года таких проблем не имел при Ф1-дисковери, Ф4-дисковери и Ф3-дисковери, появилось оно первый раз на Ф3-дисковери
где-то 4-5 дней назад и вчера потом после перезагрузки оно исчезло.
Вложения
Без_004.jpg
(246.42 КБ) 1323 скачивания
Реклама
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

Интерлив 303

Сообщение Kitano8 »

Интерлив 4 АЦП на дискавери
Изображение
Реклама
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

Re: Интерлив 303

Сообщение Arpad »

Kitano8 писал(а):Интерлив 4 АЦП на дискавери
Поздравляю, осталось малость только причесать эти 4 суррогатных АЦП и привести к одному общему.
А можно привести прямоуголку 500кГц от таймера.Через 3 одинаковых резистора по (430 – 560) Ом ,
где первый резистор подключен к выходу таймера 500кГц и входам АЦП1-4; второй и третий резисторы
одним концом также подключены к входам АЦП1-4, а отставшие концы на землю и +3В.
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

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

Сообщение Kitano8 »

Пока нет, причесать сложнее
Реклама
Эиком - электронные компоненты и радиодетали
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

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

Сообщение Kitano8 »

Резисторы 1кОм + разделительный конденсатор 1 мкФ, сигнал с DDS генератора
Изображение
Реклама
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Kitano8 писал(а):....сигнал с DDS генератора
Интерлив 4 АЦП на дискавериФ3 и сигнал с таймера 1-2-3 мГц
Изображение
Реклама
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

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

Сообщение Galizin »

Arpad и Kitano8, примите поздравления с победой над АЦП F303.
Дополнительные сведения можно узнать?
1. Разрядность 10 или 12 бит
2. Режим работы DMA - каждый в свой массив или попарно 4 АЦП в 2 массива
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

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

Сообщение Kitano8 »

Разрядность 12 бит, это видно по значениям графика, 4 ацп - 4 массива.
При работе двух ацп в режиме интерлива и одном запросе ДМА возможны сбои (см. errata).
Удалось более-менее настроить при индивидуальных запросах ДМА от каждого АЦП.
У Arpad'а интересный прибор, где бы описание посмотреть? Есть ли интерполяция?
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Galizin писал(а):Дополнительные сведения можно узнать?
Разрядность 10 бит, видно по значениям ADC1-4, с 4-х ADC - в 2 массива;
Без ДМА, интерполяции нет, желаю видеть, что есть, на самом деле подавая известное,
а не дополнительные артефакты еще с суррогатных 12-битных ADC.
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

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

Сообщение Galizin »

Arpad писал(а):Без ДМА
И успевает оно за 12 тактов сохранить 2 32 битных значения в массивы от АЦП, увеличить 2 раза указатель, проверить флаг завершения цикла, синхронизироваться (подождать) флаг готовности периферии, проверить окончание буфера и начать оба буфера сначала при необходимости?
Что то меня мучают сомнения по этому поводу. Особенно когда наступит переполнение буфера (долго ждем одиночного импульса).
Все таки dma для таких целей лучше использовать. Включил и ждешь. Событие синхронизации (аналоговая сторож собака) запустила таймер, который отсчитал заданное время == времени заполнения половины буферов. По окончании отсчета этого времени таймер, который запустился от аналог сторож собаки остановил таймер запуска АЦП, вызвал прерывание. В прерывании установить флаг захвата. В основном цикле дождались установки флага захвата, и отрисовали буфера. Положение события захвата расчитывается исходя из задержки отключения и состояния DMA. Буфера можно отрисовывать с разным масштабом, по какому нибудь алгоритму соединения нескольких точек в одну (среднее, мин-макс например).
Если есть желание сделать стробоскоп - тогда запускающий АЦП таймер нужно запускать от другого таймера. После каждого запуска сдвигать управл выход этого таймера на 1 такт. В результате за 3 таких подхода можно достичь 72 мегагерц выборки 10 бит на один канал. Если два канала - то за 6 подходов. Кстати если использовать стробоскопич режим - то можно увеличить количество подходов и разрядность до 12 бит.
Ну это так, мысли вслух.
p.s.
Еще обнаружил небольшое несовпадение отрицат и положит импульсов по длительности на осцилограмме 3 мегагерца. Каким образом удалось совместить 24 мегагерца и 0,2 микросек на деление? Получается по 4.8 точки на деление. Лучше взять 6 целых точек на деление и соотв получится 0.250 микросекунд на деление. Нестандартно конечно(0,25 - 0,5 - 1 - 2 - 5 - 10 .... ), но целые точки - это по моему хорошо.
Для 3 мегагерц должно быть 8 точек на периоде. У меня такое ощущение что там точек побольше, какими то скругленными выглядят переходы от крыши импульса к фронтам.
Последний раз редактировалось Galizin Ср ноя 27, 2013 14:40:37, всего редактировалось 1 раз.
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

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

Сообщение Kitano8 »

По поводу 18MSPS и интерлива
Изображение
Оригинал http://www.arrow-israel.co.il/_Uploads/ ... eminar.pdf
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

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

Сообщение Galizin »

Kitano8 писал(а):По поводу 18MSPS и интерлива
Вы имеете ввиду почему 18, а не 72/14*4 == 20.57 ?
18 = 72/(16/4)
А вот с 10 битами все хорошо
24 = 72/(12/4)
Kitano8
Родился
Сообщения: 17
Зарегистрирован: Ср ноя 09, 2011 01:46:36

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

Сообщение Kitano8 »

По поводу того, что 18мегасемплов достигается на двух АЦП, а не на четырех, как предполагалось
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

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

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

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

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

Сообщение Arpad »

Galizin писал(а): Что-то меня мучают сомнения по этому поводу.
Задание МК надо давать в меру возможностей Ф303 и ассемблером брезговать не надо.
Все упрощено до минимума – и критерий лишь бы получить стабильное и заданное изображение на экране.
Сигнал, который не разваливается после появления на экране и более менее соответствует форме поданному
на входы 4-х АЦП работающем в режиме чередования. (Уже при 4 МГц пол экрана залит крякозабрями, а не меандром.)
«Все таки dma для таких целей лучше использовать. Включил и ждешь»
– Согласен, но это надо кому-то понимающем в этом сделать!!
«Долго ждем одиночного импульса» задача такая не ставилась
Может и поймаем случайно Буфера по 2*4Кслов.
На осциллограмме 2 мегагерца период в среднем занимает около 37-38 пикселей
15 пикселей = 0.2мкс/дел 1пиксель равно = 0.013333 мкс
0.013333 мкс * 37.5 пикселей = 0.333мкс = 0.495 мкс = 2.02 МГц.
«Для 3 МГц должно быть 8 точек на периоде. У меня такое ощущение что там точек побольше, какими то
скругленными выглядят переходы от крыши импульса к фронтам. »

на осциллограмме 3 мегагерца период в среднем занимает около 25 пикселей
15 пикселей = 0.2мкс/дел 1пиксель равно = 0.013333 мкс
0.013333 мкс * 25 пикселей = 0.333мкс = 3.003 МГц.
Приложение
Обведенные овалом фронты утолщенные и еще есть иногда прыжки периода на 1-2 пиксель местами
или дрожание, но причины толком (муар и др) не занимался.
Вложения
interleave23.png
(240.72 КБ) 679 скачиваний
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

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

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

Уже при 4 МГц пол экрана залит крякозабрями, а не меандром
опишите как делали.
ADC1/2/3/4 тактируются от разных ШИМов, ADC1 привязан к DMA1, 2/3/4 - DMA2.
настройка должна быть тривиальной.
возможно, лучше распределить запуск каналов как 1-3-2-4.
Вложения
dma2-req.png
(31.02 КБ) 755 скачиваний
dma1-req.png
(40.81 КБ) 592 скачивания
adc34-trig.png
(69.05 КБ) 633 скачивания
adc12-trig.png
(101.94 КБ) 452 скачивания
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

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

Сообщение Galizin »

Arpad писал(а):на осциллограмме 3 мегагерца период в среднем занимает около 25 пикселей
Arpad писал(а):интерполяции нет
Вот тут я не понимаю как это работает. С одной стороны нет интерполяции, с другой 25 пикселей на 3 мегагерцах. АЦП работает на 24 мегагерцах. 3 МГц на периоде АЦП оцифровывает 24/3 = 8 точек. Откуда беруться дополнительные? Непонятно. Должны были бы браться из алгоритма интерполяции. так что интерполяция должна быть. Нужно же как то заполнять оставшиеся 25-8 пикселей.
Хотя возможно что Вы просто считывали выходной регистр АЦП и сохраняли его в памяти в цикле. Ну итак пока весь буфер не заполнится. Потом анализировали буфер для синхронизации.
Тогда можно сделать предположение о причинах неравномерности. Сначала считывается первый двойной регистр, потом второй двойной регистр (ADCx_CDR). Потом нужно проверить счетчик, увеличить его и перейти на начало. На последние операции требуется дополнительное время. Отсюда может быть и неравномерность.
Также можно сделать предположение почему может разваливаться картинка на 4 мегагерцах. Если запуск АЦП как 1-3-2-4 (что логично) то потом нужно будет для отображения собирать их в том же порядке. Возможно сборка для отображения производится не в том порядке. Такое предположение конечно слабо, но что либо более конкретное без кода тяжело предположить.
А по поводу программирования. У меня нет 303. так что пробовать не на чем. Конечно можно купить discovery. Но я пока не отважился на сборку осциллографа.
Аватара пользователя
Arpad
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 13, 2012 12:49:16
Откуда: UA

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

Сообщение Arpad »

Galizin писал(а):
Arpad писал(а):интерполяции нет
Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Программа рисования на ЖКИ заполняет пробелы между имеющими точками по своему усмотрению и это мне тяжело назвать интерполяцией, ибо реальность может быть совсем другим. Любые виды интерполяции при определенных моментах могут дать все, что угодно при неизвестном входном сигнале. По принципу: какой закажете – такой сделаем.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

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

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

Сообщение Arpad »

ibiza11 писал(а): не знаю, но попробуйте перенести проект поближе к корневому каталогу диска, без кириллических символов в пути.

Привет Всем, какие будут идеи ??
Вложения
KEIL_472prob41.jpg
(245.3 КБ) 894 скачивания
Ответить

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