Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

5.2. Програмований паралельний інтерфейс

Програмований паралельний інтерфейс КР580ВВ55 при­значений для введення-виведення паралельної інформації у 8-6айтовому форматі, що дає змогу реалізувати більшість відомих протоколів обміну по паралельних каналах. ВІС програмованого паралельного інтерфейсу можна використо­вувати для з'єднання МП зі стандартним периферійним ус­таткуванням — дисплеєм, телетайпом, накопичувачем тощо.

Структурну схему ВІС зображено на рис. 5.7, а її графічне позначення — на рис. 5.8. До складу ВІС входять (див. рис. 5.7):

• двоспрямований 8-розрядний буфер даних BD (Bufer of Data), що з'єднує лінії даних ВІС із системною шиною даних;

• блок керування читанням-записом RWCU {Read/ Write Control Unit), що забезпечує керування зовнішнім і внутрішнім передаванням даних та керуючих слів;

• три 8-розрядних порти введення-виведення (порт А, порт В, порт С) для обміну інформацією, причому порт С поділений на двачотирирозрядиих: (РС7—РС4) і (РСЗ— РС0). Порти A і об'єднані у групу В, а порти В і — у групу В'.

Схема ВІС містить також блоки керування групою А {Control Unit А — CUA) та групою В (CUB), що формують сигнали керування для відповідних груп.

Блок RWCU {Register of Control Word Unit) містить регістр керуючого слова, який зберігає керуючі слова, що над­ходять від МП.

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

Таблиця 5.1. Вибір портів ВІС KPS80BBSS

A1

А0

Порт

0

0

A

0

1

В

1

0

C

1

1

RCW

Рис. 5.8. Графічне позначення ВІС КР580ВВ55

Таблиця 5.2. Визначення виду операцій залежно від сигналів керу­вання та адресних розрядів A1, A0

Операція

A1

А0

Запис керуючого слова з МП

0

1

0

1

1

даних у порт А

0

1

0

0

0

даних у порт В

0

1

0

0

1

даних у порт С

0

1

0

1

0

Зчитування

даних з порту А

0

0

1

0

0

даних з порту В

0

0

1

0

1

даних з порту С

0

0

1

1

0

Вимикання ВІС від

D7-D0

1

х

х

х

х

Примітка, х — будь-яке значення (0 або 1)

Адресні розряди А1, А0 дають змогу обирати один з портів або регістр керуючого слова RCW (табл. 5.1).

Сигнал керування третім станом шини даних , сигнали читання , запису та скидання RESET подаються па блок RWCU і разом із сигналами на адресних лініях АО, А\ задають вид операції, що виконується (табл. 5.2).

Рис. 5.9. Функціональна схема з'єднання ВІС КР580ВВ55 із систем­ною шиною

Призначення виводів ВІС наведено у табл. 5.3. функціональну схему з'єднання ВІС із системною шиною МП зображено на рис. 5.9.

Відповідно до схеми рис. 5.9 і табл. 5.2 визначаються адреси портів та регістра керуючого слова RCW (табл. 5.4).

Таблиця 5.3. Призначення виводів ВІС KP580BB5S

Позначення виводу

Номер виводу

Призначення виводів

D7-D0

27; 28; 29; 30; 31; 32; 33; 34

Вхід/вихід даних

5

Читання; L-рівень сигналу дозволяє зчи­тування інформації з регістра, що адре­сується розрядами A0, А1 на лінії D7D0

36

Запис; L-рівень сигналу дозволяє запис інформації із шини D7-D0 у порт паралельного інтерфейсу, що адресується роз­рядами A0, A1

А0,АІ

9; 8

Входи для адресування внутрішніх регістрів ППУ

RESET

35

Скидання; Н-рівень сигналу скидає регістр керуючого слова і встановлює всі порти у режим введення

6

Вхід вибірки мікросхеми; L-рівень сигналу з'єднує шину даних D7D0 ВІС із системною шиною

РА7-РА0

37; 38; 39; 40; 1; 2;3; 4

Вхід-вихід порту А

РВ7-РВ0

15; 24; 23; 22; 21; 20; 19; 18

Вхід-вихід порту В

РС7-РС0

10; 11; 12; 13; 17; 16; 15; 14

Вхід-вихід порту С

Ucc

26

Вивід напруги живлення +5 В

CND

7

Спільний вивід 0 В

Таблиця 5.4. Адреси портів і регістра RCW

Порт

А7

A6

A5

A4

AЗ

A2

A1

A0

Адреса

А

0

0

0

0

1

0

0

0

08H

В

0

0

0

0

1

0

1

0

0AH

С

0

0

0

0

1

1

0

0

0CH

RCW

0

0

0

0

1

1

1

0

0ЕН

D7

D6

D5

D4

D3

2

D1

D0

1

M1

M0

IOA

IOC’

M

IOB

IOC’’

Рис. 5.10. Формат керуючого слова режиму

Програмування ВІС полягає у завантаженні керуючого слова режиму за А1 = 1, А0 = 1. Формат керуючого слова ре­жиму показано на рис. 5.10. Керуюче слово визначає один з трьох режимів портів паралельного інтерфейсу: режим 0 — основний режим введення-виведення; режим 1 — режим вве­дення/виведення за стробом готовності; режим 2 — режим двонапрямленого передавання інформації.

На рис. 5.10 прийнято таке позначення: М1, М0 — біти, що задають режим групи А. За М1М0 = 00 формується режим 0, за 01 — режим 1, за 1х — режим 2;

ІОА — біт, що задає режим введення або виведення порту А. За ІОА = 1 здійснюється введення інформації, за 0 — виведення;

IOС — біт, що задає режим введення або виведення пор­ту С' (1 — введення, 0 — виведення);

М — біт, що задає режим групи В. За М = 0 — режим 0,1 — режим 1;

IOВ — біт, що задає режим введення або виведення пор­ту Б (1 — введення інформації, 0 — виведення);

IOС' — біт, що задає режим введення або виведення пор­ту С" (1 — введення, 0 — виведення).

Керуюче слово може встановлювати різні режими роботи для кожного з портів. Порт А може працювати у будь-якому з трьох режимів, порт В — у режимах 0 та 1. Порт С можна використовувати для передавання даних лише у режимі 0; в інших режимах його застосовують для передавання керуючих сигналів, що супроводжують процес обміну в портах А і В. Окремі розряди порту С можна встановлювати або скида­ти програмно за допомогою керуючого слова встановлепня-скидання, формат якого показано на рис. 5.11. На рис. 5.11 позначено:

біти N2, N1, N0 задають номер розряду, який треба встановити або скинути. Значення цих бітів: 000 — визначає розряд РС0, 001 - РС1, 010 - РС2, 011 - РСЗ, 100 - РСА, 101 - РС5, 110 - РС6, 111 - РС7;

біт S/R — задає режим установлення або скидання роз­ряду порту С, який обрано значеннями N2, N1, N0. За S/R = = 1 відбувається встановлення розряду, за 0 — скидання.

D7

D6

D5

D4

D3

D2

D1

D0

0

х

х

х

N2

N1

N0

S/R

Рис. 5.11. Формат керуючого слова встановлення-скидання порту С 208

Приклад 5.5. Сформувати імпульс тривалістю п (мкс). Адреси ВІС КР580ВВ55 подано в табл. 5.4.

Для того щоб сформувати імпульс заданої тривалості, треба встано­вити розряд РСА у стан логічної одиниці, потім виконати підпрограму затримки на п (мкс) й провести скидання розряду РСА.

Визначимо керуючі слова для встановлення і скидання розряду РС4. Керуюче слово встановлення розряду РС4 згідно з рис. 5.11 буде та­ким:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

1

0

0

1

У 16-річній системі числення воно дорівнює 09Н. Керуюче слово скидання розряду РС4:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

1

0

0

0

У 16-річній системі числення воно дорівнює 08H. Програма формування імпульсу тривалістю п (мкс) на виході РС4 порту С:

MOV

AL, 09

Формування керуючого слова, встановлен-; ня розряду РС4

OUT

0EH,AL

Запис умісту AL регістра керуючого ;слова

CALL

DELAY

Затримка часу на п (мкс)

MOV

ЛІ.08

Формування керуючого слова скидання ; розряду РС4

OUT

0EH.AL

Виведення до регістра керуючого слова

Підпрограма затримки на п (мкс)

DELAY:

MOV СХЛЗА

СХ134 (4 такти)

D:

LOOP D

СХСХ — 1, якщо не 0, то перехід на D ; під час виконання переходу на мітку D команда ; виконується за 16 тактів, якщо СХ = 0 — за 4 такти

RET

; Повернення з підпрограми (8 тактів)

Визначимо тривалість затримки у цьому прикладі. У коментарі до команд підпрограми затримки у дужках запишемо тривалість вико­нання команд у тактах (див. табл. 2.11). Загальна кількість тактів, потрібна для виконання підпрограми DELAY, становить:

За тактової частоти 5 МГц тривалість одного такту дорівнює 200 не. Тоді значення п визначається як

мкс.

Для кожної групи А або В у ВІС є тригер дозволу переривання INTE, встановлення-скидання якого здійснюється керуючим словом встановлення-скидання визначеного розряду порту С. Якщо тригер дозволу переривання відповідної групи встановлений (INTE - 1), то паралельний інтерфейс може сформувати запит переривання за готов­ності ПВВ до обміну.

Розглянемо режими роботи портів програмованого паралельного інтерфейсу.

Режим 0 застосовується за синхронного обміну або під час про­грамної організації асинхронного обміну. В цьому режимі ВІС — це пристрій, що складається з чотирьох портів (два 8-розрядних і два 4-розрядних), які можуть незалежно налагоджуватися на введення або виведення інформації. Виведення інформації здійснюється за коман­дою OUT з фіксацією виведеної інформації у регістрах портів, а вве­дення — за командою IN без запам'ятовування інформації.

Приклад 5.6. Установити порт А у режим введення 0, порт В — у режим виведення 0, порт С — у режим введення 0, порт С" — у режим виведення 0, а потім здійснити відповідно введення або виведення інфор­мації через порти А і В.

Керуюче слово режиму в цьому разі таке:

D7

D6

D5

D4

D3

D2

D1

D0

1

М1

М0

ІОА

IOС

М

IOВ

IOС"

1

0

0

1

1

0

0

0

=98H.

Програма матиме такий вигляд:

MOV

AL, 98Н

Формування керуючого слова режиму 98H у AL

OUT

OEH.AL

Запис до регістра RWC

IN

AL.08H

Введення з порту А

OUT

UAH, AL

Виведення на порт В

Зазначимо, що в цьому прикладі адреси портів визначаються за схе­мою рис. 5.9.

Режим 1 забезпечує односпрямований обмін інформацією МП з ПВВ за стробом готовності. Інформація передається по портах А і В, а лінії порту С керують процесом передавання. Роботу порту в режимі 1 супроводжують три керуючі сигнали. Якщо один з портів запрограмо­вано на режим 1, то інші 13 інтерфейсних ліній можна використовувати у режимі 0. Якщо обидва порти запрограмовано на режим 1, то дві інтерфейсні лінії порту С, що залишилися, можуть бути налагоджені на введення або виведення. Призначення розрядів порту С під час вве­дення даних з портів А і В у режимі 1 показано на рис. 5.12.

Приклад схеми з'єднання пристрою введення з портом А, пристрою виведення — з портом В у режимі 1 показано на рис. 5.13.

Група А

Група В

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

IO

IO

IBF A

INTE A

INTR A

INTE B

IBF B

INTR B

Рис. 5.12. Призначення розрядів порту С під час введення даних з портів А і В у режимі 1:

IBF (Input Buffer Full) — вихідний сигнал ВІС, який повідомляє про заповненість вхідного буфера порту даними; INTR (INTeRrupt) вихідний сигнал, що повідомляє про завершення приймання інформації; INTE (INTerrupt Enable) сигнал дозволу переривання (вхід стробу приймання)

Рис. 5.13. Схема з'єднання пристрою введення з портом А, пристрою виведення — з портом В у режимі 1

Введення даних у режимі 1 здійснюється по каналу А, а керуючі сигнали передаються по лініях РС4 і РС5. Пристрій введення видає строб приймання , який вказує на готовність до введення інформа­ції. Цей строб надходить на вхід дозволу переривання від каналу А — РС4. Вихідний сигнал IBF з виводу РС5 використовується для підтвер­дження приймання. Він формується за спадом STB і повідомляє пристрій введення про закінчення приймання даних.

Крім показаних на рис. 5.13 сигналів, програмований паралельний інтерфейс формує також сигнал запиту переривання INTR, який інформує МП про завершення приймання інформації. Під час обміну за перериванням цей сигнал використовується як запит переривання, а за програмного обміну може ігноруватися. Високий рівень цього сигналу встановлюється, якщо = 1, IBF = 1. Нульовий рівень сигналу INTR установлюється з надходженням сигналу .

Група А

Група В

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

A

INTE A

IO

IO

INTR A

INTE B

B

INTR B

Рис. 5.14. Призначення розрядів порту С під час виведення даних на порти А і В в режимі 1

Призначення розрядів порту С у режимі 1 виведення показано на рис. 5.14. Сигнал (Output Buffer Full) — вихідний сигнал, що повідомляє про заповненість вихідного буфера порту даними.

Інші сигнали мають таке саме значення, що й на рис. 5.12.

Приклад виведення даних на порт В у режимі 1 показано на рис. 5.13. Для виведення даних у цьому режимі використовують такі керуючі сигнали: — вихідний сигнал, що формується за фронтом та повідомляє ПВВ про готовність до виведення; АСК — вхідний сигнал, що підтверджує приймання інформації з ВІС інтерфейсу; INTR — вихідний сигнал ВІС, що повідомляє МП про завершення виведення. Сигнал INTR встановлюється у стан логічної одиниці за = 1 і = 1, і відбувається скидання у стан логічного нуля сигналом IOW у процесі запису даних у паралельний інтерфейс.

Розряди РС6, РС7 (див. рис. 5.12) та РС5, РС4 (див. рис. 5.14) під час виведення не беруть участі у керуванні обміном і можуть бути запрограмовані на просте введення або виведення (I/O). Введення здійснюється читанням порту С, а виведення — записом керуючих слів встановлення-скидання окремих розрядів (див. рис. 5.11).

Обмін за стробом готовності може здійснюватися за перериванням або за програмою. Під час обміну за перериванням сигнал INTR над­ходить до системи переривання та ініціює обмін. Під час обміну за програмою готовність портів А або В визначається опитуванням INTR А або В.

Приклад 5.7. Написати програму встановлення порту А у режим уведення 1 та ввести дані за стробом готовності. Адреси порту А ви­значають за допомогою рис. 5.9.

Керуюче слово режиму в цьому випадку:

D7

D6

D5

D4

D3

D2

D1

D0

1

М1

М0

ІОА

IOС

М

IOВ

IOС"

1

0

0

1

1

0

0

0

=0B0H.

Програма має такий вигляд:

MOV

AL,0B0H

Формування керуючого слова режи­му в AL

OUT

QEH.AL

Запис до регістра RWC ВІС КР580ВВ55

MOV

AL.09

формування керуючого слова вста­новлення розряду РС4 — INTE А — дозвіл переривань

OUT

0EH,AL

Запис вмісту AL до регістра керуючо­го слова

Ml:

IN AL.0CH

AL вміст порту С

AND AL, 00001000B

Маскування всіх розрядів, крім РСЗ (INTRA)

JZ Ml

Якщо дані не готові, то на М1,

IN AL.08H

інакше — введення інформації з пор­ту А

Режим 2 забезпечує двонапрямлене передавання інформації з порту А до зовнішнього пристрою і навпаки. Процес обміну супроводжують 5 керуючих сигналів, що подаються по лініях РС7—РСЗ (див. рис. 5.14); 11 інтерфейсних ліній, що залишилися, можуть налагоджуватися на режим 0 або режим 1. Призначення розрядів порту С у режимі 2 наведено на рис. 5.15, а схема з'єднання програмованим паралельним інтер­фейсом — на рис. 5.16.

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

OBF A

INTE 1

IBF A

INTE 2

INTR A

x

x

x

Залежать від режиму порту В

Рис. 5.15. Призначення розрядів порту С у режимі 2

Рис. 5.16. Схема під'єднання ПВВ до ВІС КР580ВВ55 у режимі 2

Рис. 5.17. Робота ВІС у режимі 2:

а — розподіл сигналів по інтерфейсних лініях; 6 — часові діаграми роботи

Призначення керуючих сигналів у режимі 2 аналогічне призначен­ню сигналів у режимі 1. Керування формуванням внутрішнього сигна­лу INTE для операції введення здійснюється по лінії РС4, а для опе­рації виведення — по лінії РС6.

Вивід ВІС INTR А використовують як запит переривань під час введення, так і під час виведення інформації. Розподіл сигналів по інтерфейсних лініях, керуюче слово у режимі 2 та часові діаграми ро­боти подано на рис 5.17.

Приклад 5.8. Написати програму встановлення порту А у режим введення 2, а потім здійснити введення (виведення) інформації через порт А в цьому самому режимі.

Керуюче слово режиму в цьому випадку дорівнюватиме 0С0Н:

D7

D6

D5

D4

D3

D2

D1

D0

1

М1

М0

ІОА

IOС

М

IOВ

IOС"

1

0

0

1

0

0

0

0

Програма двонапрямленого введення-виведення за стробом готов­ності має спочатку виявити готовність порту до введення або виведен­ня за одиничним станом сигналу INTR А (лінія РСЗ), а потім встано­вити, які саме дані готові — для введення (одиничний стан лінії РСА) чи виведення (одиничний стан лінії РС6). Після цього можна здійсню­вати обмін даними. Програма має такий вигляд:

MОV AL,0C0H

Формування керуючого слова режиму в AL

OUT 0EH, AL

Запис до регістра RWC ВІС КР580ВВ55

МІ:

IN AL,0CH

MOV BL, AL

AND AL,00001000B

AL вміст порту С

Зберігання вмісту AL у регістрі BL

Маскування всіх розрядів, крім РСЗ

NTR А)

JZ M1

Якщо дані не готові, то на М1

MOV AL, BL

AL вміст порту С

AND AL,00010000B

Маскування всіх розрядів, крім РС4

NTR А)

JZ M2

Якщо дані для введення не готові, то перехід на

IN AL,08H

Виведення інакше – введення інформації з порту А

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]