на главную
Карта сайта
English version
Вы читаете:

Частотомер-измеритель периода

Измерительная техника
6 лет назад

Частотомер-измеритель периода на ПЛИС


Автор предлагает доработанный частотомер на ПЛИС. Он дополнил конфигурацию использованной там ПЛИС блоками измерения периода входного сигнала.

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

Доработка произведена без существенных аппаратных переделок частотомера, в основном за счёт изменения конфигурации ПЛИС. Для этого к первоначальному проекту были добавлены новые фрагменты кода. Часть проекта ПЛИС, отвечающая за измерение частоты, осталась практически неизменной. Ранее опубликованный проект ПЛИС частотомера имел версию 3.0, описанный в настоящей статье - версию 3.1.
К основным характеристикам прибора, перечисленным в предыдущей статье, добавилась возможность измерения периода входного сигнала в пределах от 1 мкс до 100 с при разрешающей способности 1 мкс методом прямого счёта импульсов образцовой частоты в течение измеряемого периода. Изменился набор частот образцовых сигналов, формируемых прибором. Теперь это 250 МГц (39), 125 МГц (31), 1 МГц(32), 10 кГц(33), 1 кГц(34), 100 Гц (38), 1 Гц (30), 0,5 Гц (42), 0,25 Гц (43), 0,125 Гц (44) и 0,0125 Гц (46). В скобках указаны номера выводов ПЛИС EP4CE6E22C8, на которые выведены сигналы соответствующих частот.

Структурная схема частотомера версии 3.1 показана на рис. 1. Она в основном повторяет блок-схему проекта ПЛИС устройства. Вновь добавленные узлы и блоки обведены на ней штрихпунктирной линией. Измеряемый входной сигнал одновременно поступает как на измеритель частоты, так и на измеритель периода. Результаты измерения частоты и периода поступают на один и тот же контроллер ЖКИ. Как показано на рис. 2, измеренная частота отображается в верхней строке ЖКИ, измеренный период - в нижней.

Структурная схема частотомера версии 3.1

Рис. 1. Структурная схема частотомера версии 3.1

 

Показания прибора на ЖКИ экране

Рис. 2. Показания прибора на ЖКИ экране

 

Работа измерителя частоты была описана в предыдущей статье, а работу измерителя периода иллюстрируют временные диаграммы, изображённые на рис. 3. За время между двумя последовательными нарастающими перепадами импульсов измеряемого сигнала fx_in происходит подсчёт периодов счётной частоты clk_1_MHz. В качестве счётной использована частота 1 МГц, полученная делением частоты глобального синхросигнала clk, равной 50 МГц. По нарастающему перепаду каждого импульса fx_in происходит запись содержимого счётчиков в регистры, из которых оно поступает в драйвер ЖКИ и с некоторой периодичностью выводится на экран индикатора. Поскольку счётная частота равна 1 МГц, результат измерения периода отображается в микросекундах.

Временные диаграммы

Рис. 3. Временные диаграммы

 

По нарастающему перепаду каждого входного импульса fx_in в устройстве формируется короткий импульс clear_ fx_in длительностью в один период глобального синхросигнала clk. Формирователь этого импульса генерирует его с небольшой задержкой относительно нарастающего перепада сигнала fx_i n, которая равна одному периоду глобального синхросигнала clk. Этот короткий импульс используется для обнуления счётчиков импульсов частотой 1 МГц сразу же после записи их содержимого в регистры в начале каждого периода сигнала fx_in, как показано на рис. 3.

Заметим, что задержка начала счёта на 20 нс и длительность короткого импульса, тоже равная 20 нс, практически не влияют на точность измерения периода, поскольку разрешающая способность его измерителя 1 мкс.

Как видно на схеме, изображённой на рис. 1, выходные сигналы счётчиков измерителя периода поступают на входы его регистров не прямо, ачерез мно-поразрядный мультиплексор. Управляющий сигнал A0 для этого мультиплексора вырабатывает специальный блок анализа кода, исходной информацией для которого служит содержимое трёх старших регистров измерителя частоты - единиц, десятков и сотен мегагерц. Если совокупное содержимое этих регистров не превышает заданного в блоке анализа порога, коды с выходов счётчиков измерителя периода поступают на входы регистров измерителя периода без каких-либо изменений. В противном случае мультиплексор заменяет эти коды константами, которые отображаются на ЖКИ символами вопросительного знака. Порог пропускания кодов с выходов счётчиков в регистры измерителя периода равен 2 Гц. Если частота входного сигнала меньше этого значения, в нижней строке ЖКИ будет выведен соответствующий ей период в микросекундах. При большей или равной порогу частоте в нижней строке будет выведена, как на рис. 4, последовательность вопросительных знаков. Это укажет пользователю, что период измеряемого сигнала меньше допустимого для его измерителя. Частота при этом измеряется и отображается корректно.

Показания прибора на ЖКИ экране

Рис. 4. Показания прибора на ЖКИ экране

 

Необходимо заметить, что рассмотренный в предыдущей статье режим "Калибровка" предназначен только для измерителя частоты. Но на вход этого измерителя в режиме калибровки поступает сигнал, частота которого превышает допустимый для измерителя периода предел. Поэтому в режиме "Калибровка" вместо значения периода входной частоты на экран ЖКИ будет выведена последовательность вопросительных знаков. Делители частоты в измерителе периода и в генераторе образцовых частот работают непосредственно от сигнала глобальной синхронизации частотой 50 МГц и независимы от делителей, имеющихся в измерителе частоты.

Результат измерения частоты в верхней строке ЖКИ устанавливается практически сразу после подачи измеряемого сигнала, поскольку обновляется каждую секунду. Однако результат измерения периода в нижней строке обновляется лишь по истечении очередного периода измеряемого сигнала. Поэтому задержка его появления на индикаторе может быть очень большой. При измерении низкочастотных сигналов пользователю придётся длительное время ожидать получения корректных показаний. В связи с этим рекомендуется сразу после подачи измеряемого сигнала на вход устройства однократно нажать на кнопку "Сброс", чтобы блок регистров измерителя периода очистился от случайных значений, которые попадают туда во время коммутации сигналов и отображаются наЖКИ, вводя пользователя в заблуждение. Это нажатие не обязательно, на точность конечного результата измерения периода оно никак не влияет.

Как уже было сказано, проект ПЛИС версии 3.0 дополнен в версии 3.1 несколькими дополнительными блоками, обеспечивающими измерение периода сигнала. Формирователь задержанных коротких импульсов обнуления счётчиков периода (трёхступенчатый триггер) реализован фрагментом кода, показанным в табл. 1, где clk - глобальный синхросигнал частотой 50 МГц; fx_in - входной измеряемый сигнал; clear_fx_in - короткий импульс длительностью в один период clk, задержанный относительно переднего фронта сигнала fx_in на один период clk. Принципиальная схема реализованного в ПЛИС этим фрагментом формирователя импульсов clear_fx_in показана на рис. 5, а поясняющие её работу временные диаграммы приведены на рис. 6.

Принципиальная схема формирователя импульсов

Рис. 5. Принципиальная схема формирователя импульсов

 

Временные диаграммы

Рис. 6. Временные диаграммы

 

Таблица 1

Блок счёта импульсов частотой 1 МГц реализован фрагментом кода, показанным в табл. 2, где clk_1_MHz - импульсы частотой 1 МГц; count_px_ in_ed, count_px_in_des, count_px_in_sot, count_px_in_tis, count_px_in_dtis, count_px_in_stis, count_px_in_mill, count_px_ in_dmill, count_px_in_smill - двоичнодесятичные счётчики соответственно единиц, десятков, сотен, тысяч, десятков тысяч, сотен тысяч, миллионов, десятков миллионов, сотен миллионов микросекунд; MAX_DEC - константа предела счёта, равная 9.

Таблица 2

Блок анализа кода на превышение разрешающей способности измерителя периода реализован фрагментом кода, показанным в табл. 3, где data_ fx_in_smill, data_fx_in_dmill, data_fx_in_ mill - регистры соответственно сотен, десятков и единиц миллионов герц измерителя частоты; perep - сигнал выхода результата счёта за пределы разрешающей способности измерителя периода.

Таблица 3

Блок записи выходных кодов счётчиков измерения периода в регистры реализован фрагментом кода, показанным в табл. 4, где nrst - текущее состояние кнопки "Сброс"; data_px_in_ed, data_px_ in_des, data_px_in_sot, data_px_in_tis, data_px_in_dtis, data_px_in_stis, data_ px_in_mill, data_px_in_dmill, data_px_ in_smill - регистры хранения соответственно единиц, десятков, сотен, тысяч, десятков тысяч, сотен тысяч, миллионов, десятков миллионов, сотен миллионов микросекунд; PREV - константа, записываемая в каждый регистр в случае выхода за пределы разрешающей способности измерителя (отображается на ЖКИ как вопросительный знак).

Таблица 4

Проект ПЛИС разработан в среде Quartus II бесплатной web-версии 13.0 и использует около 20 % ресурсов ПЛИС EP4CE6E22C8. Имеющийся в приложении к статье файл с расширением имени .jic предназначен для записи в микросхему загрузочной памяти.

Проект ПЛИС описанного прибора находится здесь.

Автор: П. Редькин, г. Ульяновск