Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие. MS Word.doc
Скачиваний:
40
Добавлен:
02.05.2014
Размер:
1.05 Mб
Скачать

Структура контроллеров семейства pic16Схх

Большинство контроллеров построено по RISK-архитектуре, что отражается на длительности машинного цикла и структуре команд, их длине и времени выполнения. За исключением команд перехода все команды выполняются за один машинный цикл. При работе с памятью используется гарвардская архитектура: отдельные шины данных и команд, имеющих разную разрядность и работающих параллельно, т.е. во время выполнения одной команды считывается другая. Поэтому время выполнения команд перехода – 2 цикла: нарушается работа конвейера. Объём памяти сильно различается в этом семействе.

25.09.2000

Контроллеры имеют закрытую архитектуру, т.е. к ним нельзя подключить внешнюю память программы и данных.

Схема PIC16C74 приведена ниже.

FSR– функциональные специальные регистры;

W– регистр – аккумулятор.

Каждый порт имеет альтернативную функцию (кроме трёх битов порта В). у порта А есть специальный вывод – вывод с открытым коллектором. Порт В используется для прерываний (один тип прерываний INTвторой – специальный).портDможет работать как обычный и как параллельный порт.

Контроллер имеет один вектор прерывания, срабатывание по которому может происходить от двенадцати источников. Это является большим недостатком контроллера. Надо проверять программно, что за устройство подало запрос. Поэтому реакция на прерывание – десятки микросекунд.

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

Память программ имеет объём 4 кило слова, а все команды кодируются одним словом.

Младший байт программного счётчика (PCL) доступен, старший байт – недоступен, а формируется через регистрPCLATH. Старшие биты загружаются разными способами. В команде перехода явно указываются 11 бит.

Если идёт явная программа сPC, (т. е. записываются биты из АЛУ), то

Может показаться, что устройство контроллера достаточно сложное, но если рассмотреть контроллеры других фирм, то они окажутся ещё сложней.

Т.к. в команде перехода 11 бит адреса, то память разбита на 2 банка, а переход между ними выполняется переключение третьего бита (CPLATH).

Область ОЗУ организована как 256 х 8 бит и разбита на 2 банка, т.е. при адресации используется 7 битов. В каждом банке первые 32 адреса занимают регистры специальных функций.

Регистры контроллера:

Адрес

Обозначение

Назначение

00h

Физически отсутствует, а адрес используется для косвенной адресации (оригинально)

01 h

TMR 0

T/C 0

02 h

PCL

Младший байт PC

03 h

STATUS

Регистр словосостояния

04 h

FSR

Указатель для косвенной адресации

05 h

PORT A

Внешняя линия или порт A

06 h

PORT B

Порт B

07 h

PORT C

Порт C

08 h

PORT D

Порт D

09 h

PORT E

Порт E

0A h

PCLATH

Буфер старшей части PC

0B h

INTCON

Управляющий регистр прерываний

0C h

PIR 1

Регистр флагов прерываний от периферийных устройств

0D h

PIR 2

То, что не поместилось в INTCONиPIR2

0E h

TMR1L

T/C 1

0F h

TMR1H

10 h

T1CON

Управляющий регистр T/C1

11 h

TMR 2

T/C 2

12 h

T2CON

Управляющий регистр T/C2

13 h

SSPBUF

Буфер синхронного последовательного порта

14 h

SSPCON

Управляющий регистр синхронного последовательного порта

15 h

CCPR1L

16 h

CCPR1H

17 h

CCP1CON

Управляющий регистр CCP1 – модуля

18 h

RCSTA

Управляющий регистр для приёма последовательного порта

19 h

TXREG

Данные для передачи последовательного порта

1A h

RCREG

Данные для приёма последовательного порта

1B h

CCPR1L

CCP – модуль

1X h

CCPR2H

1D h

CCP2CON

1E h

ADRES

Результат изменения АЦП

1F h

ADCON 0

Управляющий регистр АЦП

81 h

OPTION

Регистр конфигурации

85 h

TRISA

Указатель направления передачи порта А

86 h

TRISB

Указатель направления передачи порта В

87 h

TRISC

Указатель направления передачи порта С

88 h

TRISD

Указатель направления передачи порта D

89 h

TRISE

Указатель направления передачи порта Е

8c h

PTE1

Разрешение прерываний от периферийных устройств

8d h

PTE2

8e h

PCON

Регистр контроля включения питания

92 h

PR2

Регистр периода для ШИМ

93 h

SSPADR

Абонентский адрес кристалла в режиме I²C

94 h

SSPSTAT

Флаги синхронного последовательного порта

98 h

TXSTA

Управляющий регистр для передачи последовательного интерфейса

99 h

SPBRG

Скорость передачи последовательного интерфейса

9f h

ADCON1

Управляющий регистр АЦП

С восьми разрядным АЛУ связан W(Working) – регистр, который не принадлежит пространству памяти данных, и адресоваться к нему как к ячейке нельзя. При выполнении двуместных операций один из операндов находится вW– регистре, а результат помещается в зависимости от второго операнда: еслиd=0, то результат остаётся вW, еслиd=1, то результат помещается в регистр-источник.

Регистр конфигурации CONFIGнаходится в памяти программы и является недоступным из программы, хранится в ПЗУ. При программировании необходимо установить следующие режимы:

Биты

Обозначение

Назначение

5

CP1

Защита кода

4

CP0

3

PWRTE

Разрешение выдержки времени после включения питания

2

WDTE

Разрешение работы сторожевого таймера

1

FOSC1

Выбор типа генератора

0

FOSC0

Регистр OPTION:

Биты

Обозначение

Назначение

7

RBPV

Подключение активной нагрузки к порту В

6

INTEDG

Фронт сигнала внешнего прерывания (0 – отрицательный, 1 – положительный)

5

T0CS

Источник импульсов для Т/С0 (один внешний, другой внутренний)

4

T0SE

Счётчик 0 (1 – инкремент по отрицательному фронту, 0 – инкремент по положительному фронту)

3

PSA

Предварительный делитель (0 – подключен к Т/С0, 1 – к сторожевому таймеру)

2

PS2

Коэффициент деления предварительного делителя

1

PS1

0

PS0

Во многих устройствах не предусмотрена кнопка сброса, что вызывает проблему при сбое программы. Поэтому в средствах ВТ предусматривают специальные аппаратные средства – супервизоры, контролирующие изменение определённых сигналов и вырабатывающие аппаратный сброс при их отсутствии.

В PICпрограммируемых интерфейсных контроллерах роль супервизора выполняетWatchDayTimer(WDT), представляющий полностью независимый встроенныйR-Cгенератор. Он вырабатывает сигнал сброса при переполнении с номинальной выдержкой 18 мс и максимальной с пре делителем 2.5 с. еслиWDTвключён, то в цикле управления должна присутствовать командаCLRWDT, постоянно сбрасывающая сторожевой таймер.

Соседние файлы в предмете Микропроцессорные системы