СПОСОБ ФОРМИРОВАНИЯ ШИРОТНО-ИМПУЛЬСНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ ЗАДАННОЙ СКВАЖНОСТИ И ЧАСТОТЫ С ВЫСОКОЙ ТОЧНОСТЬЮ ПРИ ИЗМЕНЕНИИ ЧАСТОТЫ ПОВТОРЕНИЯ ИМПУЛЬСОВ В ШИРОКИХ ПРЕДЕЛАХ
METHOD OF GENERATING PULSE-WIDTH SEQUENCE WITH GIVEN PULSE RATIO AND FREQUENCY WITH HIGH-ACCURACY WITH VARIATION OF PULSE REPETITION FREQUENCY IN WIDE RANGE

Изобретение относится к области цифровой техники и может быть использовано для формирования широтно-импульсной модуляции (ШИМ) с заданной скважностью с высокой точностью и не зависящей от изменения частоты следования импульсов.
RC
RC
Известные способы формирования широтно-импульсной последовательности сигналов, описанные, например, в кн. Шкритек П. Справочное руководство по звуковой схемотехнике, Перевод с нем. - М.: МИР, 1991. - 446 с. По этому способу скважность выходной широтно-импульсной последовательности задается с помощью генератора линейно-изменяющегося напряжения (ГЛИН) и аналогового компаратора, на один вход которого подают опорное напряжение, а на другой - сигнал ГЛИН. Для изменения скважности выходной широтно-импульсной последовательности необходимо изменять либо скорость нарастания напряжения ГЛИН, изменяя, например, постоянную времени -цепи, либо изменять величину опорного напряжения. Частота следования при этом остается постоянной. При изменении частоты следования импульсов невозможно произвести адекватный пересчет постоянной времени -цепи или пересчет опорного напряжения для сохранения неизменным соотношения периода следования импульсов к их длительности, что в ряде случаев оказывается неприемлемым.
Наиболее близким по технической сущности к предлагаемому изобретению является способ формирования широтно-импульсной последовательности при помощи микроконтроллера со встроенным модулем ШИМ, описанные, например, в справочном листке на микроконтроллеры серии PIC16F87X (www.microchip.com). По этому способу микроконтроллером измеряют частоту входного информационного сигнала и формируют выходную широтно-импульсную последовательность, задавая требуемую скважность. В микроконтроллере формирование выходной широтно-импульсной последовательности с изменяющейся скважностью осуществляют, например, путем введения некоторого двоичного кода через любой стандартный цифровой параллельный или последовательный интерфейс, либо подачей напряжения постоянного тока на вход встроенного в микроконтроллер аналого-цифрового преобразователя.
Однако такой способ формирования широтно-импульсной последовательности обладает существенным недостатком, заключающимся в том, что при изменении частоты следования импульсов соотношение периода следования импульсов к их длительности может изменяться дискретно. Частота следования импульсов широтно-импульсной последовательности также может при этом изменяться исключительно дискретно, причем шаг изменения частоты зависит от самой частоты следования импульсов. В итоге точность задания скважности широтно-импульсной последовательности ограничивается при этом разрядностью регистров микроконтроллера и конечностью шага изменения скважности выходной широтно-импульсной последовательности. Частота выходной широтно-импульсной последовательности при этом не равна частоте задающего генератора, а задается с некоторой ошибкой, определяемой частотой тактового генератора микроконтроллера, возможностями модуля широтно-импульсной модуляции и значением самой частоты следования импульсов.
В основу изобретения поставлена задача получения широтно-импульсной последовательности заданной скважности и частоты с высокой точностью при изменении частоты следования импульсов в широких пределах. Поставленная цель достигается тем, что по способу формирования широтно-импульсной последовательности, включающему задание частоты следования импульсов широтно-импульсной последовательности внешним задающим генератором, использование встроенного в микроконтроллер модуля широтно-импульсной модуляции, измерение частоты следования импульсов, осуществляемое с помощью встроенного в микроконтроллер модуля таймер-счетчика и осуществляемое путем сравнения этой частоты с частотой высокостабильного опорного генератора, отличающегося тем, что сигнал с выхода высокостабильного опорного генератора подают не на тактовый системный вход микроконтроллера, а на вход модуля таймер-счетчика микроконтроллера, при этом сигнал внешнего задающего генератора подают на первый вход фазового детектора, на другой вход которого подают сигнал с выхода делителя с переменным коэффициентом деления, при этом напряжение с выхода фазового детектора подают на вход генератора, управляемого напряжением, при этом сигнал с выхода генератора, управляемого напряжением, подают на тактовый системный вход микроконтроллера и одновременно на вход делителя с переменным коэффициентом деления, при этом коэффициент деления делителя с переменным коэффициентом деления задают при помощи микроконтроллера, подавая соответствующий управляющий код с выхода управления микроконтроллера на вход управления делителя с переменным коэффициентом деления, при этом величину коэффициента деления определяют путем измерения частоты следования импульсов генератора, управляемого напряжением, осуществляемое путем сравнения ее с частотой высокостабильного опорного генератора, при этом изменяют коэффициент деления делителя с переменным коэффициентом деления каждый раз при приближении частоты генератора, управляемого напряжением, к верхней или нижней границе его диапазона перестройки частоты, при этом предотвращающий неустойчивую работу системы гистерезис вводят программно, при этом скважность выходной широтно-импульсной последовательности задают с помощью встроенного в микроконтроллер модуля широтно-импульсной модуляции путем ввода в микроконтроллер двоичного кода любым доступным способом, например, с помощью любого стандартного цифрового интерфейса или с помощью встроенного в микроконтроллер модуля аналогово-цифрового преобразователя, подавая на его вход некоторый уровень постоянного напряжения, при этом с выхода индикации микроконтроллера подают сигнал на вход внешнего индикатора, который отображает частоту следования широтно-импульсной последовательности и заданное значение скважности, при этом выходную широтно-импульсную последовательность получают на выходе микроконтроллера, который соответствует выходу встроенного модуля широтно-импульсной модуляции, при этом частоту следования широтно-импульсной последовательности изменяют в широких пределах внешним задающим генератором, при этом частота выходной широтно-импульсной последовательности всегда будет в точности равна частоте следования импульсов задающего генератора, а скважность при этом будет всегда постоянной, причем величину скважности задают исключительно вводимым в микроконтроллер цифровым кодом.
Сравнение предлагаемого изобретения с уже известными способами и прототипом показывает, что заявляемый способ проявляет новые технические свойства, заключающиеся в получении широтно-импульсной последовательности заданной скважности и частоты, причем значение скважности остается неизменной при изменении частоты следования импульсов в широких пределах. Разрядность микроконтроллера и возможности модуля ШИМ при этом не оказывают влияние на дискретность формирования частоты выходной последовательности импульсов. Значение частоты выходной широтно-импульсной последовательности определяется при этом не возможностями встроенного в микроконтроллер модуля ШИМ и тактовой частотой микроконтроллера, а исключительно значением частоты внешнего задающего генератора, причем значение выходной частоты широтно-импульсной последовательности в точности равно значению частоты внешнего задающего генератора. Такой способ позволяет получить возможность задания скважности и частоты следования широтно-импульсной последовательности с более высокой точностью. Использование индикатора позволяет однозначно контролировать частоту и заданное значение скважности широтно-импульсной последовательности.
Указанный способ формирования широтно-импульсной последовательности заданной скважности и частоты с высокой точностью при изменении частоты повторения импульсов в широких пределах можно реализовать с помощью устройства, схема которого показана на рисунке.
Устройство для формирования широтно-импульсной последовательности заданной скважности и частоты с высокой точностью при изменении частоты повторения импульсов в широких пределах содержит высокостабильный опорный генератор 1, микроконтроллер 2, генератор, управляемый напряжением 3, фазовый детектор 4, индикатор 5, делитель с переменным коэффициентом деления 6. При этом выход высокостабильного опорного генератора 1 соединяют с первым входом микроконтроллера 2, который соответствует входу встроенного в микроконтроллер модуля таймер-счетчика, при этом второй вход микроконтроллера 2, который соответствует тактовому системному входу микроконтроллера, соединяют с выходом генератора, управляемого напряжением 3, при этом на третий вход микроконтроллера 2 подают сигнал, определяющий скважность выходной широтно-импульсной последовательности, при этом выход генератора, управляемого напряжением 3, соединяют также с сигнальным входом делителя с переменным коэффициентом деления 6, при этом выход делителя с переменным коэффициентом деления 6 соединяют с первым входом фазового детектора 4, выход которого соединяют с входом генератора, управляемого напряжением 3, при этом на второй вход фазового детектора 4 подают информационный сигнал от внешнего задающего генератора, при этом первый выход микроконтроллера 2 соединяют с входом индикатора 5, при этом на втором выходе микроконтроллера 2 получают широтно-импульсную последовательность, при этом третий выход микроконтроллера 2 соединяют с входом управления делителя с переменным коэффициентом деления 6.
Работает устройство следующим образом. Сигнал от внешнего задающего генератора, частота которого может изменяться в широких пределах, подают на первый вход фазового детектора. На второй вход фазового детектора подают сигнал с выхода делителя с переменным коэффициентом деления. В результате этого на выходе фазового детектора формируется некоторый уровень постоянного напряжения, зависящий от разности частот и фаз сигналов, поступающих на его входы. Это напряжение постоянного тока подают на вход генератора, управляемого напряжением.
Генератор, управляемый напряжением, под действием управляющего сигнала, перестраивают в относительно узком диапазоне частот. Коэффициент перекрытия по частоте генератора, управляемого напряжением, должен составлять не менее 2 и может превышать эту величину незначительно. Реализуемый алгоритм работы микроконтроллера предполагает, что частота на выходе генератора, управляемого напряжением, должна изменяться ровно в два раза. Некоторое превышение коэффициента перекрытия по частоте указанной величины необходимо для устранения влияния дестабилизирующих факторов. Представляется, что, например, 10%-ный запас перекрытия по частоте будет вполне достаточным.
Сигнал с выхода генератора, управляемого напряжением, подают на тактовый системный вход микроконтроллера. Поскольку частота на выходе генератора, управляемого напряжением, изменяется не более чем в два раза, время выполнения команд микроконтроллера также изменяется в пределах этой величины, что при известных допущениях не сказывается на работе микроконтроллера с периферийными устройствами. Кроме того, само время исполнения реализуемого алгоритма работы микроконтроллера остается достаточно малым, при том что частота следования импульсов внешнего задающего генератора может изменяться в широких пределах.
Сигнал с выхода генератора, управляемого напряжением, одновременно подают и на сигнальный вход делителя частоты с переменным коэффициентом деления. Фазовый детектор совместно с генератором, управляемым напряжением, и делителем с переменным коэффициентом деления образуют кольцо фазовой автоподстройки частоты. Коэффициент деления этого делителя может изменяться ступенчато и может составлять величины, равные степени числа 2. Минимальное значение коэффициента деления определяется возможностями модуля ШИМ микроконтроллера по формированию выходной широтно-импульсной последовательности требуемой частоты и скважности необходимого разрешения при заданной тактовой частоте микроконтроллера. Максимальное значение коэффициента деления также ограничено возможностями модуля ШИМ микроконтроллера по формированию последовательности импульсов минимальной частоты при заданной тактовой частоте микроконтроллера. В любом случае диапазон частот формируемой микроконтроллером широтно-импульсной последовательности достаточно широк и может составлять несколько декад при изменении частоты тактового системного генератора в два раза. При этом коэффициенты деления частоты внутреннего делителя частоты модуля ШИМ микроконтроллера (с учетом возможного подключения предварительного делителя частоты тактового генератора) и внешнего делителя частоты с переменным коэффициентом деления должны быть совершенно идентичны. Таким образом, делитель с переменным коэффициентом деления осуществляет деление частоты генератора, управляемого напряжением, до величины частоты входного сигнала задающего генератора. При работе системы фазовой автоподстройки частоты в режиме синхронизации эти две частоты будут равны друг другу в точности. Кроме того, частота следования импульсов выходной широтно-импульсной последовательности будет в точности равна частоте внешнего задающего генератора.
Программный код, заложенный в память микроконтроллера по заданному алгоритму в зависимости от приближения к верхней или нижней границе рабочего диапазона частот генератора, управляемого напряжением, подает цифровую комбинацию на вход управления делителя с переменным коэффициентом деления, изменяя его коэффициент деления вдвое (увеличение вдвое при приближении частоты к верхней границе диапазона или уменьшение вдвое при приближении к нижней границе диапазона).
Для измерения частоты сигнала генератора, управляемого напряжением, необходим источник опорного сигнала с высокой стабильностью частоты. Сигнал этого высокостабильного опорного генератора подают на вход микроконтроллера, который соответствует входу модуля таймер-счетчика микроконтроллера. При этом осуществляют измерение частоты генератора, управляемого напряжением, методом, единственное отличие которого от известного метода заключается в том, что сигнал высокостабильного опорного генератора подают не на тактовый системный вход микроконтроллера и измеряемый сигнал на вход таймера-счетчика, а наоборот, сигнал высокостабильного опорного генератора подают на вход таймера-счетчика и измеряемый сигнал подают на тактовый системный вход микроконтроллера. В любом из этих двух случаев информация о частоте генератора, управляемого напряжением, будет адекватна.
Процесс переключения происходит повторно при каждом последующем приближении к границам частотного диапазона генератора, управляемого напряжением.
Если текущее значение частоты внешнего задающего генератора априори неизвестно и при очередном изменении коэффициента деления делителя с переменным коэффициентом деления вдвое частота генератора, управляемого напряжением, не изменилась вдвое в адекватную сторону, то это означает, что система фазовой автоподстройки частоты еще не работает в режиме синхронизации и коэффициент деления нужно изменить вдвое еще раз в ту же сторону. Эту процедуру необходимо повторять до тех пор, пока система фазовой автоподстройки частоты не будет работать в режиме синхронизации (при изменении вдвое коэффициента деления частота также изменяется вдвое).
После того, как система фазовой автоподстройки частоты была введена в режим синхронизации и частота следования выходных импульсов модуля широтно-импульсной модуляции стала равной в точности частоте следования импульсов внешнего задающего генератора, приступают к формированию заданной скважности импульсов. Для этого в микроконтроллер вводят необходимый цифровой код любым известным образом. В большинстве случаев 256 градаций скважности оказывается более чем достаточно, поэтому в этом случае необходимо вводить 8-разрядный цифровой двоичный код. Это можно сделать, используя, например, любой стандартный параллельный или последовательный цифровой интерфейс микроконтроллера или встроенный модуль аналого-цифрового преобразователя, подавая на его вход некоторый уровень постоянного напряжения. Введенный цифровой код задает соответствующую скважность выходной последовательности импульсов, которая не будет зависеть от частоты следования импульсов.
Индикатор, вход которого соединен с первым выходом микроконтроллера, позволяет получить наглядность процесса, отображая частоту повторения импульсов и заданную скважность выходной широтно-импульсной последовательности.
Народнохозяйственный эффект от использования предлагаемого изобретения связан с возможностью получения широтно-импульсной последовательности заданной скважности и частоты с высокой точностью при изменении частоты следования импульсов в широких пределах. При этом значение частоты выходной широтно-импульсной последовательности определяется не содержимым регистров модуля ШИМ микроконтроллера, а внешним задающим генератором и имеет ту же нестабильность частоты и тот же шаг перестройки в случае использования цифрового метода синтеза частот.