
- •2. Интерфейсы систем ввода-вывода
- •2.1. Понятие интерфейса и его характеристики
- •2.2. Организация интерфейсов
- •2.3. Среда интерфейса
- •2.4. Интерфейс ввода-вывода ес эвм
- •2.5. Системные интерфейсы мини- и микроЭвм
- •2.6 Шины расширения ввода/вывода рс-совместимых пэвм.
- •2.6.1. Шины isa, eisa и pc-104
- •2.6.2. Шина мса
- •2.6.3. Локальная шина vlb
- •2.6.4. Шина рсi
- •2.6.5. Магистральный интерфейс agp
- •2.6.6. Шины pcmcia (pc Card)
- •2.7. Малые интерфейсы периферийных устройств
- •2.7.2. Внешние интерфейсы персональных компьютеров.
- •2.7.2.1. Параллельный интерфейс: lpt-порт
- •2.7.2.1.1. Интерфейс Centronics
- •2.7.2.1.2. Традиционный lpt-порт
- •2.7.2.1.3. Расширения параллельного порта
- •2.7.2.1.4. Стандарт ieee 1284-1994
- •2.7.2.2. Последовательные интерфейсы.
- •2.7.2.2.1. Последовательный порт (сом-порт)
- •2.7.2.2.1.1. Интерфейс rs-232c
- •2.7.2.2.2. Интерфейс «токовая петля»
- •2.7.2.2.3. Инфракрасный интерфейс
- •2.7.2.2.4. Интерфейс midi
- •2.7.2.3. Игровой адаптер - game-порт
- •2.7.2.4. Интерфейс клавиатуры
- •2.7.2.5. Интерфейс с монитором
- •2.7.2.6. Интерфейс нгмд.
- •2.7.2.7. Интерфейсы нмд
- •2.7.2.7.1. Интерфейс st-506 (st-412) и esdi
- •2.7.2.7.2. Интерфейс ата (ide)
- •2.7.2.7.3. Последовательный интерфейс Serial ата
- •2.7.2.8. Шина scsi
- •2.7.2.8.1. Параллельные интерфейсы scsi
- •2.7.2.8.1.1. Кабели, разъемы, сигналы
- •2.7.2.8.1.2. Терминаторы
- •2.7.2.8.1.3. Протокол шины
- •2.7.2.8.1.4. Конфигурирование устройств
- •2.7.2.8.1.5. Подключение устройств к шине
- •2.7.2.8.2. Интерфейс Fibre Channel
- •2.7.2.8.3. Хост-адаптер scsi
- •5.4. Управление интерфейсом и выполнение команд
- •2.7.2.9. Последовательная шина usb
- •2.7.2.10. Шина ieee 1394 — FireWire
- •2.7.2.10.1. Структура и взаимодействие устройств шины
- •2.7.2.10.2. Синонимы и дополнения стандарта 1еее1394
- •2.7.2.10.3. Сравнение FireWire и usb
- •2.7.2.11. Последовательная шина access.Bus и интерфейс i2c
- •2.7.2.12. Интерфейс jtag (Boundary Scan)
2.7.2.1.2. Традиционный lpt-порт
Традиционный (стандартный) порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2.10) соответствуют интерфейсу Centronics.
Таблица 2.10. Разъем стандартного LPT-порта
-
Контакт DB-25S
Провод шлейфа
Назначение
I/O*
Reg.Bit**
Сигнал
1
1
O/I
CR: 0\
Strobe#
2
3
O(I)
DR: 0
Data0
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
13
25
I
SR: 4
Select
14
2
O/I
CR: 1\
Auto LF#
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) — выходные линии, состояние которых может быть считано только при некоторых особых условиях (см. ниже).
** Показаны биты регистров управления (CR), состояния (SR) и данных (DR). Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.
Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE): Data Register (DR) - регистр данных, адрес - BASE, Status Register (SR) - регистр состояния, адрес - BASE+1 и Control Register (CR) - регистр управления, адрес - BASE+2. Информацию о форматах регистров и системной поддержке SPP можно найти в [2, 49-51].
Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (АСК#) при установке CR.4=1. Во избежании ложных прерываний контакт 10 соединен резистором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта.
Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора):
Вывод байта в регистр данных (1 цикл IOWR#).
Ввод из регистра состояния и проверка готовности устройства (бит SR.7 - сигнал BUSY). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл IORD#).
По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла IOWR#). Обычно для того, чтобы переключить только один бит (строб), регистр управления предварительно считывается, что добавляет еще один цикл IORD#.
Из описания этой процедуры видно, что для вывода одного байта требуется по меньшей мере 4-5 операций ввода/вывода с регистрами порта (это в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда и главный недостаток при выводе через стандартный порт — невысокая скорость обмена при значительной загрузке процессора. Стандартный порт удается разогнать лишь до скоростей порядка 100-150 Кбайт/с при полной загрузке процессора, что сегодня уже явно недостаточно для печати на лазерный принтер. Другой недостаток — функциональный — сложность использования в качестве порта ввода.
Стандартный порт сильно асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена — Nibble Mode. В этом режиме, называемым также и Hewlett Packard Bi-tronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования. Таким образом, каждый байт передается за два цикла, а каждый цикл требует по крайней мере тех же пяти операций ввода/вывода, что нужны для вывода по протоколу Centronics.