Основы микропроцессорной техники

Раздел 5. Однокристальный микроконтроллер серии PIC


«Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения

Раздел 5 - Страницы: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | »

5.1. Основные особенности микроконтроллеров серии PIC

5.1.1. Состав и назначение семейств PIC-контроллеров

Микроконтроллеры семейств PIC (Peripheral Interface Controller) компании Microchip объединяют все передовые технологии микроконтроллеров: электрически программируемые пользователем ППЗП, минимальное энергопотребление, высокую производительность, хорошо развитую RISC-архитектуру, функциональную законченность и минимальные размеры. Широкая номенклатура изделий обеспечивает использование микроконтроллеров в устройствах, предназначенных для различных сфер применения.

Первые микроконтроллеры компании Microchip PIC16C5x появились в конце 1980-х годов и благодаря своей высокой производительности и низкой стоимости составили серьезную конкуренцию 8-разрядным МК с CISC-архитектурой, которые изготавливались в то время.

Высокая скорость выполнения команд в PIC-контроллерах достигается за счет использования двохшиннои гарвардской архитектуры вместо традиционной одношиннои фон-нейманивськои. Гарвардская архитектура базируется на наборе регистров с разделенными шинами и адресными пространствами для команд и данных. Все ресурсы микроконтроллера, такие как порты ввода / вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.

Микроконтроллеры PIC содержат RISC-процессор с симметричной системой команд, позволяющий выполнять операции с любым регистром, используя произвольный метод адресации. Пользователь может сохранять результат операции в самом регистре-аккумуляторе или во втором регистре, который используется для операции.

В настоящее время компания Microchip выпускает пять основных семейств 8-разрядных RISC-микроконтроллеров, совместимых снизу вверх по программным кодом:

  • PIC12CXXX - семейство микроконтроллеров, выпускаемых в миниатюрном 8-выводном исполнении. Эти микроконтроллеры выпускаются как с 12-разрядной (33 команды), так и с 14-разрядной (35 команд) системой команд. Содержат встроенный тактовый генератор, таймер / счетчик, сторожевой таймер, схему управления прерываниями. В составе семейства есть микроконтроллеры со встроенным 8-разрядным четырехканальный АЦП. Способны работать при напряжении питания до 2,5 В;
  • PIC16C5Х - базовое семейство микроконтроллеров с 12-разрядными командами (33 команды), выпускаемого в 18 -, 20 - и 28-выводных корпусах. Представляют собой простые недорогие микроконтроллеры с минимальной периферией. Способность работать при малом напряжении питания (до 2 В) делает их удобными для применения в переносных конструкциях. В состав семейства входят микроконтроллеры подгруппы PIC16HV5XX, способные работать непосредственно от батареи в диапазоне напряжений питания до 15 В;
  • PIC16CXXX - семейство микроконтроллеров среднего уровня с 14-разрядными командами (35 команд). Наиболее многочисленное семейство, объединяющий микроконтроллеры с разнообразными периферийными устройствами, в состав которых входят аналоговые компараторы, аналогово-цифровые преобразователи, контроллеры последовательных интерфейсов SPI, USART и I 2 C, таймеры-счетчики, модули захвата / сравнения, широтно-импульсные модуляторы, сторожевые таймеры, супервизорни схемы и т.д.;
  • PIC17CXXX - семейство высокопроизводительных микроконтроллеров с расширенной системой команд 16-разрядного формата (58 команд), работающих на частоте до 33 МГц, с объемом памяти программ до 16 Кслив. Кроме большой периферии, 16-уровневого аппаратного стека и векторной система прерываний, почти все микроконтроллеры этого семейства имеют встроенный аппаратный множитель 8х8, выполняющий операцию умножения за один машинный цикл. Есть одними из самых быстродействующих в классе 8-разрядных микроконтроллеров;
  • PIC18CXXX - семейство высокопроизводительных микроконтроллеров с расширенной системой команд 16-разрядного формата (75 команд) и встроенным 10-разрядным АЦП, работающие на частоте до 40 МГц. Содержат 31-уровневый аппаратный стек, встроенную память команд до 32 Кслив и способны адресовать до 4 Кбайт памяти данных и до 2 Мбайт внешней памяти программ. Расширенное RISC-ядро микроконтроллеров данного семейства оптимизированное под использование нового Си-компилятора.

Большинство PIC-контроллеров выпускаются с однократно программируемой памятью программ (OTP), с возможностью внутрисхемного программирования или масочный ПЗУ. Для целей отладки предлагаются более дорогие версии с ультрафиолетовым стиранием и Flash-памятью. Полный список модификаций PIC-контроллеров, выпускаемых включает порядка пятисот наименований. Поэтому продукция компании перекрывает почти весь диапазон применений 8-разрядных микроконтроллеров.

С программных средств отладки наиболее известны и доступны различные версии ассемблере, а также интегрированное программное среда MPLAB. Российские производители программаторов и аппаратных видлагоджувальнх средств также уделяют внимание PIC-контроллерам. Выпускаются как специализированные программатор, такие как PICPROG, программирующие почти весь спектр PIC-микроконтроллеров, так и универсальные: UNIPRO и Стерх, поддерживающие наиболее известные версии PIC-контроллеров.

Наиболее распространенными семействами PIC-контроллеров является PIC16CXXX и PIC17CXXX.

5.1.2. Микроконтроллеры семейств PIC16CXXX и PIC17CXXX

Основным назначением микроконтроллеров семейств PIC16 и PIC17, как следует из аббревиатуры PIC (Peripheral Interface Controller), является выполнение интерфейсных функций. Этим пидрозумиваеться особенности их архитектуры:

  • RISC-система команд, характеризующаяся малым набором одноадресных инструкций (33, 35 или 58), каждая из которых имеет длину в одно слово (12, 14 или 16 бит) и большинство выполняется за один машинный цикл. В системе команд отсутствуют сложные арифметические команды (умножение, деление), предельно сок ращен набор условных переходов;
  • высокая скорость выполнения команд: при тактовой частоте 20 МГц время машинного цикла составляет 200 нс (быстродействие составляет 5 млн. операций / сек);
  • наличие мощных драйверов (до 25 мА) на линиях портов ввода / вывода, что позволяет подключать непосредственно к ним достаточно мощное нагрузки, например, светодиоды.
  • низкая мощность потребления;
  • ориентация на ценовую нишу предельно низкой стоимости, определяющий использование дешевых корпусов с малым количеством выводов (8, 14, 18, 28), отказ от внешних шин адреса и данных (кроме PIC17C4X), использование упрощенного механизма прерываний и аппаратного (программно недоступного) стека .

5.1.3. Особенности архитектуры микроконтроллеров семейства PIC16CXXX

Микроконтроллеры семейства PIC16CXXX, выполненные по технологии HCMOS представляют собой 8-разрядные микроконтроллеры на основе RISC-процессора, выполненные по гарвардским архитектурой. Имеют встроенный ПЗУ команд объемом от 0,5 до 4 Кслив (разрядность слова команд равен 12 - 14 бит). Память данных PIC-контроллеров организована в виде реестрового файла объемом 32 - 128 байт, в котором от 7 до 16 регистров отведено для управления системой и обмена данными с внешними устройствами.

Одним из основных преимуществ этих устройств очень широкий диапазон напряжений питания (2 - 6 В). Ток потребления на частоте 32768 Гц составляет менее 15 мкА, на частоте 4 МГц - 1 - 2 мА, на частоте 20 МГц 5 - 7 мА и в режиме микроспоживання (режим SLEEP) - 1 - 2 мкА. Выпускаются модификации для работы в трех температурных диапазонах: от 0 до +70 ° С, от -40 до +85 ° С и от -40 до +125 ° С.

Каждый из контроллеров содержит универсальные (от 1 до 3) сторожевые таймеры, а также надежно построенную систему инициализации при включении питания. Частота внутреннего тактового генератора задается или кварцевым резонатором, или RC-звеном в диапазоне 0 - 25 МГц. PIC-контроллеры имеют от 12 до 33 линий цифрового ввода-вывода, причем каждая из них может быть независимо настроена на ввод или вывод.

В устройство PIC16C64 входит широтно-импульсный модулятор, с помощью которого можно реализовать ЦАП с разрешением до 16 разрядов. Здесь есть и последовательный двунаправленных синхронно-асинхронный порт, обеспечивающий возможность организации шины I 2 C. Приборы PIC16C71 и PIC16C74 содержат встроенный многоканальный 8-разрядный АЦП с устройством выборки-хранения.

Кроме памяти программ в PIC предусмотрено несколько перемычек, что индивидуально пропалюються, с помощью которых можно на этапе программирования кристалла выбрать тип тактового генератора, отключить сторожевой таймер или систему инициализации, включить защиту памяти программ от копирования, а также записать серийный номер кристалла (16 бит).

С программной точки зрения PIC-контроллер это 8-разрядный RISC-процессор с гарвардским архитектурой. Количество команд невелика - от 33 до 35. Все команды имеют одинаковую длину и, кроме команд ветвления, выполняются за четыре периода тактовой частоты (в отличие, например, от 12 периодов для I87C51. Поддерживаются непосредственный, косвенный и относительный методы адресации, можно эффективно управлять отдельными битами в пределах всего реестрового файла. Стек реализован аппаратно. Его максимальная глубина составляет два или восемь уровней в зависимости от типа контроллера. Почти во всех микросхемах PIC является система прерываний, источниками которых могут быть таймер и внешние сигналы. Система команд практически симметрична и, как следствие, легкая в освоении.

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

Типичным представителем микроконтроллеров семейства PIC16CXXX есть микроконтроллеры подгруппы PIC16F8X.


«Структура курса Раздел 5 - Страницы: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | »