|
|
|
|
Параллельные
интерфейсы: CENTRONICS.
Параллельные
интерфейсы характеризуются тем, что в них
для передачи бит в слове используются
отдельные сигнальные линии, и биты
передаются одновременно. Параллельные
интерфейсы, как правило, используют
логические уровни ТТЛ (транзисторно-транзисторной
логики), что ограничивает длину кабеля из-за
невысокой помехозащищенности ТТЛ-интерфейса.
Гальваническая развязка отсутствует.
Для
подключения принтера по интерфейсу Centronics
в PC был введен порт параллельного интерфейса - так
возникло название
LPT-порт (Line PrinTer - построчный принтер). Хотя
сейчас через этот порт подключаются не
только построчные принтеры, название "LPT"
осталось.
Понятие
Centronics относится как
к набору сигналов и протоколу
взаимодействия, так и к 36-контактному
разъему на принтерах. Назначение сигналов
приведено в табл., а временные диаграммы
обмена с принтером - на рис. 1.
Сигнал
|
I/O*
|
Назначение
|
Strobe#
|
I
|
Строб данных. Данные
фиксируются по низкому уровню сигнала
|
Data [0:7]
|
I
|
Линии данных. Data 0 - младший
бит
|
Ack#
|
0
|
Acknowledge - импульс
подтверждения приема байта (запрос на
прием следующего). Может
использоваться для формирования
запроса прерывания
|
Busy
|
0
|
Занято. Прием данных
возможен только при низком уровне
сигнала
|
PaperEnd #
|
О
|
Высокий уровень
сигнализирует о конце бумаги
|
Select #
|
О
|
Сигнализирует о включении
принтера (обычно в принтере соединяется
резистором с цепью +5
В)
|
AutoLF#
|
I
|
Автоматический перевод
строки. При низком уровне принтер,
получив символ CR (Carriage
Return - возврат каретки), автоматически
выполняет и функцию LF (Line Feed - перевод строки)
|
Error#
|
О
|
Ошибка: конец бумаги,
состояние OFF-Line или внутренняя ошибка
принтера
|
Init#
|
I
|
Инициализация (сброс в
режим параметров умолчания, возврат к
началу строки)
|
Select#
|
|
Выбор принтера (низким
уровнем).При высоком уровне принтер не
воспринимает остальные сигналы
интерфейса
|
GND
|
-
|
Общий провод интерфейса
|
Традиционный
порт SPP (Standard Parallel Port)
является однонаправленным
портом, через который программно
реализуется протокол обмена
Centronics. Порт
вырабатывает аппаратное прерывание по
импульсу на входе Ack#. Сигналы порта
выводятся на разъем
DB-25S (розетка), установленный
непосредственно на плате адаптера (или
системной плате)
или соединяемый с ней плоским шлейфом.
Адаптер
параллельного интерфейса представляет
собой набор регистров, расположенных в
пространстве ввода/вывода. Регистры порта
адресуются относительно базового адреса
порта, стандартными значениями которого
являются 3BCh, 378h и 278h. Порт может
использовать линию запроса аппаратного
прерывания, обычно IRQ7
или IRQ5.Порт имеет внешнюю
8-битную шину данных,
5-битную шину
сигналов состояния и 4-битную шину
управляющих сигналов,
BIOS
поддерживает до четырех
LPT-портов (LPT1-LPT4) своим сервисом -
прерыванием INT 17h, обеспечивающим
через них связь с принтером по интерфейсу Centronics.
Этим сервисом
BIOS
осуществляет вывод символа (по опросу
готовности, не используя аппаратных
прерываний), инициализацию интерфейса и
принтера, а также опрос
состояния принтера.
Стандартный
порт имеет три 8-битных
регистра, расположенных по соседним
адресам в пространстве ввода/вывода,
начиная с базового адреса порта (BASE).
Data
Register (DR) - регистр данных. Данные,
записанные в этот порт, выводятся
на выходные линии интерфейса.
Status Register (SR) - регистр
состояния;
представляет собой 5-битный
порт ввода сигналов интерфейса, отображающих состояние принтера
(Busy, Ack, Paper End, Select, Error).
Control Register (CR) - регистр
управления. Предназначен для
программного управления
принтером путем
активизации линий Select, Init, AutoLF, Strobe# ,
задания режима прерывания
и направления
передачи данных
Процедура
вывода байта по интерфейсу Centronics
включает следующие шаги (в скобках
приведено требуемое количество шинных
операций процессора):
 |
Вывод
байта в регистр данных (1 цикл IOWR#).
|
 |
Ввод
из регистра состояния и проверка
готовности устройства (бит SR. 7 - сигнал Busy). Этот шаг зацикливается
до получения готовности или до
срабатывания программного тайм-аута (минимум
1 цикл IORD#).
|
 |
По
получении готовности выводом в регистр
управления устанавливается строб
данных, а следующим выводом строб
снимается (2 цикла IOWR#).
|
Видно,
что для вывода одного байта требуется 4-5
операций ввода/вывода
с регистрами порта (в лучшем случае, когда
готовность обнаружена по первому
чтению регистра состояния). Отсюда вытекает
главный недостаток вывода через
стандартный порт - невысокая скорость
обмена при значительной загрузке
процессора. Порт может обеспечить скорость не более
100-150 Кбайт/с при полной загрузке
процессора, что недостаточно,
например,
для печати на лазерном принтере.
Стандартный
порт асимметричен - при наличии 12 линий,
нормально работающих на вывод, на ввод
работают только 5
линий состояния. Если необходима
симметричная двунаправленная
связь, на всех стандартных портах
работоспособен режим полубайтного
обмена - Nibble Mode. В этом режиме
одновременно передаются 4 бита данных,
пятая линия используется для квитирования.
Таким образом, каждый байт передается за
два цикла, а каждый цикл требует по крайней
мере 5 операций ввода/вывода.
Стандарт
на параллельный интерфейс IEEE
1284, принятый в 1994
году, определяет 5 режимов обмена данными,
метод согласования режима, физический и
электрический интерфейсы. Согласно IEEE 1284,
возможны следующие режимы обмена данными
через параллельный порт:
 |
Режим совместимости (Compatibility
Mode) -
однонаправленный (вывод) по протоколу Centronics.
Этот режим соответствует стандартному
порту SPP.
|
 |
Полубайтный режим (Nibble Mode) -
ввод байта в два цикла (по 4 бита),
используя для приема линии состояния.
Этот режим обмена может использоваться
на любых адаптерах.
|
 |
Байтный режим (Byte Mode) -
ввод байта целиком, используя для приема
линии данных. Этот режим работает
только на портах, допускающих чтение
выходных данных (Bi-Directional
или PS/2 Type 1).
|
 |
Режим ЕРР (Enhanced Parallel Port) (EPP
Mode) - двунаправленный обмен данными.
Управляющие сигналы интерфейса
генерируются аппаратно во время цикла
обращения к порту. Эффективен при работе
с устройствами внешней памяти. Главной
отличительной чертой ЕРР
является выполнение внешней передачи во
время одного процессорного цикла ввода/вывода.
Это позволяет достигать высоких
скоростей обмена (0,5...2 Мбайт/с).
|
 |
Режим ЕСР (Extended Capability Port) (ECP
Mode) - двунаправленный обмен данными с
возможностью аппаратного сжатия данных
и использования FIFO-буферов и DMA.
Управляющие сигналы интерфейса
генерируются аппаратно. Эффективен для
принтеров и сканеров.
|
В
компьютерах с LPT-портом на системной плате
режим SPP, ЕРР, ЕСР или их комбинация -
задается в BIOS Setup
ПУ
в стандарте IEEE 1284 обычно не требуют от
контроллера реализации
всех режимов, предусмотренных стандартом.
Для определения
режимов и методов управления конкретным
устройством
стандарт предусматривает последовательность
согласования
(negotiation sequence).
Последовательность построена так, что
старые устройства, не рассчитанные на
применение IEEE 1284, на нее не ответят, и
контроллер останется в стандартном режиме.
Периферия IEEE 1284 может
сообщить
о своих возможностях, и контроллер
установит режим,
удовлетворяющий и хост, и ПУ.
|
|
|