Схема. Частотомер на ПЛИС
Характеристики частотомера
Логические уровни входного сигнала ……………………ТТЛ
Максимальная измеряемая частота, МГц ……………… 66 (зависит от ПЛИС)
Точность, Гц …………………………………………………………..1
Число десятичных разрядов индикатора ……………. 8
Напряжение питания, В …………………………………………6…50
Ток потребления, не более, мА …………………………….200
Принципиальная схема частотомера
показана на рис. 1.
В отличие от обычных цифровых микросхем, логика работы ПЛИС (CPLD) не определяется при изготовлении, а задается посредством программирования. Но как таковой программы в CPLD нет, есть так называемая конфигурация, посредством которой логические элементы внутри ПЛИС «соединяются» между собой заданным образом, тем самым получается, говоря простыми словами, «схема внутри одной микросхемы».
В данном проекте применяется CPLD фирмы ALTERA EPM7128SLC84-15N — микросхема в корпусе PLCC, имеющая 84 вывода. Параметрами, а именно значением задержки распространения сигнала, определяется максимальная измеряемая частота. В данном случае 15 нс. соответствует теоретически 66 МГц, хотя практически немного больше. Хочу сказать сразу, что выбор именно этой CPLD отнюдь не является обязательным в данном проекте можно применить любую CPLD, в любом корпусе, но с количеством макроячеек не менее 128-ми, соответственно придется перекомпилировать проект под применяемую CPLD.
В данной схемотехнике нет ничего особенного — применяется классическая схема реализации частотомера.
Принцип работы следующий.
На вход XINP подается сигнал с генератора BQ1 (рис. 1) частотой 20 МГц. Далее он поступает на делители частоты DIV1…DIV7, TRD1, TRD2. Сигнал, снимаемый с выхода делителя DIV4 частотой 2000 Гц, необходим для тактирования счетчика CNTD, используемого для реализации динамической индикации. С выхода элемента TRD2 сигнал частотой 0,5 Гц поступает на вывод clk_en счетчика CNT1 и на схему формирования имульса загрузки для регистров REG1…REG8, и формирования импульса сброса для счетчиков CNT1…CNT8.
В первом полупериоде сигнала частотой 0,5 Гц происходит подсчет импульсов в течение 1 сек. В это время на входе clk_en первого счетчика CNT1 присутствует высокий уровень, разрешающий счет импульсов, поступающих на вход clock CNT1. В это время на входах clock REG1 …REG8 и на входах aclr CNT1…CNT8 присутствует лог.0.
Во втором полупериоде, когда на входе clk_en CNT1 появляется лог.0, счет останавливается. Лог.0 через инвертор N2 (уже лог.1) поступает на вход элемента «И» AN2, на выходе инвертора N3 в это время присутствует лог.1, соответственно синхронно с тактом с выхода DIV4 элемент AN2 формирует на выходе лог.1, которая поступает на вход clock регистров REG1…REG8 — происходит загрузка данных из счетчиков CNT1…CNT8 в регистры REG1…REG8. Одновременно с этим, лог.1 с выхода AN2 поступает на вход триггера TRL. Триггер «защелкивается» и на его выходе появляется лог.1, проинвертированный элементом N3, лог.0 поступает на вход AN2, тем самым на выходе AN2 и, соответственно, на входах clock REG1…REG8 появляется лог.0 на весь полупериод, т.е до сброса триггера TRL.
Аналогичным образом работает схема формирования сброса для счетчиков CNT1…CNT8, формирующая сброс сразу после формирования импульса загрузки регистров REG1…REG8, включающая в себя элементы AN1, N1, TRR.
Постоянно тактирующийся счетчик CNTD производит «выборку» данных с помощью мультиплексора MUX1 с выходов регистров REG1…REG8. Данные с выхода мультиплексора поступают на вход дешифратора DEC7 для преобразования двоичного кода в данные для семисегментного индикатора.
Вместе с тем, синхронно с мультиплексором происходит выбор необходимого разряда с помощью декодера DECC. Таким образом реализуется постоянная динамическая индикация.
В случае переполнения счетчиков (частота более 99.999.999) на выходе cout CNT8 появляется лог.1, поступающая на вход триггера TROV. В момент появления импульса загрузки (с выхода AN2) триггер TROV «защелкивается» этой лог. 1, через инвертор N4 уже лог.0 поступает на вход LTN дешифратора DEC7 и «отключает» его, одновременно лог.1 с выхода TROV поступает на элемент «ИЛИ» 01 и «зажигает» сегмент «G» для всех разрядов индикатора — высвечиваются «прочерки», что означает переполнение.
Элементы N5, N6,02 необходимы для отображения точек для 4-го и 7-го разрядов. Это необходимо для более наглядного разделения данных на индикаторе (в виде ХХ.ХХХ.ХХХ).
Катод 9-го разряда индикатора принудительно подключен на VDD и, соответственно, данный разряд не реализован, а просто зарезервирован.
Еще раз повторю, что данную ПЛИС (CPLD) можно заменить на любую, совместимую с 5-ти вольтовыми уровнями ТТЛ (ALTERA, XILINX), естественно, перекомпилировав проект.
В данном проекте технология оптимизации не имеет значения, поэтому оптимизируем по размеру (рис.3).
Конфигурация (планирование) выводов ПЛИС выбиралась исходя из удобства трассировки печатной платы (рис. 4).
Запрограммировать конфигурацию в ПЛИС можно с помощью программатора ByteBlasterMV и средствами среды разработки Quartusll (рис. 5).
Печатная плата размером 50×70 мм изготавливается на одностороннем фольгированном стеклотекстолите (рис. 6).
Индикатор, применяемый в данной конструкции, с общим катодом. Заменяется на любой с током потребления не более 3…4 мА на каждый сегмент. Иначе необходимо установить дополнительные транзисторы, коммутирующие катоды индикатора, и пересмотреть номиналы резисторов R5…R12 (рис.1).
Применение импульсного стабилизатора напряжения обусловлено субъективной неприязнью к «греющимся» стабилизаторам линейного типа (в частности 7805). Естественно, часть схемы на элементах DA1, VD1, L1, R1, R2 (рис. 1) можно заменить на стабилизатор LM7805, установив микросхему на теплоотвод. Еще одним преимуществом импульсного стабилизатора перед линейным является наличие расширенного диапазона входных напряжений. В данном случае — до 50 В.
Опорный генератор на 20 МГц можно заменить на любой другой, переделав делитель частоты DIV1…DIV7, TRD1, TRD2 соответствующим образом.
Следует заметить, что устройство не имеет входного каскада, усиливающего и формирующего прямоугольные импульсы, потому как предполагалось применить внешний усилитель/компаратор с дополнительным делителем, установленный непосредственно после входного разъема.
Также хочется отметить, что ПЛИС очень требовательна к «качеству» входного сигнала — меандр амплитудой до напряжения питания. Поэтому в качестве элемента входной цепи очень желательно использовать быстродействующий компаратор с выходом Rail-To-Rail. Например, этим условиям соответствует продукция фирмы Analog Devices.
Прилагаемые файлы: FREQ66MHZ_CPLD.zip
Похожие статьи:
Частотомер на микроконтроллере
НЧ/ВЧ частотомер