MC_PIC (1031647), страница 2
Текст из файла (страница 2)
Особенности архитектуры микроконтроллеров семейства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.5.2.
Микроконтроллеры подгруппы PIC16F8X5.2.1. Основные характеристикиМикроконтроллеры подгруппы PIC16F8X относятся к семейству 8-разрядных КМОПмикроконтроллеров группы PIC16CXXX, для которых характерны низкая стоимость, полностью статическая КМОП-технология и высокая производительность.В состав подгруппы входят МК PIC16F83, PIC16CR83, PIC16F84 и PIC16CR84. Основные характеристики МК подгруппы PIC16F8X приведены в табл.
5.1.Все микроконтроллеры подгруппы PIC16F8X используют гарвардскую архитектуру сRISC-процессором, обладающую следующими основными особенностями:− используются только 35 простых команд;− все команды выполняются за один цикл (400 нс при частоте 10 МГц), кроме командперехода, которые требуют 2 циклов;− рабочая частота 0 Гц ... 10 МГц;− раздельные шины данных (8 бит) и команд (14 бит);− 512 х 14 или 1024 х 14 память программ, выполненная на ПЗУ или электрически перепрограммируемой Flash- памяти;− 15 восьмиразрядных регистров специальных функций (SFR);− восьмиуровневый аппаратный стек;прямая, косвенная и относительная адресация данных и команд;36 или 68 восьмиразрядных регистров общего назначения (GPR) или ОЗУ;четыре источника прерывания:внешний вход RB0/INT;переполнение таймера TMR0;изменение сигналов на линиях порта B;завершение записи данных в память EEPROM;64 x 8 электрически перепрограммируемая EEPROM память данных с возможностьювыполнения 1000000 циклов стирания/записи;− сохранение данных в EEPROM в течение как минимум 40 лет.−−−−−−−−Таблица 5.1.
Основные характеристики МК подгруппы PIC16F8X.ПараметрPIC16F83 PIC16CR83 PIC16F84 PIC16CR84Максимальная частота, МГц10101010Flash-память программ, слов5121KПЗУ программ, слов5121KПамять данных, байт36366868Память данных в РПЗУ (EEPROM), байт 64646464ТаймерыTMR0TMR0TMR0TMR0Число источников прерываний4444Число линий ввода/вывода13131313Диапазон напряжений питания, В2,0 – 6,02,0 – 6,02,0 – 6,02,0 – 6,0Число выводов и тип корпуса18 DIP, SOIC 18 DIP, SOIC 18 DIP, SOIC 18 DIP, SOICМикроконтроллеры подгруппы PIC16F8X обладают развитыми возможностями ввода/вывода:− 13 линий ввода-вывода с индивидуальной установкой направления обмена;− высокий втекающий/вытекающий ток, достаточный для управления светодиодами:− максимальный втекающий ток – 25 мА;− максимальный вытекающий ток – 20 мА;− 8-битный таймер/счетчик TMR0 с 8-битным программируемым предварительным делителем.Специализированные микроконтроллерные функции включают следующие возможности:− автоматический сброс при включении (Power-on-Reset);− таймер включения при сбросе (Power-up Timer);− таймер запуска генератора (Oscillator Start-up Timer);− сторожевой (Watchdog) таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;− EEPROM бит секретности для защиты кода;− экономичный режим SLEEP;− выбираемые пользователем биты для установки режима возбуждения встроенного генератора;− последовательное встроенное устройство программирования Flash/EEPROM памятипрограмм и данных с использованием только двух выводов.КМОП технология обеспечивает МК подгруппы PIC16F8X дополнительные преимущества:− статический принцип работы;− широкий диапазон напряжений питания: 2,0 ...
6,0 В;− низкое энергопотребление:− менее 2 мА при 5В и 4МГц;− порядка 15 мкА при 2В и 32КГц;− менее 1 мкА для SLEEP-режима при 2В.Микроконтроллеры подгруппы PIC16F8X различаются между собой только объемомОЗУ данных, а также объемом и типом памяти программ. Наличие в составе подгруппы МКс Flash-памятью программ облегчает создание и отладку прототипов промышленных образцов изделий.5.2.2. Особенности архитектурыУпрощенная структурная схема МК подгруппы PIC16F8X приведена на рис. 5.1.Рис. 5.1.
Структурная схема МК подгруппы PIC16F8X.Архитектура основана на концепции раздельных шин и областей памяти для данных идля команд (гарвардская архитектура). Шина данных и память данных (ОЗУ) – имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такаяконцепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием повремени выборок команд и циклов выполнения.
14-битовая ширина программной памятиобеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за одинцикл, исключая команды переходов.Микроконтроллеры PIC16F83 и PIC16CR83 адресуют 512х14 памяти программ, аPIC16F84 и PIC16CR84 – 1Кх14 памяти программ.
Вся память программ является внутренней.Микроконтроллер может прямо или косвенно обращаться к регистрам или памятиданных. Все регистры специальных функций, включая счетчик команд, отображаются на память данных. Ортогональная (симметричная) система команд позволяет выполнять любуюкоманду над любым регистром с использованием произвольного метода адресации. Ортогональная архитектура и отсутствие специальных исключений делает программирование МКгруппы PIC16F8X простым и эффективным.Назначение выводов МК подгруппы PIC16F8X приведено в табл. 5.2.Таблица 5.2.
Назначение выводов МК подгруппы PIC16F8X.Обозначение ТипБуферОписаниеВход кристалла генератора, RC-цепочки или вход внешнего тактоOSC1/CLKIN IТШ/КМОП1)вого сигналаВыход кристалла генератора. В RC-режиме – выход 1/4 частотыOSC2/CLKOUT O OSC1Сигнал сброса/вход программирующего напряжения. Сброс низ/MCLRI/P ТШким уровнем.RA0I/O ТТЛRA1I/O ТТЛPORTA – двунаправленный порт ввода/выводаRA2I/O ТТЛRA4/T0CKI может быть выбран как тактовый вход таймеRA3I/O ТТЛра/счетчика TMR0. Выход с открытым стоком.RA4I/O ТШ/T0CKIRB0/INTI/O ТТЛ/ТШ2)RB1I/O ТТЛPORTB – двунаправленный порт ввода/вывода.
Может быть запрограммирован в режиме внутренних активных нагрузок на лиRB2I/O ТТЛнию питания по всем выводам. Вывод RB0/INT может быть выRB3I/O ТТЛбран как внешний вход прерывания. Выводы RB4...RB7 могутRB4I/O ТТЛбыть программно настроены как входы прерывания по изменениюсостояния на любом из входов. При программировании МК RB6RB5I/O ТТЛ3)используется как тактовый, а RB7 как вход/выход данных.RB6I/O ТТЛ/ТШRB7I/O ТТЛ/ТШ4)Таблица 5.2.
Назначение выводов МК подгруппы PIC16F8X (продолжение).ОбозначениеТипБуферОписаниеVddPПоложительное напряжение питанияVssPОбщий провод (земля)В таблице использованы следующие обозначения: I — вход; O — выход; I/O — вход/выход; P — питание; – — не используется; ТТЛ — ТТЛ вход; ТШ — вход триггера Шмитта.Микроконтроллер содержит 8-разрядное АЛУ и рабочий регистр W. АЛУ являетсяарифметическим модулем общего назначения и выполняет арифметические и логическиефункции над содержимым рабочего регистра и любого из регистров контроллера.