Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сигналы интерфейса Centronics

Поиск
Сигнал I/O* Контакт Назначение
Strobe I   Строб данных. Данные фиксируются по низкому уровню сигнала
Data [0:7] I 2-9 Линии данных. Data 0 (контакт 2) — младший бит
Actt     Acknowledge — импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования запроса прерывания
Busy     Занято. Прием данных возможен только при низком уровне сигнала
PaperEnd     Высокий уровень сигнализирует о конце бумаги
Select     Сигнализирует о включении принтера
Auto LF# I   Автоматический перевод строки.
Еггогй     Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера
Imt# I   Инициализация
Slot In# I   Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейса
GND - 19-30 33 Общий провод интерфейса
* I/O Задает Направление (вход/выход) применительно к принтеру.

Интерфейс Centronics поддерживается большинством принтеров с параллельным интерфейсом, его отечественным аналогом является интерфейс ИРПР-М.

Традиционный LPT-порт

Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics.

Таблица 2.

Разъем стандартного LPT-порта

Контакт DB-25S Провод шлейфа Назначение
I/O* Reg.Bit** Сигнал
    0/1 CR: 0\ Strobe#
    0(1) DR:0 Data 0
    0(1) DR: 1 Data 1
    0(1) DR: 2 Data 2
    0(1) DR:3 Data 3
    0(1) DR: 4 Data 4
    0(1) DR:5 Data 5
    0(1) DR:6 Data 6
    0(1) DR:7 Data 7
    I SR: 6 Ack#
    I SR: 7\ Busy
    I SR: 5 PaperEnd
    I SR: 4 Select
    0/1 CR: 1\ Auto LF#
    I SR: 3 Error#
    0/1 CR: 2 Init#
    0/1 CR:3\ Select In#
18-25 10, 12, 14, 16 18, 20, 22, 24, 26 - -

* I/O задает направление передачи (вход/выход) сигнала порта; 0/I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода.

** Символом “\” отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.

Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE).

Data Register (DR) — регистр данных, адрес= BASE. Данные, записанные в этот порт, выводятся на выходные линии интерфейса. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях.

Status Register (SR)регистр состояния, представляющий собой 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7), адрес= BASE+1. Бит SR.7 инвертируется — низкому уровню сигнала соответствует единичное значению бита в регистре, и наоборот.

Назначение бит регистра состояния (в скобках даны номера контактов разъема):

SR.7—Busy — инверсные отображения состояния линии Busy (11);

SR.6 —АСК (Acknowledge) — отображения состояния линии Ack# (10).

SR.5 —РЕ (Paper End) — отображения состояния линии Paper End (12).

SR.4—Select — отображения состояния линии Select (13). Единичное значение соответствует cигналу о включении принтера.

SR.3—Error — отображения состояния линии Error (15).

SR.2 — PIRQ — флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

SR[1:0] — зарезервированы.

Control Register (CR) — регистр управления, адрес=ВА5Е+2. Как и регистр данных, этот 4-битный порт вывода допускает запись и чтение (биты 0-3), но его выходной буфер обычно имеет тип открытый коллектор. Это позволяет более корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты О, 1, 3 инвертируются — единичному значению в регистре соответствует низкий уровень сигнала, и наоборот.

Назначение бит регистра управления:

CR[7:6] — зарезервированы.

CR.5 — Direction — бит управления направлением передачи (только для портов PS/2). Запись единицы переводит порт данных в режим ввода.

CR.4 —ACKINTEN (Ack Interrupt Enable) — единичное значение разрешает прерывание по спаду сигнала на линии Ackff — сигнал запроса следующего байта.

CR.3 — Select In — единичное значение бита соответствует низкому уровню на выходе Selecting (17) — сигналу, разрешающему работу принтера по интерфейсу Centronics.

CR.2 — Init — нулевое значение бита соответствует низкому уровню на выходе Imt# (16) — сигнал аппаратного сброса принтера.

CR.1 — Auto LF — единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR — Carriage Return).

CR.O —Strobe — единичное значение бита соответствует низкому уровню на выходе Strobeff (1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (АСК#) при установке CR.4=1. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта.

Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора):

Вывод байта в регистр данных (1 цикл IOWR#).

Ввод из регистра состояния и проверка готовности устройства (бит SR.7 — сигнал BUSY).

По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла lOWRff).

Стандартный порт сильно асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена — Nibble Mode. В этом режиме, называемым также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования.

Функции BIOS для LPT-порта

BIOS обеспечивает поддержку LPT-порта, необходимую для организации вывода по интерфейсу Centronics.

В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам ЗВСЬ, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS DATA AREA 0:0408h, 040Ah, 040СП, 040ЕП. Эти ячейки хранят адреса портов с логическими именами LPT1-LPT4. В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие выдержку тайм-аута для этих портов.

Поиск портов обычно ведется по базовому адресу. Если считанный байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в ячейку BIOS DATA AREA. Адрес порта LPT4 BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных.

Обнаруженные порты инициализируются — записью в регистр управления формируется и снимается сигнал Initff, после чего записывается значение 00h, соответствующее исходному состоянию сигналов интерфейса.

Программное прерывание BIOS I NT 17h обеспечивает следующие функции поддержки LPT-порта:

00h — вывод символа из регистра AL по протоколу Centronics. Данные помещаются в выходной регистр и после готовности принтера формируется строб.

01h — инициализаия интерфейса и принтера.

02h — опрос состояния принтера.

При вызове INT 17h номер функции задается в регистре АН, номер порта — в регистре DX (0 — LPT1, 1 — LPT2...). При возврате после любой функции регистр АН содержит код состояния — биты регистра состояния SR[7:3] (биты 6 и 3 инвертированы) и флаг тайм-аута в бите 0. Флаг тайм-аута устанавливается при неудачной попытке вывода символа.



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 246; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.14.48 (0.007 с.)