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.

        


 

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

1869. ЭТНОКОНФЕССИОНАЛЬНАЯ ТОЛЕРАНТНОСТЬ КАК ФАКТОР ОБЕСПЕЧЕНИЯ МИРА И БЕЗОПАСНОСТИ НА СЕВЕРНОМ КАВКАЗЕ 1.24 MB
  Теоретические основы исследования этноконфессиональной толерантности как фактора обеспечения мира и безопасности. Роль этноконфессиональной толерантности в обеспечении мира и безопасности в современных условиях. Вопросы формирования этноконфессиональной толерантности как фактора обеспечения мира и безопасности на Северном Кавказе. Совершенствование деятельности социально-политических институтов по формированию этноконфессиональной толерантности.
1870. Виды рода Astragalus L. и их роль в растительном покрове Предкавказья 1.23 MB
  История изучения видового состава рода на территории Северного Кавказа. Ключ для определения видов рода Astragalus. Распространение, фитоценотическая приуроченность и роль видов рода Astragalus L. в растительном покрове Предкавказья. Перспективы использования видов астрагала. Фитохимическая оценка предкавказских астрагалов.
1871. ПОДГОТОВКА УЧИТЕЛЯ К ПРОСВЕТИТЕЛЬСКОЙ ДЕЯТЕЛЬНОСТИ В ОБЛАСТИ ОСНОВ ИНДИВИДУАЛЬНОГО ЗДОРОВЬЯ ШКОЛЬНИКОВ 1.23 MB
  Теоретические основы подготовки учителя к просветительской деятельности в области сохранения индивидуального здоровья школьников. Педагогическая система подготовки будущего учителя к просветительской деятельности в области основ индивидуального здоровья школьников (на материале деятельности учителя - биолога).
1872. ФОРМИРОВАНИЕ СИСТЕМЫ ВЗАИМОДЕЙСТВИЯ ПРЕДПРИЯТИЯ С КЛИЕНТАМИ НА ОСНОВЕ ПРЕЦИЗИОННОГО МАРКЕТИНГ- МЕНЕДЖМЕНТА 1.23 MB
  Маркетинг-менеджмент как основа интенсификации бизнеса. Проблемы управления маркетингом в условиях информатизации. Разработка принципов и структуры построения системы взаимосвязи предприятия с клиентами. Обеспечение сетевой поддержки системы, ориентированной на задачи управления клиентами. Оценка составляющих экономического эффекта от внедрения рекомендаций по системе взаимодействия с клиентами на основе использования современных информационных технологий.
1873. Образовательные, развивающие и воспитательные задачи внедрения ИКТ в учебный процесс на уроках ОБЖ 14.17 KB
  Школьники по-разному осваивают новый материал – с неодинаковой скоростью и различными способами. У одних лучше развито слуховое восприятие, у других – зрительное, у третьих – кинестетическое и поэтому усваивание новых знаний происходит не одинаково.
1874. Планирование воспитательной работы классного руководителя 15.25 KB
  План работы классного руководителя - конкретное отображение предстоящего хода воспитательной работы в ее общих стратегических направлениях и мельчайших деталях.
1875. Бути економним - вимога часу 15.31 KB
  Економічні науки досліджують читання, які стосуються усіх нас, без винятку, а тому усім нам потрібні економічні знання, адже бути економним – вимога часу.
1876. Воспитательное мероприятие по ликвидации опасного поведения 16.16 KB
  Довести до студентов сведения о неблагоприятных результатов опасного поведения.
1877. Воспитательные функции учителя как организатора учебного процесса 17.36 KB
  Педагогическая функция – предписанное педагогу направление применения профессиональных знаний и умений. Главными направлениями приложения педагогических усилий являются обучение, образование, воспитание, развитие и воспитание учащихся.