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

Цифровые устройства и микропроцессоры

.pdf
Скачиваний:
516
Добавлен:
09.06.2015
Размер:
3.6 Mб
Скачать

 

 

90

IN

AL, 70H

; ввести символ

MOV

BUF[SI], AL

; и отправить его в память

INC

SI

 

LOOP

MET

 

 

 

При необходимости можно произвести контроль битов ошибок. Для этого слово состояния вводится снова и проверяются соответствующие биты. Если текущий символ появился в заполненный буфер данных контроллера или во время передачи возникли ошибки паритета или кадра, ввод прекращается и вызывается процедура обработки ошибки.

Подключение микросхемы

На рис. 24 показан возможный вариант подключения микросхемы в микропроцессорной системе.

}

Рис. 24. Схема подключения КР580ВВ51А в микропроцессорную систему

Делитель частоты обеспечивает деление тактовых импульсов до частоты, необходимой для работы передатчика или приёмника. Выводы ГПд и ГПр подключаются ко входам запросов прерывания контроллера прерыва-

91

ний, если предполагается организация работы «по запросу». Выход передатчика, вход приёмника, сигналы запросов приёмника и передатчика терминала подключаются либо к модему, либо к схеме сопряжения по уровню, позволяющей осуществлять преобразование ТТЛ-уровней входных и выходных сигналов в уровни, необходимые для работы с ВУ (дисплеем и т. д.).

Каждый компъютер обычно оборудован, по крайней мере, двумя последовательными портами, которые чаще всего используются для подключения мыши и модема или для соединения компъютеров между собой.

Лекция № 13

5.3.2. Параллельная связь. Программируемый параллельный интерфейс 8255 (КР580ВВ55)

Параллельная связь осуществляется одновременной передачей нескольких бит по отдельным линиям. Её преимущество по сравнению с последовательной связью заключается в том, что для линий с заданной максимальной двоичной скоростью обеспечивается более высокая скорость передачи информации. Недостатком же является, конечно, стоимость дополнительных линий, поэтому параллельная связь применятся на большие расстояния, если только требуется высокая скорость передачи.

Программируемым устройством ввода-вывода параллельной информации различного формата является микросхема КР580ВВ55. Микросхема представляет собой программируемое устройство, используемое для ввода – вывода. БИС программируемого параллельного интерфейса (ППИ) может использоваться для сопряжения микропроцессора со стандартным периферийным оборудованием (дисплеем, телетайпом и т. д.). В микросхеме программируется:

направление обмена информацией (ввод или вывод); режим обмена информацией; разрешение обмена с прерыванием программы.

Структурная схема ППИ приведена на рис. 25.

В схему входят: буфер данных, блок управления с регистром управляющего слова, три канала (А, В и С). Регистры канала А и В – восьмиразрядные, регистр канала С может быть подразделён на два четырёхразрядных регистра ввода-вывода данных, к которым осуществляется доступ как к отдельным независимым регистрам. Имеется возможность подразделения трёх каналов на две группы. В этих группах при определённых режимах каналы А и В используются для обмена данными, а отдельные линии канала С – для управляющих сигналов.

Двунаправленный тристабильный буфер данных предназначен для подключения внутренней шины данных микросхемы к системной ШД. Приём в буфер информации или выдача происходит при выполнении МП команд

92

ввода или вывода, через него же производится программирование и считывание слова состояния контроллера.

Блок управления чтением / записью обеспечивает сопряжение внутренних командных сигналов с системными управляющими сигналами.

Для связи с периферийными устройствами используются 24 линии ввода/вывода, сгруппированные в три 8-разрядных канала А, В и С, направление передачи информации и режимы работы которых определяются программным способом.

Микросхема может функционировать в трёх основных режимах: режим 0, режим 1 и режим 2.

КА0 КА7

D0

D7

КC0 КC3

 

 

WR

 

КC4 КC7

RD

 

CS

 

 

SR

 

 

A 0

 

КВ0 КВ7

A1

 

Рис. 25. Структурная схема КР580ВВ55

Режим 0 – это простой ввод-вывод информации. В этом режиме обеспечивается возможность синхронной программно управляемой передачи данных через все три независимых 8-разрядных канала А, В и С, причём канал С может быть разбит на два 4-разрядных канала.

Режим 1 – стробируемый ввод-вывод информации. В этом режиме обеспечивается возможность ввода или вывода информации в или из периферийного устройства через два независимых 8-разрядных канала А и В по сигналам квитирования. При этом по три линии канала С для каждого из каналов А и В используются в качестве сигналов управления обменом.

Режим 2 – двунаправленный обмен информацией по стробу. В режиме 2 обеспечивается возможность обмена информацией с периферийными устройствами только через двунаправленный 8-разрядный канал А по сигналам квитирования. Для передачи и приёма управляющих сигналов используются 5 линий канала С. Выбор соответствующего канала и направление передачи информации через канал определяются сигналами А0, А1 (которые

93

обычно соединяются с младшими разрядами шины адреса системы) и сигналами RD, WR, CS в соответствии с табл. 20.

Итак, канал А может работать в любом из трёх режимов работы на ввод и на вывод, канал В – в режимах 0 и 1 на ввод и вывод, канал С используется для передачи данных только в режиме 0, а в 1 и 2 режимах он передаёт управляющие сигналы.

Канал А имеет 2 регистра, один из них используется для приёма данных с ШД микропроцессора и выдачи их во внешнее устройство, другой – для приёма данных из внешнего устройства и выдачи их на ШД микропроцессора. В каналах В, С1 и С2 имеется по одному регистру, который обеспечивает передачу данных в нужном направлении за счёт входных и выходных формирователей.

Регистр порта С в режимах 1 и 2 выполняет функции регистра состоя-

ния.

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 20

 

 

Сигнал

 

 

 

 

 

Вид

Направление

 

 

на входах

 

 

 

 

 

информации

передачи

А1

А0

 

 

 

 

 

 

 

 

 

 

 

WR

 

RD

 

CS

 

 

 

 

 

 

 

 

0

0

1

 

 

0

 

0

 

Данные

К А → ШД

0

1

1

 

 

0

 

0

 

Данные

К В → ШД

1

0

1

 

 

0

 

0

 

Данные

К С → ШД

0

0

0

 

 

1

 

0

 

Данные

ШД → К А

0

1

0

 

 

1

 

0

 

Данные

ШД → К В

1

0

0

 

 

1

 

0

 

Данные

ШД → К С

1

1

0

 

 

1

 

0

 

Управляющие

ШД → Рег. слов

 

 

 

 

 

 

 

 

 

 

 

слова

управления

х

х

 

х

 

х

1

 

 

Микросхема не вы-

 

 

 

 

 

 

 

 

 

 

 

 

брана

Режим работы каждого из каналов определяется при программировании после записи управляющего слова (рассматривается ниже) в регистр управляющего слова контроллера.

В табл. 21 приведено назначение выводов ППИ.

 

 

 

Таблица 21

Вывод

Обозначение

Тип вывода

Функциональное назначение

1–4

КА3–КА0

Входы/выходы

Информационный канал А

37–40

КА7–КА4

 

Информационный канал В

18-25

КВ0–КВ7

Входы/выходы

10–17

КС7–КС4

Входы/выходы

Информационный канал С

 

КС0–КС3

 

Входы для адресации внутренних

8,9

А0, А1

Вход

 

 

 

регистров ППИ

5

RD

Вход

Чтение информации; низкий уро-

 

 

 

вень сигнала разрешает считывание

 

 

 

информации из регистра, адресуемо-

 

 

94

 

 

 

 

го по входам А0, А1 на ШД МП

 

 

 

36

WR

Вход

Запись информации; низкий уровень

 

 

 

сигнала разрешает запись информа-

 

 

 

ции с ШД МП в регистр ППИ, адре-

 

 

 

суемый по входам А0, А1

6

CS

Вход

Выбор микросхемы

35

SR

Вход

Сброс. По этому сигналу все каналы

 

 

 

настраиваются на режим 0 для ввода

 

 

 

информации. Все шины портов пе-

 

 

 

реходят в высокоомное состояние

7

GND

Общий

26

Ucc

Напряжение питания

Программирование ППИ производится с помощью двух управляющих слов, их форматы приведены на рис. 26. и 27.

7p 6p 5p 4p 3p 2p 1p 0p

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

C ...C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B0

...B7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C4...C7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 26. Первый формат управляющего слова

Первый формат управляющего слова определяет режимы, каналы и направление передачи. Когда ППИ принимает байт, направляемый в его регистр управления, он анализирует бит 7 данных. Если этот бит содержит 1, первое управляющее слово передаётся в регистр управления; если же бит = 0, второе управляющее слово считается командой установки/сброса и применяются для установки или сброса определяемого командой бита порта С. Биты 3-1 дают номер изменяемого бита, а бит 0 показывает сброс или установку. Остальные биты не используются.

95

Рис. 27. Второй формат управляющего слова

Рассмотрим работу микросхемы в различных режимах более подроб-

но.

Режим 0. В этом режиме вывод информации осуществляется по команде OUT микропроцессора с фиксацией выводимых данных в регистрах каналов, а ввод – по команде IN без запоминания информации. Дополнительных сигналов управления обменом информации с периферийных устройств не требуется.

Режим 1 обеспечивает стробируемый однонаправленный обмен информацией с внешним устройством. Передача данных производится по каналам А и В, а линии канала С управляют передачей. Работу канала в режиме 1 сопровождают три управляющих сигнала. Если один из каналов запрограммировать на режим 1, то остальные 13 линий можно использовать в режиме 0. Если оба канала запрограммированы на режим 1, то оставшиеся две интерфейсные линии канала С могут быть настроены на ввод или вывод.

Временные диаграммы для ввода информации в режиме 1 представлены на рис. 28.

В режиме 1 для ввода информации используются следующие управляющие сигналы: (см. рис. 28, 29) строб приёма STB – (разр. С3 для канала А и С2 для канала В) – входной сигнал, формируемый внешним устройством; указывает на готовность ВУ к вводу информации; подтверждение приёма IBF (С5 – для канала А, С1 – для канала В) – выходной сигнал ППИ, сообщающий ВУ об окончании приёма данных в канал; формируется по спаду STB; запрос прерывания INTR (С3 для канала А и С0 для канала В) – выходной сигнал контроллера, информирующий МП о завершении приёма информации каналом.

Высокий уровень сигнала запроса прерывания устанавливается при STB = 1 и IBF = 1, он переводит МП на соответствующую подпрограмму, обеспечивающую считывание информации из ППИ. По завершении считывания спадом сигнала RD сигнал запроса прерывания сбрасывается. Разрешения на выдачу сигналов запроса прерывания INTR выдают внутренние триггеры разрешения прерывания (на рис. 29 – Тг.пр.1 и Тг.пр.2). Состояния триггеров устанавливаются лишь программно с помощью второго управ-

96

ляющего слова (линия С4 для канала А и линия С2 – для канала В). Наличие таких внутренних триггеров позволяет при необходимости на время запрещать «отвлекать» процессор. Аналогично производится работа при выводе информации через программируемый параллельный интерфейс.

Рис.28. Временные диаграммы работы К580ВВ55 в режиме 1 (ввод)

Режим 2 обеспечивает двунаправленную передачу информации по каналу А к внешнему устройству и обратно без программирования направления передачи. Процесс обмена сопровождают пять управляющих сигналов, подаваемых по линиям С7 – С3. Управляющие сигналы являются комбинацией сигналов, необходимых при работе канала в режиме 1. Распределение сигналов по интерфейсным линиям приведено на рис.30. Функции управляющих сигналов аналогичны рассмотренным выше сигналам для режима 1. Управление установкой внутреннего сигнала INTR для операции ввода осуществляется по линии С4, а для операции вывода – по линии С6.

 

97

 

C7

 

C6

 

C5

Тгпр1

C

 

4

 

C3

Тгпр2

C2

 

 

C1

 

C0

Рис. 29. Передача управляющих сигналов по каналу С в режиме 1 (ввод)

Поскольку микросхема не имеет внутреннего регистра, указывающего на состояние схемы, то для его определения командой IN считывают содержимое регистра канала С, являющееся слово-состоянием контроллера, и интерпретируют отдельные его разряды. Формат слова-состояния показан на рис. 31.

98

Тг C6

Тг

C4

C7

C6

C5

C4

C3

C2

C1

C0

Рис. 30. Передача управляющих сигналов по каналу С в режиме 2

Использование слова-состояния позволяет работать микропроцессору работать с ППИ не только по запросу, но и по опросу. Для этого после считывания слова-состояния программным путём производится анализ разрядов D0 (для канала В) или D3 (для канала А). Разряды D7, D6 показывают напрвление передачи: «1» – ввод, «0» – вывод.

D7 D6

D5

D4

D3 D2

D1 D0

10 10

Рис. 31. Слово-состояние контроллера

Ниже приводится фрагмент программы проверки готовности ВУ при обмене с обслуживанием по программе.

 

 

99

M:

IN AL, port ;

чтение слова-состояния при А1, А0 = 11

 

AND MASK;

выделение флага готовности.

 

 

MASK = 00001000 для кан.А

 

 

MASK = 00000001 для кан.В

 

 

Лекция № 14

5.5.Программируемые таймеры и счётчики событий

5.5.1.Принцип работы программированного таймера

Довольно часто требуется устройство формирования временных интервалов для процессора и внешних устройств, подсчета внешних событий и ввода показаний в процессор, а также генерирования внешней синхронизации, которую может программировать процессор. Такое устройство называ-

ется программируемым интервальным таймером / счетчиком событий. Не-

которыми областями применения такого устройства являются:

прерывание операционной системы с разделением времени через равномерные интервалы, чтобы она осуществляла переключение программ;

вывод точных временных сигналов с программируемыми периодами в устройство ввода-вывода (например, в аналого-цифровой преобразователь); программируемая генерация скорости передачи в бодах; измерение временной задержки между внешними событиями;

подсчет числа появлений событий во внешнем эксперименте и ввод показания в компьютер; прерывание процессора после появления запрограммированного числа внешних событий.

Рис. 32. Типичный интервальный таймер/счётчик событий