рефераты
Главная

Рефераты по рекламе

Рефераты по физике

Рефераты по философии

Рефераты по финансам

Рефераты по химии

Рефераты по хозяйственному праву

Рефераты по цифровым устройствам

Рефераты по экологическому праву

Рефераты по экономико-математическому моделированию

Рефераты по экономической географии

Рефераты по экономической теории

Рефераты по этике

Рефераты по юриспруденции

Рефераты по языковедению

Рефераты по юридическим наукам

Рефераты по истории

Рефераты по компьютерным наукам

Рефераты по медицинским наукам

Рефераты по финансовым наукам

Рефераты по управленческим наукам

Психология и педагогика

Промышленность производство

Биология и химия

Языкознание филология

Издательское дело и полиграфия

Рефераты по краеведению и этнографии

Рефераты по религии и мифологии

Рефераты по медицине

Рефераты по сексологии

Рефераты по информатике программированию

Краткое содержание произведений

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

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

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

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


© 2012 Рефераты, курсовые и дипломные работы.