Реферат Курсовая Конспект
Структурная организация микроконтроллеров PIC16C5X - раздел Образование, Архитектурой Особенности Архитектуры И Структурная Схема. Структурная Схема Омк Pic16C5X П...
|
Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис.2.1. Основу структуры данного микроконтроллера составляют две внутренние шины: двунаправленная 8-битная шина данных и 12-битная шина команд. Это соответствует, как уже упоминалось ранее, Гарвардской архитектуре, основанной на концепции раздельных шин и областей памяти для данных и команд Шина данных связывает между собой все основные функциональные блоки МК:
память данных (ОЗУ); арифметико-логическое устройство (ALU); порты ввода/вывода (Port A, B и С); регистры состояния (Status), косвенной адресации (FSR), таймера-счетчика (RTCC/TMRO), программного счетчика (PCL).
Регистры разделяются на две функциональные группы: специаль-ные регистры и регистры общего назначения. Специальные регистры включают в себя регистр таймера/счетчика реального времени (TMRO/RTCC), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/ вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры (TRIS) управляют конфигурацией портов ввода-вывода и режимом предварительного делителя (OPTION). Регистры общего назначения (Register File) используются программой для хранения переменных по усмотрению пользователя. В микроконтроллерах семейства Р1С 16С5Х существуют прямая и косвенная адресация всех регистров и ячеек памяти. Все специальные регистры и счетчик команд также отображаются на память данных.
Микроконтроллеры Р1С16С5Х имеют ортогональную (симметричную) систему команд, позволяющую выполнять любую операцию с любым регистром, используя любой метод адресации. Это облегчает программирование для них и значительно уменьшает время, необходимое на обучение работе с ними.
В микроконтроллерах Р1С16С5Х имеется 8-разрядное арифметико-логическое устройство (АЛУ) и рабочий регистр W. АЛУ выполняет сложение, вычитание, сдвиг, битовые и логические операции. В командах, имеющих два операнда, одним из операндов является рабочий регистр W. Второй операнд может быть константой или содержимым любого регистра ОЗУ. В командах с одним операндом, операнд может быть содержимым рабочего регистра или содержимым любого регистр. Для выполнения всех операций АЛУ используется рабочий регистр W, который не может быть прямо адресован. В зависимости от результата выполнения операции, могут измениться значения битов переноса С, десятичного переноса DC и нуля Z в регистре состояния STATUS. При вычитании биты С и DC работают как биты заема и десячного заема, соответственно. В описании команд SUBWF и ADDWF приведены необходимые примеры [8].
В состав микроконтроллеров PIC16C5X входит еще целый ряд функциональных блоков и узлов, таких, например, как: ПЗУ/ППЗУ прог-рамм (EPROM), счетчик команд или программный счетчик (PC), стек (Stack 1,2), регистры управления портами ввода/вывода (TRIS A,B,C ), сторожевой таймер Watch Dog Timer (WDT), предварительный делитель (Prescaler) для WDT и TMRO/RTCC, ячейка (слово) конфигурации (Configuration EPROM), топологические расположенное в ПЗУ программ, блок генераторов тактовых последовательностей и сигналов управления (Oscillator Timing & Control).
Входная тактовая частота, поступающая с вывода OSC1/CLKIN, внутри делится на четыре и из нее формируются четыре циклические не перекрывающиеся тактовые последовательности Q1, Q2, Q3 и Q4. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и защелкивается в регистре команд в такте Q4. Команда декодируется и выполняется в течение последующего цикла в тактах Q1...Q4.
Выборка команды и ее выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счетчик команд (например, команда GOTO), то для выполнения этой команды потребуется два цикла. Цикл выборки начинается с увеличения счетчика команд в такте Q1. В цикле выполнения команды выбранная команда защелкивается в регистр команд в такте Q1. В течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q3 считывается память данных (чтение операнда), а запись происходит в такте Q4. Таким образом, цикл выполнения команды (рис. 2.2) состоит из 4-х тактов Q1-Q4, в каждом из которых производятся различные, заранее определенные действия:
Q1 - Выборка определенной команды из памяти программ и ее декодирование или вынужденный NOP,
Q2 - Выборка данных или NOP,
Q3 - Выполнение команды и обработка данных,
Q4 - Запись данных или NOP.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
OSC2/CLKOUT
(RC-генератор)
Рис. 2.2. Цикл выполнения команды
Рассмотрим последовательно основные элементы структуры а также особенности организации и функционирования МК.
2.2.2.Обозначение выводов и их функциональное назначение
Обозначение выводов PIC16C5X и их функциональное назначение приведены на рис. 2.3 а также в табл. 2.1 и 2.2.
Таблица 2.1.
Обозначение и функциональное назначение выводов ОМК
PIC 16C52/16C54/16C56/16C58
Наименова-ние | DIP SOIC | SSOP | Тип | Буфер | Примечание |
RAO | I/O | TTL | |||
RA1 | I/O | TTL | Двунаправленный лорт ввода/вывода. | ||
RA2 | I/O | TTL | |||
RA3 | I/O | TTL | |||
RBO | I/O | TTL | |||
RB1 | I/O | TTL | |||
RB2 | I/O | TTL | |||
RB3 | I/O | TTL | Двунаправленный порт ввода/вывода, | ||
RB4 | I/O | TTL | |||
RB5 | I/O | TTL | |||
RB6 | I/O | TTL | |||
RB7 | I/O | TTL | |||
TOCKI | ST | Вход таймера TMRO. | |||
_____ МСLR/ Vpp. | ST | Вход сброса/напряжение программирования. Сброс низким уровнем | |||
OSC1/ CLKIN | ST | Вход генератора/внешняя тактовая частота. | |||
OSC2/ CLKOUT | — | Выход генератора. Подключается к резонатору. В режиме RC выход ¼ тактовой частоты OSC1. | |||
vdd | 15,16 | Р | — | Положительное напряжение питания. | |
Vss | 5,6 | Р | — | Общий вывод. |
Таблица 2.2
Обозначение и функциональное назначение выводов ОМК
PIC 16C55/16C57
Наименование | DIP SOIC | SSOP | Тип | Буфер | Примечание |
RAO | .5 | I/O | TTL | ||
RA1 | I/O | TTL | Двунаправленный порт ввода/вывода. | ||
RA2 | I/O | TTL | |||
RA3 | I/O | TTL | |||
RBO | I/O . | TTL | |||
RB1 | I/O | TTL | |||
RB2 | I/O | TTL | |||
RB3 | 1.2 | I/O | TTL | Двунаправленный порт ввода/вывода. | |
RB4 | I/O | TTL | |||
RB5 | I/O | TTL | |||
RB6 | I/O | TTL | |||
RB7 | I/O | TTL | |||
RC0 | I/O | TTL | |||
RC1 | I/O | TTL | |||
RC2 | I/O | TTL | |||
RC3 | I/O | TTL | Двунаправленный порт ввода/вывода. | ||
RC4 | I/O | TTL | |||
RC5 | I/O | TTL | |||
RC6 | I/O | TTL | |||
RC7 | I/O | TTL | |||
TOCKI | I | ST | Вход таймера TMRO. | ||
MCLR/Vpp | I | ST | Вход сброса/напряжение программирования. Сброс низким уровнем. | ||
OSC1/ CLKIN | I | ST | Вход генератора/внешняя тактовая частота. | ||
OSC2/ CLKOUT | - | Выход генератора. Подключается к резонатору. В режиме RC выход 1/4 тактовой частоты OSC1. | |||
vdd | 3,4 | Р | - | Положительное напряжение питания. | |
Vss | 1,14 | Р | - | Общий вывод. | |
N/C | 3,5 | - | - | - | Не используются. |
Обозначения: I - вход, O - выход, I/O - вход/выход, Р - питание, — - не используется, TTL - вход ТТЛ, ST - вход с триггером Шмидта.
PDIP, SOIC, CERDIP, Windov
| |||
| |||
RA2 RA1 RTCC /MCLR
RA3 RA0 Vdd OSC1
RA4 OSC1 n / c OSC2
/MCLR OSC2 Vss RC7
Vss Vdd n / c RC6
RB0 RB7 RA0 RC5
RB1 RB6 RA1 RC4
RB2 RB5 RA2 RC3
RB3 RB4 RA3 RC2
RB0 RC1
RB1 RC0
RB2 RB7
RB3 RB6
RB4 RB5
Рис. 2.3. Расположение выводов PIC16C5X.
2.2.3.Организация памяти программ
Память программ (ПЗУ/ППЗУ) имеет страничную организацию (рис.2.4). Объем одной страницы 512 байт поэтому прямая адресация памяти программ в семействе Р1С16С5Х возможна в пределах 512 байт. Микроконтроллеры PIC 16C5X имеют одну, две или четыре страницы памяти программ для хранения 12-ти разрядных кодов команд (512X12, 1024Х12, 2048Х12). В соответствии с этим все ОМК данного семейства можно разделить на три группы. Доступ к памяти свыше 512 байт осуществляется после переключения на соответствующую страницу памяти. Микроконтроллеры PIC16C52/54/C54A/CR54/CR54A/CR54B/C55 имеют одну страницу памяти программы, PIC16C56/CR56 имеет 2 страницы по 512 байт, PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B имеют 4 страницы по 512 байт каждая.
2.2.4. Организация памяти данных
Память данных (ОЗУ) также имеет страничную организацию (рис. 2.5). Она состоит максимум из 4-х банков (0...3). Причем, банки в различных типах PIC могут иметь различные объемы. Минимальный объем банка 16 байт, а максимальный 32 байта
Шина данных разрядностью 8 бит соединяет группу регистров ОЗУ, порты ввода/вывода и 8- разрядное арифметико-логическое устройство(АЛУ). Прямо адресуются 32 байта оперативной памяти, остальная память адресуется банками по 16 байт каждый. Микроконтроллеры PIC16C52/C54/C54A/CR54/CR54A/CR54B/C56/CR56 имеют один банк оперативной памяти объемом 32 байта, из которых 25 байт могут быть
GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<6>
GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<5>
GOTO, CALL……………………...из команды
Команды, модифицирующие PC…...всегда ‘0’
GOTO, CALL……………...из команды
Команды, модифицирующие PC…..из АЛУ
9-11 бит
2 1 8
00 0FF
Страница 0 100
17F PIC16C52
1FF PIC16C54/C54A/CR54/CR54A/CR54B/C55
Страница 1 2FF
3FF PIC16C56/CR56
Страница 2 4FF
5FF
Страница 3 6FF
7FF PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B
Рис. 2.4. Организация памяти программ
использованы в качестве регистров общего назначения. Для Р1С16С55, имеющего PORTC, объем - 24 байта. PIC16C57/CR57A/CR57B и PIC16C58A/CR58A/CR58B имеют 4 банка памяти данных и объем для них 72 и 73 байта соответственно.
Регистры могут быть адресованы прямо или косвенно, с исполь-зованием регистра косвенной адресации FSR. Непосредственная адре-сация поддерживается специальными командами, загружающими данные из памяти программы в рабочий регистр W. Регистры, как уже упоминалось, разделяются на две функциональные группы: специальные
Адрес
регистра 7 6 5 4 3 2 1 0
00 CALL
01 RETLW 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 1 0
04 7 6 5 4 3 2 1 0
06 5 4 3 2 1 0
0A Регистры К регистрам
0B общего через АЛУ
0C назначения
0D
0E От памяти программы
0F Биты 6,5 FSR: Выбор банка
(только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)
00 01 10 11
11 30 50 70
17 Регистры общего назначения
18 (только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)
1A
1B
1C
1D
1E Банк 1 (***) Банк 2 (***) Банк 3 (***)
1F 3F 5F 7F
(*) - Регистр физически не существует
(**) - Регистр 07h для PIC16C52/C54/C56 используется как регистр общего назначения
(***) - Банк 0 доступен во всех микроконтроллерах семейства PIC16C5X. Банки 1, 2, 3 доступны только в PIC16C57/58.
– Конец работы –
Эта тема принадлежит разделу:
Архитектурой... Общие сведения об ОМК PIC и их классификация В году фирма GI разработала периферийный контроллер Peripheral Interface Controller или PIC предназначенный для поддержки ввода вывода ти...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Структурная организация микроконтроллеров PIC16C5X
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов