Литература
1. ГОСТ 7505-89 Поковки стальные штампованные, допуски, припуски и кузнечные напуски. М.: Госстандарт, 1985. 52 с.
Воронежский государственный технический университет
51
УДК 621.9
С.А. Мухин, Л.Н. Никитин
ВЫСОКОЧАСТОТНЫЙ ЧАСТОТОМЕР НА МИКРОКОНТРОЛЛЕРЕ
Рассматриваются способы измерения частоты с помощью микроконтроллеров
В радиолюбительской практике наиболее распространены два способа измерения частоты с помощью микроконтроллеров. В первом способе выбирают фиксированный интервал времени и подсчитывают число колебаний входного сигнала в течение этого интервала. Именно этот способ используется в предлагаемом устройстве. Подсчитав число периодов входного сигнала за известное время (100 мс, 1 с или 10 с), он приводит его к секундному интервалу и показывает на индикаторе значение частоты в герцах или кратных им единицам. Второй способ заключается в измерении интервала времени между приходом нескольких импульсов входного сигнала, число которых обычно кратно десяти. Этот способ можно применять только в случае сигналов низкой частоты. Структурная схема частотомера приведена на рисунке.
Структурная схема частотомера
52
Частотомер построен на микроконтроллере фирмы «Atmel» модели ATmega8515-16PI. Восьмиразрядные RISC-
микроконтроллеры AVR являются одними из самых быстрых микроконтроллеров в мире. Одной из причин, обуславливающей большое быстродействие, является использование двухуровневого конвейера. Поэтому они могут выполнять команды в каждом такте (в отличие от популярных микроконтроллеров PIC фирмы Microchip и других). Единственным недостатком, впрочем, весьма относительным, является меньшее распространение микроконтроллеров AVR по сравнению, например, с микроконтроллерами PIC фирмы Microchip.
Для надежной работы на входе счетчика должен быть установлен формирователь, превращающий исходный сигнал любой формы и амплитуды в последовательность нормированных по амплитуде импульсов с крутыми перепадами. Практически все остальные узлы, необходимые для измерения частоты и вывода результата на индикатор, имеется в микроконтроллере, что делает этот прибор весьма удобным для реализации на нем частотомера. Трудность состоит лишь в сравнительной низкочастотности счетчика, встроенного в микроконтроллер. Это вынуждает добавлять между выходом формирователя и входом микроконтроллера предварительный делитель частоты импульсов, понижающий ее до приемлемого значения (в 16 раз).
Частота на входе микроконтроллера должна быть в 2 раза меньше тактовой частоты микроконтроллера (тактовая частота микроконтроллера равна 8 МГц). Однако чтобы гарантировать обнаружение фронтов внешнего сигнала, частота на входе микроконтроллера должна быть даже в 2,5 раз меньше тактовой частоты микроконтроллера. Так как предварительный делитель уменьшает частоту в 16 раз, то это позволяет измерять сигналы с частотой до 50 МГц.
Принцип измерения состоит в следующем. Сформированные импульсы поступают на вход предварительного делителя частоты (синхронного четырехразрядного двоичного счетчика с асинхронным сбросом). Частота импульсов на одном из выходов счетчика и на
53
счетном входе микроконтроллера в 16 раз меньше исходной. В начале цикла измерения на вход разрешения счета счетчика подается низкий уровень и счет не производится. Кратковременным сигналом низкого уровня, сформированным на выходе микроконтроллера, счетчик устанавливается в нулевое состояние. Затем на время, зависящее от выбранного режима измерения (0,1 с, 1 с или 10 с) на вход разрешения счета подается высокий уровень. Двоичный счетчик производит подсчет импульсов. На счетный вход микроконтроллера поступают импульсы с одного из выходов двоичного счетчика, эти сигналы подсчитывает встроенный 16 битный счетчик микроконтроллера Т1. По истечении счетного интервала программа запрещает дальнейший счет и считывает состояние выходов внешнего счетчика. Далее она обрабатывает результаты работы предварительного двоичного и встроенного счетчиков, вычисляет значение частоты и выводит его на двустрочный символьный ЖКИ. Описанный цикл периодически повторяется. Также частотомер может запоминать текущее значение частоты и выводить его на дисплей в каждом следующем измерительном цикле.
Имеется возможность программной модернизации и модификации устройства. При написании программы использовались методы так называемого «безопасного программирования», то есть даже в результате какой-либо непредвиденной ошибки программа либо продолжит работу, исправив ошибку, либо сбросит микроконтроллер, в результате чего восстановится нормальное функционирование программы. Если же при написании программы не использовать методы «безопасного программирования», то в результате ошибки прибор может работать, но выдавать неверный результат. Работоспособность восстановится только при следующем включении частотомера.
Устройство разработано, основываясь на аналогичном, описанном в [4]. Схема устройства существенно изменена, исправлена ошибка формирования импульсов, подающихся на вход микроконтроллера. Дело в том, что синхронизация внешнего сигнала осуществляется с частотой тактового генератора (состояние вывода Т1 считывается по нарастающему фронту).
54
Для обнаружения фронта внешнего сигнала необходимо, чтобы не частота была меньше допустимой, а длительность импульсов была больше периода тактового сигнала микроконтроллера, что более точно. Проще говоря, время удержания импульса на входе микроконтроллера должно быть больше периода тактового сигнала и тогда импульс будет зафиксирован. В частотомере, приведенном в [4], производится тоже деление частоты в 16 раз, но затем стоит дешифратор (видимо для полного использования логических элементов микросхемы), который при переполнении счетчика выдает импульс с длительностью такой же, как и до делителя, но частотой в 16 раз меньше. Поэтому частотомер на частотах уже выше 4 МГц работает не корректно (хотя заявлено 32 МГц). Данный недостаток исправлен в предлагаемом устройстве. Элементная база значительно изменена, например, вместо микросхемы счетчика с граничной частотой 32 МГц используется быстродействующая с граничной частотой 110 МГц. В частотомере, описанном в [4], имеется только один режим измерения (импульсы подсчитываются в течение 100 мс), для большей точности в разработанном приборе уже три режима измерения (импульсы подсчитываются в течение 100 мс, 1 с или 10 с). Программа была переписана заново, введена балластная задержка, благодаря которой на время измерения не оказывает влияние число прерываний по переполнению шестнадцатиразрядного таймера/счетчика, как это происходит в частотомере, описанном в [4], что избавляет от дополнительной погрешности.
Таким образом, погрешность измерения практически зависит только от нестабильности кварцевого генератора. При применении температурной стабилизации эту погрешность можно свести к минимуму. Чувствительность и максимальная амплитуда входного сигнала является достаточными для большинства измерений. Что же касается верхней граничной частоты, то её можно увеличить, используя внешний высокочастотный делитель. Применение высокочастотного делителя в составе данной конструкции не целесообразно, он должен быть выносным.
Исходя из вышеизложенного можно сделать заключе-
55