РефератыИнформатикаДиДиагностика портов ЭВМ

Диагностика портов ЭВМ


«Диагностика портов ЭВМ»


Последовательная передача данных


Микропроцессорная система без средств ввода и вывода ока­зывается бесполезной. Характеристики и объемы ввода и вывода в системе определяются, в первую очередь, спецификой ее применения — например, в микропроцессорной системе управления некоторым промышленным процессом не требуется клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контроли­рует главный микрокомпьютер (с использованием последовательной линии RS–232C).


Поскольку данные обычно представлены на шине микропроцессора в параллельной форме (байтами, словами), их последовательный ввод–вывод оказывается несколько сложным. Для последовательного ввода потребуется средства преобразования последовательных входных данных в параллельные данные, которые можно поместить на шину. С другой стороны, для последовательного вывода необходимы средства преобразования параллельных данных, представленных на шине, в последовательные выходные данные. В первом случае преобразование осуществляется регистром сдвига с последовательным входом и параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным входом и последовательным выходом (PISO).


Последовательные данные передаются в синхронном или асинхронном режимах. В синхронном режиме все передачи осуществляются под управлением общего сигнала синхронизации, который должен присутствовать на обоих концах линии связи. Асинхронная передача подразумевает передачу данных пакетами; каждый пакет содержит необходимую информацию, требующуюся для декодирования содержащихся в нем данных. Конечно, второй режим сложнее, но у него есть серьезное преимущество: не нужен отдельный сигнал синхронизации.


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


D0–D7 — входные–выходные линии данных, подключаемые непосредственно к шине процессора;


RXD — принимаемые данные (входные последовательные данные);


TXD — передаваемые данные (выходные последовательные данные);


CTS — сброс передачи. На этой линии периферийное устройство формирует сигнал низкого уровня, когда оно готово воспринимать информацию от процессора;


RTS — запрос передачи. На эту линию микропроцессорная система выдает сигнал низкого уровня, когда она намерена передавать данные в периферийное устройство.


Все сигналы программируемых микросхем последовательного ввода–вывода ТТЛ–совместимы. Эти сигналы рассчитаны только на очень короткие линии связи. Для последовательной передачи данных на значительные расстояния требуются дополнительные буферы и преобразователи уровней, включаемые между микросхемами последовательного ввода–вывода и линией связи.


Общие сведения о интерфейсе RS–232C


Интерфейс RS–232C является наиболее широко распростра­ненной стандартной последовательной связью между микрокомпью­терами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), под­разумевает наличие оборудования двух видов: терминального DTE и связного DCE.


Чтобы не составить неправильного представления об интер­фейсе RS–232C, необходимо отчетливо понимать различие между этими видами оборудования. Терминальное оборудование, напри­мер микрокомпьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное оборудование — устройства, которые могут упростить передачу данных совместно с терминальным оборудованием. Наглядным пример связного оборудования служит модем (модулятор–демодулятор). Он оказывается соединительным звеном в последовательной цепочке между компьютером и телефонной линией.


Различие между терминальными и связными устройствами довольно расплывчато, поэтому возникают некоторые сложности в понимании того, к какому типу оборудования относится то или иное устройство. Рассмотрим ситуацию с принтером. К какому оборудованию его отнести? Как связать два компьютера, когда они оба действуют как терминальное оборудование. Для ответа на эти вопросы следует рассмотреть физическое соединение устройств. Произведя незначительные изменения в линиях интерфейса RS–232C, можно заставить связное оборудование функционировать как терминальное. Чтобы разобраться в том, как это сделать, нужно проанализировать функции сигналов интерфейса RS–232C (таблица 1).




Таблица 1. Функции сигнальных линий интерфейса RS–232C.




































































































































Номер контакта
Сокращение
Направление
Полное название
1 FG Основная или защитная земля
2 TD (TXD) К DCE Передаваемые данные
3 RD (RXD) К DTE Принимаемые данные
4 RTS К DCE Запрос передачи
5 CTS К DTE Сброс передачи
6 DSR К DTE Готовность модема
7 SG Сигнальная земля
8 DCD К DTE Обнаружение несущей данных
9 К DTE (Положительное контрольное напряжение)
10 К DTE (Отрицательное контрольное напряжение)
11 QM К DTE Режим выравнивания
12 SDCD К DTE Обнаружение несущей вторичных данных
13 SCTS К DTE Вторичный сброс передачи
14 STD К DCE Вторичные передаваемые данные
15 TC К DTE Синхронизация передатчика
16 SRD К DTE Вторичные принимаемые данные
17 RC К DTE Синхронизация приемника
18 DCR К DCE Разделенная синхронизация приемника
19 SRTS К DCE Вторичный запрос передачи
20 DTR К DCE Готовность терминала
21 SQ К DTE Качество сигнала
22 RI К DTE Индикатор звонка
23 К DCE (Селектор скорости данных)
24 TC К DCE Внешняя синхронизация передатчика
25 К DCE (Занятость)

Примечания:


1. Линии 11, 18, 25 обычно считают незаземленными. Приведенная в таблице спецификация относится к спецификациям Bell 113B и 208A.


2. Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения.


3. Во избежание путаницы между RD (Read — считывать) и RD (ReceivedData — принимаемые данные) будут использоваться обозначения RXD и TXD, а не RD и TD.


Стандартный последовательный порт RS–232C имеет форму 25–контактного разъема типа D (рис 1).




Рис. 1. Назначение линий 25–контактного разъема типа
D для интерфейса RS–232C


Терминальное оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с отверстиями (но могут быть и исключения).


Сигналы интерфейса RS–232C подразделяются на следующие классы.


Последовательные данные (например, TXD, RXD). Интерфейс RS–232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации.


Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи.


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


На практике вспомогательный канал RS–232C применяется редко, и в асинхронном режиме вместо 25 линий используются 9 линий (таблица 2).



Таблица 2. Основные линии интерфейса RS–232C.






































Номер контакта
Сигнал
Выполняемая функция
1 FG Подключение земли к стойке или шасси оборудования
2 TXD Последовательные данные, передаваемые от DTE к DCE
3 RXD Последовательные данные, принимаемые DTE от DCE
4 RTS Требование DTE послать данные к DCE
5 CTS Готовность D
CE принимать данные от DTE
6 DSR Сообщение DCE о том, что связь установлена
7 SG Возвратный тракт общего сигнала (земли)
8 DCD DTE работает и DCE может подключится к каналу связи

Виды сигналов

В большинстве схем, содержащих интерфейс RS–232C, данные передаются асинхронно, т.е. в виде последовательности пакета данных. Каждый пакет содержит один символ кода ASCII, причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации.


Символы кода ASCII представляются семью битами, например буква А
имеет код 1000001. Чтобы передать букву А
по интерфейсу RS–232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности).


Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует 7 бит данных символа кода ASCII. Бит четности содержит 1 или 0 так, чтобы общее число единиц в 8–битной группе было нечетным. Последним передаются два стоповых бита, представленных высоким уровнем напряжения. Эквивалентный ТТЛ–сигнал при передаче буквы А
показан на рис. 2.




Рис. 2. Представление кода буквы А сигнальными уровнями ТТЛ.


Таким образом, полное асинхронно передаваемое слово состоит из 11 бит (фактически данные содержат только 7 бит) и записывается в виде 01000001011.


Используемые в интерфейсе RS–232C уровни сигналов отличаются от уровней сигналов, действующих в компьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25 В, логическая 1 (MARK) — отрицательным напряжением в диапазоне от –3 до –25 В. На рис. 3 показан сигнал в том виде, в каком он существует на линиях TXD и RXD интерфейса RS–232C.




Рис. 3. Вид кода буквы А на сигнальных линиях
TXD и RXD.


Сдвиг уровня, т.е. преобразование ТТЛ–уровней в уровни интерфейса RS–232C и наоборот производится специальными микросхемами драйвера линии и приемника линии.


На рис. 4 представлен типичный микрокомпьютерный интерфейс RS–232C. Программируемая микросхема DD1 последовательного ввода осуществляет параллельно–последовательные и последовательно–параллельные преобразования данных. Микросхемы DD2 и DD3 производят сдвиг уровней для трех выходных сигналов TXD, RTS, DTR, а микросхема DD4 — для трех входных сигналов RXD, CTS, DSR. Микросхемы DD2 и DD3 требуют напряжения питания ±12 В.




Рис. 4. Типичная схема интерфейса RS–232C.


Параллельный порт

Устройство печати IBMPC-подобных компьютеров обычно подключается к параллельному интерфейсу. Для подключения используется стандартный разъем Centronix, имеющий 36 контактных выходов (отечественный аналог ИРПР-М). Допускается три варианта подключения принтеров к ПЭВМ:


- адаптер принтера может находится на одной плате с адаптером монохромного дисплея, при этом используются порты 3BCh - 3BEh;


- к ПЭВМ могут подключены два отдельных адаптера для управления принтерами, использующие порты 378h - 37Ah (первый адаптер) и 278h - 27Ah (второй адаптер).


При программировании принтера важно знать адрес базового порта ввода-вывода (первого порта из трех); адреса базовых портов хранятся в области данных BIOS, начиная с адреса 0:408h (LPT1) и далее по слову на принтер до LPT4. Дальнейшее описание предполагает, что базовый адрес принтера равен 378h.


Порт Операция Описание


----------------------------------------------------------------


378h Запись Регистр данных - сюда засылается байт, посылаемый на печать


Чтение Регистр данных - позволяет считать последний переданный в принтер байт


379h Чтение Регистр состояния принтера:


7 6 5 4 3 2 1 0


+--------------------+


¦ ¦ ¦ ¦ ¦ ¦X¦X¦X¦ Биты:


+--------------------+ -----


¦ ¦ ¦ ¦ +---------> 3: 0=при печати возникла ошибка


¦ ¦ ¦ +------------> 4: 0=принтер в автономном режиме


¦ ¦ +---------------> 5: 1=сигнал "конец бумаги"


¦ +------------------> 6: 0=принтер готов к печати


¦ следующего символа


+---------------------> 7: 0=принтер занят, находится в


автономном режиме или


произошла ошибка


37Ah Чтение/ Регистр управления принтером:


Запись


7 6 5 4 3 2 1 0


+--------------------+


¦X¦X¦X¦ ¦ ¦ ¦ ¦ ¦ Биты:


+--------------------+ -----


¦ ¦ ¦ ¦ +---> 0: бит запуска печати (см. ниже)


¦ ¦ ¦ +------> 1: 1=после возврата каретки выводить


¦ ¦ ¦ перевод строки (в MS-DOS должен


¦ ¦ ¦ быть сброшен)


¦ ¦ +---------> 2: 1=инициализировать принтер


¦ +------------> 3: 1=разрешить вывод на печать (должен


¦ быть всегда установлен)


+---------------> 4: 1=разрешить прерывания от принтера


Примечания.


1. Для запуска печати символа нужно на короткое время установить бит 0 регистра управления, а затем сбросить его.


2. Прерывание происходит по окончании вывода символа на печать: для первого принтера на седьмом уровне контроллера прерываний (IRQ7, вектор прерывания 0Fh), для второго принтера - на пятом уровне (IRQ5, вектор 0Dh). Следует отметить также, что IRQ5 используется XT-контроллером жестких дисков для генерации своих прерываний. Обычно этот бит не используется (сбрасывается), а проверка готовности принтера производится на основании опроса регистра состояния.


Типичная последовательность действий для вывода на печать одного символа такова:


- вывести передаваемый байт в регистр данных;


- в цикле проверять состояние принтера до устaновки бита 7 регистра состояния (здесь возможно использование таймаута);


- проверить биты 3-5 регистра состояния на наличие ошибки;


- установить и сразу же сбросить нулевой бит регистра управления, для этого подходит следующая последовательность команд:


movdx,37Ah ;адрес регистра управления


moval,00001101b ;установить биты 0,2 и 3


outdx,al ;вывести команду


xoral,1 ;сбросить бит 0


outdx,al ;повторно вывести команду


- далее можно прочитать и запрограммировать регистр состояния и перейти к печати следуюего символа.


Несмотря на простоту управления, принтер представляет из себя достаточно сложное устройство, имеющее свой микропроцессор,


ПЗУ и ОЗУ. Микропроцессор используется для обработки управляющих


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


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


Существует 2 основных стандарта на систему команд и таблицу используемых символов (стандарты IBM и EPSON), которых в основном придерживаются фирмы-изготовители, оставляя за собой право вносить в них изменения и дополнения. Единого стандарта как на систему команд, так и на расположение и рисунки символов второй половины таблицы ASCII (коды 129-255) нет. Наиболее часто используемые команды:


- установка вида шрифта и режима печати;


- черновой текстовый (draft) нормальной ширины (pica), узкий (condensed) или средней ширины (elita).


- качественный шрифт (NLQ, Proportional, Orator, Script и т. д.);


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


- загрузка в ОЗУ принтера спроектированных пользователем шрифтов и работа с ОЗУ принтера (именно в этой группе команд, имеются наибольшие различия между разными моделями);


- управление принтером в режиме точечной графики;


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


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Диагностика портов ЭВМ

Слов:2302
Символов:20780
Размер:40.59 Кб.