Гук Михаил Юрьевич
Шрифт:
С внешней стороны порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, выведенные на разъем-розетку DB-25S. В LPT-порте используются логические уровни ТТЛ, что ограничивает допустимую длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. Гальваническая развязка отсутствует — схемная земля подключаемого устройства соединяется со схемной землей компьютера. Из-за этого порт является уязвимым местом компьютера, страдающим при нарушении правил подключения и заземления устройств. Поскольку порт обычно располагается на системной плате, в случае его «выжигания» зачастую выходит из строя и его ближайшее окружение, вплоть до выгорания всей системной платы.
С программной стороны LPT-порт представляет собой набор регистров, расположенных в пространстве ввода-вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт может использовать линию запроса аппаратного прерывания, обычно
Порт имеет поддержку на уровне BIOS — поиск установленных портов во время теста POST и сервисы печати
К LPT-портам подключают принтеры, плоттеры, сканеры, коммуникационные устройства и устройства хранения данных, а также электронные ключи, программаторы и прочие устройства. Иногда параллельный интерфейс используют для связи между двумя компьютерами — получается сеть, «сделанная на коленке» (LapLink).
1.1. Традиционный LPT-порт
Традиционный, он же стандартный, LPT-порт называется стандартным параллельным портом (Standard Parallel Port, SPP), или SPP-портом, и является однонаправленным портом, через который программно реализуется протокол обмена Centronics (см. п. 8.3.1). Название и назначение сигналов разъема порта (табл. 1.1) соответствуют интерфейсу Centronics.
Таблица 1.1. Разъем стандартного LPT-порта
Контакт DB-25S | № провода в кабеле | Назначение I/O¹ | Бит² | Сигнал |
---|---|---|---|---|
1 | 1 | O/I | CR.0\ | Strobe# |
2 | 3 | O(I) | DR.0 | Data 0 |
3 | 5 | O(I) | DR.1 | Data 1 |
4 | 7 | O(I) | DR.2 | Data 2 |
5 | 9 | O(I) | DR.3 | Data 3 |
6 | 11 | O(I) | DR.4 | Data 4 |
7 | 13 | O(I) | DR.5 | Data 5 |
8 | 15 | O(I) | DR.6 | Data 6 |
9 | 17 | O(I) | DR.7 | Data 7 |
10 | 19 | I³ | SR.6 | Ack# |
11 | 21 | I | SR.7\ | Busy |
12 | 23 | I | SR.5 | PaperEnd (PE) |
13 | 25 | I | SR.4 | Select |
14 | 2 | O/I | CR.1\ | Auto LF# (AutoFeed#) |
15 | 4 | I | SR.3 | Error# |
16 | 6 | O/I | CR.2 | Init# |
17 | 8 | O/I | CR.3\ | Select In# |
18-25 | 10, 12, 14, 16, 18, 20, 22, 24, 26 | – | – | – |
¹ I/O задает направление передачи (вход-выход) сигнала порта. O/I обозначает выходные линии, состояние которых считывается при чтении из портов вывода; O(I) — выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).
² Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
³ Вход Ack# соединен резистором (10 кОм) с питанием +5 В.
Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта
Data Register (
Status Register (
Ниже описано назначение бит регистра состояния (в скобках даны номера контактов разъема порта).
♦
♦
♦
♦
♦
♦