Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

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

це каждого цикла      |
|14  |AUTOFEE|HostBusy   |0  |Сигнал квитирования. Низкий уровень    |
|    |D#     |           |   |означает готовность хоста принять байт,|
|    |       |           |   |высокий уровень устанавливается по     |
|    |       |           |   |приему байта                           |
|17  |SELECT-|1284Active |0  |Высокий уровень указывает на обмен в   |
|    |IN»    |           |   |режиме IEEE 1284. (В режиме SPP уровень|
|    |       |           |   |низкий)                                |
|16  |INIT#  |INIT#      |0  |Не используется, установлен высокий    |
|    |       |           |   |уровень                                |
|10  |АСКй   |Ptrtik     |   |Устанавливается в низкий уровень для   |
|    |       |           |   |индикации действительности данных на   |
|    |       |           |   |линиях DATA[7:0]. В низкий уровень     |
|    |       |           |   |устанавливается в ответ на сигнал      |
|    |       |           |   |HostBusy                               |
|11  |BUSY   |PtrBusy    |I  |Состояние занятости прямого канала     |
|12  |РЕ     |AckDataReq*|I  |Устанавливается ПУ для указания на     |
|    |       |           |   |наличие обратного канала передачи*     |
|13  |SELECT |Xflag*     |I  |Флаг расширяемости*                    |
|15  |ERRORS |DataAvau#* |I  |Устанавливается ПУ для указания на     |
|    |       |           |   |наличие обратного канала передачи*     |
|2-9 |DATA[7:|DATA[7:0]  |I/0|Двунаправленный (прямой и обратный)    |
|    |0]     |           |   |канал данных                           |


Прием байта данных в байтном режиме состоит из следующих фаз:
1. Хост сигнализирует о готовности приема данных установкой  низкого  уровня
на линии HostBusy.
2. ПУ в ответ помещает байт данных на линии DATA[7:0].
3. ПУ сигнализирует о действительности байта установкой  низкого  уровня  на
линии PtrClk.
4. Хост  устанавливает  высокий  уровень  на  линии  HostBusy,  указывая  на
занятость приемом и обработкой байта.
5. ПУ отвечает установкой высокого уровня на линии PtrClk.
6. Хост подтверждает прием байта импульсом HostClk.
7. Шаги 1-6 повторяются для каждого следующего байта.
Побайтный режим позволяет поднять  скорость  обратного  канала  до  скорости
прямого канала в стандартном режиме. Однако  работать  он  может  только  на
двунаправленных   портах,   которые   применяются   в   основном   лишь   на
малораспространенных машинах PS/2.
Режим ЕРР
Протокол  ЕРР  (Enhanced  Parallel  Port  —  улучшенный  параллельный  порт)
предназначен  для  повышения  производительности  обмена  по   параллельному
порту. ЕРР был  реализован  в  чипсете  Intel  386SL  (микросхема  82360)  и
используется как дополнительный протокол параллельного порта.
Протокол ЕРР обеспечивает четыре типа циклов обмена:
Цикл записи данных.
Цикл чтения данных.
Цикл записи адреса.
Цикл чтения адреса.
Адресные циклы могут быть использованы для передачи  адресной,  канальной  и
управляющей информации. Циклы обмена данными  явно  отличаются  от  адресных
циклов применяемыми стробирующими сигналами. Назначение сигналов  порта  ЕРР
и их связь с сигналами SPP приведены в табл. 6.
                                                                  Таблица 6.
                 Сигналы LPT-порта в режиме ввода/вывода ЕРР
|Конта|Сигнал|Имя в   |I/|Описание                                   |
|кт   |SPP   |ЕРР     |O |                                           |
|1    |STROBE|WRITE»  |0 |Низкий уровень — признак цикла записи,     |
|     |»     |        |  |высокий — чтения                           |
|14   |AUTOFE|DATASTB#|0 |Строб данных. Низкий уровень               |
|     |EDff  |        |  |устанавливается в циклах передачи данных   |
|17   |SELECT|ADDRSTB#|0 |Строб адреса. Низкий уровень               |
|     |ING   |        |  |устанавливается в адресных циклах          |
|16   |INIT# |RESETS  |0 |Сброс ПУ (низким уровнем)                  |
|Конта|Сигнал|Имя в   |I/|Описание                                   |
|кт   |SPP   |ЕРР     |O |                                           |
|10   |АСК#  |INTR#   |I |Прерывание от ПУ                           |
|11   |BUSY  |WAIT»   |I |Сигнал квитирования. Низкий уровень        |
|     |      |        |  |разрешает начало цикла (установку строба в |
|     |      |        |  |низкий уровень), переход в высокий —       |
|     |      |        |  |разрешает завершение цикла (снятие строба) |
|2-9  |D[8:0]|AD[8:0] |I/|Двунаправленная шина адреса/данных         |
|     |      |        |O |                                           |
|12   |РЕ    |AckDataR|I |Используется по усмотрению разработчика    |
|     |      |eq*     |  |периферии                                  |
|13   |SELECT|Xflag*  |I |Используется по усмотрению разработчика    |
|     |      |        |  |периферии                                  |
|15   |ERROR |DataAvai|I |Используется по усмотрению разработчика    |
|     |      |W*      |  |периферии                                  |


ЕРР-порт имеет расширенный набор регистров (табл.  7),  который  занимает  в
пространстве ввода/вывода  5-8 смежных байт.
                                                                  Таблица 7.
                             Регистры ЕРР-порта
|Имя     |Смещен|Режи|R/W|Описание                                     |
|регистра|ие    |м   |   |                                             |
|SPP Data|+0    |SPP/|W  |Регистр данных стандартного порта            |
|Port    |      |EPP |   |                                             |
|SPP     |+1    |SPP/|R  |Регистр состояния стандартного порта         |
|Status  |      |EPP |   |                                             |
|Port    |      |    |   |                                             |
|SPP     |+2    |SPP/|W  |Регистр управления стандартного порта        |
|Control |      |EPP |   |                                             |
|Port    |      |    |   |                                             |
|EPP     |+3    |EPP |R/W|Регистр адреса ЕРР. Чтение или запись в него |
|Address |      |    |   |генерирует связанный цикл чтения или записи  |
|Port    |      |    |   |адреса ЕРР                                   |
|EPP Data|+4    |EPP |R/W|Регистр данных ЕРР. Чтение (запись)          |
|Port    |      |    |   |генерирует связанный цикл чтения (записи)    |
|        |      |    |   |данных ЕРР                                   |
|Not     |+5...+|EPP |N/A|В некоторых контроллерах могут использоваться|
|Defined |7     |    |   |для 16-32-битных операций ввода/вывода       |


В  отличие  от  программно-управляемых  режимов,  описанных  выше,   внешние
сигналы ЕРР-порта (как  информационные,  так  и  сигналы  квитирования)  для
каждого цикла обмена формируются аппаратно  по  одной  операции  записи  или
чтения в регистр порта.
Цикл записи данных состоит из следующих фаз:
1. Программа выполняет цикл записи (IOWR#) в порт 4 (ЕРР Data Port).
2.  Адаптер  устанавливает  сигнал  Writeff  (низкий  уровень),   и   данные
помещаются на выходную шину LPT-порта.
3. При низком уровне WAIT# устанавливается строб данных.
4. Порт ждет подтверждения от ПУ (перевода WAIT# в высокий уровень).
5. Снимается строб данных — внешний ЕРР-цикл завершается.
6. Завершается процессорный цикл ввода/вывода.
7. ПУ устанавливает низкий уровень WAIT#,  указывая  на  возможность  начала
следующего цикла.
Главной отличительной чертой ЕРР является  выполнение  внешней  передачи  во
время одного  процессорного  цикла  ввода/вывода.  Это  позволяет  достигать
высоких  скоростей  обмена   (0,5-2   Мбайт/с).   Периферийное   устройство,
подключенное  к  параллельному  порту  ЕРР,   может   работать   на   уровне
производительности устройства, подключаемого через  слот  ISA.  Периферийное
устройство может регулировать длительность всех фаз обмена с  помощью  всего
лишь одного сигнала  WAIT#.  Протокол  автоматически  подстраивается  и  под
длину кабеля — вносимые задержки только приведут к удлинению цикла.
 «ЗАВИСАНИЕ» процессора на шинном цикле обмена препятствует  механизм  тайм-
аутов PC, который принудительно завершает любой цикл обмена, длящийся  более
15 мкс.
С программной точки зрения контроллер ЕРР-порта выглядит  достаточно  просто
(см. табл.7). К трем регистрам стандартного порта, имеющим смещение 0,  1  и
2 относительно базового адреса порта, добавлены два  регистра  (ЕРР  Address
Port и ЕРР  Data  Port),  чтение  и  запись  в  которые  вызывает  генерацию
связанных внешних циклов.
Назначение  регистров  стандартного  порта   сохранено,   что   обеспечивает
совместимость  ЕРР-порта  с   периферийными   устройствами   и   программным
обеспечением, рассчитанными на  применение  программно-управляемого  обмена.
Поскольку  сигналы  квитирования  адаптером  вырабатываются  аппаратно,  при
записи в регистр управления CR биты  0,  1  и  3,  соответствующие  сигналам
STROBES, AUTOFEEDS и SELECTING, должны иметь нулевые значения.  В  противном
случае   программное   вмешательство   может   нарушить   последовательность
квитирования. Некоторые адаптеры  имеют  специальные  средства  защиты  (ЕРР
Protect),  при  включении   которых   программная   модификация   этих   бит
блокируется.
Использование регистра данных  ЕРР  позволяет  осуществлять  передачу  блока
данных  с  помощью  одной  инструкции  REP  INSB  или   REP   OUTSB   вместо
традиционных  циклов  с  интенсивными  операциями  ввода/вывода.   Некоторые
адаптеры допускают и 16/32-битное обращение к регистру данных ЕРР. Тогда 16-
  или  32-битное  обращение  по  адресу  регистра  данных  ЕРР  приведет   к
автоматической генерации двух  или  четырех  шинных  циклов  по  нарастающим
адресам, начиная со смещения 4. Эти циклы будут выполняться быстрее, чем  то
же  количество  одиночных  циклов.  Таким  образом  при 
12345След.
скачать работу

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

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ