Общие сведения
История создания PIC –контроллеров.
Прообразом контроллеров семейства PIC с RISC –архитектурой послужил периферийный контроллер ( Peripheral Interface Controller — PIC), разработанный в 1975 году отделением компании General Instrument Microelectronics Inc для поддержки ввода–вывода 16–разрядного процессора. Поскольку к контроллеру не предъявлялось высоких требований по обработке данных, он имел ограниченный набор команд, при этом почти все команды в нем выполнялись за один машинный цикл. Другая особенность контроллера — использование Гарвардской архитектуры, основанной на разделении шин и областей памяти для данных и команд.
Позже отделение компании General Instrument выделилось в самостоятельную фирму ( Microchip Technology Ltd .), которая в конце 1980–х годов разработала и изготовила первые модели микроконтроллеров семейства Р1С16С5х. Дальнейшее развитие и совершенствование контроллеров шло по пути расширения состава периферийных устройств и набора команд, совершенствования технологии и улучшения характеристик. За прошедшие годы фирмой выпущено несколько семейств PIC, каждое из которых постоянно пополняется новыми моделями (версиями).
Обзор PIC– контроллеров.
В настоящее время фирма Microchip выпускает пять семейств микроконтроллеров:
? PIC 16 C 5 X включает недорогие контроллеры с минимальным набором периферийных устройств:
? Р I С12Сххх содержит МК в миниатюрном 8–выводном корпусе со встроенным тактовым генератором и модулем 8–разрядного АЦП (для некоторых моделей);
? Р I С16х/7х/8х/9х объединяет МК с развитой периферией (таймеры–счетчики с опциями захвата/сравнения, широтно–импульсные модуляторы, аналоговые компараторы, АЦП, контроллеры последовательных интерфейсов);
? Р IC 17С4х/5хх включает высокопроизводительные МК с расширенной системой команд и обширной периферией. Микроконтроллеры этого семейства имеют встроенный аппаратный умножитель 8 r 8, выполняющий операцию умножения за один машинный цикл;
? Р I С18Сххх — новое семейство с оптимизированным под использование Си–компилятора RISC –ядром и частотой внутренней шины до 10 МГц.
Потребителям предоставляются три модели микроконтроллеров семейства PICMicro с различными сочетаниями характеристик и свойств.
Младшие модели.
К ним относятся МК серии 16С5х и 8–выводные МК серии 12С5хх, которые реализуют нижний уровень возможностей микроконтроллеров семейства PICMicro и используются для создания небольших и простых приложений. Они выполняют подмножество команд старших моделей и программно совместимы с ними. Младшие модели сыграли большую роль в развитии семейства PICMicro . Однако ограниченные возможности обработки прерываний, малый объем доступной памяти программ и RAM , отсутствие внутрисистемного программирования и портов ввода/вывода с расширенными функциями, снижение стоимости технологических затрат явились причинами перехода к моделям микроконтроллеров среднего уровня, которые продавались по такой же (и даже более низкой) цене, как и МК младших моделей.
Средние модели.
Модели среднего уровня образуют законченную линию микроконтроллеров (серия 16Схх) с множеством различных функций и получили наиболее широкое распространение. Они имеют такую же базовую архитектуру, как микроконтроллеры младших моделей, но существенно отличаются возможностями обработки прерываний.
Старшие модели.
Микроконтроллеры старших моделей (серии 17Схх) разрабатывались для взаимодействия с другими цифровыми устройствами. Поэтому в них отсутствуют имеющиеся в моделях среднего уровня АЦП и устройства для подключения датчиков. В контроллерах используются 16–битные команды, способные адресовать по 128К байт памяти программ и памяти данных (64К слов по 16 бит). Для чтения/записи памяти программ в МК используется модифицированное ядро центрального процессора, позволяющее различным командам обращаться ко всем регистрам процессора. Это повышает гибкость микроконтроллеров и расширяет области их применения. Младшие и средние модели такой возможностью не обладают. Кроме того, в старших моделях PICMicro имеется несколько векторов прерываний, в то время как в микроконтроллерах среднего уровня используется только один вектор прерывания.
Характеристики контроллеров.
Следует отметить, что различный аппаратный состав и характеристики имеют не только микроконтроллеры разных семейств, но и модели (версии) одного семейства. Однако общим для большинства моделей контроллеров является:
? RISC –архитектура (с двухступенчатым конвейером), обеспечивающая выполнение большинства команд процессора за один машинный цикл;
? Гарвардская архитектура (с раздельными шинами данных и программ), обеспечивающая одновременный доступ к памяти данных и программ;
? КМОП технология, обеспечивающая:
• полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов;
• широкий диапазон напряжений питания (2…6 В) и температур (–40…+70 °С);
• малое энергопотребление;
? наличие таймера–счетчика с программируемым предварительным делителем, сторожевого таймера с встроенным R С–генератором, таймера–счетчика реального времени — ТМ R 0, регистра состояния — STATUS ; регистра косвенной адресации — FSR и др.
? прямой и косвенный режимы адресации; режим пониженного энергопотребления.
В качестве примера в табл. 6.1.1 приведены показатели МК средних моделей.
Достоинства контроллеров.
К достоинствам микроконтроллеров PIC следует отнести:
? высокую производительность, которая позволяет реализовывать различные устройства, работающие в реальном времени с большими скоростями (системы управления автомобильными и электрическими двигателями, видеоигры и др.). В частности, производительность Р I С16С5х при частоте тактирования в 20 МГц составляет 5 MIPS (Million Instruction Per Second — миллионов инструкций в секунду). Высокая производительность достигается благодаря использованию:
• RISC –процессора, большинство команд которого выполняется за один машинный цикл (команды перехода и операции табличного чтения выполняются за два цикла);
• двухступенчатого конвейера, совмещающего выполнение текущей команды с выборкой из памяти следующей команды;
• Гарвардской архитектуры, обеспечивающей одновременное считывание команд (12, 14 или 16 бит) и данных (8 или 1 бит);
? малое энергопотребление, открывающее широкие возможности для создания устройств с батарейным питанием, питанием от телефонной линии, солнечных батарей (мобильные телефоны, электронные сторожа и др.). Для микроконтроллеров PIC 17, имеющих широкий набор аппаратных средств, потребление тока составляет:
• менее 5 мА при 5 В, 4 МГц;
• 100 мкА при 4,5 В, 32 кГц;
• менее 1 мкА при 5 В в режиме ожидания;
? мощную поддержку разработок, которую осуществляет фирма Microchip .
В качестве средств поддержки разработчику приложений предоставлены ассемблер MPASM и макроассемблер, симулятор MPSIM, интегрированная система отладки для Windows MPLAB, программный, внутрисхемный и отладочный эмуляторы, универсальный программатор и компилятор С. Кроме того, имеются библиотеки для работы с фиксированной и плавающей точкой, с последовательным интерфейсом и с аналого–цифровым преобразователем, а также большое количество документированных примеров применения микроконтроллеров PIC в различных областях с исходными текстами. Обилие средств поддержки разработчика способствует сокращению сроков создания приложений;
? совместимость, проявляющуюся в том, что программы для микроконтроллеров более ранних семейств PIC16C5X и PIC16CXX могут быть легко перенесены на семейство устройств PIC17CXX;
? разнообразие используемых способов программирования «внутри» каждого семейства PIC.
Фирма Microchip выпускает:
• микроконтроллеры с ультрафиолетовым стиранием, в которых память может быть очищена и контроллер перепрограммирован с помощью программатора PRO МАТЕ фирмы Microchip для функционирования в любом режиме, например, в режиме с использованием RC –генератора. Эти микроконтроллеры предназначены для экспериментальных разработок и отладки программ;
• однократно программируемые контроллеры ( One – Time Programming PROM — OTP ), изготовленные в пластиковом корпусе, позволяют пользователю записать в память программу и биты конфигурации только один раз. Они применяются в тех случаях, когда нет необходимости часто менять содержание программы или конфигурацию микроконтроллера в выпускаемом устройстве;
• контроллеры, программируемые изготовителем по заказу пользователя ( Quality TP — QTP ). Этот сервис, предлагаемый фирмой Microchip , предназначен для устоявшегося кода программы;
• контроллеры с серийными номерами ( SQTP ), программируемые изготовителем по заказу пользователя. В этих МК несколько определенных пользователем ячеек содержат номер, уникальный для отдельного устройства. Серийный номер может быть случайным, псевдослучайным и последовательным. Его можно использовать как код доступа, пароль или идентификатор;
• масочные контроллеры ( ROM ), в которых используются масочные ПЗУ. Такие контроллеры, имеющие низкую стоимость, изготавливаются для массового потребителя или при больших объемах заказа;
? высокую надежность, низкую стоимость и др.
Благодаря указанным достоинствам микроконтроллеры находят широкое и разнообразное применение.
Области применения.
К основным областям применения Р I С следует отнести:
? компьютерные устройства (мыши, модемы, принтеры, плоттеры, сканеры, сетевые карты и др.);
? устройства связи (микро–АТС, автоответчики, АОНы, мобильные телефоны, факс–аппараты, радиомодемы, пейджеры и др.);
? автомобильная электроника (автомобильная сигнализации, радарные детекторы, системы управления зажиганием и впрыском топлива, приборные панели и др.);
? промышленные устройства (устройства управления электродвигателями, промышленные роботы, интеллектуальные датчики, регуляторы температуры, влажности, давления и др.);
? бытовые устройства (аудио системы, С D –проигрыватели, системы сигнализации, счетчики воды, газа и электроэнергии, устройства заряда батарей, игрушки и др.).
Мощная RISC –архитектура, однократно или многократно электрически перепрограммируемые пользователем ПЗУ, минимальное энергопотребление, высокая производительность, минимальные размеры корпуса и низкая стоимость позволили микроконтроллерам Р I С16/17 занять достойное место во многих областях инженерных применений.
В других статьях раздела рассматриваются микроконтроллеры серии Р I С16С5х, как наиболее доступные для понимания.