Универсальный асинхронный приемопередатчик (УАПП) RS-232C
Основные функции, выполняемые оборудованием интерфейса RS-232C:
1) обеспечение преобразования параллельного кода в последовательный при передаче данных и обратное преобразование при их приеме;
2) формирование стартового, контрольного и стопового разрядов при передаче данных;
3) контроль правильности приема стартового, контрольного и стопового разрядов при приеме. Анализ их "переполнения", когда ранее принятые знаки не переписываются в системную шину до приема очередного знака;
4) прием и передача знака на фиксированных скоростях;
5) формирование и контроль состояния сигналов в интерфейсе RS-232C;
6) организация диагностической проверки без использования подключаемого к интерфейсу RS-232C оборудования.
Оборудование, выполняющее перечисленные выше функции, реализуется в виде БИС, которые получили наименование "универсальный асинхронный приемопередатчик" (УАПП) (UART). УАПП реализованы в виде целого ряда БИС различных конструкций и компоновки. Эти БИС могут располагаться как на базовой плате РС, так и входить в различных комбинациях в адаптеры интерфейсов.
4. Методы ввода/вывода и их классификация
Подсистема ввода/вывода (ПВВ) обеспечивает связь МП с внешними устройствами, к которым будем относить:
· устройства ввода/вывода (УВВ): клавиатура, дисплей, принтер, датчики и исполнительные механизмы, АЦП, ЦАП, таймеры и т.п.
· внешние запоминающие устройства (ВЗУ): накопители на магнитных дисках, "электронные диски" и др.
В рамках рассмотрения ПВВ будем полагать термины "УВВ" и "ВУ" синонимами, т.к. обращение к ним со стороны процессора осуществляется по одним законам.
ПВВ в общем случае должна обеспечивать выполнение следующих функций:
1) согласование форматов данных, т.к. процессор всегда выдает/принимает данные в параллельной форме, а некоторые ВУ (например, НМД) - в последовательной. С этой точки зрения различают устройства параллельного и последовательного обмена. В рамках параллельного обмена не производится преобразование форматов передаваемых слов, в то время как при последовательном обмене осуществляется преобразования параллельного кода в последовательный и наоборот. Все варианты, когда длина слова ВУ (больше 1 бита) не совпадает с длиной слова МП, сводятся к разновидностям параллельного обмена;
2) организация режима обмена - формирование и прием управляющих сигналов, идентифицирующих наличие информации на различных шинах, ее тип, состояние ВУ (Готово, Занято, Авария), регламентирующих временные параметры обмена. По способу связи процессора и ВУ (активного и пассивного) различают синхронный и асинхронный обмен. При синхронном обмене временные характеристики обмена полностью определяются МП, который не анализирует готовность ВУ к обмену и фактическое время завершения обмена. Синхронный обмен возможен только с устройствами, всегда готовыми к нему (например, двоичная индикация). При асинхронном обмене МП анализирует состояние ВУ и/или момент завершения обмена. Временные характеристики обмена в этом случае могут определяться ВУ;
3) адресную селекцию внешнего устройства.
Классификация методов ввода /вывода
I. Под управлением ЦП.
· По опросу
· По прерыванию
II. Под управлением внешних устройств (прямого доступа к памяти).
Метод по опросу подразумевает регулярную проверку процессором готовности к ответу.
Рис.4.1. Метод ввода-вывода по опросу достоинства
Недостатки:
· быстродействие очень низкое;
· процессор занимается постоянным опросом.
Достоинства:
· не требует дополнительной аппаратуры;
· можно использовать несколько источников.
Необходимо чтобы процессор и устройства были согласованны по скорости. Эффективность низка, если информация поступает редко (процессор опрашивает, а информации нет).
Рис.4.2. Метод ввода-вывода по прерыванию
5. Подсистема прерываний МПС
Подсистема прерываний - совокупность аппаратных и программных средств, обеспечивающих реакцию программы на события, происходящие вне программы. Такие события возникают, как правило, случайно и асинхронно по отношению к программе и требуют прекращения (чаще временного) выполнения текущей программы и переход на выполнение другой программы (подпрограммы), соответствующей возникшему событию.