Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук
- Дата:20.06.2024
- Категория: Компьютеры и Интернет / Компьютерное "железо"
- Название: Аппаратные интерфейсы ПК. Энциклопедия
- Автор: Михаил Гук
- Просмотров:4
- Комментариев:0
Шрифт:
Интервал:
Закладка:
С внешней стороны порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, выведенные на разъем-розетку DB-25S. В LPT-порте используются логические уровни ТТЛ, что ограничивает допустимую длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. Гальваническая развязка отсутствует — схемная земля подключаемого устройства соединяется со схемной землей компьютера. Из-за этого порт является уязвимым местом компьютера, страдающим при нарушении правил подключения и заземления устройств. Поскольку порт обычно располагается на системной плате, в случае его «выжигания» зачастую выходит из строя и его ближайшее окружение, вплоть до выгорания всей системной платы.
С программной стороны LPT-порт представляет собой набор регистров, расположенных в пространстве ввода-вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт может использовать линию запроса аппаратного прерывания, обычно IRQ7 или IRQ5. В расширенных режимах может использоваться и канал DMA.
Порт имеет поддержку на уровне BIOS — поиск установленных портов во время теста POST и сервисы печати Int 17h (см. п. 8.3.3) обеспечивают вывод символа (по опросу готовности, не используя аппаратных прерываний), инициализацию интерфейса и принтера, а также опрос состояния принтера. Практически все современные системные платы (еще начиная с PCI-плат для процессоров 486) имеют встроенный адаптер LPT-порта. Существуют карты ISA с LPT-портом, где он чаще всего соседствует с парой СОМ-портов, а также с контроллерами дисковых интерфейсов (FDC+IDE). LPT-порт обычно присутствует и на плате дисплейного адаптера MDA (монохромный текстовый) и HGC (монохромный графический «Геркулес»). Есть и карты PCI с дополнительными LPT-портами.
К 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-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).
Data Register (DR) — регистр данных, адрес=BASE. Данные, записанные в этот регистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях, что не всегда одно и то же.
Status Register (SR) — регистр состояния (только чтение), адрес=BASE+1. Регистр отображает 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7) и флаг прерывания. Бит SR.7 инвертируется — низкому уровню сигнала соответствует единичное значению бита в регистре, и наоборот.
Ниже описано назначение бит регистра состояния (в скобках даны номера контактов разъема порта).
♦ SR.7 — Busy — инверсное отображение состояния линии Busy (11): при низком уровне на линии устанавливается единичное значения бита — разрешение на вывод очередного байта.
♦ SR.6 — Ack (Acknowledge) — отображение состояния линии Ack# (10).
♦ SR.5 — РЕ (Paper End) — отображение состояния линии Paper End (12). Единичное значение соответствует высокому уровню линии — сигналу о конце бумаги в принтере.
♦ SR.4 — Select — отображение состояния линии Select (13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.
♦ SR.3 — Error — отображение состояния линии Error# (15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.
♦ SR.2 — PIRQ — флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.
♦ SR[1:0] — зарезервированы.
Control Register (CR) — регистр управления, адрес=ВАSЕ+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0–3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый коллектор». Это позволяет корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты 0, 1, 3 инвертируются.
Ниже описано назначение бит регистра управления.
♦ CR[7:6] — зарезервированы.
♦ CR.5 — Direction — бит управления направлением передачи (только для портов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.
♦ CR.4 — AckINTEN (Ack Interrupt Enable) — единичное значение разрешает прерывание по спаду сигнала на линии Ack# — сигнал запроса следующего байта.
- Защита компьютера на 100%: cбои, ошибки и вирусы - Петр Ташков - Компьютерное "железо"
- Время — деньги. Создание команды разработчиков программного обеспечения - Эд Салливан - Деловая литература
- Шлюпка. Устройство и управление - Л. Иванов - Техническая литература
- Формирование технологии разработки и принятия предпринимательских решений - Д. Кенина - Управление, подбор персонала
- Язык программирования C++. Пятое издание - Стенли Липпман - Программирование