Схема цифровой ФАПЧ на трех ИС

Журнал РАДИОЛОЦМАН, май 2012

Dave Allen, Dash Inc, США

EDN

По совокупности основных характеристик эта простая конструкция не отличается от традиционных аналоговых схем фазовой автоподстройки частоты (ФАПЧ), но, в отличие от последних, не содержит аналоговых компонентов, за исключением опорного генератора. Существует достаточно много цифровых схем ФАПЧ, включая и такие, в которых используются реверсивные счетчики, однако предлагаемый вариант проще и намного гибче всех остальных.

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

В примере, показанном на Рисунке 1, для наглядности и простоты объяснения принципа работы, использованы всего три микросхемы. Связи между выходами счетчика 74161 и входами параллельной загрузки преобразуют микросхему в примитивное ПЗУ, содержащее таблицу перекодировки (см. Таблицу 1). На входе 16XREF должна быть последовательность прямоугольных импульсов с не слишком плохой симметрией, так как для нас важны события, порождаемые как передними, так и задними фронтами, а также время нарастания. Импульсы на ВХОДЕ не должны быть короче минимальной длительности, разрешенной для используемого типа D-триггера. В представленной схеме это 7474.

 Схема цифровой ФАПЧ на трех ИС
Рисунок 1. Для генерации выходного сигнала, отслеживающего входной, счетчик загружает собственные данные на свой вход.

Таблица 1. Перекодировка состояний счетчика в загружаемое значение

Выходы
счетчика
Q3
Q2
Q1
Q0
D3
D2
D1
D0
Загружаемое
число
15
1
1
1
1
1
0
1
1
11
14
1
1
1
0
1
0
1
1
11
13
1
1
0
1
1
0
1
0
10
12
1
1
0
0
1
0
1
0
10
11
1
0
1
1
1
0
0
1
9
10
1
0
1
0
1
0
0
1
9
9
1
0
0
1
1
0
0
0
8
8
1
0
0
0
1
0
0
0
8
7
0
1
1
1
0
1
1
1
7
6
0
1
1
0
0
1
1
1
7
5
0
1
0
1
0
1
1
0
6
4
0
1
0
0
0
1
1
0
6
3
0
0
1
1
0
1
0
1
5
2
0
0
1
0
0
1
0
1
5
1
0
0
0
1
0
1
0
0
4
0
0
0
0
0
0
1
0
0
4

Для испытаний макета подайте на ВХОД импульсы с частотой примерно в 16 раз меньшей, чем 16XREF и, медленно изменяя эту частоту, наблюдайте за ВЫХОДОМ. Для этого потребуется генератор с плавной перестройкой, который позволит вам определить диапазон захвата в пределах чуть выше и ниже центральной частоты XREF. Дрожание фазы равно периоду частоты 16XREF, но ВЫХОД будет оставаться «привязанным» ко ВХОДУ при отклонении частоты на ±20%, или даже больше. Можете временно отключить вывод 9 счетчика, чтобы увидеть взаимное скольжение входных и выходных импульсов при близости частот. Вновь подключив вывод 9, вы инициируете захват частоты. При точном равенстве входной частоты одной шестнадцатой 16XREF на ВЫХОДЕ будет наблюдаться меандр, т.е. последовательность прямоугольных импульсов со скважностью, равной 2. По мере отклонения частоты в ту или иную сторону от центрального значения, скважность будет становиться большей или меньшей 2.

В установившемся режиме счетчик считает постоянно, но из каждого нарастающий фронт сигнала на ВХОДЕ формируется импульс загрузки счетчика. Из Таблицы 1 можно заключить, что когда на счетчик приходит импульс загрузки, в счетчике всякий раз содержится число 7 или 8. Сигнал ошибки представляет собой разность между состоянием счетчика на момент прихода импульса загрузки и семью или восемью. В этом простом примере значение счетчика используется для того, чтобы уменьшить сигнал ошибки вдвое перед подачей его на вход загрузки.

Если частота сигнала на ВХОДЕ в точности равна одной шестнадцатой опорной частоты, но находится с ней в противофазе, т.е. сдвинута на 180°, то первый импульс загрузки может возникнуть, когда в счетчике будет число 15. Соответственно, счетчик будет установлен в 11, и продолжит счет с этого значения. Следующий импульс загрузки придет, когда в счетчике будет число 10, и в счетчик запишется 9. Последующие установки счетчика будут происходить, когда он досчитает сначала до 8, а затем до 7. Но когда импульс загрузки сформируется при состоянии счетчика «6», в счетчик опять будет записано число 7, и с этого момента произойдет захват частоты.

Если частота сигнала на ВХОДЕ немного ниже, чем одна шестнадцатая опорной частоты, импульсы загрузки будут приходить после того, как счетчик досчитал до 8. Например, в счетчике может быть число 12, при этом в него загружается 10. Но, поскольку входная частота слишком мала, к приходу следующего импульса загрузки в счетчике опять будет 12. Схема по-прежнему находится в режиме слежения, но старший сигнал на выходе старшего разряда счетчика удлиняется в соответствии с замедлением сигнала на ВХОДЕ. Точно такие же процессы происходят в схеме и в случае, если частота сигнала на ВХОДЕ слегка выше одной шестнадцатой опорной частоты. Единственное отличие заключается в том, что теперь сигнал в старшем разряде счетчика укорачивается.

Потеря синхронизма происходит в том случае, когда сигнал на входе INPUT настолько медленный, что к моменту прихода импульса загрузки счетчик успевает досчитать до 15, после чего начинает вновь проходить через состояния 0, 1 и т.д. Точно также, схема выйдет из режима слежения, если до прихода очередного импульса загрузки счетчик не успеет досчитать даже до нуля. Схема может захватывать сигналы с частотами кратными и дольными относительно опорной частоты 16XREF.

Если вы хотите иметь возможность управлять характеристиками захвата и уменьшить дрожание фазы, увеличьте разрядность счетчика и добавьте ПЗУ между выходами счетчика и входами его параллельной загрузки (Рисунок 2). С помощью программируемого ПЗУ (ППЗУ) можно, например, разделить ошибку на три или четыре, что позволит расширить полосу захвата. Кроме того, используя ППЗУ, можно вычитать из сигнала ошибки единицу или двойку, вместо того, чтобы делить его на два. Такой подход существенно сузит полосу захвата. Ненужные для загрузки счетчика выходы ППЗУ можно использовать для других целей.

Схема цифровой ФАПЧ на трех ИС
Рисунок 2. Два счетчика и ПЗУ сделают схему ФАПЧ более совершенной и гибкой.

Поскольку импульс загрузки счетчика формируется в тот момент, когда сигнал ошибки уже доступен, запрограммировав в ПЗУ несколько дополнительных бит, вы сможете фиксировать возникновение ошибок, таких, например, как потеря слежения, или же получать информацию о том, что частота на ВХОДЕ выше, ниже или равна опорной частоте. Применительно к управлению двигателем, это будет означать, что нагрузка легкая, средняя или большая. Для других приложений можно запрограммировать еще одно ПЗУ, подключаемое параллельно первому, чтобы записать в него, например, таблицу значений синусоидальной функции. Подавая последовательность выборок из ПЗУ на ЦАП, можно синтезировать квази-синусоидальный сигнал для силового инвертора.

При использовании схемы в качестве серво контроллера двигателя лентопротяжного механизма, входным сигналом схемы ФАПЧ будет выход тахогенератора. Выделив один бит ПЗУ для формирования управляющего мотором сигнала ШИМ, можно увеличить глубину регулировки скважности. За счет предустановки в «0» старшего разряда ПЗУ (вход D3 верхнего по схеме счетчика 74161 заземлен) система в режиме слежения работает в нижней половине адресного пространства. Такое решение высвобождает верхние выходные линии ПЗУ, сигналы которых становятся управляющими для мотора.

При использовании 8-разрядного счетчика и ПЗУ объемом 256×8 бит появляется множество возможностей для оптимизации поведения мотора при изменении нагрузки. Запрограммировав первую строку ПЗУ, можно задать циклы работы счетчика, во время которых должны включаться и выключаться импульсы ШИМ, управляющие двигателем. При большой нагрузке мотор замедляется, позволяя счетчикам до каждой загрузки считать дольше, до чуть большего значения. В связи с тем, что счетчики перезагружаются позже, бит ШИМ ДВИГАТЕЛЯ дольше остается в состоянии «1», увеличивая коэффициент заполнения сигнала ШИМ для компенсации возросшей нагрузки. Точкой равновесия сервопривода являются числа 63/64, в результате чего в режиме слежения задействована только нижняя половина адресного пространства ПЗУ, а верхняя половина используется лишь при старте двигателя. Это позволяет, записав по старшим адресам «1» в бит ШИМ ДВИГАТЕЛЯ, дополнительно увеличить пусковой момент.

 Схема цифровой ФАПЧ на трех ИС
Рисунок 3. Чтобы с помощью верхнего осциллографа наблюдать фазовое дрожание выходного сигнала при замкнутой петле ФАПЧ, для синхронизации можно использовать входной сигнал верхнего канала нижнего осциллографа.

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

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Build a digital PLL with three ICs

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя