Конспект лекций по курсу "Микропроцессоры и микро-ЭВМ в Персональной электронике" для студентов специальности 2008

1.6. ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ СЕРИИ PIC

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

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

Система команд базового семейства PIC165x содержит только 33 команды. Как ни странно, и это сыграло свою роль в популяризации PIC-контроллеров. Все команды (кроме команд перехода) выполняются за один машинный цикл (или четыре машинных такта) с перекрытием по времени выборок команд и их исполнения, что позволяет достичь производительности до 5 MIPS при тактовой частоте 20 МГц.

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

·        базовое семейство PIC15Cx с 12-разрядными командами, простые недорогие микроконтроллеры с минимальной периферией;

·        PIC12Cxxx с 12-разрядными командами со встроенным тактовым генератором, выпускаемые в миниатюрном 8-выводном исполнении. Не так давно был анонсирован очередной такой “малыш” c внутренним 8-разрядным 4-канальным АЦП;

·        Mid-range PIC16x/7x/8x/9x с 14-разрядными командами. Наиболее многочисленное семейство, объединяющее микроконтроллеры с разнообразными периферийными устройствами, в число которых входят аналоговые компараторы, аналогово-цифровые преобразователи, контроллеры последовательных интерфейсов SPI, USART и I2C, таймеры-счётчики, модули захвата/сравнения, широтно-импульсные модуляторы, сторожевые таймеры, супервизорные схемы и так далее;

·        High-end PIC17C4x/5xx высокопроизводительные микроконтроллеры с расширенной системой команд 16-разрядного формата, работающие на частоте до 33 МГц, с объёмом памяти программ до 16 Кслов. Кроме обширной периферии почти все микроконтроллеры этого семейства имеют встроенный аппаратный умножитель 8х8, выполняющий операцию умножения за один машинный цикл.

Большинство PIC-контроллеров выпускаются с однократно программируемой памятью программ OTP с возможностью внутрисхемного программирования или масочным ROM. Для целей отладки предлагаются версии с ультрафиолетовым стиранием, надо признать, не очень дешёвые. Полное количество выпускаемых модификаций PIC-контроллеров составляет порядка пятисот наименований. Как не без основания утверждает MICROCHIP, продукция компании перекрывает весь диапазон применений 8-разрядных микроконтроллеров.

Особый акцент MICROСHIP делает на максимально возможное снижение энергопотребления для выпускаемых микроконтроллеров. При работе на частоте 4 МГц PIC-контроллеры, в зависимости от модели, имеют ток потребления меньше 1,5 мА, а при работе на частоте 32,768 КГц — ниже 15 мкА. Поддерживается “спящий” режим работы. Диапазон питающих напряжений PIC-контроллеров составляет 2,0...6,0 В.

В настоящее время готовится к запуску в производство новое пятое семейство PIC-контроллеров PIC18Cxxx. Новые микроконтроллеры будут иметь расширенное RISC-ядро, оптимизированное под использование нового Си-компилятора, адресное пространство программ до 2 Мбайт, до 4 Кбайт встроенной памяти данных и производительность 10 MIPS.

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


1.6.1. RISC микроконтроллеры типа PIC16C5X

МК PIC16C5X, производимые фирмой Microchip Tecnology относятся к семейству КМОП  микроконтроллеров с внутренним ПЗУ, которые отличаются низкой стоимостью, высокой производительностью, 8-битовыми операциями с данными. Они основаны    на RISC архитектуре и программируются всего через 33 команды, шириной в одно  слово ПЗУ. Все команды выполняются за один цикл (200нс).  PIC16C5X имеют характеристики, на порядок превосходящие   конкурирующую продукцию, но находятся в той же ценовой категории. Расширенные  двенадцатибитные команды приводят к сжатию кода до 2:1 по сравнению с 8-битными микроконтроллерами этого же класса. Простота изучения и применения  команд экономит время разработчика.

PIC16C5X имеют встроенные устройства, присущие большинству прикладных систем, что позволяет снизить стоимость, потребляемую мощность и увеличить    надежность конечного устройства.  Например, встроенная схема сброса и запуска генератора позволяют избавиться от внешних RC схем.  Предлагается четыре типа встроенных генераторов на выбор, включая экономичный LP (Low Power)  и дешевый RC генераторы.  Экономичный режим SLEEP, Watchdog таймер и устройство защиты кода программы снижают стоимость и увеличивают мощность плюс надежность вашей системы. Микросхемы с ультрафиолетовым стиранием идеальны для процесса отработки программы. Одновременно существуют однократно программируемые (OTP)  кристаллы. Здесь разработчик может извлечь полное преимущество из сочетания  низкой цены и гибкости OTP версий.

Серия PIC16C5X подходит для широкого спектра приложений от схем  высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).

 Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает серию PIC16C5X привлекательной даже в тех областях, где ранее не применялись микроконтроллеры.  Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.

Устройства серии PIC16C5X имеют большой выбор ПЗУ и ОЗУ разных размеров, разное количество линий ввода/вывода, различные виды возбуждения генераторов, разную скорость, климатику и типы корпусов.  Из четырех кристаллов PIC16C5x можно выбрать устройство с подходящими ПЗУ/ОЗУ и конфигурацией ввода/вывода.

Таблица 1.12

Название

ПЗУ

ОЗУ*

Ввод/Вывод+

Тип корпуса

PIC16C54

512*12

32*8

13

CERDIP-18

PIC16C55

512*12

32*8

21

CERDIP-28

PIC16C56

1K*12

32*8

13

CERDIP-18

PIC16C57

2K*12

80*8

21

CERDIP-28

* включая регистры специального назначения

  + включая линию вход RTCC счетчика.

 Устройства с ультрафиолетовым стиранием удобно использовать в прототипных и  опытных партиях. Конфигурация генератора ("RC", "XT", "HS", "LP")  программируется самим пользователем на UF EPROM. При UF стирании или по  умолчанию устанавливается тип "RC".  В зависимости от выбранного типа  генератора и частоты, рабочее напряжение питания должно быть в том же диапазоне, что будет и в будущем устройстве на OTP кристалле (если OTP  предполагается использовать).

 Тип генератора кристаллах OTP устанавливается на заводе, и они тестируются  только для этой специальной конфигурации, включая напряжение, частоту и ток  потребления.  Устройства выпускаются с чистым EPROM, что  позволяет пользователю самому программировать их. Кроме того, можно отключить Watchdog таймер и/или защиту кода путем программирования битов в  специальном EPROM.  Также доступны 16 бит для записи кода идентификации  (ID).

1.6.1.1. Обзор характеристик

·      - только 33 простые команды;

·      - все команды выполняются за один цикл(200ns), кроме команд перехода  цикла;

·      - рабочая частота 0 Гц ... 20 МГц(200 нс цикл команды);

·      - 12-битовые команды;

·      - 8-битовые данные;

·      - 512 ... 2К х 12 программной памяти на кристалле EPROM;

·      - 25  ... 72 х 8  регистров общего использования;

·      - 7 специальных аппаратных регистров SFR;

·      - двухуровневый аппаратный стек;

·      - прямая, косвенная и относительная адресация данных и команд;

Периферия и Ввод/Вывод

·      - 12 ... 20 линий ввода-вывода с индивидуальной настройкой;

·      - 8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;

·      - автоматический сброс при включении;

·      - таймер запуска генератора;

·      - Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;

·      - EPROM бит секретности для защиты кода;

·      - экономичный режим SLEEP;

·      - программируемые EPROM биты для установки режима возбуждения встроенного генератора;

·      - RC генератор   -   RC

·      - обычный кварцевый резонатор  - XT

·      - высокочастотный кварцевый резонатор   - HS

·      - экономичный низкочастотный кристалл  - LP

 КМОП технология:

·      - экономичная высокоскоростная КМОП EPROM технология;

·      - статический принцип в архитектуре;

·      - широкий диапазон напряжений питания:

·      - коммерческий:         2.5 ... 6.25 В

·      - промышленный:         2.5 ... 6.25 В

·      - автомобильный:        2.5 ... 6.0  В

·      - низкое потребление  20 mA  типично для 6В, 20МГц,   2 мА  типично для 5В, 4МГц  15 мкА типично для 3В, 32КГц.

1.6.1.2. Структура Кристаллов Pic16c5x

Архитектура основана на концепции раздельных шин и областей памяти для данных и команд (Гарвардская архитектура).  Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 12 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и  циклов выполнения.

 8 - битовая шина данных соединяет два основных функциональных элемента вместе: набор регистров, который может быть длиной до 80 адресуемых  8-битовых регистров (включая порты) и 8-битное арифметическо-логическое устройство. Первые 32 байта ОЗУ адресуются прямо и называются "Банк 0". Если кристалл PICа имеет увеличенную память, то она наращивается банками по 16 байт в каждом. Данные могут адресоваться прямо или косвенно через регистр выбора банка (f4).  Непосредственная адресация к константам организуется при помощи специальных команд, которые загружают в рабочий регистр W данные из  программной памяти.

1.6.1.3. Таймер/счетчик.

В регистр RTCC можно загрузить данные или считать из него, как из любого другого регистра. Содержимое этого регистра может быть инкрементировано фронтом внешнего сигнала, поступающим на вход RTCC кристалла, или внутренним сигналом синхронизации (CLKOUT=Fosc/4).

Структурная схема содержит элемент "MUX"- это электронный переключатель.

1.6.1.4.Регистр статуса

Размещение флагов в регистре статуса следующее:

f3 =

b7

b6

b5

b4

b3

b2

b1

b0

PA2

PA1

PA0

TO

PD

Z

DC

C

Аппаратные Биты статуса TO (Time Out) и  PD (Power Down).

1.6.1.5. Регистры ввода/вывода. ( Порты )

 Регистры ввода/вывода могут управляться, как любые другие регистры. Однако, команда "чтение" (например MOVF_6,W) всегда считывает фактический уровень  сигнала на ножке порта, независимо от того, определен этот порт как ввод, как вывод или кто-то "навалился" снаружи.  После сигнала "Сброс" все порты  ввода/вывода устанавливаются на "ввод" (электрически эквивалентно третьему состоянию), а управляющие регистры ввода/вывода (TRISA, TRISB, TRISC)  устанавливаются в единицы( конфигурация на ввод).  Для того, чтобы конфигурировать некоторые ножки порта на вывод, необходимо установить соответствующие биты в нужном TRIS регистре в "0". Это можно делать командой "TRIS_f".

1.6.1.6. Организация встроенной памяти

Встроенная программная память (EPROM) имеет ширину слова 12 бит.  Прямо адресованы могут быть до 512 слов программной памяти.  Программная память большего объема адресуется постранично, путем выбора одной из четырех доступных страниц, длиной 512 слов каждая.

1.6.1.7. Стек

В кристаллах  PIC16C5X используется двухуровневый аппаратный стек. Это означает, что он может хранить одновременно не более двух адресов возврата.

1.6.1.8. Организация внутреннего ОЗУ

8 - битовая шина данных соединяет два основных функциональных элемента вместе: набор регистров, который может быть длиной до 80 адресуемых 8-битовых регистров (включая порты) и 8-битное арифметическо-логическое устройство. Первые 32 байта ОЗУ адресуются прямо и называются "Банк 0". Если кристалл PICа имеет увеличенную память, то она наращивается банками по 16 байт в каждом. Данные могут адресоваться прямо или косвенно через регистр выбора банка (f4).  Непосредственная адресация к константам организуется при помощи специальных команд, которые загружают в рабочий регистр W данные из программной памяти.

1.6.1.9. Система команд

 Каждая команда PIC16С5х - это 12-битовое слово, которое разделено по смыслу  на части:  - 1. код операции, -2. поле для одного или более операндов,  которые участвуют или нет в этой команде. Система команд PIC16С5х  включает  в себя байт-ориентированные команды, бит-ориентированные, операции с константами и команды передачи управления.

 Для байт-ориентированных команд "f" обозначает собой регистр, с которым производится действия.  "f" обозначает один из 32 регистров PICа, который будет использовать команда с учетом текущего номера банка.  "d" - бит определяет, куда положить результат.  Если "d" =0 результат будет находиться в W регистре, "d"=1  результат будет находиться в "f", упомянутом в команде.

 Для бит-ориентированных команд "b" обозначает номер бита, участвующего в команде, а "f" -это регистр текущего банка, в котором этот бит расположен.

Для команд передачи управления и операций с константами, "k" обозначает восьми или девятибитную константу.

 Все команды выполняются в течение одного командного цикла. В двух случаях исполнение команды занимает два командных цикла:

·         исполнение условной  команды,

·        проверка условия и переход.

 Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время исполнения командного цикла будет 1 мкс.

1.6.1.10. Условия сброса

 "Сброс" может быть вызван включением питания, подачей сигнала на вводе /MCLR кристалла или при срабатывании Watchdog таймера.  Устройство будет находиться в состоянии сброса все время, пока действует таймер запуска генератора или сигнал на /MCLR имеет низкий уровень.

1.6.1.11. Watchdog таймер

 Watchdog таймер представляет собой полностью готовый встроенный RC генератор. Он будет работать, даже если основной генератор остановлен, как это бывает при исполнении команды SLEEP. Таймер вырабатывает сигнал сброса.

 Выработка таких сбросов может быть запрещена путем записи нуля в специальный бит, который расположен вне программной памяти EPROM. Эту операцию производят на этапе прожига микросхем.

Номинальная выдержка WDT составляет 18 мс (без использования делителя). 

1.6.1.12. Типы генераторов

В продаже имеются ОТР кристаллы PIC16C5X с четырьмя различными встроенными  генераторами.  Наоборот, в UF перепрограммируемых кристаллах требуемая схема встроенного генератора задается путем программирования специальных EPROM бит.

Кристаллы PIC16... могут также тактироваться и от внешних источников.

RC генератор

Когда не предъявляются требования к быстродействию и к точности по времени, ОТР кристалл, например PIC16C5X-RC, позволяет сэкономить деньги и реализовать RC генератор.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14



Реклама
В соцсетях
бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты