HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL
РадиоЛоцман - Все об электронике

Особенности микроконтроллеров PIC16F170x/171x. Часть 2

Microchip PIC16F170x/171x

Журнал РАДИОЛОЦМАН, февраль 2015

Часть 1.

Михаил Русских

Описывается модуль детектирования перехода сигнала через ноль, модуль генератора частоты с цифровым управлением и модуль операционного усилителя. Приводятся преимущества технологии eXtreme Low Power.

Модуль детектирования перехода сигнала через ноль

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

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

Особенности микроконтроллеров PIC16F170x/171x
Рисунок 6. Модуль детектирования перехода сигнала через ноль.

Значение сопротивления токоограничивающего резистора (RОГР) зависит от амплитуды сигнала переменного напряжения (UМАКС). При этом сопротивление должно быть такого номинала, чтобы протекающий через него ток в момент, когда переменный сигнал достигает своего пикового значения, был бы равен 300 мкА. Данную зависимость можно выразить в виде формулы (1).

  (1)

Как было отмечено выше, детектирование изменения полярности сигнала осуществляется относительно уровня опорного напряжения, которое подводится к неинвертирующему входу операционного усилителя модуля. Для всех сигналов, кроме тех, которые имеют прямоугольную форму, смещение данного напряжения относительно нулевой точки может привести к тому, что детектирование перехода через ноль произойдет либо слишком рано, либо слишком поздно. Для синусоидального сигнала такое смещение во времени (TСМЕЩ) можно посчитать по формуле (2) при его изменении относительно земли (USS), либо по формуле (3) при его изменении относительно напряжения питания (UDD).

  (2)
  (3)

В формулах (2) и (3)

UОП – значение опорного напряжения,
F – частота сигнала переменного напряжения.

Это смещение во времени можно компенсировать подключением к выводу подтягивающего резистора (RПОДТ). В случае варьирования сигнала относительно USS необходимо подключить этот резистор к источнику положительного напряжения (UПОДТ), а при варьировании относительно UDD нужно подтянуть его к земле. Расчет сопротивления резистора производится по формуле (4) для изменения сигнала относительно USS или по формуле (5) для изменения сигнала относительно UDD.

  (4)
  (5)

Разница между значениями сопротивлений, соответствующих различающимся друг от друга на небольшую величину значениям опорного напряжения, может быть существенной. При этом бывает довольно трудно точно измерить величину опорного напряжения. Однако на основании формул (4) и (5) можно вывести новую формулу (6), где значение сопротивления подтягивающего резистора может быть определено через разницу во времени (ΔT) между периодами взятых с выхода модуля (ZCDx_output) сигналов высокого и низкого логических уровней.

  (6)

Здесь UСМЕЩ представляет собой UПОДТ при подключении резистора к источнику напряжения, либо UDD при подключении резистора к земле. Сигнал ZCDx_output для удобства можно завести на вывод микроконтроллера с помощью конфигурируемой логической ячейки.

Если предполагается, что амплитуда сигнала будет меняться, то резистор, последовательно соединенный с выводом модуля, нужно подобрать таким образом, чтобы ток не превосходил более чем в 6 раз минимальное допустимое значение ±100 мкА. То есть, ток может варьироваться от ±100 мкА до ±600 мкА. Это ограничение является следствием того, что максимальное пиковое значение напряжения не может превышать минимальное более чем в 6 раз. Значение сопротивления можно рассчитать с помощью формулы (7).

  (7)

Модуль может работать по прерыванию. Прерывание генерируется при смене полярности сигнала переменного напряжения. Перевод микроконтроллера в режим сна не влияет на работу прерываний данного модуля.

Модуль генератора частоты с цифровым управлением

Этот модуль представляет собой программируемый высокоточный линейный генератор, способный работать в широком диапазоне частот (примерно от 1 Гц до 500 кГц). По сути, он является таймером, который использует переполнение для деления входной частоты. Преимущество такого способа перед простым счетчиком на основе таймера заключается в том, что разрешающая способность при делении не меняется вместе со значением делителя. Поэтому такой модуль генератора полезен при создании приложений, где требуется точность воспроизведения частоты и высокая разрешающая способность при фиксированной скважности. В качестве источника тактовой частоты может выступать высокочастотный внутренний осциллятор (HFINTOSC), системная частота ядра (FOSC) и выходной сигнал третьей конфигурируемой логической ячейки (LC3_out).

Модуль работает, постоянно прибавляя фиксированное значение к аккумулятору, вмещающему в себя до 20 бит, и представленному тремя регистрами. Инкрементирование происходит с каждым тактом входной частоты. При этом аккумулятор будет периодически переполняться, устанавливая флаг переноса. Частоту переполнения (FПЕР) можно выразить через формулу (8).

  (8)

Здесь

FМГЧ – тактовая частота модуля,
N – инкрементируемое значение,
n – ширина аккумулятора в битах.

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

Модуль генератора частоты способен работать в режиме фиксированной скважности и в частотно-импульсном режиме. В первом случае при каждом переполнении аккумулятора выход изменяет свое логическое состояние. Таким образом обеспечивается скважность 50%. Во втором случае при каждом переполнении аккумулятора выход становится активным на время одного или более тактовых импульсов, после чего выход снова возвращается в неактивное состояние. Графически работу модуля в данных режимах можно изобразить на Рисунке 7.

Особенности микроконтроллеров PIC16F170x/171x
Рисунок 7. Диаграмма работы модуля генератора частоты в режиме
фиксированной скважности и частотно-импульсном режиме.

Полярность выходного сигнала можно изменять путем установки или сброса бита полярности, то есть, можно инвертировать сигнал или оставить его неинвертированным. Изменение полярности при разрешенных прерываниях вызовет соответствующее прерывание.

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

Операционные усилители

Микроконтроллеры PIC16F170x/171x имеют в своем составе два операционных усилителя, что позволяет сэкономить на внешних компонентах при создании приложений для работы с аналоговыми сигналами. На Рисунке 8 показана блок-схема модуля операционного усилителя.

Особенности микроконтроллеров PIC16F170x/171x
Рисунок 8. Модуль операционного усилителя.

На входы усилителя могут быть заведены сигналы непосредственно с линий микроконтроллера (OPAxIN+ на неинвертирующий вход и OPAxIN- на инвертирующий). Помимо этого, на неинвертирующий вход вместо внешнего сигнала можно завести выходные сигналы с первого (DAC1_output) или второго ЦАП (DAC2_output), либо со второго буфера модуля фиксированного опорного напряжения (FVR buffer 2). На инвертирующий вход можно завести выходной сигнал усилителя, создав тем самым, петлю обратной связи.

Технология eXtreme Low Power

Еще одной важной особенностью микроконтроллеров семейства PIC16F170x/171x является технология пониженного потребления энергии eXtreme Low Power (XLP). Благодаря этой технологии устройство может значительно снизить потребляемую мощность, как в рабочем режиме, так и в режиме сна.

При питании микроконтроллера напряжением 1.8 В можно добиться следующих показателей:

  • ток в рабочем режиме при тактировании с помощью осциллятора 32 кГц – 8 мкА,
  • ток в рабочем режиме при тактировании с помощью внешнего генератора частоты – 32 мкА,
  • ток в режиме сна – 50 нА,
  • ток, потребляемый сторожевым таймером – 500 нА.

Такие характеристики делают устройства PIC16F170x/171x наиболее эффективным решением при построении систем датчиков с автономным питанием. По расчетам компании Microchip [1], время функционирования микроконтроллера, оснащенного технологией XLP, в умеренном режиме работы при питании от батарейки типа CR2032 составит около 6 лет, а при питании от батарейки типа AA – примерно 76 лет.

Заключение

Микроконтроллеры семейства PIC16F170x/171x, благодаря наличию независимой от ядра интеллектуальной периферии, малому энергопотреблению и низкой стоимости могут стать достойными конкурентами другим 8-разрядным устройствам, представленным сегодня на рынке. Они подойдут для применения в составе бытовых приборов и инструментов, систем освещения и сенсорных приложений.

Источники

  1. microchip.com/downloads/
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя