Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дмитриев Универсалный лабораторный стенд. Аппаратные средства проектирования встраиваемых систем 2009

.pdf
Скачиваний:
62
Добавлен:
17.08.2013
Размер:
10.11 Mб
Скачать

9. PCON – регистр управления режимом энергопотребления. Побитно не адресуется.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SMOD

WLE

GF1

GF0

PD

IDL

 

 

 

 

 

 

 

 

Назначение битов:

SMOD – бит разрешения удвоение скорости передачи UART. Если бит установлен, скорость удваивается и определяется таймером Т1. UART может использоваться в режимах 1, 2 и 3;

WLE – бит разрешения загрузки сторожевого таймера Т3. Этот бит должен быть установлен программно перед его загрузкой. Сбрасывается аппаратно после загрузки Т3;

GF1 – пользовательский флаг общего назначения;

GF0 – пользовательский флаг общего назначения;

PD – бит включения режима пониженного энергопотребления (отключение внутреннего генератора). Может быть установлен только если выключен сторожевой таймер Т3;

IDL – бит включения режима приостанова.

2.3.ОРГАНИЗАЦИЯ ПРЕРЫВАНИЙ. ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ВНЕШНИХ ПРЕРЫВАНИЙ В УЛС

В табл. 2.1 представлены адреса векторов каждого из 15 прерываний МК PCF80С552 включенного в составе УЛС. Все адреса находятся в области эмулятора ПЗУ и доступны пользователю для реализации обработки прерываний. Заметим, что таблица составлена с учетом переноса адресов векторов в область эмулятора ПЗУ, о чем говорилось в п. 1.6.

41

Таблица 2.1

Таблица векторов прерываний MK PCF80C552 в составе УЛС

Источник прерывания

Обозначение

Адрес вектора

Внешнее прерывание INT0

X0

8003h

Переполнение таймера Т0

Т0

800Вh

Внешнее прерывание INT1

X1

8013h

Переполнение таймера Т1

Т1

801Вh

UART

S0

8023h

I2C

S1

802Bh

T2

регистр-защелка 0

Р

8033h

T2

регистр-защелка 1

CT1

803Bh

T2

регистр-защелка 2

CT2

8043h

T2

регистр-защелка 3

CT3

804Bh

АЦП

ADC

8053h

T2

компаратор 0

CM0

805Bh

T2

компаратор 1

CM1

8063h

T2

компаратор 2

CM2

806Bh

Переполнение T2

T2

8073h

Для того чтобы разрешить любое нужное прерывание, необходимо в регистре IEN0 установить бит EA=1, разрешив все прерывания, а затем в регистрах IEN0 и IEN1 выбрать и установить соответствующий бит индивидуального разрешения прерывания.

В МК реализована двухуровневая система приоритетов прерываний. Каждому прерыванию при помощи программирования регистров IP0 и IP1 может быть присвоен низкий (0) или высокий (1) уровень приоритета. Обработка прерывания низкого уровня может быть прервана только прерыванием высокого уровня. Обработка прерывания высокого уровня не может быть прервана никаким другим прерыванием. При одновременном поступлении двух прерываний различного уровня приоритета предпочтение для обработки отдается прерыванию высокого уровня. При одновременном поступлении прерываний одного уровня порядок их обработки определяется табл. 2.2.

42

 

 

 

Таблица 2.2

 

Приоритеты прерываний в пределах одного уровня

 

 

 

 

 

Источник прерывания

Обозначение

Приоритет в пределах

 

 

 

одного уровня

Внешнее прерывание INT0

X0

Высший

I2C

S1

 

АЦП

ADC

 

Переполнение таймера Т0

T0

 

T2

регистр-защелка 0

CT0

 

T2

компаратор 0

CM0

 

Внешнее прерывание INT1

X1

 

T2

регистр-защелка 1

CT1

 

T2

компаратор 1

CM1

 

Переполнение таймера Т1

T1

 

T2

регистр-защелка 2

CT2

Низший

T2

компаратор 2

CM2

 

UART

S0

 

T2

регистр-защелка 3

CT3

 

Переполнение таймера Т2

T2

 

Обратим внимание на особенности использования внешних прерываний INT0 и INT1. Каждое из них может быть сконфигурировано или по изменению 1/0 или низкому уровню сигнала. Если прерывание сконфигурировано по изменению 1/0, то для его захвата контроллером прерывания необходимо, чтобы длительность значений «1» и «0» сигнала прерывания была бы не меньше 12 периодов тактового генератора МК (одного процессорного цикла). В УЛС пользователь может использовать только одно внешнее прерывание INT0 для обмена с ПЛИС. При проектировании схемного узла ПЛИС для генерации прерывания, сконфигурированного по изменению 1/0, следует принять во внимание, что ПЛИС тактируется от того же внешнего генератора, что и МК. В качестве решения для формирования такого узла, может быть предложена схема выделения заданного количества периодов генератора, например 16. Напомним, что флаг прерывания IEx в этом случае сбрасывает-

43

ся программно при входе в обработчик прерывания. Если прерывание сконфигурировано по низкому уровню сигнала, то его длительность должна удовлетворять двум условиям. Во-первых, она должна быть достаточной для захвата сигнала контроллером прерываний. Во-вторых, к моменту окончания обработки прерывания низкий уровень сигнала должен быть сброшен, иначе последует повторная обработка прерывания. Эти условия реализуется таким способом обработки прерывания, когда низкое значение сигнала выставляется внешним устройством, а сбрасывается оно при выполнении специальной команды обработчика прерывания. В гл. 3 рассматриваются примеры реализации обмена ПЛИС и МК по внешнему прерыванию INT0.

2.4.РАБОТА С ПАРАЛЛЕЛЬНЫМИ ПОРТАМИ ВВОДА-ВЫВОДА. ОСОБЕННОСТИ ИХ ИСПОЛЬЗОВАНИЯ В УЛС

В состав МК PCF80C552 входят шесть 8-разрядных портов вво- да-вывода (Р0-Р5). Каждый разряд всех портов, кроме Р5, для возможности организации двунаправленного обмена в своем составе имеет защелку, входной буфер и выходной драйвер. Порт Р5 может использоваться только как входной. Табл. 2.3 иллюстрирует назначение портов МК с учетом их альтернативных функций.

 

 

Таблица 2.3

Функции портов ввода-вывода

 

 

ВЫВОД ПОРТА

АЛЬТЕРНАТИВНАЯ ФУНКЦИЯ

Р0.0

AD0

 

Р0.1

AD1

 

Р0.2

AD2

Мультиплексированные

Р0.3

AD3

линии младшего байта

Р0.4

AD4 адреса и данных при

Р0.5

AD5

обращении к внешней

Р0.6

AD6

памяти

Р0.7

AD7

 

Р1.0

CT0I С вход регистра-защелки 0

Р1.1

CT1I С вход регистра-защелки 1

Р1.2

CT2I С вход регистра защелки 2

 

 

44

 

 

Продолжение табл. 2.3

 

 

ВЫВОД ПОРТА

АЛЬТЕРНАТИВНАЯ ФУНКЦИЯ

Р1.3

CT3I

С вход регистра-защелки 3

Р1.4

T2

Вход таймера Т2

Р1.5

RT2

Сброс таймера Т2

Р1.6

SCL

Линия синхронизации I2C

Р1.7

SDA

Линия данных I2C

Р2.0

A0

 

Р2.1

A1

Старший байт адреса

Р2.2

A2

при обращении к внешней

Р2.3

A3

памяти данных и устройствам

Р2.4

A4

ввода-вывода

Р2.5

A5

 

Р2.6

A6

 

Р2.7

A7

 

Р3.0

RXD

Вход приемника UART

Р3.1

TXD

Выход передатчика UART

Р3.2

INT0

Внешнее прерывание 0

Р3.3

INT1

Внешнее прерывание 1

Р3.4

T0

Вход таймера 0

Р3.5

T1

Вход таймера 1

Р3.6

WR

Строб записи

Р3.7

RD

Строб чтения

Р4.0

CMSR0

Выходы компаратора

Р4.1

CMSR1

таймера Т2

Р4.2

CMSR2

 

Р4.3

CMSR3

 

Р4.4

CMSR4

 

Р4.5

CMSR5

 

Р4.6

CMT0

 

Р4.7

CMT1

 

Р5.0

ADC0

 

Р5.1

ADC1

 

Р5.2

ADC2

 

Р5.3

ADC3

8 аналоговых входов

Р5.4

ADC4

аналого-цифрового

Р5.5

ADC5

преобразователя

Р5.6

ADC6

 

Р5.7

ADC7

 

 

45

 

В УЛС порты Р0, Р2 и Р3 используются в альтернативном режиме для организации внешней шины и для пользователя недоступны. Вход таймера Т0 подключен к ПЛИС, а вход таймера Т1 к разъему расширения. Порт Р1 может использоваться только в альтернативном режиме для работы с JTAG-портом ПЛИС и организации последовательного интерфейса I2C. Линии порта 5 выведены на разъем расширения. Порт Р4 подключен к ПЛИС и одновременно к шкалам светодиодных индикаторов А и В. Если предусмотрен вывод информации из МК через порт Р4 на шкалы А и В, то в проекте, загружаемом в ПЛИС, эти шкалы не должны использоваться. В альтернативном режиме порт Р4 может использоваться для формирования временных интервалов при помощи таймера 2.

2.5. ТАЙМЕР Т2

В состав МК входит дополнительный 16-разрядный таймер Т2, который обеспечивает аппаратную поддержку формирования и измерения временных интервалов. Для этой цели в его состав введены три 16-разрядных компаратора и четыре 16-разрядные регист- ры-защелки. На рис. 2.5 представлена структурная схема таймера Т2. Для работы с таймером Т2, помимо рассмотренных ранее IEN1 IP1, используются следующие регистры специальных функций:

TML2(ECh) и TMH2(EDh) – 16-разрядный счетчик таймера Т2; CML0(A9h),CMH0(C9h),

CML1(AAh),CMH1(CAh), СML2(ABh),CMH2(CBh) – компараторы; CTL0(ACh), CTH0(CCh),

CTL1(ADh), CTH1(CDh),

CTL2(AEh), CTH2(CEh),

CTL3(AFh), CTH3(CFh) – регистры-защелки; TM2CON(EAh) – регистр управления таймером Т2; TM2IR(C8h) – регистр флагов прерывания таймера Т2;

CTCON(EBh) – регистр управления регистрами-защелками таймера Т2;

STE(EEh) – регистр разрешения установки линий порта Р4; RTE(EFh) – регистр разрешения сброса/переключения линий порта Р4.

46

Рис. 2.5. Структурная схема таймера Т2

Рассмотрим назначение этих регистров.

1. TM2CON – регистр управления таймером Т2. Побитно не адресуем.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

T2IS1

T2IS0

T2ER

T2BO

T2P1

T2P0

T2MS1

T2MS0

 

 

 

 

 

 

 

 

Назначение битов:

T2IS1 – бит выбора прерывания по 16-разрядному переполнению таймера Т2;

T2IS0 – бит выбора прерывания по 8-разрядному переполнению таймера Т2;

47

T2ER – бит разрешения внешнего сброса таймера Т2. При его установке таймер Т2 может сбрасываться перепадом 0/1 на входе

RT2 (Р1.5);

T2BO – флаг прерывания по байтовому переполнению таймера Т2;

T2P1 – бит 1 выбор коэффициента деления частоты предделителем таймера Т2;

T2P0 – бит 0 выбор коэффициента деления частоты предделителем таймера Т2;

T2P1

T2P0

Частота работы таймера Т2

00 Частота источника тактирования (Fosc/12 или от внешнего входа Т2 (Р1.4)

01 Частота источника тактирования, деленная на 2

10 Частота источника тактирования, деленная на 4

1

1

Частота источника тактирования, деленная на 8

T2MS1 – бит 1 выбора режима таймера Т2;

T2MS0 – бит 0 выбора режима таймера Т2;

T2MS1

T2MS0

Режим работы таймера Т2

0

0

Таймер Т2 выключен

0

1

Источник тактирования Fosc/12

1

0

Не используется

1

1

Источник тактирования - сигнал со входа Т2

2. TM2IR – побитно адресуемый регистр флагов прерывания таймера Т2.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

T2OV

CMI2

CMI1

CMI0

CTI3

CTI2

CTI1

CTI0

 

 

 

 

 

 

 

 

Назначение битов:

T2OV – флаг 16-разрядного переполнения таймера Т2; CMI2 – флаг прерывания СМ2;

48

CMI1 – флаг прерывания СМ1;

CMI0 – флаг прерывания СМ0;

CTI3 – флаг прерывания СТ3;

CTI2 – флаг прерывания СТ2;

CTI1 – флаг прерывания СТ1;

CTI0 – флаг прерывания СТ0;

3. CTCON – регистр управления регистрами-защелками таймера Т2.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

CTN3

CTP3

CTN2

CTP2

CTN1

CTP1

CTN0

CTP0

 

 

 

 

 

 

 

 

Назначение битов:

CTN3 – регистр-защелка СТ3 переключается перепадом 1/0 на входе CT3I (P1.3);

CTP3 – регистр-защелка СТ3 переключается перепадом 0/1 на входе CT3I (P1.3);

CTN2 – регистр-защелка СТ2 переключается перепадом 1/0 на входе CT2I (P1.2);

CTP2 – регистр-защелка СТ2 переключается перепадом 0/1 на входе CT2I (P1.2);

CTN1 – регистр-защелка СТ1 переключается перепадом 1/0 на входе CT1I (P1.1);

CTP1 – регистр-защелка СТ1 переключается перепадом 0/1 на входе CT1I (P1.1);

CTN0 – регистр-защелка СТ0 переключается перепадом 1/0 на входе CT0I (P1.0);

CTP0 – регистр-защелка СТ0 переключается перепадом 0/1 на входе CT0I (P1.0).

4. RTE – регистр разрешения сброса/переключения линий порта Р4.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

TP47

TP46

RP45

RP44

RP43

RP42

RP41

RP40

 

 

 

 

 

 

 

 

 

 

 

 

49

 

 

 

Назначение битов:

TP47 – если TP47=1, то линия порта Р4.7 переключается при равенстве значений компаратора СМ2 и счетчика таймера Т2;

TP46 – если TP46=1, то линия порта Р4.6 переключается при равенстве значений компаратора СМ2 и счетчика таймера Т2;

RP45 – если RP45=1, то линия порта Р4.5 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

RP44 – если RP44=1, то линия порта Р4.4 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

RP43 – если RP43=1, то линия порта Р4.3 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

RP42 – если RP42=1, то линия порта Р4.2 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

RP41 – если RP41=1, то линия порта Р4.1 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

RP40 – если RP40=1, то линия порта Р4.0 сбрасывается в 0 при равенстве значений компаратора СМ1 и счетчика таймера Т2;

5. STE – регистр разрешения установки линий порта Р4.

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

TG47

TG46

SP45

SP44

SP43

SP42

SP41

SP40

 

 

 

 

 

 

 

 

Назначение битов:

TG47 – переключение триггеров;

TG46 – переключение триггеров;

SP45 – если SP45=1, то линия порта Р4.5 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2; SP44 – если SP44=1, то линия порта Р4.4 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2; SP43 – если SP43=1, то линия порта Р4.3 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2; SP42 – если SP42=1, то линия порта Р4.2 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2; SP41 – если SP41=1, то линия порта Р4.1 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2; SP40 – если SP40=1, то линия порта Р4.0 устанавливается в 1 при равенстве значений компаратора СМ0 и счетчика таймера Т2.

50

Соседние файлы в предмете Интегрированные системы управления и проектирования