Страница 49 из 54

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

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

Спасибо, за напоминания азбучных истин, поставлю поближе к корневому каталогу диска, без кириллических символов в пути.
За 3 года таких проблем не имел при Ф1-дисковери, Ф4-дисковери и Ф3-дисковери, появилось оно первый раз на Ф3-дисковери
где-то 4-5 дней назад и вчера потом после перезагрузки оно исчезло.

Интерлив 303

Добавлено: Пн ноя 25, 2013 13:49:39
Kitano8
Интерлив 4 АЦП на дискавери
Изображение

Re: Интерлив 303

Добавлено: Пн ноя 25, 2013 14:23:41
Arpad
Kitano8 писал(а):Интерлив 4 АЦП на дискавери
Поздравляю, осталось малость только причесать эти 4 суррогатных АЦП и привести к одному общему.
А можно привести прямоуголку 500кГц от таймера.Через 3 одинаковых резистора по (430 – 560) Ом ,
где первый резистор подключен к выходу таймера 500кГц и входам АЦП1-4; второй и третий резисторы
одним концом также подключены к входам АЦП1-4, а отставшие концы на землю и +3В.

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

Добавлено: Пн ноя 25, 2013 15:50:26
Kitano8
Пока нет, причесать сложнее

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

Добавлено: Вт ноя 26, 2013 10:43:22
Kitano8
Резисторы 1кОм + разделительный конденсатор 1 мкФ, сигнал с DDS генератора
Изображение

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

Добавлено: Вт ноя 26, 2013 21:02:14
Arpad
Kitano8 писал(а):....сигнал с DDS генератора
Интерлив 4 АЦП на дискавериФ3 и сигнал с таймера 1-2-3 мГц
Изображение

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

Добавлено: Ср ноя 27, 2013 11:07:24
Galizin
Arpad и Kitano8, примите поздравления с победой над АЦП F303.
Дополнительные сведения можно узнать?
1. Разрядность 10 или 12 бит
2. Режим работы DMA - каждый в свой массив или попарно 4 АЦП в 2 массива

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

Добавлено: Ср ноя 27, 2013 12:05:04
Kitano8
Разрядность 12 бит, это видно по значениям графика, 4 ацп - 4 массива.
При работе двух ацп в режиме интерлива и одном запросе ДМА возможны сбои (см. errata).
Удалось более-менее настроить при индивидуальных запросах ДМА от каждого АЦП.
У Arpad'а интересный прибор, где бы описание посмотреть? Есть ли интерполяция?

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

Добавлено: Ср ноя 27, 2013 13:27:28
Arpad
Galizin писал(а):Дополнительные сведения можно узнать?
Разрядность 10 бит, видно по значениям ADC1-4, с 4-х ADC - в 2 массива;
Без ДМА, интерполяции нет, желаю видеть, что есть, на самом деле подавая известное,
а не дополнительные артефакты еще с суррогатных 12-битных ADC.

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

Добавлено: Ср ноя 27, 2013 14:20:24
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 точек на периоде. У меня такое ощущение что там точек побольше, какими то скругленными выглядят переходы от крыши импульса к фронтам.

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

Добавлено: Ср ноя 27, 2013 14:32:29
Kitano8
По поводу 18MSPS и интерлива
Изображение
Оригинал http://www.arrow-israel.co.il/_Uploads/ ... eminar.pdf

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

Добавлено: Ср ноя 27, 2013 14:45:30
Galizin
Kitano8 писал(а):По поводу 18MSPS и интерлива
Вы имеете ввиду почему 18, а не 72/14*4 == 20.57 ?
18 = 72/(16/4)
А вот с 10 битами все хорошо
24 = 72/(12/4)

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

Добавлено: Ср ноя 27, 2013 15:00:33
Kitano8
По поводу того, что 18мегасемплов достигается на двух АЦП, а не на четырех, как предполагалось

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

Добавлено: Ср ноя 27, 2013 17:51:41
zöner
но на 6ти битах

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

Добавлено: Ср ноя 27, 2013 21:15:13
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 пиксель местами
или дрожание, но причины толком (муар и др) не занимался.

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

Добавлено: Ср ноя 27, 2013 22:34:21
zöner
Уже при 4 МГц пол экрана залит крякозабрями, а не меандром
опишите как делали.
ADC1/2/3/4 тактируются от разных ШИМов, ADC1 привязан к DMA1, 2/3/4 - DMA2.
настройка должна быть тривиальной.
возможно, лучше распределить запуск каналов как 1-3-2-4.

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

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

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

Добавлено: Чт ноя 28, 2013 16:54:48
Arpad
Galizin писал(а):
Arpad писал(а):интерполяции нет
Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Программа рисования на ЖКИ заполняет пробелы между имеющими точками по своему усмотрению и это мне тяжело назвать интерполяцией, ибо реальность может быть совсем другим. Любые виды интерполяции при определенных моментах могут дать все, что угодно при неизвестном входном сигнале. По принципу: какой закажете – такой сделаем.

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

Добавлено: Чт ноя 28, 2013 20:43:29
Sergi
Ну соединение точек линией тоже частный случай интерполяции. Особенно по вертикали. Мы же не хотим получить перфокарту :))) .
Arpad респект!

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

Добавлено: Вс дек 01, 2013 15:37:04
Arpad
ibiza11 писал(а): не знаю, но попробуйте перенести проект поближе к корневому каталогу диска, без кириллических символов в пути.

Привет Всем, какие будут идеи ??