Реферат по предмету "Программирование"


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

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

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

Микропроцессорная система без средств ввода и вывода ока­зывается бесполезной. Характеристики и объемы ввода и вывода в системе
определяются, в первую очередь, спецификой ее применения — например, в микропроцессорной системе управления некоторым промышленным процессом не
требуется клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контроли­рует главный микрокомпьютер (с использованием
последовательной линии 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 (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-переключателей. Существуют характеристики,  изменить
которые  можно только аппаратно  (например, возможность  загрузки  шрифтов или  размер используемого  ОЗУ).


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.