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.

        


 

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

24915. Понятие и правовое положение хозяйственных (торговых) обществ и товариществ 64.5 KB
  Хозяйственные торговые далее хозяйственные товарищества и общества являются традиционной наиболее распространенной в обычном имущественном обороте формой коллективного предпринимательства. Товарищества и общества имеют много общих черт: 1 они являются коммерческими организациями созданными на добровольной как правило договорной основе на началах членства корпоративных 2 они наделяются законом общей правоспособностью 3 они становятся едиными и единственными собственниками имущества образованного за счет вкладов учредителей...
24916. Гражданско-правовое положение государственных и муниципальных унитарных предприятий 49.5 KB
  Далее для всех унитарных предприятий употребляю аббревиатуру ФГУП но понимаем что это не только федеральные но и субъектов федерации и муниципальные. ФГУП обладает имуществом которое является неделимой собственностью ее учредителя. ФГУП может учредить только одно юр. Устав сдолжен содержать сведения о деятельности собственнике и органе осуществляющем его полномочия перечень и порядок формирования и использования фондов на которые делится имущество ФГУП направления использования прибыли.
24918. Понятие и правовой статус некоммерческих организаций 59.5 KB
  Учредители НКО Учредителями некоммерческой организации в зависимости от ее организационноправовых форм могут выступать полностью дееспособные граждане и или юридические лица. В состав органов управления иностранных неправительственных НКО не могут входить государственные и муниципальные служащие если иное не установлено международным договором.1 ФЗ об НКО Органы управления НКО Высшими органами управления некоммерческими организациями в соответствии с их учредительными документами являются: коллегиальный высший орган управления для...
24919. Публично-правовые образования как субъекты гражданских правоотношений 48 KB
  К числу публичноправовых образований участвующих в гражданских правоотношениях относятся Российская Федерация субъекты РФ и муниципальные образования ст. Поэтому государство и другие публичноправовые образования в гражданскоправовых отношениях выступают на равных началах с иными их участниками гражданами и юридическими лицами п. Особенности гражданской правосубъектности публичноправовых образований В качестве субъектов гражданского права государство и иные публичноправовые образования обладают гражданской правоспособностью и...
24920. Объекты гражданских прав: понятие, виды 48.5 KB
  Объекты гражданских прав: понятие виды Объекты гражданских правоотношений это различные материальные в том числе вещественные и нематериальные идеальные блага либо процесс их создания составляющие предмет деятельности субъектов гражданского права. Закон может регулировать только поведение людей направленное на данные объекты а не их сами поэтому различие между разными объектами ГП в их режиме а не в их физических свойствах. Объекты ГП шире понятия объектов гражданского оборота поскольку имеются объекты ГП полностью их этого...
24921. Гражданско-правовой режим движимого и недвижимого имущества 36.5 KB
  Гражданскоправовой режим движимого и недвижимого имущества В соответствии со ст. Регистрация прав на движимые вещи не требуется кроме случаев указанных в законе. Движимые вещи по общему правилу не подлежат регистрации имеющей значение для гражданского оборота. Техническая регистрация некоторых движимостей может влиять лишь на осуществление прав на них но не на их возникновение.
24922. Ценные бумаги как объекты гражданских прав 44 KB
  Основная особенность объекта: тесная неразрывная связь выраженных в них прав с документарной бумажной формой их фиксации передача бумаги означает передачу права. Право на бумагу вещное а право из бумаги обязательственное они в нормальном случае имеют общую судьбу ибо право из бумаги всегда следует за правом на бумагу и несовпадение управомоченных по этим правам лиц в принципе должно быть исключено. Отсюда необходимость установления и соблюдения строго формальных реквизитов при отсутствии хотя бы одного из которых документ теряет...
24923. Вексель 49.5 KB
  К возникшим в результате выдачи векселя отношениям правила о договоре займа могут применяться лишь при отсутствии специальных норм вексельного законодательства ч. которое является почти дословным воспроизведением текста Единообразного закона о переводном и простом векселях в свою очередь составляющего Приложение N 1 к одной из международных Женевских вексельных конвенций от 7 июня 1930 г. Конвенция N 359 имеющая целью разрешение некоторых коллизий законов о переводных и простых векселях и Конвенция N 360 о гербовом сборе в отношении...