| 
 
 
 
Новые Flash-микроконтроллеры PIC16F со сверхнизким энергопотреблением 
от Microchip
В одном из предыдущих номеров журнала ("КиТ" № 9'2002) уже рассказывалось о микропотребляющих Flash-контроллерах компании Microchip из серии высокопроизводительных микроконтроллеров PIC18F.
В отличие от более мощного семейства PIC18F, микроконтроллеры PIC16F ориентированы в первую очередь на продукцию, выпускаемую огромными тиражами, а это требует минимальной цены микроконтроллера. Поэтому реализация всех режимов микропотребления, имеющихся в PIC18, повлекла бы увеличение цены микроконтроллера. Тем не менее разработчикам Microchip удалось решить эту непростую задачу: добавлены все новые режимы энергосбережения, и при этом цена микроконтроллеров даже несколько снизилась по сравнению со старыми моделями PIC16. Такая непростая задача была решена традиционным для Microchip способом: «каждой задаче — отдельный PICmicro!».Рассмотрев таблицу 1, можно заметить, что выпущена целая линейка семейств PIC16F с различными сочетаниями параметров. Таким образом,можно подобрать контроллер практически под любую задачу,при этом максимально сэкономив на его цене.
  
 
 Уменьшение энергопотребления при высокой производительности в технологии NanoWatt достигается тремя способами:
 
- Совершенствованием технологии изготовления кристаллов и минимизацией токов утечки.
 - Снижением напряжения питания (все Flash-микроконтроллеры Microchip могут работать при напряжениях 2 –5,5 В).
 - Специальными режимами тактирования ядра и периферии.
  
Если первые два способа традиционно использовались в ранних семействах PICmicro, то последний стал применяться в новых семействах NanoWatt PIC18 и PIC16 и позволяет более гибко использовать ресурсы микроконтроллера, затрачивая при этом минимум энергии.
 Схема тактирования контроллера
 Рассмотрим блок-схему тактирования семейств PIC16F c режимами энергосбережения (рис.1). Что изменилось по сравнению с традиционным PIC16?
   
Модуль Таймера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 крайне привлекательны для устройств автомобильной электроники, пожарной сигнализации и промышленной автоматики.
 Максим Еременко 
 
 
						 |