|
В начало
Лекция. Основные особенности МК серии
PIC
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 В; ·
PIC16C5X – базовое семейство микроконтроллеров с
12-разрядными командами (33 команды), выпускаемое в 18-, 20- и 28-выводных
корпусах. Представляют собой простые недорогие микроконтроллеры с минимальной
периферией. Способность работать при малом напряжении питания (до 2 В) делает
их удобными для применения в переносных конструкциях. В состав семейства входят
микроконтроллеры подгруппы PIC16HV5XX, способные работать непосредственно от
батареи в диапазоне питающих напряжений до 15 В; ·
PIC16CXXX – семейство микроконтроллеров среднего
уровня с 14-разрядными командами (35 команд). Наиболее многочисленное
семейство, объединяющее микроконтроллеры с разнообразными периферийными
устройствами, в число которых входят аналоговые компараторы, аналогово-цифровые
преобразователи, контроллеры последовательных интерфейсов SPI, USART и I2C,
таймеры-счетчики, модули захвата/сравнения, широтно-импульсные модуляторы,
сторожевые таймеры, супервизорные схемы и так
далее; ·
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. 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),
использование упрощенного механизма прерываний и
аппаратного (программно недоступного) стека. 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 разрядов. Здесь есть и последовательный двунаправленный
синхронно-асинхронный порт, обеспечивающий
возможность организации шины I2C. Приборы PIC16C71 и PIC16C74
содержат встроенный многоканальный 8-разрядный АЦП с устройством
выборки-хранения. Помимо памяти программ в PIC предусмотрено несколько индивидуально прожигаемых
перемычек, с помощью которых можно на этапе программирования кристалла выбрать
тип тактового генератора, отключить сторожевой таймер
или систему сброса, включить защиту памяти программ от копирования, а также
записать серийный номер кристалла (16 бит). С программной точки зрения PIC-контроллер представляет собой 8-разрядный
RISC-процессор с гарвардской архитектурой. Число команд небольшое — от 33 до
35. Все команды имеют одинаковую длину и, кроме команд ветвления, выполняются
за четыре периода тактовой частоты (в отличие, например, от 12 периодов для
i87C51). Поддерживаются непосредственный, косвенный и относительный методы адресации, можно эффективно управлять отдельными битами в
пределах всего регистрового файла. Стек реализован аппаратно. Его максимальная
глубина составляет два или восемь уровней в зависимости от типа контроллера.
Почти во всех микросхемах PIC есть система прерываний, источниками которых могут быть таймер и внешние сигналы. Система команд практически
симметрична и, как следствие, легка в освоении. Применение PIC-контроллеров
целесообразно в несложных приборах с ограниченным током потребления (автономные
устройства, приборы с питанием от телефонной линии и т.п.). Благодаря малому
количеству компонентов, используемых при построении таких приборов, их размеры
уменьшаются, а надежность увеличивается. Типичным представителем микроконтроллеров
семейства PIC16CXXX являются микроконтроллеры подгруппы PIC16F8X. |
|