Лекции.ИНФО


Внешние интерфейсы персональных компьютеров.



Данный раздел посвящен внешним интерфейсам, позволяющим расширять функциональные возможности компьютера, подключая к нему разнообразное периферийное оборудование, и обеспечивать коммуникации с другими компью­терами. Здесь описаны традиционные интерфейсы (LPT-, СОМ-, GAME- и MIDI-портов), интерфейсы дисковых накопителей, клавиатуры, видеомониторов, шины SCSI, USB и FireWire а также вспомогательные интерфейсы l2C и JTAG.

 

Параллельный интерфейс: LPT-порт

Порт параллельного интерфейса был введен в PC для подключения принтера — отсюда и пошло его название LPT-порт (Line PrinTer — построчный принтер). Хотя через этот же порт подключается и большинство лазерных принтеров, которые по принципу действия не построчные, а постраничные, название «LPT» закрепилось основательно. Связь LPT-порта с принтером осуществляется по интерфейсу Centronics.

 

Интерфейс Centronics

Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Назначение сигналов приведено в табл.2.9, а временные диаграммы обмена с принтером - на рис.2.34.

 

Таблица 2.9.. Сигналы интерфейса Centronics

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

* I/O задает направление (вход/выход) применительно к принтеру.

 

Рис. 2.34. Передача данных по протоколу Centronics

 

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

· Линии данных инвертированы.

· Протокол квитирования несколько иной.

· Ко всем входным линиям (на принтере) подключены пары согласующих резисторов: 220 Ом к питанию +5 В и 330 Ом к общему проводу. Это позволяет использовать длинные кабели, но перегружает большинство ин­терфейсных адаптеров PC.

· Сигнал ошибки (и конца бумаги) отсутствует.

Интерфейс ИРПР может быть программно реализован через обычный LPT-порт, но для устранения перегрузки выходных линий согласующие резисторы из принтера желательно удалить. Порт, перегруженный по выходу, может преподносить самые неожиданные сюрпризы (естественно, только неприятные и трудно диагностируемые).

 

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

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

 

Таблица 2.10.Разъем стандартного LPT-порта

  Контакт DB-25S   Провод шлейфа Назначение
I/O* Reg.Bit** Сигнал
O/I CR: 0\ Strobe#
O(I) DR: 0 Data0
O(I) DR: 1 Data 1
O(I) DR: 2 Data 2
O(I) DR: 3 Data 3
O(I) DR: 4 Data 4
O(I) DR: 5 Data 5
O(I) DR: 6 Data 6
O(I) DR: 7 Data 7
I*** SR: 6 Ack#
I SR: 7\ Busy
I SR: 5 PaperEnd
I SR: 4 Select
O/I CR: 1\ Auto LF#
I SR: 3 Error#
O/I CR: 2 Init#
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.

 









Читайте также:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 119;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная