PIC-Контроллеры......................................................................................
ИТАК, вкратце - ЧТО ТАКОЕ PIC ?........................................................
Семейство PIC16CXX...............................................................................
Описание контроллера PIC16C84....................................................
Обзор характеристик..................................................................................
Структурная схема PIC16C84..................................................................
Разводка ножек..........................................................................................
Назначение ножек......................................................................................
Обзор регистров и ОЗУ............................................................................
RTCC таймер/счетчик................................................................................
Организация встроенного ПЗУ.................................................................
Данные в EEPROM....................................................................................
Организация прерываний.........................................................................
Обзор регистров/портов...........................................................................
Обзор команд и обозначения....................................................................
Условия сброса..........................................................................................
Watch Dog таймер......................................................................................
Типы генераторов......................................................................................
Регистр OPTION........................................................................................
Конфигурационное слово.........................................................................
Индивидуальная метка..............................................................................
Защита программ от считывания.............................................................
Режим пониженного энергопотребления..................................................
Максимальные значения электрических параметров..............................
Параметры постоянного тока...................................................................
Скоростные характеристики.....................................................................
Отличия контроллера PIC16C71......................................................
Структурная схема PIC16C71.................................................................
Разводка ножек..........................................................................................
Назначение ножек......................................................................................
Обзор регистров и ОЗУ............................................................................
Организация прерываний.........................................................................
Обзор регистров/портов...........................................................................
Аналого-цифровой преобразователь (АЦП)...........................................
Максимальные значения электрических параметров..............................
Параметры постоянного тока...................................................................
Скоростные характеристики.....................................................................
Характеристики аналого-цифрового преобразователя...........................
Другие контроллеры...........................................................................
Области применения..........................................................................
Поддержка разработки......................................................................
Несколько лет назад, в мире однокристальных микропроцессоров появилось новое семейство созданное американской фирмой Microchiр. Новичок очень удачно вписался в палитру выпускаемых микроконтроллеров и, невзирая на традиционно жесткую конкуренцию со стороны признанных авторитетов, бурно прогрессирует. Об этом свидетельствует и постоянное появление новых представителей семейства PIC, и постоянный рост объемов продаж на мировых рынках. В области микроконтроллеров т.н. ”нижнего уровня” микроконтроллеры семейства PIC успешно конкурируют с известными образцами фирм Интел и Моторола, Сименс и Филипс. Что делает PIC столь привлекательным для массовых изделий? Практически идеальное сочетание высочайшего быстродействия, низкого энергопотребления, высокой степени интеграции памяти и периферийных устройств в малом корпусе и при всем этом - низкой цены.
Микроконтроллеры PIC - это чемпионы производительности среди однокристальных микро-ЭВМ широкого применения. Это достигнуто в основном из-за их RISC (reduced instruction set computer ) архитектуры. Она предполагает, что все инструкции имеют одинаковую длину ( 14 бит) и выбираются за один машинный цикл. Это широкий и весьма тщательно подобранный набор, специально предназначенный для задач управления, ввода/вывода сигналов. Здесь нет сложных арифметических действий типа умножения, их Вам придется программировать самостоятельно или позаимствовать из библиотеки подпрограмм.
RISC архитектура дает производительность порядка 6 млн. оп./с., и оставляет по скорости далеко позади прежних фаворитов. Приведем выдержки из сравнительного анализа, проведенного фирмой Microchiр, который иллюстрирует скоростные преимущества PIC контроллеров и компактность их программного кода. Сравнивались участки функционально одинаковых программ для разных однокристальных ЭВМ. Использовались такие
типичные тесты: - упакованное BCD преобразование, “ощупывание” бита с ветвлением по нему, цикл по счетчику, побитный сдвиг байта, программная выдержка времени.
Сравнивался PIC16C5x @ 20MHz и:
· Motorola MC68HC04 @ 11mhz,
· Motorola MC68HC05 @ 4.2MHz,
· Intel 8048 @ 11mhz,
· Zilog Z86Cxx @ 12MHz,
· National COP800 @20mhz.
Результаты сравнительного анализа однокристальных микро ЭВМ и PIC контроллера приведены ниже.
PIC16Cx | COP800 | MC86HC04 | MC68HC05 | Z86Cxx | 8048 | |
Относительный размер кодов | 1.00 | 1.29 | 1.82 | 2.24 | 1.51 | 1.58 |
Скорость выполнения | 1.00 | 0.11 | 0.02 | 0.14 | 0.21 | 0.11 |
Внутренняя программная память контроллеров заполняется самим пользователем и бывает двух исполнений: однократно программируемое ПЗУ и многократное с ультрафиолетовым стиранием, помимо этого есть контроллеры с электрически перепрограммируемым ПЗУ. Очень важный для многих штрих - это наличие бита секретности.
Объем ПЗУ зависит от марки PIC контроллера: от 512*12 бит для самых простых приложений и до 8К*16 бит для более сложных. Встроенное ОЗУ данных с 8-ми битной организацией варьируется по объему от 32 до 454 байт, как вариант 64*8 EERAM.
PIC контроллер может “заводиться” как от кварца, так и от обычной RC цепочки. При этом впечатляет диапазон тактовой частоты процессора - от 32 кГц до 20 МГц! Внешних RC цепей для формирования сигнала сброса вообще не требуется! Микропроцессор его вырабатывает сам автоматически при включении питания или при подаче внешнего сигнала MCLR. Напряжение питания может изменяться в пределах, от плюс 2,5 до 6,25 Вольт. Это делает его незаменимым для портативных приложений с питанием от батарей.
Ток потребления зависит от выбранной частоты генерации. Так, например, при наименьшей частоте в 32 кГц он очень мал и составляет всего 15 мкА (!). Далее, ток возрастает до 3 мА с ростом частоты до 4 МГц и в пределе может стать 20 мА на частоте 20 МГц. Для минимизации энергопотребления применяют импульсную работу PIC контроллера, т.е. он находится в “спячке” с полным сохранением содержимого памяти, пока внешнее событие не потребуется какого-то его действия. Кроме внешнего сигнала MCLR, другим событием, которое может “пробуждать” контроллер является сигнал от встроенного программируемого сторожевого таймера (watch dog), который не позволит процессору “заснуть” навсегда. Линий ввода/вывода от 12 до 33, в зависимости от корпуса. Все линии двунаправленные с произвольным программированием их на ввод/вывод. Некоторые модели имеют также и встроенный 8-ми битовый АЦП с системой прерываний, вырабатываемых этим АЦП и компараторами кодов на линиях ввода/вывода. Несмотря на К-МОП технологию, линии вывода достаточно мощны и в состоянии напрямую управлять сегментами светодиодного индикатора. Втекающий и вытекающий ток до 25 мА на всех линиях одновременно и до 50мА только на одной! Эта особенность линий вывода позволяет реализовать удивительно простое сопряжение со схемами пользователя.
Microchiр предоставляет пользователю широкую гамму PIC контроллеров, отличающихся друг от друга количественными характеристиками, встроенными аппаратными функциями и соответственно ценой. Широкий выбор позволяет достичь почти идеального соотношения между эффектом от применения того или иного PICa и затратами. Рассматриваемые изделия микроконтроллеры семейства выпускаются в различном исполнении: корпуса DIP, SOIC, SSOP, PQFP, PLSS, диапазон рабочих температур -40 С +125 С.
PIC16CXX - это 8-разрядные микроконтроллеры с RISC архитектурой, производимые фирмой Microchiр Technology. Это семейство микроконтроллеров отличается низкой ценой, низким энергопотреблением и высокой скоростью. Микроконтроллеры имеют встроенное ЭППЗУ программы, ОЗУ данных и выпускаются в 18 , 28 и 40 выводных корпусах.
PIC OTP - это однократно программируемые пользователем контроллеры, предназначенные для полностью оттестированных и законченных изделий, в которых не будет происходить дальнейших изменений кода.
Для отладки программ и макетирования выпускается вариант контроллеров с ультрафиолетовым стиранием. Эти контроллеры допускают большое число циклов записи/стирания и имеют очень малое время стирания - обычно 1-2 минуты. Однако цена таких контроллеров существенно выше, чем однократно программируемых, поэтому их невыгодно устанавливать в серийную продукцию. Кроме того, они имеют малое (1-3 месяца) время хранения информации.
Для изделий, программа которых может меняться, либо содержит какие-либо переменные части, таблицы, параметры калибровки, ключи и т.д., выпускается электрически стираемый и перепрограммируемый контроллер PIC16C84. Он также содержит электрически перепрограммируемое ПЗУ данных.
Мы начнем детальное описание микросхем семейства PIC с тех особенностей и преимуществ, которые выделяют эти микроконтроллеры среди других. Для применений, связанных с защитой информации, каждый PIC имеет бит секретности, который может быть запрограммирован для запрещения считывания программного кода и ПЗУ данных. При программировании сначала записывается программный код, проверяется на правильность записи, а затем устанавливается бит секретности. Если попытаться прочитать микросхему с установленным битом секретности, то для PIC16C5X старшие 8 разрядов кода будут считываться как 0, а младшие 4 разряда будут представлять собой скремблированные 12 разрядов команды. Для PIC16C84 аналогично 7 старших разрядов будут считываться нулями, а 7 младших разрядов будут представлять скремблированные 14 разрядов команды. Электрически перепрограммируемое ПЗУ данных PIC16C84 при установке бита защиты не может быть считано.