загрузка...
загрузка...
На головну

Архітектура БІС програмованого контролера переривань КР580ВН59

БІС програмованого контролера переривань (ПКП) являє собою пристрій, що реалізує до восьми рівнів запитів на переривання з можливостями програмного маскування і зміни дисципліни обслуговування переривань (рис. 3.9). За рахунок каскадного включення БІС КР580ВН59 число рівнів переривання може бути розширено до 64.

Спрощена структурна схема ПКП приведена на рис. 3.9, а. До складу БІС входять: двонаправлений 8-розрядний буфер даних (BD), призначений для сполучення ПКП з системної інформаційної шиною; блок керування записом-читанням: (RWCIJ), приймає сигнали від МП і задає режим функціонування ПКП; схема каскадного буфера-компаратора (СМР), використовувана для включення в систему декількох ПКП; схема управління (СU), виробляє сигнал переривання і формує трехбайтную команду CALL для видачі на шину даних; регістр запитів переривань (RGI), використовуваний для зберігання всіх рівнів переривань, на які надходять запити; схема прийняття рішень по пріоритетах (PRB), ідентифікує пріоритети запитів і вибирає запит з найвищим пріоритетом; регістр обслуговуються переривань (ISR), зберігає рівні запитів переривань, які перебувають на обслуговуванні ПКП; регістр маскування переривань (RGM), забезпечує заборона однієї або НЕ скільком лініях запитів переривання.

Мал. 3.9

Призначення вхідних, вихідних і керуючих сигналів ВКП наведені при описі висновків мікросхеми в табл. 3.12.

Сполучення БІС КР580ВН59 зі стандартною системою шин показано на рис. 3.9, б.

ПКП дозволяє реалізувати процес переривання за запитами від зовнішніх пристроїв або за опитуванням мікропроцесором запитів на обслуговування зовнішніх пристроїв.

При обслуговуванні переривань за запитом від зовнішніх пристроїв виконуються операції в певній послідовності: запити переривань надходять на входи IRO - IR7 і встановлюють відповідні розряди RGI; ПКП приймає запити, оцінює їх пріоритети і формує сигнал переривання INT '; МП приймає сигнал INT, якщо переривання дозволені, і підтверджує прийом видачею сигналу INТА; після отримання сигналу INTA ПКП встановлює розряд регістра ISR, відповідний запит з найвищим пріоритетом, скидає відповідний розряд і встановлює на шину даних D (7-0) код команди CALL; МП встановлює ще два сигналу INTA, які дозволяють ВКП передати на шину даних 16-розрядний адреса підпрограми обслуговування переривання, причому молодший байт адреси передається за першим сигналом INTA, а старший - за другим.

При обслуговуванні переривань за опитуванням мікропроцесор виробляє зчитування коду номера запиту з вищим рівнем пріоритету по сигналу RD. Прийом запитів, маскування і аналіз пріоритету виконуються так само, як і при обслуговуванні переривань за запитом.

Для збільшення числа рівнів переривання ПКП можуть бути об'єднані в систему, що складається з ведучого ПКП і декількох відомих ВКП (рис. 3.9, в). При обслуговуванні запиту, що надійшов на вхід відомого ПКП, провідний ПКП по сигналу INTA видає на шину даних код команди CALL, а на шини СAS0 - CAS1 - код номера веденого ПКП. З приходом другого і третього сигналів INTA адреса підпрограми обслуговування на шину даних видає обраний за кодом на шинах CASO - CAS2 ведений ПКП.

Установка ПКП в початковий стан і настройка його на певний режим обслуговування переривань програмується двома типами команд: командами ініціалізації (ICW) і командами управління операціями (OCW). Для ініціалізації в ПКП послідовно вводяться команди ICWI и ICW2. У мікропроцесорної системи, що складається з декількох ПКП, для кожного з них після двох перших команд ініціалізації вводиться команда ICW3, задає режим взаємодії контролерів. Формати команд ініціалізації наведені на рис. 3.10.

 
 

Мал. 3.10

команда ICWI (Рис. 3.10, а) скидає регістри RGI, RGM і привласнює нижчий пріоритет входу IR7. Розряд S цієї команди визначає наявність одного або декількох ПКП в системі, а розряд F (Формат) - адресний інтервал в 4 або 8 байт між початковими адресами підпрограм обслуговування переривань. розряди А7- А5 команди ICWI використовуються для формування молодшого байта адрес підпрограм обслуговування переривань (табл. 3.13). команда ICW2 (Рис. 3.8, б) являє собою старший байт адреси підпрограм обслуговування переривань, що видається ПКП на шину даних в якості третьої байта команди CALL. В команді ICW3 для провідного ВКП (рис. 3.10, в) наявність 1 в одному з розрядів вказує на підключення до відповідного входу запиту переривання виходу INT веденого ПКП. В команді ICW3 для веденого ВКП (рис. 3.10, г) встановлюють код його номера в системі.

Таблиця 3.13. Молодший байт адрес команди CALL

 Вхід запиту  Адресний інтервал 4 байт  Адресний інтервал 8 байт
D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
 IR7  A7  А6  A5  A7  А6
 IR6  A7  А6  A5  A7  А6
 IR5  A7  А6  A5  A7  А6
 IR4  A7  А6  A5  A7  А6
 IR3  A7  А6  A5  A7  A6
 IR2  A7  А6  A5  A7  А6
 IRI  A7  А6  A5  A7  А6
 IRO  А7  А6  A5  A7  А6


 Команди ініціалізації завантажуються в ПКП з мікропроцесора з урахуванням певного значення молодшого розряду адреси АТ (Рис. 3.10). Після запису команд ініціалізації ПКП підготовлений до прийому запитів переривання і може працювати в режимі з фіксованими пріоритетами запитів. В цьому режимі запити впорядковані за пріоритетами: вхід IRO має вищий пріоритет, a IR7 - нижчий. Для завдання інших режимів функціонування ПКП необхідно використовувати команди OCW, які завантажуються після команд ініціалізації в будь-який поточний момент часу (рис. 3.11).

Мал. 3.11

Команда управління операціями OCWI (Рис. 3.11, а) встановлює або скидає розряди регістра RGM. Установка деякого розряду регістра маскування призводить до заборони переривання за відповідним входу.

Команда управління - операціями OCW2 (Рис. 3.11, б) скидає розряд регістра ISR і циклічний зсув пріоритету запиту. Можливі варіанти команди OCW2 і виконувані нею функції показані в табл. 3.14. Якщо обслуговування запиту переривання необхідно закінчити скиданням розряду регістра ISR з вищим пріоритетом, то використовують команду OCW2 зі значеннями Е01 = 1 и SEOI = 0. при Е01 = 1 и SEOl == 1 призначений для скидання рівень обслуговується переривання вказується в команді розрядами D2 (L2) - DO (LO). Циклічний зсув пріоритетів задається в команді OCW2 розрядом D7 (R). У циклічному режимі використовується кругової порядок призначення пріоритетів. Останньому запитом присвоюється нижчий пріоритет, наступного по колу - вищий. Пріоритети інших запитів циклічно зміщуються за шкалою пріоритетів. при R = 1 и SEOI = 0 команда OCW2 присвоює нижчий пріоритет запиту з вищим пріоритетом, а при R = 1 і SEOI = 1 нижчий пріоритет присвоюється запиту, номер якого вказується розрядами D2 (L2) - DO (L0). команда OCW2 зазвичай записується в ПКП в кінці підпрограми обслуговування переривання перед командою повернення RET.

Таблиця 3.14. варіанти команди OCW2

 розряд команди  виконувана функція
 D7 (R)  D6 (SEOI)  DS (Е0I)  D4  D3  D2  DI  DO
Х Х Х  фіксований пріоритет
Х Х Х  Циклічний зсув пріоритету - привласнення обслужених запитом нижчого пріоритету
 L2  LI  LO  Фіксований пріоритет, L2-LO- номер скидається розряду регістра ISR
 L2  LI  LO  Циклічний зсув пріоритету; L2 - LO - номер скидається розряду регістра ISR (привласнення йому нижчого пріоритету)
 L2  LI  LO  Циклічний зсув пріоритету без завершення переривання; L2-LO-номер входу IR з нижчим пріоритетом
 Примітка: X-довільне стан розряду (X I [0; 1])

Команда управління операціями OCW3 (Рис. 3.14, в) дозволяє задати режим спеціального маскування (розряди D6, D5), режим опитування (розряд 1) і провести зчитування стану ВКП (розряди D1, D0).

Режим спеціального маскування дає можливість на деякій ділянці програми вибірково керувати запитами з різними пріоритетами і вирішувати переривання виконуваної програми навіть 'від входів з меншими пріоритетами. Режим спеціального маскування встановлюється командою OCW3 при ESMM = 1 и SMM = 1 . Цей режим діє до скидання по команді, в якій ESMM = 1 і SMM = 0.

Режим опитування встановлюється по команді OCW3 при Р = 1. В цьому режимі ВКП приймає запити і формує слово-стан опитування, яке включає номер запиту з найвищим пріоритетом (розряди D2 - DO слова-стану). Обслуговується запит на вимогу програми, за допомогою команди введення IN (А0 = 0, RD = 0), здійснює читання слова-стану, програмне декодування і перехід до відповідної підпрограми обслуговування переривання.

Зчитування вмісту регістрів RGI и ISR проводиться після завантаження в ПКП команди OCW3 з певними значеннями ERIS и RIS (Рис. 3.11, в) з подальшим виконанням команди введення IN (АТ = 1, RD = 0). Вміст регістра RGM зчитується без попереднього завантаження OCW3 по команді IN (А0 = 1, RD = 0).

Архітектура контролера прямого доступу до пам'яті КР580ВТ57 «-- попередня | наступна --» Генератор тактовихімпульсов КР580ГФ24
загрузка...
© om.net.ua