Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2003 №4

Новые Flash-микроконтроллеры PIC16 со сверхнизким энергопотреблением от Microchip

Еременко Максим


В одном из предыдущих номеров журнала ("КиТ" № 9'2002) уже рассказывалось о микропотребляющих Flash-контроллерах компании Microchip из серии высокопроизводительных микроконтроллеров PIC18F.

В отличие от более мощного семейства PIC18F, микроконтроллеры PIC16F ориентированы в первую очередь на продукцию, выпускаемую огромными тиражами, а это требует минимальной цены микроконтроллера. Поэтому реализация всех режимов микропотребления, имеющихся в PIC18, повлекла бы увеличение цены микроконтроллера. Тем не менее разработчикам Microchip удалось решить эту непростую задачу: добавлены все новые режимы энергосбережения, и при этом цена микроконтроллеров даже несколько снизилась по сравнению со старыми моделями PIC16. Такая непростая задача была решена традиционным для Microchip способом: «каждой задаче — отдельный PICmicro!».Рассмотрев таблицу 1, можно заметить, что выпущена целая линейка семейств PIC16F с различными сочетаниями параметров. Таким образом,можно подобрать контроллер практически под любую задачу,при этом максимально сэкономив на его цене.

Уменьшение энергопотребления при высокой производительности в технологии NanoWatt достигается тремя способами:

  1. Совершенствованием технологии изготовления кристаллов и минимизацией токов утечки.
  2. Снижением напряжения питания (все Flash-микроконтроллеры Microchip могут работать при напряжениях 2 –5,5 В).
  3. Специальными режимами тактирования ядра и периферии.

Если первые два способа традиционно использовались в ранних семействах PICmicro, то последний стал применяться в новых семействах NanoWatt PIC18 и PIC16 и позволяет более гибко использовать ресурсы микроконтроллера, затрачивая при этом минимум энергии.

Схема тактирования контроллера

Рассмотрим блок-схему тактирования семейств PIC16F c режимами энергосбережения (рис.1). Что изменилось по сравнению с традиционным PIC16?

Блок-схема узла ГТИ nanoWatt PIC16F

Модуль Таймера1 существенно изменен,благодаря чему в несколько раз сократился потребляемый им ток (менее 2 мкА). Это позволило в большинстве задач отказаться от применения специализированной микросхемы при создании часов реального времени, подключая низкочастотный резонатор 32768 Гц непосредственно к модулю Таймера1. Еще одной примечательной особенностью таймера стало то, что он может использоваться как дополнительный источник тактовых импульсов для тактирования ядра микроконтроллера как непосредственно, так и через схему умножителя FLL с последующим делением до нужного значения. В последнем случае выводы OSC1 и OSC2 основного генератора можно использовать как порты ввода-вывода общего назначения, стартовать от внутреннего генератора, а атем переключаться на Таймер1 (32768 Гц) с последующим умножением. Таким образом, с одним низкочастотным кварцевым резонатором можно работать на частотах до 256 32,768 кГц=8,38 МГц и иметь встроенные часы реального времени. Разумеется, что если не использовать TMR1 в качестве дополнительного тактового генератора, то к его выводам можно подключать внешний сигнал (режим счета внешних событий) или использовать его входы как обычные порты ввода-вывода.

Таблица 1. PIC16F с режимами микропотребления Low Power Modes
Тип Flash память программ ОЗУ данных EEPROM Коли-чество выво-дов Порты I/O Каналов 10 бит АЦП Анало-говые компа-раторы CCP (ШИМ) AUSART SPI, Master I 2 C Тай-меры 8/16 бит Внутрен-ний RC гене-ратор 1% Отладка ICD2
Байт Прогр.слов
PIC16F684 3584 2048x14 128 256 14 12 8 2 1 (4 канала) Нет Нет 2/1 Есть Есть
PIC16F627A 1792 1024x14 224 128 18 16 Нет 2 1 Есть Нет 2/1 Есть Нет
PIC16F628A 3584 2048x14 224 128 18 16 Нет 2 1 Есть Нет 2/1 Есть Нет
PIC16F648A 7168 4096x14 256 256 18 16 Нет 2 1 Есть Нет 2/1 Есть Нет
PIC16F818 1792 1024x14 128 128 18 16 5 Нет 1 Нет Есть 2/1 Есть Есть
PIC16F819 3584 2048x14 256 256 18 16 5 Нет 1 Нет Есть 2/1 Есть Есть
PIC16F87 7168 4096x14 368 256 18 16 Нет 2 1 Есть Нет 2/1 Есть Есть
PIC16F88 7168 4096x14 368 256 18 16 7 2 1 Есть Нет 2/1 Есть Есть
PIC16F737 7168 4096x14 368 Нет 28 25 11 2 3 Есть Есть 2/1 Есть Есть
PIC16F747 7168 4096x14 368 Нет 40 36 14 2 3 Есть Есть 2/1 Есть Есть
PIC16F767 14336 8192x14 368 Нет 28 25 11 2 3 Есть Есть 2/1 Есть Есть
PIC16F777 14336 8192x14 368 Нет 40 36 14 2 3 Есть Есть 2/1 Есть Есть

Добавлен новый микропотребляющий модуль внутреннего RC-генератора с умножителем FLL и постделителем (аналогичный NanoWatt PIC18F)с программно управляемым мультиплексором выбора источника тактовых сигналов. Этот модуль, так же как и Таймер1, полностью переработан. В несколько раз снижено энергопотребление, модуль нечувствителен к изменениям температуры и напряжения питания. Схема генератора термокомпенсирована и уход частоты составляет не более ±2%во всем диапазоне рабочих температур и питающих напряжений. Калибровка генератора производится на заводе-изготовителе, чем обеспечивается точность частоты. Это позволяет во многих задачах (при работе, например, с COM-портом компьютера на скорости 9600 бит/с) вообще отказаться от использования внешних резонаторов и сэкономить на их стоимости. Внутренний генератор работает на частоте 31,25 кГц, а специальный модуль умножителя FLL (256) повышает эту частоту до 8 МГц. Благодаря встроенному постделителю при работе с внутренним генератором можно программно «на лету » выбирать тактовую частоту из 8 значений: 31,25 кГц, 125 кГц, 500 кГц, 1 МГц, 2 МГц, 4 МГц, 8 МГц,управляя мультиплексором тактового сигнала. Эта особенность позволяет управлять производительностью микроконтроллера, а значит, и потреблением тока.

Убран традиционный нестабильный сторожевой таймер WDT. Теперь внутренний RC-генератор тактирует и схему WDT, что обеспечивает отличную стабильность при изменении напряжения питания и температуры. Новый период WDT теперь стал 4 мс (вместо 18 мс), но добавлен дополнительный 16-разрядный постделитель для совместимости со старыми моделями. Отказ от отдельного RC-генератора, обслуживающего исключительно WDT, позволил еще снизить потребление контроллера.

Обнаружение отказа тактового генератора и автоматический переход на резервный источник

Наличие трех тактовых генераторов в микроконтроллерах семейства PIC16F NanoWatt позволило реализовать несколько интересных функций. Встроенную функцию обнаружения отказа основного тактового генератора по достоинству оценят создатели медицинских приборов (например, кардиостимуляторов), разработчики пожарно-охранной техники, систем жизнеобеспечения. Как известно,в критических условиях (вибрация, пониженная температура и т.п.) может произойти отказ или уход параметров кварцевого резонатора. Автоматическое переключение на внутренний RC-генератор при отказе основного генератора позволяет сохранить работоспособность прибора. При этом устанавливается специальный флаг сбоя ГТИ и генерируется запрос на прерывание. Коэффициент постделителя может быть задан заранее, чтобы получить наилучшую частоту из 8 возможных вариантов. На этапе программирования контроллера работу модуля защиты от сбоев можно аппаратно заблокировать специальным битом в конфигурационном слове.

Режим быстрого старта

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

Предположим, что мы используем основной тактовый генератор с внешним кварцевым резонатором. Как известно, такой генератор относительно долго выходит на стабильный режим работы. Поэтому схема запуска автоматически «ждет » первые 1024 периода такого генератора, и лишь после этого разрешает работу микроконтроллера. В ряде задач такие задержки неприемлемы, для чего и предусмотрен режим быстрого старта. В режиме быстрого старта запускается внутренний RC-генератор,и программа пользователя начинает (продолжает) работу именно с ним. Одновременно стартует и основной (или дополнительный) ГТИ. После его выхода на стабильный режим работы микроконтроллер автоматически переключается с внутреннего RC-генератора на основной. При этом устанавливается специальный флаг, сообщающий программе пользователя, что тактовая частота стабилизировалась и можно приступать к выполнению подпрограмм, особо критичных к стабильности тактового генератора.

Таблица 2. Режимы микропотребления в PIC16F
Возможности микропотребления 16F684 16F627/628A 16F818/819 16F87/88 16F7x7 Коментарии
Самопрограммирование FLASH Да Нет Да Да Да Возможность удаленного программирования
Низкопотребляющий TMR1 Да Да Да Да Да 1 мкА @32 кГц
Внутренний RC генератор (2%Typ) Да Да Да Да Да Низкопотребляющий 1 мкА
Умножитель частоты RC генератора Да Нет Да Да Да от 8 МГц до 31,25 кГц (стабильность 1%)
Тактирование ядра от TMR1 Нет Нет Нет Да Да от 8 МГц до 32 кГц (стабильность <1%)
Тактирование WDT от внутр.RC Да Нет Да Да Да Низкопотребляющий 1 мкА
Большой период WDT Да Нет Нет Да Да Период WDT от 131 сек до 4 мсек
Низкопотребляющий WDT Да Да Да Да Да Низкопотребляющий 1 мкА
Режим быстрого старта Да Да Нет Да Да Быстрый запуск на внутреннем генераторе
Переключение частоты Нет Нет Нет Да Да переключение между TMR1 и INT RC
Детектор сбоя генератора Да Нет Нет Да Да -

Функцию быстрого старта при необходимости можно заблокировать на этапе программирования микроконтроллера.

По существу, практически все, что есть в NanoWatt PIC18F, есть и в новых PIC16F, с той лишь разницей, что нет четкой систематизации режимов работы, и переключение их происходит настройкой управляющих регистров периферийных модулей. Отдельно следует отметить, что приведенная блок-схема в некоторых семействах PIC16F может быть реализована не полностью, в зависимости от конкретного типа PICmicro (см.табл.2). Таким образом достигается максимальное снижение цены для некоторых типов PIC16F. К сожалению, объем статьи не позволяет привести список всех различий для PIC16F, поэтому настоятельно рекомендуем воспользоваться фирменной документацией на продукцию Microchip, которою можно найти на сайте www.microchip.com или на компакт-диске 2003 года.

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

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке