- •Классификация интерфейсов
- •По функциональному назначению
- •По способу передачи данных
- •По виду среды распространения сигнала
- •По организации обмена данных
- •По отношению к внешней среде
- •По производительности
- •По способу синхронизации шин (обмена информации)
- •По способу обеспечения ???устойчивости
- •По форме носителей информации
- •По форме представления информации
- •По способам и последовательности управления
- •По уровням протокола обмена
- •По способу распределения ресурсов м/у агентами
- •По «интеллекту»
- •Параллельные интерфейсы
- •Адреса портов
- •Расположение выводов
- •Стандарт IEEE 1284
- •Centronics (SPP – Single Parallel Port)
- •Передача данных по протоколу Centronics (SPP)
- •Режим EPP
- •EPP сигналы и связанные с ними SPP сигналы:
- •Регистры интерфейса EPP
Фазовые переходы:
1.Запись данных в регистр данных (1 цикл I/O)
2.Чтение регистра состояния, чтобы проверить принтер на занятость (BUSY)
3.Если принтер не занят, то производится запись в Регистр Управления, чтобы установить линию
STROBE
4.Производится запись в Регистр Управления, чтобы сбросить линию STROBE
Для вывода одного байта данных требуется четыре I /O инструкции и много дополнительных инструкций. В результате полоса пропускания порта ограничена величиной примерно 150КБ в секунду.
Режим EPP
Протокол Расширенного параллельного порта был первоначально разработан Intel, Xircom и Zenith Data Systems как средство для обеспечения высокопроизводительной связи через параллельный порт, которая будет все еще совместима со стандартным параллельным портом.
EPP протокол обеспечивает четыре типа циклов передачи данных:
1.Цикл записи данных
2.Цикл чтения данных
3.Цикл записи адреса
4.Цикл чтения адреса
Циклы Данных предназначены для передачи данных между ведущим и периферией. Циклы Адреса могут использоваться для передачи адреса, канала, или команды и управляющей информации. Эти циклы могут рассматриваться просто как два различных цикла данных. Разработчик может использовать и интерпретировать информацию адреса/данных любым способом, который имеет смысл для конкретного проекта.
EPP сигналы и связанные с ними SPP сигналы:
|
|
|
|
|
|
|
|
|
Сигнал SPP |
|
Сигнал EPP |
|
Input/Output |
|
Описание сигнала EPP |
|
|
|
|
|
|
|
|
|
Strobe# |
|
Write# |
|
Out |
|
Указывает на действие записи. Высокий в цикле чтения. |
|
|
|
|
|
|
|
|
|
Auto Feed# |
|
Data STB# |
|
Out |
|
Указывает на то, что операция Data_Read или Data_Write |
|
|
|
|
||||
|
|
|
|
находится в процессе выполнения. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Select In# |
|
Addr STB# |
|
Out |
|
Указывает, что операция Address_Read или Address_Write |
|
|
|
|
||||
|
|
|
|
находится в процессе выполнения. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Init# |
|
Reset# |
|
Out |
|
Сброс Периферии. |
|
|
|
|
|
|
|
|
|
Ack# |
|
Intr# |
|
In |
|
Используется для выдачи прерывания ведущему. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Низкий уровень указывает, что надо начать цикл (установить |
|
Busy |
|
Wait# |
|
In |
|
строб), высокий указывает, что надо закончить цикл (сбросить |
|
|
|
|
|
|
|
строб). |
|
Data[7:0] |
|
AD[7:0] |
|
In/Out |
|
Двунаправленные линии адреса / данных. |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Paper End |
|
Польз-ль |
|
In |
|
Может Использоваться по-разному каждой периферией |
|
Select |
|
Польз-ль |
|
In |
|
Может Использоваться по-разному каждой периферией |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Error |
|
Польз-ль |
|
In |
|
Может Использоваться по-разному каждой периферией |
|
|
|
|
|
|
|
|
Регистры интерфейса EPP
|
|
|
|
|
|
Read |
|
|
|
|
|
|
|
|
|
|
|
|
Имя порта |
|
Смещение |
|
Режим |
/ |
|
Описание |
|
|
|
|
|
|
Write |
|
|
|
|
|
|
|
|
|
|
|
|
Порт данных SPP |
|
+0 |
|
SPP/EPP |
W |
|
Стандартный порт данных SPP. Без |
|
|
|
|
|||||
|
|
|
|
автостробирования. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порт статуса SPP |
|
+1 |
|
SPP/EPP |
R |
|
Чтение входов линий статуса интерфейса |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порт управления SPP |
|
+2 |
|
SPP/EPP |
W |
|
Устанавливает состояние выходных линий |
|
|
|
|
|||||
|
|
|
|
управления. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порт адреса EPP |
|
+3 |
|
EPP |
RW |
|
Генерация цикла чтения или записи адреса с |
|
|
|
|
|||||
|
|
|
|
рукопожатием |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порт данных EPP |
|
+4 |
|
EPP |
RW |
|
Генерация цикла чтения или записи данных с |
|
|
|
|
|||||
|
|
|
|
рукопожатием |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Не определено |
|
От +5 до +7 |
|
EPP |
N/A |
|
Используется по-разному в разных реализациях. |
|
|
|
|
|
|
|
|
|
Фазовые переходы:
1.Программа выполняет I/O цикл записи в порт 4 (EPP Порт Данных)
2.Линия Write# установлена, и данные находятся на выходе параллельного порта
3.Строб данных установлен, с этого момента на DataStrobe# (в оригинале WAIT#) низкий уровень
4.Порт ждет подтверждения от периферии (WAIT# сброшен)
5.Строб данных сброшен и цикл EPP окончен
6.ISA I/O цикл окончен
7.На WAIT# установлен низкий уровень, чтобы указать, что может начинаться следующий цикл
Одной из наиболее важных особенностей является то, что полная передача данных происходит в пределах одного ISA I/O цикла. Следовательно, используя EPP протокол для передачи данных, система может достигать скоростей передачи от 500КБ до 2Mбайт в секунду. Таким образом, периферийные устройства, подключенные к порту, могут работать с той же производительностью, что и вставная плата ISA. Способность получить этот уровень производительности от устройства, подключенного к параллельному порту - одна из главных особенностей EPP протокола.