
- •Параллельный интерфейс/таймер 68230.Содержание.
- •Обмен информацией в синхронном режиме.
- •Структура параллельного интерфейса/таймера 68230.
- •Расположение и назначение выводов 68230.
- •Режимы работы параллельного интерфейса. Режим 0.
- •Подрежим 00.
- •Подрежим 01.
- •Подрежим 1x.
- •Режим 1.
- •Подрежим x0.
- •Подрежим x1.
- •Режим 2.
- •Режим 3.
- •Регистры параллельного интерфейса. Регистр управления режимом работы портов (pgcr).
- •Регистр управления прерываниями (psrr).
- •Регистр вектора прерывания параллельного интерфейса (pivr).
- •Регистр статуса портов (psr).
- •Регистры направления перемещения данных (pddra, pddrb, pddrc).
- •Регистры управления портами (pcra, pcrb).
- •Регистры данных портов (padr, pbdr, pcdr).
- •Регистры состояния портов (paar, pbar).
- •Блок таймера 68230.
- •Состояния таймера.
- •1. Состояние останова.
- •Примеры применения таймера.
Режим 3.
Режим 3,представленный на рис.16, представляет из себя расширенный вариант режима 2. В режиме 3 оба порта A и B объединены в единый 16-битовый дважды-буферированный двунаправленный порт. Также, как в режиме 2 линии H1 и H2 управляют выводом данных, а линии H3 и H4 - вводом. Функции регистров управления портами (PACR и PBCR) в режиме 3 те же самые, что и в режиме 2, поэтому рис.14 и 15 применимы к режиму 3.
Рис.16 Параллельный интерфейс в режиме 3 (двунаправленный 16-разрядный режим).
Регистры параллельного интерфейса. Регистр управления режимом работы портов (pgcr).
Формат регистра PGCR представлен на рис.17. Биты 6 и 7 определяют режим работы параллельных портов ввода/вывода, биты 4 и 5 разрешают работу пар сигналов квитирования H1, H2 и H3, H4, и биты 0-3 определяют направление активного перепада для линий квитирования; например, PGCR.1=1 определяет активный перепад для линии H2 как перепад из 0 в 1.
PGCR7 PGCR6
|
PGCR5
|
PGCR4
|
PGCR3
|
PGCR2
|
PGCR1
|
PGCR0
|
режим работы портов
|
разрешение H34
|
разрешение H12
|
уровень H4
|
уровень H3
|
уровень H2
|
уровень H1
|
PGCR7
|
PGCR6
|
Режим работы портов
|
0
|
0
|
режим 0
|
0
|
1
|
режим 1
|
1
|
0
|
режим 2
|
1
|
1
|
режим 3
|
Примечание.В битах PGCR3-PGCR0 производится установка активного уровня работы линий H4-H1. Причем 0 - соответствует активному низкому уровню, а 1 - активному высокому уровню. Биты PGCR4, PGCR5 разрешают (1) или запрещают (0) работу линий H1,H2 или H3,H4. Все биты PGCR устанавливаются в 0 после внешнего сброса. Работа по линиям H1-H4 разрешается только после программной установки битов PGCR4,5 для того, чтобы исключить отклик на внешнее воздействие по этим линиям до полной программной установки 68230.
Рис.17 Формат регистра управления режимом работы портов PGCR.
Регистр управления прерываниями (psrr).
Регистр управления прерываниями определяет условия, при которых последовательный интерфейс может быть включен в систему обслуживания прерываний и систему ПДП. На рис.18 представлен формат регистра PSRR. В регистре выделено три логических поля: поле запроса обслуживания (SVCRQ), которое определяет будет ли последовательный интерфейс устанавливать запрос на прерывание или запрос на ПДП при установке сигналов на линиях H1 или H3; поле выбора линий прерывания, определяющее режим работы двух линий порта C в качестве линий ввода/вывода или линий выполняющих функции специального назначения, и поле управления приоритетом прерывания. Запрос на прерывание устанавливается на выводе DMAREQ/ на время 3-х тактов внешней синхронизации.
Регистр вектора прерывания параллельного интерфейса (pivr).
Регистр вектора прерывания содержит 6 старших бит четырех векторов прерываний от параллельных портов. Содержимое этого регистра может быть считано одним из двух путей: простым чтением регистра PIVR по соответствующему адресу, либо в течение цикла обслуживания прерывания от параллельного интерфейса. В последнем случае два младших бита регистра устанавливаются аппаратно определяя источник прерывания, в соответствии с таблицей 2.
PSRR7
|
PSRR6 PSRR5
|
PSRR4 PSRR3
|
PSRR2 PSRR1 PSRR0
|
X
|
SVCRQ
|
выбор линий прерывания
|
приоритет прерываний
|
PSRR4
|
PSRR3
|
Режим работы линий порта C
|
Функция
|
0
|
0
|
PC5/PIRQ/=PC5 PC6/PIACK/=PC6
|
прерывания не поддерживаются
|
0
|
1
|
PC5/PIRQ/=PIRQ/ PC6/PIACK/=PC6
|
поддерживаются прерывания по автовектору
|
1
|
0
|
PC5/PIRQ/=PC5 PC6/PIACK/=PIACK/
|
-
|
1
|
1
|
PC5/PIRQ/=PIRQ/ PC6/PIACK/=PIACK/
|
поддерживаются векторные прерывания
|
-
Уровень приоритета
Приоритет
PSRR2-PSRR0
самый высокий <---> самый низкий
000
H1S H2S H3S H4S
001
H2S H1S H3S H4S
010
H1S H2S H4S H3S
011
H2S H1S H4S H3S
100
H3S H4S H1S H2S
101
H3S H4S H2S H1S
110
H4S H3S H1S H2S
111
H4S H3S H2S H1S
Рис.18 Формат регистра управления прерываниями PSRR.
Например, если PIVR при инициализации загружен величиной 01101100 ($6C), то прерывание вызванное установкой сигнала H2 будет иметь вектор прерывания 01101101 ($6D), а прерывание по линии H4 будет иметь вектор 01101111 ($6F). После внешнего сброса регистр PIVR принимает начальное значение $0F.
Таблица 2.
-
Источник прерывания
PIVR1
PIVR0
H1
0
0
H2
0
1
H3
1
0
H4
1
1