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

/>/>

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

Микропроцессорная система без средств ввода и выводаока­зывается бесполезной. Характеристики и объемы ввода и вывода в системеопределяются, в первую очередь, спецификой ее применения — например, вмикропроцессорной системе управления некоторым промышленным процессом нетребуется клавиатура и дисплей, так как почти наверняка ее дистанционнопрограммирует и контроли­рует главный микрокомпьютер (с использованиемпоследовательной линии 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 обычно считают незаземленными.Приведенная в таблице спецификация относится к спецификациям Bell113B и 208A.

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

3.   Во избежание путаницы между RD (Read— считывать) и RD (Received Data — принимаемые данные) будутиспользоваться обозначения 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 Готовность DCE принимать данные от 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.

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

      Устройство   печати  IBM  PC-подобных  компьютеров  обычно  подключается   к параллельному   интерфейсу.  Для   подключения  используется стандартный разъем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регистра состояния на наличие ошибки;

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

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

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

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

     xor  al,1          ; сбросить бит 0

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

еще рефераты
Еще работы по информатике, программированию