Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Булатов В.Н. Архитектура микропроцессороной системы, состав машинных команд и основы программирования микропроцессорной .pdf
Скачиваний:
97
Добавлен:
02.05.2014
Размер:
7.1 Mб
Скачать

OUT DX,AL

; байт данных из регистра

DL. ADD DX,+2 ; Подготавливаем адрес порта С

IN AL,DX

; и устанавливаем бит D0,

OR AL,01

; не меняя содержимое остальных разрядов,

OUT DX,AL

; сначала: D0=1,

AND AL,FE

; затем:

OUT DX,AL

; D0=0 —формируя таким образом STB.

RET

;

 

Представленный материал по параллельному интерфейсу 8255 не является исчерпывающим, так как он постоянно модернизировался в процессе создания новых поколений IBM PC. Начиная с PC на базе процессора 80186 стал не доступен РУС, при этом был реализован технологически только один режим режим 0 (NORMAL): РA и РC — вывод, РB —ввод). Начиная с поколения IBM PC на базе Pentium были реализованы модификация режима 2 (ECP) и его расширенный вариант (EPP). Установка режимов производится в SETUP BIOS.

15 Последовательный интерфейс

15.1 Антология последовательного интерфейса

Прежде чем начать знакомство с контроллером последовательного интерфейса, полезно задаться вопросом: а зачем он вообще нужен? Действительно, параллельный интерфейс, по крайней мере, в 8 раз производительнее, так как за один раз передает сразу 8 бит, в то время как последовательный интерфейс —1 бит. Более близкое знакомство с историей этого вопроса наводит на мысль, что последовательный интерфейс своим появлением на свет никак не связан с вычислительной техникой.

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

Со временем развития техники, в том числе и машинописной, и в связи с неудобством чтения текстов в азбуке Морзе, произошла замена кода из точек и тире на другой код из пяти разрядов, где наличие бита в разряде соответствовало токовой посылке. Чтобы телеграфный аппарат

91

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

По окончанию набора из линии приходил длинный (короткого не хватало) токовый импульс, который приводил в движение рычаг той литеры, код которой совпадал с набором механического дешифратора. Диаграмма такой посылки, если принять наличие тока за «1», представлена на рисунке 22):

Рисунок 22 —Диаграмма токовой посылки Теперь обратим внимание на печатающую машинку. У нее

2 регистра: верхний и нижний. Введение 2-х регистров не является обязательным условием. Это связано с тем, что если реализовать один регистр, то количество клавиш пришлось бы увеличивать вдвое.

А теперь оценим, сколько комбинаций обеспечивает пятиразрядный код: 25 = 32. Это явно мало. Поэтому две из этих комбинаций были выделены для кодирования верхнего и нижнего регистров, и таким образом стало возможным кодировать 30х2=60 символов. Но телеграфный аппарат получил такое стремительное развитие и распространение в середине века, что пришлось ввести еще 3-й регистр для кодирования национального шрифта, поскольку основным шрифтом во всем мире является латинский.

Производительность телеграфных аппаратов ограничивалась, главным образом, его электромеханическими характеристиками и оценивалась в бод/сек. В переводе на язык вычислительной техники — это число разрядов или бит, переданных за секунду. Скорость эта располагалась в области 110 бод/сек. Так как передача организованна асинхронно, то для того, чтобы все биты попадали в свои временные ворота (особенно D4 —он дальше всех может «убежать»), приводные двигатели комбинаторов настраивались на одну скорость, которая в свою очередь настраивалась с помощью оптико-механического камертона и центробежного регулятора двигателя. Такие телеграфные аппараты (телетайпы) снабжались перфораторами (чтобы иметь копию сообщения на бумажной перфоленте) и фотосчитывателем (чтобы вместо ручного набора текста передать уже набранный и отредактированный текст на перфоленте).

А когда получило свое начало развитие ЭВМ, в качестве консоли (место оператора для диалога с ЭВМ) и было взято это устройство телеграфной связи. Под него был разработан адаптер, так как телетайп работал в линии 60 В и с токами 100мА. К этому адаптеру была разработана интерфейсная схема. Так появился последовательный интерфейс.

На сегодняшний день в двухпроводных линиях связи —как низкочастотных, так и высокочастотных, с различными видами

92

модуляции (с целью уплотнения сигналов) —существует множество протоколов обмена. И поскольку микропроцессорная техника тоже стала абонентом этих линий связи, то ей приходится «играть» по правилам существующих протоколов обмена.

Одним из самых устоявшихся протоколов является протокол RS232. Чтобы легче понять его суть, рассмотрим рисунок 23. Из рисунка 23 следует, что микропроцессорная система (МПС) с линией связи сопрягается через модем (модулятор-демодулятор), который является своеобразным адаптером. Линия может быть свободна (Uлин=Еп) или занята (Uлин=ОВ), или идет передача модулированного сигнала в линию, или наоборот —все это должно быть отражено в слове состояния модема. Разберемся со всеми сигналами по порядку.

TxD (travsmit data) —выход передатчика; RxD (receivt dat) —вход приемника;

Теперь по управлению модемом (все сигналы рассматриваем с позиции ИФ как ведущего абонента):

Рисунок 23 —Схема соединения МПС и модема (нуль-модем)

RTS (request to send) —требование к модему перейти в режим передачи (ИФ готов принимать данные от модема);

CTS (clear to send) —сообщение от модема, что модем готов принимать данные от ИФ;

DTR (data terminal ready) —требование к модему перейти в режим приема (ИФ готов передать данные );

DSR (data set ready) —сообщения от модема, что модем готов передавать данные к ИФ;

93

DCD (data carrier detect) —сообщение от модема , что модем обнаружил в линии сигнал, несущий информацию (например, кодовый символ, соответствующий адресу или имени данного абонента);

RI (ring indicator) —сообщение от модема, что идет сигнал телефонного зуммера (звонка или другого звукового сигнала).

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

Рисунок 24 —1-й вариант RS-232С

Рисунок 25 —2-й вариант RS-232С.

Последний вариант RS-232С (простейший) используется для организации сети из двух ЭВМ:

Рисунок 26 —3-й вариант RS-232С

Из рисунков 24 и 25 следует, что такая коммутация наполовину обманывает программу, которая обслуживает протокол связи с модемом. А последний вариант (рисунок 26) вообще для обслуживающей программы является фикцией: требуя модем перейти в готовность к

94

передаче, ИФ сам переходит в состояние готовности передавать; требуя модем перейти в режим приема, ИФ сам себе сообщает о необходимости перейти в режим приема.

Здесь для творчества имеется большое поле, особенно когда к последовательному ИФ подсоединяют нестандартные устройства, например, манипулятор типа «мышь» (MOUSE).

Теперь о скорости обмена. По мере того, как электроника вытесняла механику из систем приема-передачи, скорость обмена все увеличивалась и увеличивалась. И сегодня поддержка низких скоростей

—это скорее дань уважения прошлому, а может просто консерватизм. Современный стандарт скоростей (бод/с или бит/с.):

110; 150; 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 76800.

Основной размер посылки: 7 бит (КОИ-7) и 8 бит (кои-8). Вместе с тем, оставили и то, что сегодня практически не используется. Например, длину слова в 5 бит. Поэтому разрядность современных последовательных ИФ: 5 бит; 6 бит; 7 бит; 8 бит.

И последнее. В протоколе последовательных интерфейсов, как правило, предусматривается контроль передаваемой посылки. Он заключается в том, что в конце посылки генерируется дополнительный бит —контрольный бит. Он дополняет количество единиц в посылке до четного («чет») или нечетного («нечет») числа —в зависимости от настройки ИФ. А при приеме, если есть на то разрешение, производится аппаратный контроль, и в случае ошибки «чета»и «нечета» производится ее регистрация.

15.2 Архитектура последовательного интерфейса 8250

Теперь рассмотрим архитектуру последовательного ИФ 8250, представленную на рисунке 27. Подключение к системной шине стандартно (смотрите главу 12). Из рисунка 27 и комментария к нему следует, что записать в буфер передатчика или прочитать буфер приемника можно с помощью команд соответственно OUT и IN. Но это совсем не значит, что командой OUT можно инициировать передачу. Точно также, как и командой IN забрать слово из приемника, которое действительно было принято, а не «лежало» там неизвестно с каких пор.

95

Рисунок 27 —Архитектура последовательного интерфейса 8250

Поэтому особый интерес представляет правая часть схемы ИФ, связанная с приемником и передатчиком.

Отметим сразу, что временные диаграммы передаваемого слова в RS-232 отличаются от телеграфного интерфейса стартовым битом: в протоколе RS-232 стартовый бит идет нулем.

15.2.1 Передатчик

TxRDY —сигнал готовности передатчика принять следующее слово от МП (в этот момент еще может идти передача, но буфер передатчика уже свободен);

TxE (END) —сигнал передатчика о том, что «вытолкнут» последний бит из сдвигающего регистра.

На рисунке 28 представлена временная диаграмма, поясняющая временные взаимосвязи сигналов последовательного интерфейса 8250 (ИФ50) в режиме передачи.

Сигнал TxRDY обычно заводят на контроллер прерывания либо его аналог через схему управления прерыванием (рисунок 27). Из рисунка 28 следует, что вывод очередного слова на передачу должен предваряться опросом: готов ли передатчик? И для того, чтобы иметь 100% уверенности, что передатчик пуст, нужно ориентироваться на сигнал ТхЕ. Сигнал TxRDY берут за основу готовности тогда, когда уверены в полном обеспечении канала передачи, и это позволяет «бросать» слово передатчику, не дожидаясь даже начала передачи, что позволяет МПС производительно использовать время для своих целей на время передачи

одного слова.

Рисунок 28 —Временная диаграмма в режиме передачи ИФ50

15.2.2 Приемник

96