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

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


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

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

5.2. Микроконтроллеры подгруппы PIC16F8X

5.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
Максимальная частота, МГц 10 10 10 10
Flash-память программ, слов 512 - -
ПЗУ программ, слов - 512 -
Память данных, байт 36 36 68 68
Память данных в РПЗП (EEPROM), байт 64 64 64 64
Таймеры TMR0 TMR0 TMR0 TMR0
Количество источников прерываний 4 4 4 4
Количество линий ввода / вывода 13 13 13 13
Диапазон напряжений питания, В 2,0 - 6,0 2,0 - 6,0 2,0 - 6,0 2,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.
Обозначение Тип Буфер Описание
OSC1/CLKIN I ТШ / КМОП 3) Вход кристалла генератора, RC-звена или вход внешнего тактового сигнала
OSC2/CLKOUT O - Выход кристалла генератора. В RC-режиме - выход 1 / 4 частоты OSC1
/ MCLR I / P ТШ Сигнал запуска / вход программируя напряжения. Инициализа ия низким уровнем.
RA0
RA1
RA2
RA3
RA4
/ T0CKI
I / O
I / O
I / O
I / O
I / O
ТТЛ
ТТЛ
ТТЛ
ТТЛ
ТШ
PORTA - двунаправленных порт ввода / вывода RA4/T0CKI
может быть выбран как тактовый вход таймера / счетчика TMR0. Выход с открытым стоком.
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
I / O
I / O
I / O
I / O
I / O
I / O
I / O
I / O
ТТЛ / ТШ 1)
ТТЛ
ТТЛ
ТТЛ
ТТЛ
ТТЛ
ТТЛ / ТШ 2)
ТТЛ / ТШ 2)
PORTB - двунаправленных порт ввода / вывода. Может быть запрограммирован в режиме внутренних активных нагрузок на линию питания по всем выводах. Вывод RB0/INT может быть избран как внешний вход прерывания. Выводы RB4 ... RB7 могут быть программно надстроены как входы прерывания по изменению состояния на каждом из входов. При программировании МК RB6 используется как тактовый, а RB7 как вход / выход данных.
Vdd P - Положительная напряжение питания
Vss P - Общий провод (земля)
В таблице использованы следующие обозначения: I - вход; O - выход; I / O - вход / выход; P - питание; - - не используется; ТТЛ - ТТЛ вход; ТШ - вход триггера Шмидта.

Примечания:
1) Этот буфер имеет вход триггера Шмидта, когда конфигурируется как вход внешнего прерывания.
2) Этот буфер имеет вход триггера Шмидта, когда используется в режиме последовательного программирования.
3) Этот буфер имеет вход триггера Шмидта, когда конфигурируется в режиме RC-генератора и КМОП-вход в других случаях.

Микроконтроллер содержит 8-разрядный АЛУ и рабочий регистр W. АЛУ является арифметическим модулем общего назначения и выполняет арифметические и логические функции над содержимым рабочего регистра и каждого из регистров контроллера. АЛУ может выполнять операции сложения, вычитания, сдвига и логические операции. Если не указано иное, то арифметические операции выполняются в дополнительном двоичном коде.

В зависимости от исхода операции, АЛУ может изменять значения битов регистра STATUS: C (Carry), DC (Digit carry) и Z ( Zero).

5.2.3. Схема тактування и цикл выполнения команды

Входная тактовая частота, поступающей по выводу OSC1/CLKIN, делится внутри на четыре, и из нее формируются четыре циклические тактовые последовательности Q1, Q2, Q3 и Q4, которые не перекрываются. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и замыкается в регистре команд в такте Q4. Команда декодируется и выполняется в течение следующего цикла в тактах Q1 ... Q4. Схема тактування и выполнения команды изображена на Рис. 5.2.

Цикл выполнения команды состоит из четырех тактов: Q1 ... Q4. Выборка команды и ее выполнения объединены во времени таким образом, что выборка команды занимает один цикл, а исполнение - следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счетчик команд (например, команда GOTO), то для ее выполнения потребуется два цикла, как показано на Рис. 5.3.


Рис. 5.2 Схема тактування и выполнение команды.


Рис. 5.3. Выборка команд.

Цикл выборки начинается со увеличение счетчика команд в такте Q1. В цикле выполнения команды выбрана команда замыкается в регистр команд в такте Q1. Течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q2 считывается память данных (чтение операнда), а запись происходит в такте Q4.


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