Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 3

       

АДАПТЕР ПОСЛЕДОВАТЕЛЬНОГО ИНТЕРФЕЙСА


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

тех­нике.

Обмен по последовательным промежуточным интерфейсам обычно используется при работе микроЭВМ с удаленными или медленно действующими ПУ, с модемом, в распределенных системах сбора и обработки информации. Уже отмечалось, что одним из наиболее распространенных последовательных промежуточных интерфейсов являются интерфейс RS-232C и его модификации. (Речь идет об относительно низкоскоростных интерфейсах). Отмечалось также, что серийно выпускаются программируемые БИС адаптеров, поддерживающих интерфейс RS-232C. Не рассматривая протоколы обмена для конкретных интерфейсов, отметим только некоторые особенности передачи данных в последовательном формате.

Единицей обмена в последовательном формате является символ, представленный в одной из систем кодирования и содержащий 5-8 информационных бит. Биты представлены в линии связи импульсами тока. На практике применяют два режима последовательного обмена: асинхронный (или стартстопный) и синхронный.

Асинхронный режим

Каждый символ передается автономно, и передача может быть начата в любой момент времени. Стандартный формат посылки приведен на рис. 8.4.

Передача начинается со стартового бита, являющегося логическим нулем, т.е. с прекращением тока в линии связи (длина бита обозначается t). Затем, в зависимости от разрядности кода, передаются 5-8 бит собственно символа. Передача символа завершается необязательным битом четного или нечетного паритета и 1, 1.5 или 2 стоповыми битами. Таким образом, максимальная длина посылки Т может быть равна 11 битам. Скорость передачи измеряется либо числом символов в секунду (1/Т), либо числом битовых посылок в секунду (1/t).


Синхронный режим

Передача начинается с одного или двух символов синхронизации SYN1 и SYN2, после которых последовательно без всяких разделителей передаются

5-8–битовые коды символов с необязательными битами четного или нечетного паритета. Формат сигналов в линии связи имеет вид, приведенный на рис. 8.5.





В обоих режимах необходимо контролировать передачу по битам паритета (если он предусмотрен в формате), выдерживать временные соотношения, а в асинхронном режиме дополнительно контролировать установленный формат символа.

Из сказанного следует, что асинхронному режиму свойственна избыточность. Так, минимальный код в 5 бит могут сопровождать 4 служебных бита, т.е. непроизводительное использование линии связи доходит до 44%, поэтому асинхронный режим используется в системах с небольшой скоростью передачи или с нерегулярным обменом.

Некоторые типы ППУ жестко настроены только на синхронный или асинхронный обмен. Но наибольшей гибкостью отличаются ППУ, которые называются УСАПП – универсальный синхронно-асинхронный приемопередатчик. Типичным примером такого УСАПП является БИС адаптера последовательного промежуточного интерфейса КР580ВВ51, структурная схема которой приведена на рис. 8.6.



Этот адаптер производит автоматическое преобразование кода из параллельного в последовательный и наоборот, а для МП выглядит устройством параллельного ввода и вывода. Он может работать в полудуплексном и дуплексном режимах. Наличие в БИС двойных буферов приводит к тому, что для реакции МП на запрос прерывания от адаптера в распоряжении МП имеется временной интервал Т передачи одного символа. Данный адаптер также генерирует и принимает сигналы управления модемом. С точки зрения программиста адаптер (т.е. его программная модель) имеет вид, приведенный на рис. 8.7.



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

Адаптер имеет двунаправленный буфер ШД, который служит для передачи собственно данных, управляющих слов и информации состояния.


Его выходные каскады имеют три состояния и позволяют отключать адаптер от ШД. Как правило, обмен инициируется командами IN, OUT.



Схема управления воспринимает сигналы с ШУ и генерирует внутренние управляющие сигналы. В ее составе имеются регистр режима и регистр команды, которые хранят управляющие слова функционального определения адаптера.

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

В адаптер подаются шесть входных управляющих сигналов:

RESET (сброс) – H-активный сигнал сброса с минимальной длительностью 6 периодов синхронизации. После воздействия этого сигнала адаптер переходит в "холостой" режим и остается в нем до загрузки управляющих слов.

CLK (синхронизация) – подключается ко второй фазе тактового генератора МП (F2). Частота сигнала CLK минимум в 30 раз выше частоты приема или передачи (имеются в виду частоты передачи или приема отдельных бит, а не их блоков).

 (считывание) – L-активный сигнал, инициирует передачу данных или слова состояния из адаптера на ШД.

 (запись) – L-активный сигнал загрузки в адресуемый регистр адаптера информации с ШД (собственно данных или управляющих слов). Следует иметь в виду, что сочетание сигналов
 и
 (т.е. активное состояние обоих сигналов) является запрещенным и приводит к непредсказуемым последствиям.

 (управление/данные) – указывает тип вводимой в адаптер с ШД информации (H-уровень – управляющее слово, L-уровень – собственно данные). При выводе слова состояния адаптера на этот вход подается высокий уровень сигнала
.

 
(выбор кристалла) – L-активный сигнал, разрешает связь между адапте-

ром и ШД.

Узел передатчика со схемой управления выполняет все функции, связанные с передачей последовательных данных, в частности:

-       воспринимает параллельные коды символов от МП;

-       автоматически вводит необходимые служебные биты и символы синхронизации;



-       выдает последовательный поток данных на выход TxD.

К этому узлу относятся следующие внешние сигналы:

TxD (выход передатчика) – подключается к линии связи или модему.

 (синхронизация передатчика) – входной сигнал, управляющий скоростью передачи данных в последовательном коде. Спады
 "выдвигают" последовательно биты на выход TxD. В синхронном режиме скорость передачи соответствует частоте сигнала
, а в асинхронном режиме программируется как 1, 1/16, 1/64 частоты сигнала
.

TxE (пустой передатчик) – H-активный выходной сигнал, обозначающий отсутствие в адаптере символа для передачи (появляется, когда последний бит кода "выталкивается" из регистра сдвига, а в регистре передатчика также ничего нет). Его можно использовать для идентификации в полудуплексном режиме связи окончания передачи и коммутации линии на прием. В синхронном режиме H-уровень TxE указывает, что символ вовремя не загрузили в адаптер и в качестве "заполнения" автоматически передаются сигналы синхронизации.

Сигнал TxE сбрасывается при загрузке символа в адаптер, т.е. в регистр передатчика. Если регистр сдвига пуст и присутствует сигнал
 – (разрешение передачи), новый символ сразу же перемещается из регистра передатчика в регистр сдвига и начинает "выдвигаться" в линию связи. Как только регистр передатчика освободился, он готов к загрузке нового символа.

TxRDY (готовность передатчика) – H-активный выходной сигнал, определяющий готовность передатчика к загрузке нового символа с ШД (т.е. он индицирует, что регистр передатчика пуст и готов к загрузке). В это время предыдущий символ может еще находиться в регистре сдвига и постепенно "выдвигаться" в линию связи. Как только он будет полностью "выдвинут", новый символ будет перемещен в регистр сдвига (при наличии сигнала
) и сразу же начнет "выдвигаться" в линию связи (вплотную к предыдущему).

Сигнал TxRDY может быть использован как запрос прерывания процессора.


При загрузке в регистр передатчика нового символа сигнал TxRDY сбрасывается. Состояние этого выхода (TxRDY), так же как и TxE, может быть опрошено програм­мным способом, посредством считывания слова состояния.

Узел приемника со схемой управления выполняет все функции, связанные с приемом последовательных данных, в частности:

-       воспринимает последовательные данные с входа RxD;

-       контролирует и исключает служебные биты и символы синхронизации;

-       преобразует последовательные данные в параллельный формат и передает "собранный" символ в процессор.

К этому узлу относятся следующие внешние сигналы:

 (вход приемника) – подключается к линии связи или модему;

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

RxRDY (готовность приемника) – H-активный выходной сигнал, свидетельствующий о готовности приемника к выдаче принятого символа в параллельном коде на ШД (т.е. символ информации полностью "вошел" в регистр сдвига и был перемещен в регистр приемника). Сигнал RxRDY может быть использован как запрос прерывания процессора. После считывания символа из адаптера (из регистра приемника) сигнал RxRDY сбрасывается. Состояние выхода RxRDY может быть опрошено программным способом, посредством считывания слова состояния.

SYNDET (обнаружение синхронизации) – H-активный сигнал синхронного режима, который можно запрограммировать как входной и как выходной. Если он запрограммирован как выходной, то при обнаружении символа SYN, на выходе SYNDET формируется высокий уровень в момент, соответствующий середине последнего бита (если есть SYN1 и SYN2, это относится к SYN2).


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

Сигналы, связанные с узлом управления модемом, в настоящем разделе не рассматриваются, поскольку требуют достаточно подробного изучения протокола обмена в стандарте RS-232C. Остановимся только на основных моментах процесса программирования (инициализации) адаптера.

Управляющие слова, определяющие функциональную конфигурацию адаптера, должны загружаться сразу после операции сброса. Управляющие слова имеют два формата – слово режима и слово приказа (или команда). Оба слова имеют длину

8 бит.

Слово режима задает общие рабочие характеристики адаптера и загружается первым, так как осуществляет коммутацию схем прибора. В закодированном виде слово режима несет информацию о числе стоп-бит (1, 1.5, 2 бита), виде паритета (четный, нечетный), длине слова данных (5, 6, 7, 8 бит) и скорости передачи (эти же биты определяют режим – синхронный или асинхронный). После слова режима загружаются один или два символа синхронизации, если был определен синхронный режим (SYN1 и SYN2). Если адаптер запрограммирован на синхронный режим с одним символом синхронизации, то SYN2 пропускается. Если определен асинхронный обмен, то пропускаются оба символа SYN. Последним в адаптер загружается слово приказа, определяющее конкретные действия, в соответствии со словом режима.

Загрузка всех управляющих слов производится обычно командой OUT (хотя можно обращаться и как к ячейке памяти) при следующих значениях управляющих сигналов:
,
,
,
. Типичный блок данных адаптера после поступления сигнала RESET изображен на рис. 8.9 (следует помнить, что помимо сигнала RESET сброс адаптера можно осуществить также специальным битом D6

в слове приказа).

Слово приказа, как уже отмечалось, задает конкретные операции адаптера. Назначение отдельных разрядов слова приказа в данном разделе не рассматривается.


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



При организации последовательного интерфейса возникает необходимость в анализе состояния адаптера со стороны процессора. Состояние адаптера можно считать в любой момент времени посредством команды IN либо обратившись к регистру состояния как к ячейке памяти. При этом сигнал
 должен быть равным 1. Каждый бит слова состояния отражает состояние одного из сигналов. Часть этих сигналов уже была рассмотрена выше. Это TxRDY (D0), RxRDY (D1), TxE (D2) и SYNDET (D6). Кроме них слово состояния содержит еще 4 бита:

D3 (PE) – ошибка паритета – устанавливается при обнаружении в принятом слове данных нарушения паритета;

D4 (OE) – ошибка переполнения – устанавливается в любом режиме, если процессор вовремя не считал символ из регистра приемника (это слово данных те­ряется).

D5 (FE) – ошибка кадра – устанавливается в асинхронном режиме, если в конце любого слова данных не обнаружен стоповый бит.

D7 (DSR) – готовность модема.

Все флажки ошибок сбрасываются, если бит D4

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


Содержание раздела