Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Организация ввода-вывода в микропроцессорной системе




Вводом-выводом информации называют процесс передачи данных между микропроцессором и основной памятью (ОЗУ, ПЗУ), между микропроцессором и внешними устройствами, а также между основной памятью и внешними устройствами. Различают три режима ввода-вывода: программный, по прерываниям и прямой доступ к памяти.

Программный ввод-вывод инициируется программой работы микропроцессора, т.е. в определенных местах программы записываются команды опроса портов или обращения к памяти, под управлением которых осущетсвляется процесс ввода-вывода. Поэтому программный ввод-вывод называют еще синхронным режимом ввода-вывода, т.е. управляемым командами микропроцессора. Эти команды выполняются немедленно, если внешние устройства имеют свойство постоянной готовности к приему или передаче данных. Такими устройствами могут быть, например, светодиодные или ЖК-индикаторы на выходе порта вывода или набор кнопок на входе порта ввода. Если внешнее устройство таким свойством не обладает, то при выполнении команды необходимо осуществлять проверку управляющего сигнала готовности внешнего устройства к передаче или приему данных. Если готовность устройства не подтверждается, то микропроцессор переходит в режим ожидания активного уровня сигнала готовности. Недостатком такой организации ввода-вывода являются большие временные затраты на ожидание готовности медленного внешнего устройства. Однако такой способ ввода-вывода имеет преимущество, заключающееся в простой аппаратной реализации. Поэтому такой режим ввода-вывода используется преимущественно для осуществления обмена данными с устройствами постоянно готовыми к этому обмену.

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



Переход к обработке запроса прерывания осуществляется по сигналу запроса прерывания INT от внешнего устройства (рис.12.1) по мере готовности на его выходе данных к передаче или по мере потребности получения им данных от микропроцессора. В микропроцессорной системе может быть подключено несколько внешних устройств по прерываниям (по линиям IRQ0…IRQn). Поэтому внешнее устройство должно сообщить не только о факте прерывания, но и свой номер, чтобы микропроцессор знал, какую именно обрабатывающую подпрограмму запускать. Для этих целей в микропроцессорных комплектах микросхем имеются обычно специальные микросхемы, называемые контроллерами прерываний. Контроллер прерывания воспринимает хотя бы одно прерывание с линий IRQ0…IRQn и формирует сигнал запроса прерывания INT на шину управления микропроцессора. Далее он должен в виде двоичного кода сформировать на шину данных микропроцессора команду запроса прерывания, где определенные биты этого кода будут указывать на номер устройства, запросившего прерывание. Поскольку сигнал запроса прерывания может поступить в любое время, даже когда микропроцессор выполняет очередную команду программы и его шина данных занята, то анализ этого сигнала микропроцессором должен выполниться только после завершения текущей выполняемой команды. Поэтому контроллер прерывания должен дождаться от микропроцессора подтверждения прерывания в виде сигнала INTA, и только после этого выставить на шину данных код команды прерывания.

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

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

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

Характерен ввод-вывод в режиме ПДП обычно для микропроцессорных систем универсального назначения, где в разные моменты времени в соседние ячейки оперативной памяти загружаются с внешних накопителей разные программы в виде файлов, а также сохраняются из памяти в виде файлов большие количества промежуточных и конечных результатов. Для специализированных автономных измерительных микропроцессорных систем такой режим организуется редко, поскольку такие системы работают в основном с одной программой, уже хранимой в ПЗУ, и быстродействие обращения к внешним устройствам в них не столь значимо.





Дата добавления: 2014-01-06; Просмотров: 434; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ‚аш ip: 54.166.216.223
Генерация страницы за: 0.102 сек.