Частотомер повышенной точности с полосой 400МГц, синус - генератор с малым коэффициентом гармоник и электронной перестройкой частоты. Прибор радиолюбителя (далее Прибор) состоит из частотомера и синус генератора с мостом Винна и электронной перестройкой частоты, АЦП для измерения напряжения генератора. Повышенная точность измерения обусловлена наличием термосиабилизированного генератора опорной частоты ГК42-УНТС, аппаратными множителями времени *10 (время измерения 10с) и на 100 (время измерения 100
с). Генерируемая частота 16384000Гц. Стабильность 5 * 10^-7. Для работы частотомера подойдет и любой другой генератор со стабильностью не хуже 10^-6.
Частотомер имеет 4 входных канала: 0 - 80МГц, 30 - 400МГц, канал синус - генератора и канал ТТЛ. Имеется программно - аппаратный множитель на 10 (подсчет длится 10с) и на 100 (подсчет длится 100с).
Программные часы работают от опорного генератора и позволяют косвенно оценить точность генерации опорной частоты. В моем варианте часы отставали на 2с за 45 дней.
Частотомер состоит из процессора AT89s8252, ПЛИС EPM3256ATC144-10, однострочной символьной панели ЖКИ PC1601LRS CNH-L, входного буферного быстродействующего логического элемента с гистерезисом 74F32, входных усилителей для диапазонов 0 - 80МГц, 30 - 400МГц и делителя 193ИЕ3 для диапазона 30 - 400МГц с преобразователем в уровень ТТЛ на микросхеме MAX903.
Все высокочастотные процессы (подсчет частоты, мультиплексор каналов) выполнены на ПЛИС. Благодаря применению ПЛИС удалось достигнуть точности подсчета частоты в 1 Гц вплоть до 80МГц входного сигнала. Применяя более быстродействующий входной делитель можно расширить диапазон до 800МГц при точности подсчета частоты в 10Гц. Программный множитель на 10 и на 100 позволяет повысить точность измерения частоты в 10 и 100 раз. Однако, использование программно - аппаратного множителя оправдано при применении стабильного генератора опорной частоты.
Управление частотомером осуществляется с помощью кнопки выбора множителя (1, 10, 100), тумблера переключения режимов (в данном варианте не используется) и
галетного переключателя режимов (часы, тест, генератор, вход ттл, вход 0 - 80МГц, вход 30 - 400МГц). Все эти сигналы подаются через разъем S9 и имеют активный уровень 1(+5В). От сигналов "вход 0 - 80МГц", "вход 30 - 400МГц" питаются соответствующие входные усилители.
Процессор работает от кварца частотой 10МГц. Однако, поскольку все критичные временные интервалы задаются опорным генератором ПЛИС, возможно применение кварца с близкой частотой. Применение кварца с частотой ниже 4МГц не рекомендуется, т.к. возможно возникнут проблемы с инициализацией модуля ЖКИ. На плате имеется разъем для программирования процессора через интерфейс SPI (возможно применение процессора 89с51, однако в этом случае программирование "в схеме" станет невозможным). Для программирования необходим кабель - переходник LPT - SPI (одна микросхема TTL) и программа.
ПЛИС
Микросхема ПЛИС питается от стабилизатора напряжения 3.3В на микросхеме LP2950-3.3. Двухсторонняя связь между процессором AT89s8252 и ПЛИС EPM3256ATC144-10 осуществляется по трехпроходной линии Din (данные от процессора в ПЛИС), Dout (данные от ПЛИС в процессор), CLK (тактовый выход процессора). Сигнал Start выдается процессором на ПЛИС для начала преобразования. Сигнал Ready выдается от ПЛИС в процессор и говорит о конце преобразования и готовности передать данные в процессор.
Сигнал 1sek вырабатывается от опорного генератора и передается от ПЛИС в процессор для обеспечения временных интервалов для работы программных часов. ПЛИС имеет также выход опорной частоты 16384000Гц (разъем S3) для контроля работы частотомера. Уровень приблизительно 0.35В. Сигналы 1sek и Ready имеют светодиодную индикацию.
Взаимодействие ПЛИС и процессора происходит по следующей схеме:
1. Процессор получив сигнал Ready от ПЛИС инициирует прерывание (Chast), в котором считывает 4 байта (32 - разрядный счетчик в ПЛИС) частоты, преобразовывает их в десятичный формат и выводит на дисплей ЖКИ.
2. Процессор передает байт конфигурации (входной канал, множитель) в ПЛИС
3. Процессор инициирует начало следующего преобразования ПЛИС сигналом Start.
По окончанию преобразования в ПЛИС (оно может длится 1, 10, и 100 секунд, в зависимости от множителя) инициируется сигнал Ready и процесс повторяется.
Схема для конфигурации ПЛИС была подготовлена с использованием пакета САПР MAX+II 10.2 Baseline. САПР обеспечивает весь процесс разработки: синтез электрической схемы, анализ временных диаграмм, назначение выводов и программирование через интерфейс JTAG с помощью кабеля ByteBlaster. Для этой цели на плате предусмотрен также разъем для программирования ПЛИС.
Входные усилители
Входной усилитель диапазона 0 - 80МГц особенностей не имеет. Входной усилитель диапазона 30 - 400МГц состоит из входного высокочастотного усилителя на транзисторе КТ347, делителя на 10 на микросхеме 193ИЕ3 и преобразователя в уровень ТТЛ на быстродействующем компараторе МАХ903.
Схема включения МАХ903 соответствует схеме приведенной в Datasheet. Оба усилителя желательно поместить в экран. Схемы кабелей для программирования ПЛИС и процессора, а также программу программирования можно получить у автора.
Генератор
В качестве синус - генератора применен генератор по схеме с мостом Вина. Такая схема рекомендуется для обеспечения малого коэффициента гармоник. Однако, для нормальной работы генератора необходимо такое соотношение элементов обратной связи, которое обеспечит усиление равное 3. Обеспечить это условие при перестройке во всем диапазоне частот довольно сложно.
Однако применяя АРУ и электронный потенциометр на микросхеме AD5263 с управлением по шине I2C можно добиться коэффициента гармоник не хуже 0.01 в
диапазоне 10Гц - 80КГц. Резисторы 5.1К устанавливается верхний диапазон частоты. В качестве коммутатора емкостей обратной связи применены малогабаритные реле РЭС-49. Применение электронного потенциометра необходимо, поскольку обыкновенный сдвоенный потенциометр имеет большой разброс зависимости сопротивления от угла поворота между секциями.
Выходной каскад генератора собран на микросхеме К157УД1 и особенностей не имеет. Потенциометром 33К устанавливается нулевое напряжение на выходе усилителя без сигнала, а потенциометром 15К устанавливается уровень сигнала 1В. В качестве исполнительного элемента АРУ применен полевой транзистор КП303. Потенциометром в цепи АРУ устанавливается такое усиление, которое обеспечит коэффициент гармоник 0.01% при перестройке во всем диапазоне частот.
При диапазоне частот 10Гц - 80КГц можно обеспечить коэффициент гармоник 0.01%. Верхний диапазон генератора обеспечивает частоты вплоть до 120КГц. При этом коэффициент гармоник составляет 0.05%. На более высоких частотах коэффициент гармоник возрастает.
Микросхема AD5263 имеет двухполярное питание +5В и -5В. Эти напряжения вырабатываются из напряжений +12В и -12В соответственно. Изменение частоты генератора осуществляется от процессора по шине I2C.
Вольтметр
В приборе применен вольтметр для измерения напряжения генератора. Вольтметр собран на АЦП MCP3208. Это 12 - разрядный 8 - канальный АЦП. Применение 8-канального АЦП обусловлено его низкой стоимостью. Например одноканальный 8-разрядный АЦП фирмы Analog Devices в DIP - корпусе стоит дороже! Без каких - либо переделок можно использовать MCP3204 - четырехканальный АЦП той же разрядности. Незадействованные каналы зарезервированы для дальнейшего расширения. Чтение/запись АЦП происходит по четырехпроходной линии связи SPI - интерфейса. SPI - интерфейс программный.
Применение программного интерфейса SPI позволяет применять процессоры без аппаратного интерфейса (AT89c51 и т. д.). Потенциометром 2.2К устанавливается опорное напряжение 4.096В. В программе используются только старшие 8 бит 12 - битного АЦП. Точность измерения при этом составляет 4096 / 256 = 16мВ. Такой точности вполне достаточно для оценки работы синус - генератора, при этом не накладываются дополнительные требования на точность опорного напряжения.
Схема подключения АЦП соответствует Datasheet на микросхему и особенностей не имеет. Прибор питается от напряжений +12В, -12В, +5В. Ток потребления по цепи +5В не больше 0.5А, по цепи +12В не более 150мА, по цепи -12В не более 80мА.
Описание программного обеспечения
Программа использует два внешних прерывания - с интервалом в 1сек для работы программных часов и от вывода ПЛИС Ready как сигнал готовности ПЛИС передать результат преобразования. Программные часы обслуживаются подпрограммой Schet. Обработка и вывод информации от ПЛИС осуществляется в прерывании Chast.
Обслуживание кнопок, переключателей, смена каналов измерения, множителя, частоты генератора, вывод информации о режимах осуществляется в основном цикле программы. При компиляции
программы необходимо обеспечить правильный путь к присоединяемым модулям: LCD - драйвер ЖКИ, I2C - драйвер шины I2C для AD5263, AD5263 - драйвер самой AD5263.
Частотомер в режиме измерения частоты внутреннего генератора.
Частотомер в режиме измерения частоты через канал 1.
Частотомер в режиме измерения времени.
Скачать файлы проекта:
Дмитрий Шабров E-mail: mailto:dshabrov@mtu-net.ru