Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






I/O Описание






Strobe# AutoLF*

1 14

О Строб данных, используется в паре с PeriphAck для передачи в прямом направлении (вывод)

О Указывает тип цикла (команда/данные) при передаче в прямом направлении. Используется как сигнал подтверждения в паре с PeriphClk для передачи в обратном направлении

  Selectln* 1284Active  
  lnit# ReverseRequest#  
  Ack# PeriphClk I
  Busy PeriphAck I
  PaperEnd AckReverse* I
  Select Xflag1 I

Высокий уровень указывает на обмен

в режиме IEEE 1284 (в режиме SPP уровень

низкий)

Запрос реверса. Низкий уровень сигнализирует о переключении канала на передачу в обратном направлении

Строб данных, используется в паре с HostAck для передачи в обратном направлении

Используется как сигнал подтверждения в паре с HostClk для передачи в прямом направлении. Индицирует тип команда/ данные при передаче в обратном направлении

Подтверждение реверса. Переводится

в низкий уровень в ответ на ReverseRequest*

Флаг расширяемости


1.3. Стандарт IEEE 1284

Контакт Сигнал SPP Имя в ЕСР I/O Описание

15 Error* PeriphRequest*1 I Устанавливается ПУ для указания

на доступность (наличие) обратного канала передачи1

2-9 Data [0: 7] Data [0: 7] I/O Двунаправленный канал данных

1 Сигналы действуют в последовательности согласования (см. ниже).

Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно, но его работа существенно отличается от режима ЕРР.

На рис. 1.5, а приведена диаграмма двух циклов прямой передачи: за циклом дан­ных следует командный цикл. Тип цикла задается уровнем на линии HostAck: в цик­ле данных — высокий, в командном цикле — низкий. В командном цикле байт может содержать канальный адрес или счетчик RLE. Отличительным призна­ком является бит 7 (старший): если он нулевой, то биты 0-6 содержат счетчик RLE (0-127), если единичный — то канальный адрес. На рис. 1.5, б показана пара цик­лов обратной передачи.

В отличие от диаграмм обмена ЕРР, на рис. 1.5 не приведены сигналы циклов системной шины процессора. В данном режиме обмен программы с ПУ раз­бивается на два относительно независимых процесса, которые связаны через FIFO-буфер. Обмен драйвера с FIFO-буфером может осуществляться как с ис­пользованием DMA, так и программного ввода-вывода. Обмен ПУ с буфером аппаратно выполняет адаптер ЕСР. Драйвер в режиме ЕСР не имеет информа­ции о точном состоянии процесса обмена, но обычно важно только то, завершен он или нет.

Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:

1. Хост помещает данные на шину канала и устанавливает признак цикла дан­
ных (высокий уровень) или команды (низкий уровень) на линии HostAck.

2. Хост устанавливает низкий уровень на линии HostClk, указывая на действи­
тельность данных.

3. ПУ отвечает установкой высокого уровня на линии PeriphAck.

4. Хост устанавливает высокий уровень линии HostClk, и этот перепад может ис­пользоваться для фиксации данных в ПУ.

5. ПУ устанавливает низкий уровень на линии PeriphAck для указания на готов­ность к приему следующего байта.

Поскольку передача в ЕСР происходит через FIFO-буферы, которые могут при­сутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе дан­ные можно считать переданными. Данные считаются переданными на шаге 4, ког­да линия HostClk переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт. В протоколе ЕСР есть условия, вызыва­ющие прекращение обмена между шагами 3 и 4. Тогда эти данные не должны рас­сматриваться как переданные.



Глава 1. Параллельный интерфейс — LPT-nopr


 

 

Рис. 1.5. Передача в режиме ЕСР: а — прямая, б — обратная

Из рис. 1.5 видно и другое отличие ЕСР от ЕРР. Протокол ЕРР позволяет драйве­ру чередовать циклы прямой и обратной передачи, не запрашивая подтверждения на смену направления. В ЕСР смена направления должна быть согласована: хост запрашивает реверс установкой ReverseRequest*, после чего он должен дождать­ся подтверждения сигналом AckReverse*. Поскольку предыдущий цикл мог вы­полняться по прямому доступу, драйвер должен дождаться завершения прямого доступа или прервать его, выгрузить буфер FIFO, определив точное значение счет­чика переданных байт, и только после этого запрашивать реверс.

Обратная передача данных состоит из следующих шагов:

1. Хост запрашивает изменение направления канала, устанавливая низкий уро­
вень на линии ReverseRequest*.

2. ПУ разрешает смену направления установкой низкого уровня на линии
AckReverse*.

3. ПУ помещает данные на шину канала и устанавливает признак цикла данных
(высокий уровень) или команды (низкий уровень) на линии PeriphAck.

4. ПУ устанавливает низкий уровень на линии PeriphClk, указывая на действи­
тельность данных.

5. Хост отвечает установкой высокого уровня на линии HostAck.


1.3. Стандарт IEEE 1284_______________________________________________ 33

6. ПУ устанавливает высокий уровень линии PeriphClk; этот перепад может ис­пользоваться для фиксации данных хостом.

7. Хост устанавливает низкий уровень на линии HostAck для указания на готов­ность к приему следующего байта.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.