E-mail: Serge_Serge_@km.ru  

Цифровой осциллограф 50Msps


Данный проект - это попытка своими руками сделать цифровой осциллограф. Используя современную элементную базу, это оказалось вполне по силам. Первый собранный макет сразу заработал (частота стробирования - 50MГц). В стробоскопическом режиме позволяет наблюдать периодические сигналы до 70 МГц. Эквивалентная частота сэмплирования получается более 1 Gsps. Дальше расширить полосу не удалось по причине нежелания нормально работать аналогового компаратора AD8612, хотя по документации он должен был работать до 100 МГц. 
В качестве консоли-дисплея выбран GBA, то, что было под руками и не требовало тратить на этот узел дополнительные деньги и время. В перспективе это может быть PDA, сотовый телефон, обычная PC. Oбмен с GBA идет по RS232, поэтому он легко может быть заменен.  

Управление и обмен AtMega8515, АЦП - ADS831, EPM3064, Кэш память - SRAM 32k x 8. Частота стробирования -50 МГц (это не предел), разрядность – 8 бит.
Аналоговой части будет посвящен отдельный раздел, а пока это типовая схема включения АЦП с ОУ AD8058. Чувствительность - 7,8 мв на бит, Rвх = 50 ом.
Вся обработка ложиться на программируемую логику и микроконтроллер, поэтому по последовательному каналу в консоль передается минимум информации и скорость обмена (115200) не "напрягает".

Про максимальную частоту квантования.

Тут, чем выше частота, тем лучше. Однако учитывая финансовый  предел стоимости компонентов и предел частотных возможностей монтажа (плата двусторонняя – лазерно-утюжная, сделанная в домашних условиях на «коленке») наверное реально можно получить частоту квантования до 200 МГц, не выше. Так вот без стробоскопической приставки, если не использовать хитрых методов аппроксимации (программный обман реальной осциллограммы далеко не всегда соответствует истине и дающий после обработки  красивую картинку, но не более того), то реально наблюдаемая полоса это Fstr/10 или около этого (это из собственных наблюдений). Наверное, кто-то вспомнит про теорему Котельникова, но в реальности мы имеем дело не только с идеальными синусоидальными сигналами. Получается, что без стробоскопической приставки в этом проекте Fвх = 5МГц. И это так, все остальные размышления на эту тему, не более чем рекламный трюк. Реально, можно сделать Fвх до 20 МГц (Fstr = 200МГц). Стробоскопическая приставка входит в этот проект, но об этом позже. 

Про консоль GBA.

Программа, обслуживающая GBA загружается из микроконтроллера через тот же провод (и разъем), по которому в дальнейшем происходит обмен данными в режиме multiboot. Каких либо дополнительных устройств, картриджей не требуется. Соединил два устройства, подождал несколько секунд – программа загрузилась и все работает. Отсоединил – играй в игрушки :-). Размер пикселя, такой же как и у современных PDA. Разрешения вполне хватает (160x240).

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

О работе GBA+AVR:

После включения питания в течение нескольких секунд из «основного блока» в GBA  по «серийному кабелю» загружается рабочая программа. Далее, после загрузки, GBA переходит  в рабочий режим и начинает обмениваться информацией (UART 115200) с основным блоком. Всем процессом управляет микроконтроллер ATMega8515. В его памяти храниться и сервисная программа, загружаемая в GBA. К сожалению ресурсы памяти этого МК ограничены, поэтому приходиться подумывать либо об МК с большей памятью, либо о подключении к нему DataFlash или нечто подобного. Через МК допускается отладка ПО для GBA по цепочке PC-AVR-GBA. Весь процесс криптования происходит в AVR.

Программа загрузки файла "AVR-GBA":

multi_avr2gba - программа передачи файла "test.avr" в GBA. Преобразование из бинарного файла в текст ассемблера производиться конвертором bin2avr.exe

Программа multi_avr2gba входит в состав основной программы МК осциллографа. Если её использовать самостоятельно, то не забудьте настроить стек и порт D.

xfer - подпрограмма передачи и приема. Обмен происходит с частотой 115200К,  тактовая частота МК - 3,58MHz. Если используется резонатор с другой частотой, то придется подогнать "паузами" скорость обмена.


Продолжение следует...