Поздравляю уважаемого Кота с днём рождения и в качестве подарка представляю на ваш суд свою конструкцию, программно-аппаратный комплекс четырёхканальный осциллограф со следующими характеристиками: максимальной частотой дискретизации 200 мГц (два канала), 100 мГц (четыре канала), и объёмом памяти записи 128 килобайт на канал. Связь с ПК осуществляется через SPP LPT порт или через USB (опционально, используя интерфейс лог. анализатора miniLA ( http://minila.sourceforge.net/index.php ), собранный на м/с FT2232C). Входные аттенюаторы позволяют получить один из четырёх возможных вариантов чувствительности, это - 0,05; 0,25; 1 и 5 вольт на деление. Горизонтальная развёртка более гибкая, позволяет иметь от 40 мСек до 25 нСек на деление, 16 вариантов и 2-4-8-ми кратная лупа. Входное сопротивление 1 мОм, ёмкость измерить нечем, думаю, что в районе 10 пФ. Полоса пропускания аналоговой части позволяет отличить импульс длительностью 25 нСек от такой же длительности синуса, то есть исследовать сигналы с частотой до 20 мГц. Длительность нарастания фронта (спада) импульса в аналоговом тракте составляет более 7 нСек, это обусловлено выбором дешёвого и доступного ОУ во входном усилителе. По этому наблюдать фронт/спад короче 10 нСек не приходится. Сигналы частотой выше 25 мГц можно лишь оценить, высокочастотный периодический сигнал, длительность которого не кратна 5 нСек, выглядит не симметрично, но существует такая замечательная штука как интерполяция sin(x)/x, которая позволяет из частокола на экране получить идеальный синус. Заметный завал АЧХ начинается при 30 мГц. Должен заявить, что настройка аналоговой части это не "два пальца об асфальт", а кропотливый поиск компромисса между паразитными выбросами ОУ и полосой пропускания. Но практика показала, что повторяемость от канала к каналу хорошая, если использовать подобранные по номиналу, одинаковые детали. Так же надо заметить, что только основные детали (ПЛИС, АЦП, ЦАП, ОУ, кв.генератор, реле, разъёмы) обошлись мне в сумму более 3,5 т.р., но думаю и это обстоятельство не остановит настоящего маньяка-любителя изготовления своими руками измерительных приборов.
Итак, пробежим по схеме. Аналоговая часть выполнена по ставшей классической схеме с разделением на НЧ / ВЧ, переменное / постоянное напряжение, что позволяет получить плоскую АЧХ и малые искажения сигнала во всём диапазоне полосы пропускания.
Входные аттенюаторы состоят из отдельных делителей на 5 и 20, включающихся при необходимости последовательно, что облегчает их настройку, и благотворно влияет на форму исследуемого сигнала. На схеме изображён только один канал из одинаковых четырёх. Реле К1 подключает делитель на 5, К2 отключает делитель на 20, реле К3 включает режим измерения постоянного напряжения. Реле К13 отключает вход АЦП второго канала от усилителя второго канала и подключает его к выходу усилителя первого канала. Реле К14 выполняет ту же функцию для третьего и четвёртого каналов. Такая коммутация необходима для объединения входов двух АЦП в режиме, когда они оцифровывают один сигнал, но первый тактирован по фронту, другой по спаду тактового импульса, что позволяет удвоить максимальную частоту дискретизации. Резистором R44 устанавливают коэффициент усиления DA1, так что бы меандр десяти-двадцати герц на дисплее выглядел без искривлений горизонтальных линий, кстати, делать это надо в режиме DC , так как при измерении сигнала частотой менее 40 Гц в режиме АС наблюдаются искажения формы сигнала, от которых мне избавиться не удалось. Поскольку предполагается иногда питать устройство от аккумуляторной батареи, то для экономии энергии в цепи питания реле включены ограничивающие их ток резисторы с "пусковыми" конденсаторами. По той же причине в схему введён узел мониторинга питающего напряжения на элементах DA9, VT13, цвет светодиода LED1 сменится с зелёного на красный, если напряжение упадёт ниже, чем 4,7 вольта. Свечение LED2 говорит о том, что прибор занят записью в ОЗУ. Синхронизация производится посредством цифрового компаратора, что несколько ухудшило потребительские качества, но сильно упростило схему.
Цифровая часть тоже требует настройки, резистором R6 и конденсаторами TR1 и С14 формируем задержку тактового сигнала каналов АЦП 1 и 3, необходимую для компенсации задержек вносимых элементами коммутации и инверсии "клока" каналов 2 и 4, а так же не симметричности тактового меандра. Триммером TR1 добиваемся гладкости изображения волн синусоидального сигнала при объединении каналов на самой быстрой развёртке. Тем самым "сводим луч" по оси времени. Тут надо сказать, что полностью синхронизировать фазы клока разных каналов АЦП так и не удалось из-за джитера появляющегося в этом режиме. Всё-таки для качественного включения нескольких АЦП в "интерлив" лучше было бы использовать ПЛИС с PLL на борту. Так же возможно потребуется "свести лучи" по оси напряжения, а это делается из программы. Резистор R7 и конденсатор С15 формируют задержку необходимую для того, чтобы момент защёлкивания данных в промежуточный регистр не приходился на момент не стабильности выходов АЦП. Возможно, потребуется уменьшить сопротивление R12 до установления на нём напряжения "уверенного" логического нуля в момент, когда не светит LED2. Это зависит от подтяжки к VCC со стороны порта ПК. Применение в модуле питания м/с МАХ1627 позволяет питать устройство напряжением в диапазоне от 5 до 9 вольт (при напряжении более 9 вольт на осциллограмме заметны помехи от работы ШИМ). Применение м/с LM2594 в инверторе напряжения обусловлено лишь наличием оной в загашнике. Устройство потребляет от источника питания до 3,5 Вт. Запитав его от батареи или от USB ноутбука работающего на батарее получаем гальванически развязанный от сети прибор.
Проект для ПЛИС разработан в среде MAX+plus II. Платы устройства разработаны в P-CAD 2001 и изготовлены по "утюжной" технологии. На плате аналоговой части разводка питания аналоговых микросхем, реле, а так же соединение затворов транзисторов с выходами сдвигового регистра выполнено монтажным проводом, поскольку развести это на двух слоях без ущерба помехоустойчивости не возможно.
Платы соединены между собой разъёмами ХР1-ХР5, напряжение смещения на каналы подаётся с разъёма ХР7 цифровой части. На принципиальной схеме цифровой части не изображены все блокировочные конденсаторы ёмкостью 0,1 мкФ, которые необходимо устанавливать возле каждого вывода Vcc питания микросхем. Разъём ХР6 предназначен для программирования ПЛИС, разъём ХР8 для подключения к LPT порту или USB адаптеру, ХР9 для источника питания. При работе, ПЛИС и АЦП заметно нагреваются, что бы избегать ухудшения временных характеристик этих микросхем после прогрева (особенно ПЛИС), на них необходимо установить радиатор. Необходимо экранировать аналоговые каналы, как между собой, так и между делителями внутри канала. При повторении конструкции в качестве ОЗУ можно использовать микросхемы кэш памяти процессоров Пентиум-II.
Теперь не много о программе со стороны ПК. Она написана на Delphi 7, далека от совершенства, но основную функцию отображения сигналов выполняет. Из всех "удобств" только курсорные измерения, запуск синхронизации по фронту или спаду одного из каналов, сохранение изображения в файл ВМР, возможность выбора длинны записи в ОЗУ 1 кбайт или 128 кбайт (на малой частоте дискретизации при 128 кбайтной длине время записи достигает 3 минут). А так же временная лупа, возможность выбора длинны просматриваемой на экране страницы памяти 1 кбайт или 8 кбайт, возможность выбрать количество просматриваемых каналов. Возможность настройки цвета изображения осциллограммы по своему вкусу.
Присутствует анализатор спектра, правда динамический диапазон у него слабоват, гармоники амплитудой меньше -50 Дб не видны.
Есть так же, возможность включить интерполяцию sin(x)/x (по умолчанию интерполяция - линейная), но использовать её лучше при частотах исследуемого сигнала более 10 мГц (то есть при количестве отсчетов на период менее 15ти -10ти), иначе эта функция вносит только искажения. Так же она старательно пытается сделать из прямоугольного сигнала синусоидальный, а получается это у неё не всегда корректно. От длинны страницы, количества используемых каналов, мощности процессора ПК, частоты дискретизации зависит время записи, передачи и прорисовки изображения, и как следствие максимальная частота обновления экрана при автоматическом запуске. Так что при больших значениях килобайт, микросекунд просмотр в "реальном" времени не возможен.
Максимальная частота обновления осциллограммы при длине записи 1 кб и использовании USB интерфейса - 5 fps, максимальная частота обновления при работе через LPT зависит от числа индицируемых каналов и составляет 1 - 3 fps. Для нормальной работы программы подойдёт компьютер с процессором Пентиум-1 и дисплеем с размером 800 на 600 пикселей, система Win98 - Win XP, на Висте не тестировалась.
Файлы:
Печатные платы в формате P-CAD 2001.
Проет для MAX+plus II.
Софт для ПК.
Исходники софта для ПК.
Вопросы, как обычно, складываем тут.