![]() |
|
|
Реферат: Параллельный интерфейс: LPT-порт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-порта в режиме ввода/вывода ЕРР
ЕРР-порт имеет расширенный набор регистров (табл. 7), который занимает в пространстве ввода/вывода 5-8 смежных байт. Таблица 7. Регистры ЕРР-порта
В отличие от программно-управляемых режимов, описанных выше, внешние сигналы ЕРР-порта (как информационные, так и сигналы квитирования) для каждого цикла обмена формируются аппаратно по одной операции записи или чтения в регистр порта. Цикл записи данных состоит из следующих фаз: 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. Эти циклы будут выполняться быстрее, чем то же количество одиночных циклов. Таким образом при обмене данными и обеспечивается производительность, достигающая 2 Мбайт/с, вполне достаточная и для адаптеров локальных сетей, внешних дисков, стриммеров и CD-ROM. Адресные циклы БРР всегда выполняются только в однобайтном режиме обращения. Важной чертой ЕРР является то, что обращение процессора к периферийному устройству осуществляется в реальном времени. Программный драйвер всегда способен наблюдать состояние и подавать команды в точно известные моменты времени. Циклы чтения и записи могут чередоваться в произвольном порядке или идти блоками. Такой тип обмена наиболее пригоден для регистро-ориентированной периферии или периферии, работающей в реальном времени — сетевых адаптеров, устройств сбора информации и управления, дисковых устройств и т. п. Режим ЕСРПротокол ЕСР (Extended Capability Port — порт с расширенными возможностями) был предложен фирмами Hewlett Packard и Microsoft как прогрессивный режим связи с периферией типа принтеров и сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с периферийными устройствами. Протокол ЕСР в обоих направлениях обеспечивает два типа циклов: ••• Циклы записи и чтения данных. Командные циклы записи и чтения. Командные циклы подразделяются на два типа: передача канальных адресов и счетчика RLC (Run-Length Count). В отличие от ЕРР вместе с протоколом ЕСР сразу появился и стандарт на программную (регистровую) модель реализации его адаптера, изложенный в документе «The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard» компании Microsoft. Этот документ определяет специфические свойства реализации протокола, не заданные стандартом IEEE 1284: компрессия данных хост-адаптером по методу RLE; ••• буферизация FIFO для прямого и обратного каналов: применение DMA и программного ввода/вывода. Компрессия в реальном времени по методу RLE (Run-Length Encoding) позволяет достичь коэффициента сжатия до 64:1 при передаче растровых изображений. Канальная адресация ЕСР применяется для адресации множества логических устройств, входящих в одно физическое. Например, в комбинированном устройстве факс/принтер/модем, подключаемом только к одному параллельному порту, возможен одновременный прием факса и печать на принтере. Как и в других режимах 1284, протокол ЕСР переопределяет сигналы SPP (табл. 8). Таблица 8. Сигналы LPT-порта в режиме ввода/вывода ЕСР
* Сигналы действуют в последовательности согласования (см. ниже). Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно. Прямая передача данных на внешнем интерфейсе состоит из следующих шагов: 1. Хост помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии HostAck. 2. Хост устанавливает низкий уровень на линии HostClk, указывая на действительность данных. 3. ПУ отвечает установкой высокого уровня на линии PeriphAck. 4. Хост устанавливает высокий уровень линии HostClk, и этот перепад может использоваться для фиксации данных в ПУ. 5. ПУ устанавливает низкий уровень на линии PeriphAck для указания на готовность к приему следующего байта. Поскольку передачи в ЕСР разделены FIFO-буферами, которые могут присутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе данные можно будет считать переданными. Данные считается переданными на шаге 4, когда линия HostClk переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт. Обратная передача данных состоит из следующих шагов: 1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линии ReverseRequestff. 2 ПУ разрешает смену направления установкой низкого уровня на линии Ack-Reverse#. 3. ПУ помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии PeriphAck. 4. ПУ устанавливает низкий уровень на линии PeriphClk, указывая на действительность данных. 5. Хост отвечает установкой высокого уровня на линии HostAck. 6. ПУ устанавливает высокий уровень линии PeriphClk, и этот перепад может использоваться для фиксации данных хостом. 7. Хост устанавливает низкий уровень на линии HostAck для указания на готовность к приему следующего байта. Согласование режимов IEEE 1284 Периферийные устройства в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех режимов, предусмотренных стандартом. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence) для установки требуемого режима интерфейса. Во время фазы согласования контроллер выставляет на линии данных байт расширяемости (Extensibility byte), запрашивая подтверждение на перевод интерфейса в требуемый режим или прием идентификатора периферийного устройства (табл. 11). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминах SPP) для подтверждения запрошенного режима обратного канала, кроме полубайтного. Полубайтный режим поддерживается всеми устройствами IEEE 1284. Бит Extensibility Link request заложен для механизма определения дополнительных режимов в будущих расширениях стандарта. Таблица. 11. Значение бит байта расширяемости
Последовательность согласования состоит из следующих шагов: 1. Хост выводит байт расширяемости на линии данных. 2. Хост устанавливает высокий уровень сигнала Selecting и низкий — Auto-Feedft, что означает начало последовательности согласования. 3. ПУ 1284 ответит установкой низкого уровня сигнала Ackff и высокого — Errorft, РЕ и Select. 4. Хост устанавливает низкий уровень сигнала Strobeff для записи байта расширяемости в ПУ. 5. Хост устанавливает высокий уровень сигналов Strobeff и AutoFeedff. 6. ПУ отвечает установкой в низкий уровень сигналов РЕ и Errorff, если оно имеет обратный канал передачи данных. Если запрошенный режим поддерживается устройством, на линии Select устанавливается высокий уровень, если не поддерживается — низкий. 7. ПУ устанавливает высокий уровень на линии Ack# для указания на завершение последовательности согласования, после чего контроллер устанавливает требуемый (и разрешенный) режим работы. Развитие стандарта IEEE 1284 Кроме основного стандарта IEEE 1284, который уже принят, в настоящее время в стадии проработки находятся новые стандарты, не отменяющие его, а определяющие дополнительные возможности. К ним относятся: IEEE P1284.1 «Standard for Information Technology for Transport Independent Printer/Scanner Interface (TIP/SI)». Этот стандарт разрабатывается для управления и обслуживания сканеров и принтеров на основе протокола NPAP (Network Printing Alliance Protocol). IEEE P1284.2 «Standard for Test, Measurement and Conformance to IEEE Std. 1284» — стандарт для тестирования портов, кабелей и устройств на совместимость с IEEE 1284. IEEE P1284.3 «Standard for Interface and Protocol Extensions to IEEE Std-1284 Compliant Peripheral and Host Adapter Ports» — стандарт на драйверы и использование устройств прикладным программным обеспечением. IEEE P1284.4 «Standard for Data Delivery and Logical Channels for IEEE Std. 1284 Interfaces». Этот стандарт направлен на реализацию пакетного протокола достоверной передачи данных через параллельный порт. Исходной точкой является протокол MLC (Multiple Logical Channels) фирмы Hewlett-Packard. Конфигурирование LPT-портов Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Таким образом обеспечивается возможность согласования аппаратуры и программного обеспечения и блокирования ложных переключении, вызванных некорректными действиями программы. Способ и возможности конфигурирования LPT-портов зависят от его исполнения и местоположения. Порт, расположенный на плате расширения (обычно на мультикарте), устанавливаемой в слот ISA или ISA+VLB, обычно конфигурируется джамперами на самой плате. Порт, расположенный на системной плате, обычно конфигурируется через BIOS Setup. Конфигурированию подлежат следующие параметры: Базовый адрес, который может иметь значение 3BCh, 378h и 278h. При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические имена LPT1, LPT2, LPT3. Адрес 3BCh имеет адаптер порта, расположенный на плате MDA или HGC. Большинство портов по умолчанию конфигурируется на адрес 378h и может переключаться на 278h. Используемая линия запроса прерывания: для LPT1 обычно используется IRQ7, для LPT2 — IRQ5. Использование канала DMA для режимов ЕСР и Fast Centronics — разрешение и номер канала DMA. Использование параллельных портовНаиболее распространенным применением LPT-порта является, естественно, подключение принтера. Практически все принтеры могут работать с портом в режиме SPP, но применение расширенных режимов дает дополнительные преимущества: Двунаправленный режим (Bi-Di) дает дополнительные возможности для сообщения состояния и параметров принтера. Скоростные режимы (Fast Centronics) существенно повышают производительность практически любого принтера (особенно лазерного), но могут потребовать более качественного кабеля. Режим ЕСР потенциально самый эффективный, и он имеет системную поддержку во всех вариантах Windows. Из распространенных семейств ЕСР поддерживают принтеры HP DeskJet моделей BXX, LaserJet начиная с 4-го, современные модели фирмы Lexmark требуют применения кабеля по частотным свойствам соответствующего IEEE 1284. Простейший вариант кабеля подключения принтера — 18-проводный кабель с неперевитыми проводами с успехом может использоваться для работы порта в режиме SPP. Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран — то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с, и допускается их длина до 10 метров. В табл. 12 приводится распайка кабеля подключения принтера с разъемом XI типа A (DB-25P) со стороны PC и Х2 типа В (Centronics-36) или типа С (миниатюрный) со стороны принтера. Таблица 12. Кабель подключения принтера
Для связи двух компьютеров по параллельному интерфейсу применяются различные варианты кабелей, зависящие от режимов используемых портов. Самый простой способ (и самый медленный обмен) обеспечивает режим полубайтного обмена Nibble Mode, работающий на всех (исправных) портах. Для этого режима в кабеле достаточно иметь 10 сигнальных и один общий провод. Высокоскоростная связь двух компьютеров может выполняться и в режиме ЕСР (режим ЕРР для этих целей неудобен, поскольку он требует синхронизации шинных циклов ввода/вывода двух компьютеров). В табл. 13 приведена распайка кабеля для этого режима. В ней в качестве вспомогательной информации приведены имена сигналов, которые аппаратно генерируются адаптерами портов. Этот же кабель может использоваться и для связи в режиме Byte Mode (при наличии двунаправленных портов). Связь компьютеров с помощью такого кабеля поддерживается Windows 95. Таблица 13. Кабель связи PC-PC в режиме ЕСР и Byte Mode
Подключение сканера к LPT-порту эффективно, только если порт обеспечивает хотя бы двунаправленный режим (Bi-Di), поскольку в основном здесь используется ввод. Но лучше использовать порт ECP, если этот режим поддерживается сканером. Подключение внешних накопителей (lomega Zip Drive, CD-ROM), адаптеров ЛВС и других симметричных устройств ввода/вывода имеет общую специфику. Большинство таких устройств способно работать в любом из режимов порта (обычно исключая ECP), что обеспечивает их неограниченное применение на любых компьютерах. Неисправности и тестирование параллельных портовТестирование параллельных портов целесообразно начинать с проверки их наличия в системе. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо в BIOS DATA AREA с помощью любого отладчика. Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес. Программное тестирование порта без диагностической заглушки (Loop Back) не покажет ошибок, поскольку при этом читаются данные выходных регистров, а они у всех конфликтующих (по отдельности исправных портов) совпадут. Именно такое тестирование и производит BIOS при проверке на наличие портов. Разбираться с такой ситуацией имеет смысл последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке. Если физически установлен только один порт и его не обнаруживает BIOS, то либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения. Тестирование портов с помощью диагностических программ позволяет проверить их выходные регистры, а при использовании специальных заглушек — и входные линии. Поскольку количество выходных линий порта (12) и входных (5) различно, то полная проверка порта с помощью пассивной заглушки принципиально невозможна. Разные программы тестирования требуют применения специально на них ориентированных заглушек (рис. 1), Рис. 1. Схема заглушки для тестирования LPT-порта программой Checkit Большинство неприятностей при работе с LPT-портами доставляют разъемы и кабели. Для проверки порта, кабеля и принтера можно воспользоваться специальными тестами из популярных диагностических программ (Checkit, PCCheck и т. п.), а можно вывести на принтер какой-либо символьный файл. Если вывод файла с точки зрения DOS проходит (копирование файла на устройство с именем LPTn или PRN проходит быстро и успешно), а принтер (исправный) не напечатал ни одного символа — скорее всего, это обрыв (неконтакт в разъеме) цепи STROBES. Если принтер по своему индикатору находится в состоянии On Line, a появляется сообщение о его неготовности (Not Ready Error), то причину следует искать в линии Busy. Если принтер искажает информацию при печати, возможен обрыв (или замыкание) линий данных. В этом случае удобно воспользоваться файлом, содержащим последовательность кодов всех печатных символов (его можно создать с помощью простой программы, написанной даже на языке Basic, — ее текст приведен ниже). 10 OPEN "bincod.chr" FOR OUTPUT AS #1 20 FORJ=2T015 30 FOR 1=0 ТО 15 40 PRINT#1, CHR$(16*J+I); 50 NEXT I 60 PRINT#1, 70 NEXTJ 80 CLOSE #1 90 END Файл BINCOD.CHR, созданный данной программой, представляет собой таблицу всех печатных символов (управляющие коды пропущены), расположенных по 16 символов в строке. Если файл печатается с повтором некоторых символов или их групп, по периодичности повтора можно легко вычислить оборванный провод данных интерфейса. Этот же файл удобно использовать для проверки аппаратной руссификации принтера. Если принтер, подключенный к порту, в стандартном режиме (SPP) печатает нормально, а при переходе на ЕСР начинаются сбои, следует проверить кабель — соответствует ли он требованиям IEEE 1284. Кабели с неперевитыми проводами нормально работают на скоростях 50-100 Кбайт/с, но при скорости 1-2 Мбайт/с, обеспечиваемой ЕСР, они могут не работать, особенно при длине более 2 метров. Если при установке драйвера РпР-принтера появилось сообщение о необходимости применения «двунаправленного кабеля», проверьте наличие связи контакта 17 разъема DB-25 с контактом 36 разъема Centronics. Аппаратные прерывания от LPT-порта используются далеко не всегда. Неисправности, связанные с цепью прерывания от порта, проявляются не часто. Однако по-настоящему многозадачные ОС (например, сервер NetWare) стараются работать с портом именно по прерываниям. Тестировать линию прерывания можно, только подключив к порту периферийное устройство или специальную заглушку. Параллельный порт и РпРБольшинство современных периферийных устройств, подключаемых к LPT-порту, поддерживает стандарт 1284 и функции РпР. Для поддержки этих функций компьютером с аппаратной точки зрения достаточно иметь контроллер интерфейса, поддерживающий стандарт 1284. Для работы РпР подключенное устройство должно сообщить операционной системе все необходимые сведения о себе (идентификаторы производителя, модели и набор поддерживаемых команд). Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечивается совместимость. |
Страницы: 1, 2
![]() |
||
НОВОСТИ | ![]() |
![]() |
||
ВХОД | ![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |