Azotirovanie.ru

Инженерные системы и решения
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Счетчик переменного коэффициента деления

Счетчик переменного коэффициента деления

На основе аппаратного таймера микроконтроллера ATmega можно довольно просто сделать программируемый делитель частоты. В этой статье описан пример реализации такого делителя частоты на основе 16-битного таймера/счетчика 1, который может делить частоту на коэффициент от 2 до 65535.

Выходной сигнал делителя генерируется на выходе OC1A. Тактовая частота подается на вход T1 (это настраивается битами CS12..CS10 регистра TCCR1B, см. таблицу 19-6 из статьи [1]).

[Нечетный коэффициент деления]

Для нечетных коэффициентов деления используется режим Fast PWM 14 (биты WGM13..WGM10 регистра TCCR1A установлены в значение 1110, см. таблицу 19-5 из статьи [1]). Для этого режима верхний предел счета задается значением регистра ICR1, а значение сравнения задается в регистре OCR1A. Биты COM1A1 и COM1A0 установлены в значение 10, что задает очистку уровня OC1A при Compare Match и установку OC1A на BOTTOM (не инверсный режим).

Принцип работы делителя с нечетным коэффициентом деления следующий. В регистр ICR1 записан предел счета TOP [1], а в регистр OCR1A половина значения регистра ICR1. Счетчик начинает счет от нуля (TCNT1==0), при этом на выходе OC1A уровень лог. 1. Когда счетчик TCNT1 достигает достигает значения в регистре OCR1A, уровень на выходе OC1A переходит в лог. 0, и счетчик продолжает счет. Когда счетчик TCNT1 достигает значения регистра ICR1, то он сбрасывается в 0, и уровень на OC1A переходит обратно в лог. 1. Счетчик продолжает счет от нуля, и цикл продолжается. В результате частота на выходе OC1A получается в (ICR1+1) раз меньше, чем частота, поступающая на вход T1. Ниже приведен кусок кода, настраивающий таймер/счетчик 1 на нечетный коэффициент деления (коэффициент деления определяется переменной coeff):

[Четный коэффициент деления]

Здесь используется другой режим Fast PWM 15 (биты WGM13..WGM10 регистра TCCR1A установлены в значение 1111, см. таблицу 19-5 из статьи [1]). Для этого режима верхний предел счета задается значением регистра OCR1A. Биты COM1A1 и COM1A0 установлены в значение 01, что задает очистку переключение уровня OC1A при Compare Match. Т. е. при достижении счетчиком значения OC1A счетчик не только сбрасывается, но и еще уровень на OC1A переключается на противоположный. В результате получается деление частоты на входе T1 на значение (2*OCR1A)+1. Ниже приведен кусок кода, настраивающий таймер/счетчик 1 на четный коэффициент деления (коэффициент деления также определяется переменной coeff):

Читайте так же:
Все типы счетчиков меркурий

Таймер запрещается перед настройкой отключением его от тактовой частоты, что делается записью в биты CS12..CS10 значения 000. Это сделано для того, чтобы можно было запустить цикл счета от нуля сбросом счетчика TCNT1. Если этого не сделать, то на высоких частотах, подаваемых на вход T1, возможны ситуации, когда значение непрерывно работающего счетчика окажется больше новых записанных значений регистров, определяющих предельные значения счета. В результате счетчик продолжит считать до значения 65535, прежде чем произойдет его переход в 0 и начнется правильная работа счетчика в качестве делителя частоты.

[Практический пример применения]

Проект использовался как программируемый делитель эталонной частоты с выхода приемника 66.6(6) кГц [3]. Ниже показана схема делителя. Зелеными линиями показаны сигналы на входе делителя (PB1/T1) и на его выходе (PD5/OC1A).

ppf 66 12 fdiv sch

Компаратор LMV331 нужен для преобразования сигнала с выхода приемника в логические уровни, которые можно подать на вход делителя частоты T1 (ножка порта PB1 ATmega32A). Коммутатор на HC4066 нужен для передачи на выход либо сигнала с компаратора, либо с выхода делителя OC1A (ножка порта PD5 ATmega32A). Ключи HC4066 управляются сигналами ножек портов микроконтроллера (PC6 и PC7 ATmega32A). Через порт UART (PD0 ATmega32A) подается команда на переключение коэффициента деления частоты в диапазоне от 1 до 65535.

Makefile-проект ATmega-freq-divider с исходным кодом для микроконтроллера ATmega32 (проект компилируется и для ATmega16) можно скачать по ссылке [2]. С минимальными изменениями проект можно использовать на любом микроконтроллере ATmega/AVR, где на борту присутствует таймер/счетчик с внешним входом для подачи тактов Tx (T0, T1, и т. д. в зависимости от используемого таймера).

Программируемые делители

Делитель – цифровое устройство, предназначенное для деления числа входных импульсов или частоты их следования на заданный коэффициент. В основной своей массе делители строятся на основе счѐтчиков. Особенностью делителей является то, что они имеют только один выход.

Читайте так же:
Счетчики для колонки нара

Делители с жѐсткой программой деления строятся путѐм соединения соответствующего выхода (или группы выходов) счѐтчика со входом асинхронного сброса (например, как было реализовано в схеме превращения двоичного счѐтчика в двоично-десятичный).

Делители с изменяемым коэффициентом деления строятся на основе счѐтчиков с предустановкой и называются программируемыми делителями.

Рассмотрим схему программируемого делителя на основе реверсивного двоично-десятичного счѐтчика DD1 K555ИЕ6 (рис. 12).

При подаче на вход «Нач. уст.» (начальная установка) импульса логической единицы в счѐтчик записывается двоичное число «К». При подаче на входы +1 или –1 импульсов происходит либо увели

чение числа «К», либо его уменьшение. Когда счѐтчик либо заполнится полностью, либо обнулится, на выходах 9 или 0 появится логический ноль, что приведет к появлению логического нуля на входе L. При этом число «К» вновь запишется в счѐтчик и цикл деления повторится. Меняя значение «К», мы получим переменный коэффициент деления.

Рис. 12. Микросхема К555ИЕ6

Рис. 13. Микросхема КА561ИЕ15Б

Данная схема имеет коэффициент пересчѐта N = 10 – K, то есть число «К» может меняться от 0 до 9, а N изменяется от 1 до 10. При каскадном соединении трѐх таких счѐтчиков и использовании

12-разрядного числа «К» коэффициент пересчѐта составит N = 1000

– К. Таким образом, число «К» в этом случае может меняться от 0 до 999, поэтому коэффициент деления изменяется от 1 до 1000.

Описанный выше принцип получения программируемых делителей заложен в специализированной микросхеме КА561ИЕ15Б (рис. 13).

Микросхема имеет входы управления К1, К2, К3, L, вход для подачи тактовых импульсов С и шестнадцать входов установки коэффициента деления в двоичном коде. Диапазон изменения коэффициента деления составляет от 3 до 21327. Минимальное значение коэффициента деления – 3. Это объясняется тем, что за три первых такта на входе С происходит запись в счѐтчики микросхемы шестнадцатиразрядного числа «К», как в схеме рассмотренной выше.

Читайте так же:
Битрикс как вставить счетчик посещений

Вход L служит для управления режимом работы микросхемы. При L=0 происходит режим деления, при L=1 – режим однократного счѐта, заключающийся в том, что на выходе Y появляется уровень логической единицы после поступления на вход С числа импульсов равного установленному коэффициенту деления.

Коэффициент деления определяется разложением десятичного числа по степеням 10.

Кдел = М(103Р1 + 102Р2 + 101Р3 + Р4) + Р5.

Значения М, которые устанавливаются кодом на входах К1, К2,

К3, в свою очередь определяют значения Р5 и Р1. Поскольку для установки значений Р5 и Р1 используется одна группа входов А1 … А4, то распределение этих входов между Р5 и Р1 принимается из табл. 7. Для установления значений других коэффициентов (Р2, Р3, Р4) используется по четыре разряда и, следовательно, их значения могут быть от 0 до 15.

Программируют микросхему КА561ИЕ15Б следующим образом. Допустим, что нам необходимо заданный коэффициент деления Кдел разделить на М. При этом мы выбираем то значение М по табл. 7, при котором можно обеспечить требуемый Кдел. С учѐтом соответствующих при этом значений Р5 и Р1 и, следовательно распределения входов предустановки между ними, нам необходимо установить двоичные коды для всех коэффициентов, имея в виду, что входные переменные с большим цифровым индексом в пределах своих групп являются старшими разрядами. Очевидно, что при программировании можно во многих случаях использовать несколько значений М.

18. Синтезаторы частоты.

Синтезатор частот — устройство для генерации электрических гармонических колебаний с помощью линейных повторений (умножением, суммированием, разностью) на основе одного или нескольких опорных генераторов. Синтезаторы частот служат источниками стабильных (по частоте) колебаний в радиоприемниках, радиопередатчиках, частотомерах, и других устройствах, в которых требуется настройка на разные частоты и требуется высокая стабильность выбранной частоты. Для задания алгоритма работы синтезатора частот используется система управления, подключаемая к синтезатору (см. рис.).
1
Cинтезаторы частот бывают:
прямого действия В таких синтезаторах частот используются только умножители, делители и смесители частоты, а также пассивные фильтры.
косвенного действия. Такие синтезаторы частот могут содержать также системы автоподстройки частоты и компенсационные генераторы с кварцевой стабилизацией.
Сегодня большинство синтезаторов частот строится на основе систем ФАПЧ (фазовой автоподстройки частоты – это система автоматического регулирования, подстраивающая частоту управляемого генератора так, чтобы она была равна частоте опорного сигнала. Регулировка осуществляется благодаря наличию отрицательной обратной связи.
Аналоговые ФАПЧ состоят из фазового детектора, фильтра низких частот и генератора, управляемого напряжением, собранных в схему с отрицательной обратной связью.
2
Компоненты синтезаторов частоты.
Делитель частоты — устройство для уменьшения в целое число раз (коэффициент деления) частоты подводимых к нему периодических электрических колебаний.
Делитель с переменным коэффициентом деления (ДПКД) — это делитель частоты, коэффициент которого может изменяться в некоторых пределах, причем управление этим процессом осуществляется в реальном времени через сигнальную шину.
Предделитель с фиксированным коэффициентом деления— быстродействующий ВЧ делитель частоты, используемый в сочетании с низкочастотным ДПКД. Применяется, когда реализация ДПКД с заданным большим коэффициентом деления и достаточным быстродействием в высокочастотном диапазоне является сложной задачей. Отрицательным следствием применения его является то, что шаг сетки частот синтезатора увеличивается в m раз, где m — коэффициент деления предделителя.
Внутренний предцелитель (ВПД) с переменным коэффициентом деления— быстродействующий ВЧ делитель частоты, коэффициент деления которого может принимать два смежных значения р и (р + 1) с помощью подачи управляющего импульса с устройства управления. Применяется в случае, когда увеличение шага сетки частот (см. выше) недопустимо. Недостатком такого метода является усложнение (и, следовательно, повышение стоимости) схемы синтезатора.
ФАПЧ

Читайте так же:
Счетчик sl7000 схема подключения

Фазовый детектор — устройство, обнаруживающее фазовый сдвиг между двумя сигналами. Два входа фазового детектора (ФД) являются опорным сигналом и обратной связью, реализуемой генератором, управляемым напряжением (ГУН). Выход с ФД управляет ГУН таким образом, что разность фаз между двумя входами поддерживается постоянной, таким образом образуя систему с отрицательной обратной связью.

2. Экспериментальная методика определения реакции на ступенчатый импульс

Коммутатор должен иметь близкое к нулю внутреннее сопротивление и обеспечивать фронт ступенчатого импульса, по меньшей мере, в пять раз короче ожидаемого частичного времени реакции . Пригодными коммутаторами являются реле с ртутными контактами или разрядные промежутки с однородным полем, помещенные в изоляционное масло или сжатый газ. Расстояние между электродами в искровом промежутке не должно превышать 3 мм.

3. Определение параметров реакции на ступенчатый импульс

Типичные осцилограммы реакций на ступенчатый импульс

1083 × 1498 пикс. &nbsp Открыть в новом окне

При определении О’ начальными искажениями (черт. 2 д, е) пренебрегают.
3.4. Частичное время реакции определяется площадью между ступенчатым импульсом, перемещенным к точке О’, и осциллограммой реакции на ступенчатый импульс до момента, когда она впервые достигает единичного значения (черт. 2).
3.5. Экспериментальное время реакции определяется с учетом вертикального провода от генератора ступенчатого напряжения к горизонтальной подводке и делителю
(1)
Площади , , и т.д. показаны на черт. 2 штриховкой. Они ограничены реакцией и ступенчатым импульсом и предположением, что обе характеристики начинаются с О’. При определении начальными искажениями пренебрегают и рассматривают прямую линию, используемую для определения О’, как реакцию для этой части (черт. 2 д, е).
3.6. Время реакции Т определяется как сумма из и поправки на действие вертикального провода
, (2)
— время пробега импульса по вертикальному проводу длиной h в метрах со скоростью 300 м/мкс;

голоса
Рейтинг статьи
Читайте так же:
Население земли счетчик населения россии
Ссылка на основную публикацию
Adblock
detector