Свежие обсуждения
Измерения

Осц.-пр. к ПК версия 2 (упрощенная)

1 2 44
Итак, небольшой скиншотоотчет, вместе с исходниками для AVR (cуммарный размер картинок - порядка 45КБ):
http://sirdvm.narod.ru/osc4/osc4.html

ПК-шную программу выкладывать смысла нет, т.к. она еще довольно сырая (сделан лишь необходимый минимум), и без подключенной платы осциллографа работает только в режиме эмуляции.

Исходники для ATMega достаточно близки к окончательному варианту, и небольшие по объему. Возможно, они будут кому-то интересны. Для компиляции использовался IAR EWAVR 3.10C.

 
Выкладываю обновление.

Структура программы с графическим интерфейсом наконец-то более-менее оформилась. На данный момент поддерживаются 3 устройства ввода:
1) Эмулятор. По сути, встроенный в программу генератор синусоидального сигнала, позволяющий «пощупать» работу различных элементов управления. Используется в основном для отладки.
2) Звуковая карта. Единицы измерения напряжения, конечно же, условны. В остальном функционирование программы ничем не отличается от работы с внешней осциллографической приставкой (разве что, режимов существенно меньше).
3) Внешняя самопальная осциллографическая приставка с последовательным интерфейсом. За отсутствием таковой у кого-либо (кроме автора этого постинга), остается довольствоваться первыми двумя вариантами.

Возможно дальнейшее расширение списка, т.к. структура программы изначально под это «заточена». В частности, вся работа с устройствами идет через универсальный базовый класс с виртуальными функциями. Наследники этого класса, соответственно, связаны с остальной программой лишь косвенно (сиречь, полиморфизм в действии).

Сразу оговорюсь, программа тестировалась только под Win98 и только на Celeron 1200. Никакой особой оптимизацией я не заморачивался, так что на данном этапе вполне вероятны «тормоза» на менее мощных машинах и глюки под другими ОС.

В дальнейшем предполагается добавить все атрибуты цифрового осциллографа, т.е. экспорт выборок в различные форматы, измерение частоты, напряжения и т.д. при помощи «линеек».

EXE файл (43.2КБ в архиве):
http://sirdvm.narod.ru/osc5/osc.rar

Исходники ПКшкой программы выкладываться не будут и высылаются почтой (желающим). Это связано с рядом причин, а проект как был так и будет некоммерческим

Исходники прошивки AVR были несколько модифицированы, в плане интерфейса с ПК и совместимости с WinAVR. Их можно скачать в виде архива (8.83КБ):
http://sirdvm.narod.ru/osc5/avrsrc1.rar

 
Первую партию исходников разослал. Пардон, если кому-то пришло несколько дублей - все время забываю прикреплять файл.  
Сегодня провел проверку работы агрегата в стробоскопическом режиме. Полоса пропускания аналоговых входных цепей AD9281 240МГц (по уровню -3дБ), это была одна из основных причин выбора именно этого чипа (мечта стробоскопщика ). Результат, как и ожидалось, положительный. В качестве примера - сигнал с частотой примерно 26.535МГц, наблюдаемый в стробоскопическом режиме (частота сэмплирования 105.263кГц)
http://sirdvm.narod.ru/osc5/strobe.html
Достоверность полученного графика проверялась по аналоговому ВЧ-осциллографу.

Как уже говорилось, в "нормальном" режиме предельная частота сэмплирования 16МГц при размере выборки 32, или 5.33МГц при размере выборки 400 (и более, зависит от объема ОЗУ контроллера).

 
При визуализации сигнала тестового программного генератора (синус, табличный синтез) вылазит такой косяк (см. картинку).

Этот "косяк" (даже в прямом смысле) гуляет по кривой (в зависимости от частоты тестового сигнала).
Устройство "ввода" -- звуковая карта.

 
Тестовый генератор вот.
[прошу прощения владельцев медленных (ниже 1 ГГц) машин -- буфер для проигрывания выбран маленький (для быстрой реакции на передвижения ползунка), поэтому возможны звуковые артефакты]

23.05.04. Обновленная версия -- увеличен буфер.

4996.rar

 
Забыл добавить: это при включенной синхронизации.  
Глюк исследуется Проблема в том, что он у меня не воспроизводится ни при каких условиях...
Неплохо было бы уточнить ОС и частоту процессора.
 
Win98se, DirectX 8.1, Athlon 1700+,
без кабеля "выход-на-вход" (в микшере в качестве источника выбран "общий" выход).

Синус, сгенерированный зв.редактором, визуализируется аналогично.

Напомню, эффект проявляется только при выбранном чекбоксе "Вкл", уровень для синхронизации должен лежать на сигнале. Проявляется как в непрерывном режиме оцифровки, так и при заморозке. Может быть, что-то кривое только у меня.

 
Вру, даже не обязательно при включенном чекбоксе (при размере выбоки=256 это было незаметно), а если выбрать размер выборки больше, например 1024 отсчета.
Такое впечатление, что участки синусоиды просто выпадают.
----
Сегодня был у брата (Win98, но другая конфигурация железа) -- все то же самое.