17425

Проектирование системы прерываний микро-ЭВМ на БИС семейства КР580

Другое

Коммуникация, связь, радиоэлектроника и цифровые приборы

Проектирование системы прерываний микроЭВМ на БИС семейства КР580 Настоящая работа содержит методические указания по проектированию системы прерываний микроЭВМ на БИС семейства КР580 и написана в помощь студентам специальности при выполнении курсовых и дипломн...

Русский

2013-07-01

87 KB

7 чел.

Проектирование системы прерываний микро-ЭВМ

на БИС семейства КР580

Настоящая работа содержит методические указания по проектированию системы прерываний микро-ЭВМ на БИС семейства КР580 и написана в помощь студентам специальности  при выполнении курсовых и дипломных проектов по микропроцессорной тематике.

      Графическая часть методических указаний может быть использована как материал ТСО при проведении лекционных и практических занятий.

  1.  НАЗНАЧЕНИЕ И ЗАДАЧИ ПРОЕКТИРОВАНИЯ СИСТЕМЫ

ПРЕРЫВАНИЙ МИКРО-ЭВМ.

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

устройства ввода/вывода информации;

времязадающие устройства;

датчики аварийных ситуаций (например, сбоя питания и пр.).

При проектировании системы прерываний микро-ЭВМ решаются следующие задачи:

  1.  Как воспринимать и сохранять запросы прерываний.
  2.  Как запрещать и разрешать прием запросов прерываний во время выполнения программ.
  3.  Как идентифицировать источники запросов прерываний.
  4.  Как передавать управление подпрограмм обслуживания запросов прерывания.
  5.  Как сохранять текущее состояние процессора при переходе к подпрограммам обслуживания запросов прерывания и как его восстанавливать после завершения подпрограммы.
  6.  Как вести обработку приоритетов запросов прерываний.
  7.  Как сопрягать средства системы прерываний с микропроцессором.

  1.  СТРУКТУРА СИСТЕМЫ ПРЕРЫВАНИЙ МИКРО-ЭВМ.

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


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

 Вход разрешения

Прерывание    прерывания

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

   приоритетов                           A>B  Запись                                                          маски прерывания

                                                 

                   Выборка                                                                                        Разрешение                                            Выборка             Запись

                                Чтение                               

         Запись     Чтение

 1

 

.  .  .                                                               2 

                                                                                  .  .  .

                      

 

 Входы  запросов прерываний

 Рис.2.1. Структура системы прерываний: 1 – схема приема запросов прерывания; 2 – схема маскирования запросов; 3 – схема формирования вектора прерывания; 6 – схема сравнения приоритетов.


Прием запросов прерываний.

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

Если запросы прерывания представлены потенциальными сигналами, необходимость в запоминающем регистре отпадает.

Микропрограммные средства устройства управления МП воспринимают прерывания через один общий вход. Поэтому сигналы запросов прерываний с выхода регистра запросов прерываний объединяются по схеме ИЛИ и общий сигнал прерывания подается на вход прерывания INT микропроцессора. В частности микропроцессор КР580ИК80А воспринимает запросы прерываний со входа INT и имеет запоминающий триггер прерываний, управляемый по программе.

Разрешение/запрет запросов прерываний.

Разрешение/запрет приема запросов прерываний осуществляется путем их маскирования. Для этой цели используются схема маскирования и регистр хранения маски прерывания (РМП) (рисунок 2.1). Каждый разряд РПМ соответствует одному из входов запросов прерываний. Для запрета приема сигнала запроса прерывания с произвольного входа в соответствующий разряд РМП устанавливается маска - записывается маскирующее значение (например, логическая единица). Это значение блокирует в схеме маскирования требуемый вход. Для разрешения запроса прерывания соответствующий разряд маски должен быть сброшен – записан логический 0. Для записи маски в РМП необходимо предусмотреть средства доступа к регистру – схемы выборки регистра и управление записью. Целесообразно предусмотреть возможность чтения содержимого РМП с целью его программного анализа. Маскирование запросов прерывания осуществляется по программе. Поэтому регистр РМП должен быть программно доступен. В некоторых случаях целесообразно предусмотреть и микропрограммное управление РМП, например, автоматическое маскирование всех входов прерывания в местах, где это необходимо.

В микропроцессоре КР580ИК80А имеется триггер разрешения прерывания ТгПР, который автоматически сбрасывается после приема очередного запроса прерывания и блокирует прием последующих запросов. Это позволяет запретить прерывание на начальном этапе обслуживания запроса без программного вмешательства.

Триггер ТгРПР является программно доступным. Наличие команд разрешения (E1) и запрета (DI) прерываний позволяет в любом месте программы разрешить или запретить прерывания микропроцессора. Выход триггера ТгРПР  INT E позволяет осуществлять управление внешними средствами системы прерываний.

Идентификация источников запросов прерывания.

Идентификация источников запросов прерывания осуществляется с использованием двух основных способов – опроса и векторного способа.

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

Во втором случае идентификатор запроса выдается внешним устройством совместно с запросом в форме двоичного кода, соответствующего номеру запроса прерывания и именуемого вектором прерывания. Формируется вектор прерывания двоичным шифратором, на вход которого подается содержимое регистра запросов прерывания (см. рисунок 2.1) и запоминается регистром вектора прерывания (обычно по сигналу прерывания). Чтение вектора прерывания осуществляется микропроцессором через шину данных по специальному сигналу подтверждения прерывания. Векторный способ идентификации запросов прерываний требует более сложных аппаратурных затрат, однако время, требуемое для идентификации, существенно сокращается и не зависит от числа источников прерывания.

В микропроцессоре КР580ИК80А используется векторный способ идентификации источников прерывания. Вектор прерываний кодируется трехразрядным двоичным словом VVV и воспринимается в форме команды RST V с форматом 11VVV111, что позволяет идентифицировать 8 источников прерываний. Для формирования команды RST V можно использовать регистр вектора прерывания, три входа которого соединяются с выходами шифратора вектора прерывания, а на остальные подается сигнал логической единицы.

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

2.4. Передача управления подпрограммам обслуживания запросов прерываний.

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

В первом случае используются микропрограммные средства процессора, во втором – специальная программа опроса.

В микропроцессоре КР580ИК80А адрес подпрограммы обслуживания прерывания формируется по вектору прерывания, воспринимаемому в формате команды RST V, в виде 0000 00VV V000. Таким образом, начальные адреса подпрограмм располагаются с адреса 000016 по 003F16 с интервалом 8 адресов.

При использовании команды CALL ADR начальные адреса подпрограмм обслуживания прерываний могут располагаться в произвольном месте памяти, так как они формируются на основе двухбайтового слова, располагаемого во втором и третьем байтах команды CALL ADR.

Обычно в начальных адресах подпрограмм располагаются команды перехода к подпрограммам обслуживания прерывания. Например, программное обеспечение перехода к подпрограммам обслуживания запросов прерываний МП ИК80А имеет вид:

    ORG H0

JMP MAIN; переход к основной программе

   ORG H8

 JMP INT1; переход к подпрограмме обслуживания запроса 1

 ORG H10

 JMP INT2; переход к подпрограмме обслуживания запроса 2

 ORG H18

 JMP INT3; переход к подпрограмме обслуживания запроса 3

 ORG H20

 JMP INT4; переход к подпрограмме обслуживания запроса 4

 ORG H28

 JMP INT5; переход к подпрограмме обслуживания запроса 5

 ORG H30

 JMP INT6; переход к подпрограмме обслуживания запроса 6

 ORG H38

 JMP INT7; переход к подпрограмме обслуживания запроса 7

Для реализации способа опроса в микропроцессорной системе КР580 необходимо сформировать единственный вектор, по которому осуществляется переход к подпрограмме опроса. Обычно для этой цели используется команда RST7, формируемая системным контроллером КР580ВГ28 при подключении входа INT A к источнику +12В и осуществляющая переход по адресу НЗ8.

Программа опроса для трех источников запросов прерываний имеет вид:

ORG H38

PUSH PSW

PUSH B          сохранить состояние процессора

PUSH D

PUSH H

  INPORT ; читать содержимое регистра запросов прерываний

        RAR ; сдвинуть в бит переноса

JC INTO ; перейти к подпрограмме обслуживания запроса INTO, если содержимое флажка переноса равно 1

        RAR ; следующий сдвиг

  JC INT1 ; перейти к подпрограмме INT1 при выполнении условия

JMP INT2 ; перейти к подпрограмме INT2

2.5. Сохранение/восстановление состояния процессора.

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

В микропроцессоре КР580ИК80А автоматически осуществляется сохранение в стеке содержимого программного счетчика при выполнении команды перехода на подпрограмму обслуживания прерывания RST V или CALL ADR. Для этой цели содержимое счетчика не увеличивается на единицу в первом цикле команды, а запоминается в стеке во втором и третьем циклах выполнения команды RST V, CALL ADR. При использовании в качестве стека области ОЗУ необходимо предусмотреть загрузку указателя стека начальным адресом. Обычно это осуществляется основной программой:

ORG MAIN

LXISP, ASTM; /загрузка адреса стека в память

             EI    ; /разрешение прерывания

Сохранение содержимого других рабочих регистров в микропроцессоре КР580ИК80А осуществляется программным обеспечением. Для этой цели используются команды занесения в стек PUSH, размещаемые в подпрограмме прерывания и осуществляющие загрузку 16-разрядных слов в стек. Участок подпрограммы в общем случае имеет вид:

PUSH PSW ; загрузка слова состояния – содержимого аккумулятора и флажков

       PUSH B ; загрузка содержимого пары B

       PUSH D ; загрузка содержимого пары D

       PUSH H ; загрузка содержимого пары H

Восстановление состояния процессора осуществляется обычно подпрограммами обслуживания прерываний. Для восстановления содержимого рабочих регистров МП КР580ИК80А используются команды извлечения из стека РОР, выполненные в порядке обратном командам PUSH. Восстановление содержимого программного счетчика осуществляется по команде возврата из подпрограммы RET. Последовательность восстановления состояния процессора КР580ИК80А имеет вид:

    POP H    ; восстановить содержимое пары H

    POP D    ; восстановить содержимое пары D

    POP B    ; восстановить содержимое пары B

  POP PSW ; восстановить слово состояния

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

2.6. Приоритетная обработка запросов прерываний.

Обслуживание запросов прерываний от многих источников необходимо вести в соответствии с определенной схемой очередности.

Обычно схема очередности обслуживания запросов прерывания задается присвоением входам запросов прерывания соответствующих приоритетных уровней. При этом запрос прерывания с более высоким приоритетом обслуживания прерывает запросы с более низкими уровнями приоритетов. В схеме с фиксированными приоритетами каждому входу запроса прерывания присваивается фиксированный приоритет.

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

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

Приоритетная обработка запросов прерываний наиболее просто осуществляется при использовании векторного способа идентификации источников. Она основана на сравнении векторов запросов прерываний текущего и вновь поступающих. Сравнение осуществляется компаратором векторов, на один из входов которого поступает вектор с шифратора запросов приоритетов, а на другой вектор текущего, обрабатываемого запроса, хранимый в специальном регистре текущего приоритета. Перед началом обслуживания запроса прерывание его приоритета загружается в регистр текущего приоритета от процессора по шине данных (см. рисунок 2.1). Компаратор формирует выходной сигнал, если приоритет (вектор) поступившего сигнала запроса прерывания превышает приоритет обслуживаемого запроса. Этот сигнал используется для разрешения выдачи сигнала прерывания микропроцессору. Микропроцессор при этом должен прервать выполнение текущей подпрограммы обслуживания прерывания и перейти к подпрограмме обслуживания с высшим приоритетом. При этом для обеспечения возврата к прерванной программе обслуживания запроса прерывания его приоритет необходимо сохранить, например, в стеке. Для этого процессор читает содержимое регистра текущего приоритета и пересылает его в стек, а в регистр текущего приоритета системы прерываний загружает новый уровень приоритета запроса (вектор) прерывания.

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

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

2.7. Сопряжение средств системы прерываний с микропроцессором.

 

Сопряжение внешних средств системы прерываний с микропроцессором осуществляется через системную шину средствами интерфейса.

Процессор рассматривает внешние средства системы прерываний, как совокупность ячеек памяти или портов ввода/вывода. Обращение к ним осуществляется по адресам, передаваемым  по адресной шине, а обмен данными – по шине данных под управлением соответствующих сигналов управления. Каждый регистр системы прерываний может иметь свой собственный интерфейс. Однако более совершенным является общий интерфейс. В любом случае интерфейс содержит схемы выборки (например, адресный селектор), подключаемые к адресной шине, буфер (буфера) шины данных, предназначенные для сопряжения с шиной данных и схемы управления чтением/записью, формирующие внутренние сигналы управления режимами работы регистров на основе внешних сигналов управления чтения, записи, подтверждения прерываний и др.

      Схема сопряжения внешних средств системы прерываний с системной шиной микро-ЭВМ на БИС КР580 показана на рис.2.2.

    

  АШ

ШД D7…0

ШУ                                                      ЧтВВ       ЗПВВ   ППРЕ    РПР    ЗПР

      .   .    .

                                                          

 От источников  запросов прерываний.

Рис.2.2. Интерфейс внешних средств системы прерываний с системной                                                       шиной микро-ЭВМ на БИС КР580.

        


 

А также другие работы, которые могут Вас заинтересовать

54359. Межпредметные связи на уроках технологии 298.5 KB
  Почва верхний слой земли на которой растут растения. Разработка почвы как один из приемов повышения урожайности культур. Виды обработки почвы вспашка плугом перекопка лопатой. Плодородие почвы повышается при правильной ее обработке и внесении удобрений.
54360. SQL Server 2000. Система управления реляционными базами данных и анализа данных 908.5 KB
  Microsoft SQL Server 2000 является законченным решением в области управления базами данных и анализа данных, предназначенным для быстрого создания масштабируемых веб-приложений следующего поколения. Являясь базовым компонентом семейства. NET Enterprise Servers, он значительно ускоряет выпуск приложений электронной коммерции, бизнес-приложений и хранилищ данных, в то же время обеспечивая уровень масштабируемости...
54361. Робота з базою даних в програмі Microsoft Access. Створення форм 955.5 KB
  Мета уроку: навчитись проектуванню баз даних; оформлювати форми додавання в форму елементів керування; введення в форму даних; створення підпорядкованої таблиці в формі; використання проектних технологій у побудові форм; придбання практичних навичок створення форм; формувати навички свідомого планування своєї навчальної діяльності; розвивати: логічне та образного мислення; самостійність у засвоєнні навчального матеріалу; виховувати: впевненість у своїх силах колективізм; естетичність у оформленні форми;...
54362. Мифы Древней Греции. Верования древних греков 40 KB
  Цель: расширить кругозор учащихся; познакомить их с Грецией; рассказать о возникновении древнегреческих мифов, отражении в них представлений греков об окружающем их мире; стимулировать познавательный процесс, развивать коммуникативные способности учащихся; раскрыть потенциальные возможности детей; развивать творческие способности и интерес к литературе; воспитывать у учащихся инициативность в построении совместной учебной деятельности; формировать умение работать в группе.
54363. Мифы Древней Греции. Верования древних греков. Интегрированный урок 4.81 MB
  Мы предлагаем конспект интегрированного урока с использованием информационных и мультимедийных технологий на уроках литературы в 6 классе по теме Мифы Древней Греции. Овладеть знаниями о мифах Древней Греции не посетив страну пусть даже виртуально весьма трудно. Как же можно построить уроки по изучению мифов Древней Греции с использованием информационных и компьютерных технологий По программе на изучение этого...
54364. Свято – урок «Ой хто, хто Миколая любить» 42.5 KB
  Всі річки тепер в обнові біле скло над бережком Ходить зима по діброві застеляє все сніжком. Сніг сідав на усмішки і сміявся з усіма Бо прийшла до нас зима Пісня Зимонька Сорока. Йшла зимонька поміж полями Усміхнулася до зір...
54365. День Святого Миколая - душа весело співає 158 KB
  Хлопчик Краснії подарунки дітям приносить В кожен дім діти знають: з радістю приходить. Звучить чарівна мелодія зявляються дівчаткаянголи які виконують дивовижний танок сповіщаючи прихід Миколая стук у двері до господи входить Святий Миколай Вчитель Діти а хто до нас прийшов Діти Святий Миколай Св. Добрий день вам любі діти Діти Добрий день Св. Бачу ви усі привітні...
54366. Сценарій ранку «Ми чекаємо Святого Миколая» 60 KB
  Ми всі з нетерпінням чекаємо дня Святого Миколая. З лопатами і з піснею Працюємо разом 2куплет: Ми цю пісню будемо співати І всі дружно станем працювати Щоб Миколай прийшов до всіх Приніс дарунків повен міх 1 чортик Ну що ж мене вам не здолати я вам нашлю нову біду Чари мариТепер вас треба всіх розчарувати а для цього треба все про святого Миколая розповісти а ви про нього нічого і не знаєте.
54367. Народні свята. День Святого Миколая 81 KB
  Співом його привітаєм Разом пісню заспіваєм Співають пісню Ой хто хто Миколая любить Ой хто хто Миколая любить Ой хто хто Миколаю служить Тому святий Миколай На всякий час помагай Миколаю Ой хто хто спішить в твої двори Того ти на землі й на морі. Все хорониш від напасти Не даєш му в гріхи впасти Миколаю Ой хто хто к ньому прибігає На поміч його призиває Той все з горя вийде ціло Охоронить душу й тіло Миколаю Миколай молися за нами Благаєм тебе зі сльозами Ми тя будем вихваляти Ім'я твоє величати Миколаю 2...