1571
.pdfрительным делителем;
— Модуль АЦП:
4 мультиплексируемых аналоговых входа, подсоединенных к одному аналого - цифровoму преобразователю;
схема выборки \ хранения; время преобразования - 20 мкс на канал;
преобразователь - бит, с погрешностью +-1 мл. разр.;
вход для внешнего опорного напряжения Vref (Vref <= Vdd); диапазон входных аналоговых сигналов от Vss до Vref;
—автоматический сброс при включении;
—таймер включения при сбросе;
—таймер запуска генератора;
—Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;
—EPROM бит секретности для защиты кода;
—экономичный режим SLEEP - с пониженным энергопотреблением;
—выбираемые пользователем биты для установки режима возбуждения встроенного генератора:
RC генератор: RC
обычный кварцевый резонатор: XT высокочастотный кварцевый резонатор: HS экономичный низкочастотный кристалл: LP
— встроенное устройство самопрограммирования EPROM памяти про50
грамм, позволяющее использовать только две ножки для записи;
КМОП технология
—экономичная высокоскоростная КМОП EPROM технология;
—статический принцип в архитектуре;
—широкий диапазон напряжений питания и температур:
коммерческий: |
3.0 ... |
6.0 В, |
0...+70С, |
промышленный: |
3.0 ... |
6.0 В, |
-40...+70С, |
автомобильный: |
3.0 ... |
6.0 В, |
-40...+125С, |
— низкое потребление:
2 мА типично для 5В, 4 МГц, 15 мкА типично для 3В, 32 кГц,
1 мкА типично для SLEEP режима при 3В.
3.3. Архитектура PIC16C71
Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит (рис. 3.1). Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14 - битовая ширина программной памяти обеспечивает выборку 14 - битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл (200 нс при 20 Мгц), исключая команды переходов. В PIC16C71 программная память объемом 1К х 14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.
Примеры обозначений:
PIC16C71 - /Pxxx 4 mHz, коммерческое исполнение в PDIP корпусе, норм. диапазон Vdd, масочное ПЗУ с программой xxx;
PIC16LC71 - /SO 4 mHz, исполнение для промышленности, расширенный диапазон питания, корпус SOIC;
PIC16C71 - /P исполнение для автомобилей, 10 mHz, PDIP, нормальное питание.
51
1
S t a c k |
1 |
|
|
|
|
|
|
|
|
|
|
S t a c k |
8 |
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A L U |
|
|
|
|
2 |
|
|
|
|
|
|
|
4 |
|
||
|
|
|
|
|
|
|
|
|
|
||
P C |
|
|
|
|
|
|
|
|
R |
e g is t e r |
|
|
|
|
|
|
|
|
|
||||
1 3 b it |
|
W - r e g |
|
S t a t u s |
|
|
f ile |
||||
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
E E P R O M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
p r o g . M E M |
8 - b i t D a t a B u s |
|
||||||||
1 0 2 4 x 1 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
|
|
|
52
Пояснения к рис. 3.1.
1 — Стековая память; 2 — Программный счетчик (PC); 3 — Арифметикологическое устройство (АЛУ) с неявно адресуемым РОНом (W) и регистром статуса (Status); 4 — Регистровый файл (ОЗУ — 36 РОНов и спецрегистры); 5
— Память программ (EEPROM prog. MEM); 6 — Порт А (4 разряда RA0 - RA3); 7 — Управляющий регистр порта А (TRISA); 8 --- таймер/счетчик (RTCC); 9 — регистр конфигурации и счетчика/таймера, переключения фронтов и подключения активной нагрузки к порту В; 10 — пределитель счетчика/таймера; 11 — Порт В (8 разрядов RB0 - RB7); 12 — Управляющий регистр порта В (TRIS B); 13 — Сторожевой таймер (WatchDog - таймер); 14 — Четырехканальный аналого - цифровой преобразователь (АЦП); 15 — Тактовый генератор; 16 — ячейка с битами конфигурации.
3.4. Типы корпусов и исполнений
Тип корпуса указывается в Маркировке при заказе микросхем. Корпуса бывают только с 18 Выводами.
PDIP - Обычный пластмассовый двухрядный корпус.
SOIC - Малогабаритный DIP корпус для монтажа на поверхность. Исполнения микросхем бывают трех типов: коммерческие, для промышленности и для автомобильной электроники. Основное их отличие в температурном диапазоне и рабочем напряжении.
Коммерческое исполнение: Рабочая температура 0 ... +70 C Рабочее напряжение 3.0 ... 5.5 В Исполнение для промышленности: Рабочая температура -40 .... +85 C Рабочее напряжение 3.0 ... 5.5 В Исполнение для автомобилей: Рабочая температура -40 ... +125 C Рабочее напряжение 3.0 ... 5.5 В
Обозначения микросхем при заказе
Обозначение микросхемы складывается из следующих полей: <Фирм. номер> - <Частота генератора> <Темпер. диапазон> / <Корпус> <Примеч.>
53
<Фирменный номер> бывает:
PIC16C71 - Vdd диапазон 4...6 В; PIC16LC71 - Vdd диапазон 3...6 В.
<Частота генератора>:
04 ---> 4 МГц; 10 ---> 10 Мгц.
Температурный диапазон бывает:
- |
от 0оС до +70оС |
I |
от -40оС до +85оС |
E |
от -40оС до +125оС |
Корпус обозначается:
P - обычный пластмассовый; SO - корпус SOIC;
JW - CERDIP с окном.
3.5. Назначение выводов
Обозначения выводов микросхемы PIC16C71 приведены на рис. 3.2, назначение выводов дано в табл. 3.1.
PDIP, SOIC, CERDIP
RA2/AIN2 |
_ |
1 |
18 |
_RA1/AIN1 |
RA3/AIN3/Vref _ |
|
|
_RA0/AIN0 |
|
RA4/RTCC_ |
|
|
_OSC1/CLKIN |
|
/MCLR/Vpp_ |
|
|
_OSC2/CLKOUT |
|
Vss _ |
|
PIC16C71 |
_Vdd |
|
RB0/INT _ |
|
|
_RB7 |
|
RB1 _ |
|
|
_RB6 |
|
RB2 _ |
|
|
_RB5 |
|
RB3 _ |
9 |
10 |
_RB4 |
|
|
|
|
Рис. 3.2 |
|
54
Таблица 3.1 Обозначения ножек и их функциональное назначение
Обозначение |
Функция вывода (нормальный режим) |
|
|
|
Вход через триггер Шмидта. Ножка |
RA4/RTCC |
порта ввода/вывода с открытым сто- |
|
ком или вход частоты для таймера/ |
|
|
|
Двунаправленная линия ввода |
RA0/AIN0 |
/вывода. Аналоговый вход канала 0. |
|
Как цифровой вход имеет уровни |
|
ТТЛ. |
|
|
|
Двунаправленная линия ввода |
RA1/AIN1 |
/вывода. Аналоговый вход канала 1. |
|
Как цифровой вход имеет уровни |
|
ТТЛ. |
|
|
|
Двунаправленная линия ввода |
RA2/AIN2 |
/вывода. Аналоговый вход канала 2. |
|
Как цифровой вход имеет уровни |
|
ТТЛ. |
|
|
|
Двунаправленная линия ввода |
RA3/AIN3/Vref |
/вывода. Аналоговый вход канала 3. |
|
Как цифровой вход имеет уровни |
|
ТТЛ. |
|
|
|
Двунаправленная линия порта вывода |
RB0/INT |
или внешний вход прерывания. Уров- |
|
ни ТТЛ. |
|
|
RB1 - RB5 |
Двунаправленные линии ввода/ выво- |
|
да. Уровни ТТЛ. |
|
|
RB6 |
Двунаправленные линии ввода/ выво- |
|
да. Уровни ТТЛ. |
|
|
RB7 |
Двунаправленные линии ввода/ выво- |
|
да. Уровни ТТЛ. |
|
|
55
|
Продолжение табл. 3.1 |
|
|
|
Низкий уровень на этом входе ге- |
/MCLR/Vpp |
нерирует сигнал сброса для контролле- |
|
ра. Активный низкий. Вход через триг- |
|
гер Шмидта. |
|
|
OSC1 |
Для подключения кварца, RC или |
|
вход внешней тактовой частоты. |
|
|
|
Генератор, выход тактовой часто- |
OSC2 /CLKOUT |
ты в режиме RC генератора, в осталь- |
|
ных случаях - для подкл. кварца |
|
|
Vdd |
Напряжение питания |
|
|
Vss |
Общий (земля) |
|
|
3.6. Максимальные значения электрических параметров
Выход параметров за пределы, указанные в табл. 3.2, может привести к повреждению микросхемы. Работа кристалла на предельно допустимых значе-
ниях в течение длительного времени повлияет на его надежность.
Таблица 3.2 |
|
Диапазон допустимых значений параметров микросхемы |
|
|
|
Интервал рабочих температур |
-55 ... +125С |
|
|
Температура хранения |
-65 ... +150С |
|
|
Напряжение на любой ножке относительно Vss |
-0.6 ... Vdd+0.6 |
(земли), исключая Vdd и /MCLR |
В |
|
|
Напряжение Vdd относительно Vss |
0 ... +7.5 В |
|
|
Напряжение на /MCLR относительно Vss |
0...+14 В |
|
(Прим.2) |
|
|
Общая рассеиваемая мощность |
800 мВт |
|
(Прим.1) |
|
|
Макс. ток в ножку Vss |
150 мА |
|
|
Макс. ток в ножку Vdd |
100 мА |
|
|
Макс. ток в любую ножку ввода |
+- 500 мкА |
|
|
Макс. втекающий ток (любая ножка Вывода) |
25 мА |
|
|
Макс. вытекающий ток (любая ножка Вывода) |
20 мА |
|
|
56 |
|
Продолжение табл. 3.2. |
|
|
|
Макс. суммарный вытекающий ток для всех |
80мА |
ножек порта А |
|
|
|
Макс. суммарный вытекающий ток для всех |
150мА |
ножек порта В |
|
|
|
Макс. суммарный втекающий ток для всех но- |
50мА |
жек порта А |
|
|
|
Макс. суммарный втекающий ток для всех но- |
100мА |
жек порта В |
|
|
|
Макс. вытекающий ток (любая ножка Вывода) |
20 мА |
|
|
Макс. суммарный вытекающий ток для всех |
80мА |
ножек порта А |
|
|
|
Макс. суммарный вытекающий ток для всех |
150мА |
ножек порта В |
|
|
|
Макс. суммарный втекающий ток для всех но- |
50мА |
жек порта А |
|
|
|
Макс. суммарный втекающий ток для всех но- |
100мА |
жек порта В |
|
|
|
Примечания: 1. Полная рассеиваемая мощность не должна превышать 800 мВт для каждого корпуса. Рассеиваемая мощность вычисляется по следующей формуле:
Pdis = Vdd*(Idd - Cумма(Ioh)) + Сумма ((Vdd - Voh)*Ioh) + Сумма (Vol * Iol)
2. Понижение напряжения на ножке /MCLR ниже Vss (земля) вызывает большие токи, более 80 мА, и может привести к повреждению этой линии, поэтому рекомендуется подавать сигналы на ножку /MCLR через ограничивающий резистор 50 - Ом.
3.7. Обзор регистров и ОЗУ
Область ОЗУ организована как 128 х 8. К ячейкам ОЗУ можно адресоваться прямо или косвенно, через регистр указатель FSR (04h) (рис. 3.3.).
В регистре статуса (03h) есть биты выбора страниц, которые позволяют обращаться к четырем страницам будущих модификаций этого кристалла, однако для PIC16C71 память данных существует только до адреса 02Fh.
57
Первые 12 адресов используются для размещения регистров специального назначения. Регистры с адресами 0Ch - 2Fh могут быть использованы, как регистры общего назначения, которые представляют собой статическое ОЗУ. Некоторые регистры специального назначения продублированы на обеих страницах, а некоторые расположены на странице 1 отдельно. Когда установлена страница 1, то обращение к адресам 8Ch - AFh фактически адресует страницу 0. К регистрам можно адресоваться прямо или косвенно.
|
Page 0 |
Page 1 |
|
|
|
|
|
00 |
Indirect add |
Indirect add |
80 |
|
|
|
|
01 |
RTCC |
RTCC |
81 |
|
|
|
|
02 |
PCL |
PCL |
82 |
|
|
|
|
03 |
STATUS |
STATUS |
83 |
|
|
|
|
04 |
FSR |
FCR |
84 |
|
|
|
|
05 |
PORT A |
TRISA |
85 |
|
|
|
|
06 |
PORT B |
TRISB |
86 |
07 |
|
|
87 |
|
|
||
08 |
EEDATA |
EECON1 |
88 |
|
|
|
|
09 |
EEADR |
EECON2 |
89 |
|
|
|
|
0A |
PCLATH |
PCLATH |
8A |
|
|
|
|
0B |
|
INTCON |
|
INTCON |
8B |
0C |
|
|
|
|
8C |
|
|
|
|
||
|
|
36 регистров |
|
|
|
|
|
общего |
|
то - же |
|
|
|
назначения |
|
|
|
2F |
|
|
|
|
AF |
30 |
|
|
|
|
B0 |
|
|
|
|
||
|
|
не |
|
|
|
|
|
|
|
|
|
|
|
существует |
|
|
|
7F |
|
|
|
|
FF |
|
|
|
|
|
|
Рис.3.3
Как видно из сравнения архитектуры, технических характеристик и карты памяти для ОЗУ и спецрегистров описанного выше МК типа
58
PIC16C84 (раздел 2), с аналогичными характеристиками МК типа PIC16C71 (раздел 3), у кристаллов есть много общего. В дальнейшем, в связи с ограниченным объемом руководства, при описании отдельных узлов МК типа PIC16C71, там, где это возможно, будут даваться ссылки на аналогичные узлы МК PIC16C84.
3.7.1.Прямая адресация (см. п.2.7.1.)
3.7.2.Косвенная адресация (см. п.2.7.2.)
3.7.3.Таймер/счетчик RTCC (см. п.2.7.3.)
3.7.4.Проблемы с таймером (см. п.2.7.4.)
3.7.5.Регистр статуса f3 (см. п.2.7.5.)
3.8. Организация встроенного ПЗУ
Программный счетчик в PIC16C71 имеет ширину 13 бит и способен адресовать 8К х 14бит объема программной памяти. Однако, физически на кристалле имеется только 1К х 14 памяти (адреса 0000h - 03FFh). Обращение к адресам выше 3FFh фактически есть адресация в тот же первый килобайт. Вектор
сброса находится по адресу 0000h, вектор прерывания находится по адресу
0004h (рис. 3.4).
0000H |
|
Reset Vector |
Вектор сброса |
|
0004H |
|
|
|
Вектор прерывания |
|
.............. |
|
||
|
|
|
|
|
|
.............. |
|
|
|
|
|
Program Codes |
Программа пользователя |
|
03FFH |
|
|
|
|
0400H |
|
|
|
Отсутствует на кристалле |
|
|
|
||
|
|
|
||
1FFFH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.4 |
59
3.8.1. Программный счетчик PC и адресация ПЗУ (см. п.2.8.1.)
3.9.Стек и возвраты из подпрограмм (см. п.2.9.)
3.10.Организация прерываний
Прерывания в PIC16C71 могут быть от четырех источников:
—внешнее прерывание с ножки RB0/INT,
—прерывание от переполнения счетчика/таймера RTCC,
—прерывание по окончании аналого-цифрового преобразования,
—прерывание от изменения сигналов на ножках порта RB<7:4>.
Все прерывания имеют один и тот же вектор/адрес - 0004h. Однако, в управляющем регистре прерываний INTCON записывается - от какого именно источника поступил запрос прерывания, запись осуществляется в соответствующем бите - флаге. Прерывание может быть замаскировано индивидуально или общим битом. Единственным исключением является прерывание по концу аналого - цифрового преобразования: его флаг (ADIF) находится в другом ре-
гистре - ADCON.
Бит общего разрешения/запрещения прерывания GIE (INTCON <7>) разрешает (если = 1) все индивидуально незамаскированные прерывания или запрещает (если = 0) их. Каждое прерывание в отдельности может быть дополнительно разрешено/запрещено установкой/сбросом соответствующего бита в регистре INTCON. Бит GIE обнуляется при сбросе. Когда начинает обрабатываться прерывание, бит GIE обнуляется, чтобы запретить повторные прерыва-