Параллельный интерфейс LPT-порт Порт параллельного интерфейса был введен в PC для подключения принтера LPT-порт Line PrinTer построчный принтер. Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве вводавывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 386h, 378h и 278h. Порт имеет внешнюю 8-битную шину данных,
5-битную шину сигналов состояния и 4-битную шину управляющих сигналов. BIOS поддерживает до четырех LPT-портов LPT1-LPT4 своим сервисом прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера. Интерфейс Centronics Понятие
Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Назначение сигналов приведено в табл. 1. Таблица 1. IOКонтактНазначениеStrobeI1Строб данных. Данные фиксируются по низкому уровню сигналаData 07I2-9Линии данных. Data 0 контакт 2 младший битActt010Acknowledge импульс подтверждения приема байта запрос на прием следующего.
Может использоваться для формирования запроса прерыванияBusy011Занято. Прием данных возможен только при низком уровне сигналаPaperEnd012Высокий уровень сигнализирует о конце бумагиSelect013Сигнализирует о включении принтераAuto LFI14Еггогй032Ошибка конец бумаги, состояние OFF-Line или внутренняя ошибка принтераImtI31ИнициализацияSlot
InI36Выбор принтера низким уровнем. При высоком уровне принтер не воспринимает остальные сигналы интерфейсаGND-19-33Интерфейс Centronics поддерживается большинством принтеров с параллельным интерфейсом, его отечественным аналогом является интерфейс ИРПР-М. Традиционный LPT-порт Традиционный порт SPP Standard Parallel Port является однонаправленным портом, на базе которого программно
реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК. Сигналы порта выводятся на разъем DB-25S розетка, установленный непосредственно на плате адаптера или системной плате или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта табл. 2 соответствуют интерфейсу Centronics. Таблица 2.
Разъем стандартного LPT-порта Контакт DB-25BitСигнал1101CR 0Strobe2301DR0Data 03501DR 1Data 14701DR 2Data 25901DR3Data 361101DR 4Data 471301DR5Data 581501DR6Data 691701DR7Data 71019ISR 6Ack1121ISR 7Busy1223ISR 5PaperEnd1325ISR 4Select14201CR 1Auto LF154ISR 3Error16601CR 2Init17801CR3Select In18-2510, 12, 14, 1618, 20, 22, 24, IO задает направление передачи входвыход сигнала порта 0I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода.
Символом отмечены инвертированные сигналы 1 в регистре соответствует низкому уровню линии. Вход Ack соединен резистором 10 кОм с питанием 5 В. Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве вводавывода, начиная с базового адреса порта BASE. Data Register DR регистр данных, адрес BASE. Данные, записанные в этот порт, выводятся на выходные линии интерфейса.
Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях. Status Register SR регистр состояния, представляющий собой 5-битный порт ввода сигналов состояния принтера биты SR.4-SR.7, адрес BASE1. Бит SR.7 инвертируется низкому уровню сигнала соответствует единичное значению бита в регистре, и наоборот. Назначение бит регистра состояния в скобках даны номера контактов разъема
SR.7 Busy инверсные отображения состояния линии Busy 11 SR.6 АСК Acknowledge отображения состояния линии Ack 10. SR.5 РЕ Paper End отображения состояния линии Paper End 12. SR.4 Select отображения состояния линии Select 13. Единичное значение соответствует cигналу о включении принтера.
SR.3 Error отображения состояния линии Error 15. SR.2 PIRQ флаг прерывания по сигналу Ack только для порта PS2. Бит обнуляется, если сигнал Ack вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния. SR10 зарезервированы. Control Register CR регистр управления, адресВА5Е2.
Как и регистр данных, этот 4-битный порт вывода допускает запись и чтение биты 0-3, но его выходной буфер обычно имеет тип открытый коллектор. Это позволяет более корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты О, 1, 3 инвертируются единичному значению в регистре соответствует низкий уровень сигнала, и наоборот. Назначение бит регистра управления CR76 зарезервированы.
CR.5 Direction бит управления направлением передачи только для портов PS2. Запись единицы переводит порт данных в режим ввода. CR.4 Interrupt Enable единичное значение разрешает прерывание по спаду сигнала на линии Ackff сигнал запроса следующего байта. CR.3 Select In единичное значение бита соответствует низкому уровню на выходе
Selecting 17 сигналу, разрешающему работу принтера по интерфейсу Centronics. CR.2 Init нулевое значение бита соответствует низкому уровню на выходе Imt 16 сигнал аппаратного сброса принтера. CR.1 Auto LF единичное значение бита соответствует низкому уровню на выходе Auto LF 14 сигналу на автоматический перевод строки
LF Line Feed по приему байта возврата каретки CR Carriage Return. CR.O Strobe единичное значение бита соответствует низкому уровню на выходе Strobeff 1 сигналу стробирования выходных данных. Запрос аппаратного прерывания обычно IRQ7 или IRQ5 вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса АСК при установке CR.41. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта.
Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги в скобках приведено требуемое количество шинных операций процессора Вывод байта в регистр данных 1 цикл IOWR. Ввод из регистра состояния и проверка готовности устройства бит SR.7 сигнал BUSY. По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается 2 цикла lOWRff.
Стандартный порт сильно асимметричен при наличии 12 линий и бит, нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена Nibble Mode. В этом режиме, называемым также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования.
Функции BIOS для LPT-порта BIOS обеспечивает поддержку LPT-порта, необходимую для организации вывода по интерфейсу Centronics. В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам ЗВСЬ, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки
BIOS DATA AREA 00408h, 040Ah, 040СП, 040ЕП. Эти ячейки хранят адреса портов с логическими именами LPT1-LPT4. В ячейки 00478, 0479, 047А, 047В заносятся константы, задающие выдержку тайм-аута для этих портов. Поиск портов обычно ведется по базовому адресу. Если считанный байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в ячейку BIOS DATA AREA.
Адрес порта LPT4 BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных. Обнаруженные порты инициализируются записью в регистр управления формируется и снимается сигнал Initff, после чего записывается значение 00h, соответствующее исходному состоянию сигналов интерфейса. Программное прерывание BIOS I NT 17h обеспечивает следующие функции поддержки LPT-порта 00h вывод символа из регистра
AL по протоколу Centronics. Данные помещаются в выходной регистр и после готовности принтера формируется строб. 01h инициализаия интерфейса и принтера. 02h опрос состояния принтера. При вызове INT 17h номер функции задается в регистре АН, номер порта в регистре DX 0 LPT1, 1 LPT2 При возврате после любой функции регистр АН содержит код состояния биты регистра состояния SR73 биты 6 и 3 инвертированы и флаг тайм-аута в бите 0.
Флаг тайм-аута устанавливается при неудачной попытке вывода символа. Расширения параллельного порта Недостатки стандартного порта частично устраняют новые типы портов, появившихся в компьютерах семейства PS2. Двунаправленный порт 1 Typel parallel port интерфейс, введенный с PS2. Такой порт кроме стандартного режима может работать в режиме ввода или двунаправленном. Протокол обмена формируется программно, а для указания направления
передачи в регистр управления порта введен специальный бит при CR.50 буфер данных работает на вывод, при CR.51 на ввод. Порт с прямым доступом к памяти Type 3 DMA parallel port применялся в PS2 моделей 57, 90, 95. Этот тип был введен для повышения пропускной способности и разгрузки процессора при выводе на принтер. Программе, работающей с данным портом, требовалось только задать блок данных
в памяти, подлежащих выводу, и вывод по протоколу Centronics производился без участия процессора. Физический и электрический интерфейс Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов. К передатчикам предъявляются следующие требования Уровни сигналов без нагрузки не должны выходить за пределы -0,5 5,5 В. Уровни сигналов при токе нагрузки 14 мА должны быть не ниже 2,4
В для высокого уровня voh и не выше 0,4 В для низкого уровня vol на постоянном токе. Выходной импеданс ro, измеренный на разъеме, должен составлять 505 Ом на уровне voh-vol. Для обеспечения заданного импеданса в некоторых случаях используют последовательные резисторы в выходных цепях передатчика. Согласование импеданса передатчика и кабеля снижает уровень импульсных помех. Скорость нарастания спада импульса должна находиться в пределах 0,05-0,4
Внс. Требования к приемникам Допустимые пиковые значения сигналов -2,0 7,0. Пороги срабатывания должны быть не выше 2,0 В vih для высокого уровня и не ниже 0,8 В vil для низкого. Приемник должен иметь гистерезис в пределах 0,2-1,2 В. Входной ток микросхемы не должен превышать 20 мкА. Входная емкость не должна превышать 50 пФ. Стандарт
IEEE 1284 определяет три типа используемых разъемов. Типы Л DB-25 и В Centronics-36 используются в традиционных кабелях подключения принтера, тип С новый малогабаритный 36-контактный разъем. Интерфейсные кабели, традиционно используемые для подключения принтеров, обычно имеют от 18 до 25 проводников, в зависимости от числа проводников цепи GND. Стандарт IEEE 1284 регламентирует и свойства кабелей
Все сигнальные линии должны быть перевитыми с отдельными обратными общими проводами. Каждая пара должна иметь импеданс 626 Ом в частотном диапазоне 4-16 МГц. Уровень перекрестных помех между парами не должен превышать 10. Кабель должен иметь экран фольгу, покрывающий не менее 85 внешней поверхности. На концах кабеля экран должен быть окольцован и соединен с контактом разъема.
Кабели, удовлетворяющие этим требованиям, маркируются надписью IЕЕЕ Std 1284-1994 Compliant. Они могут иметь длину до 10 метров. Режимы передачи данных Стандарт IEEE 1284 определяет пять режимов обмена, один из которых полностью соответствует традиционному стандартному программно-управляемому выводу по протоколу Centronics. Остальные режимы используются для расширения функциональных возможностей и повышения производительности
интерфейса. Стандарт определяет способ согласования режима, по которому программное обеспечение может определить режим, доступный и хосту в нашем случае это PC, и периферийному устройству. Режимы нестандартных портов, реализующих протокол обмена Centronics аппаратно Fast Centronics, Parallel Port FIFO Mode, могут и не являться режимами IEE1284, несмотря на наличие в них черт
ЕРР и ЕСР. При описании режимов обмена фигурируют следующие понятия Хост компьютер, обладающий параллельным портом. ПУ периферийное устройство, подключаемое к этому порту им может оказаться и другой компьютер. обозначениях сигналов Ptr обозначает передающее периферийное устройство. Прямой канал канал вывода данных от хоста в ПУ. Обратный канал канал ввода данных в хост из
ПУ. Полубайтный режим ввода Nibble Mode Режим полубайтного обмена является наиболее общим решением задачи двунаправленного обмена данными, поскольку может работать на всех стандартных традиционных портах. Все эти порты имеют 5 линий ввода состояния, используя которые периферийное устройство может посылать в PC байт тетрадами nibble полубайт, 4 бита за два приема. Назначение сигналов порта приведено в табл 4. Таблица 4.
Сигналы LPT-порта в полубайтном режиме ввода КонтактСигнал SPPIOИспользование сигнала при приеме данных в Nibble Mode14AUTOFEED0HostBusy сигнал квитирования. Низкий уровень означает готовность к приему тетрады, высокий подтверждает прием тетрады17SELECTIN0Высокий уровень указывает на обмен в режиме IEEE 1284 в режиме SPP уровень низкий10АСКPtrClk. Низкий уровень означает действительность тетрады,
переход в высокий ответ на сигнал HostBusy11BUSYIПрием бита данных 3, затем бита 712РЕIПрием бита данных 2, затем бита 613SELECTIПрием бита данных 1, затем бита 515ERRORSIПрием бита данных 0, затем бита 4Прием байта данных в полубайтном режиме состоит из следующих фаз 1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy. 2. ПУ в ответ помещает тетраду на входные линии состояния.
3. ПУ сигнализирует о действительности тетрады установкой низкого уровня на линии PtrClk. 4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой тетрады. 5. ПУ отвечает установкой высокого уровня на линии PtrCLk. 6. Шаги 1-5 повторяются для второй тетрады.
Полубайтный режим работает на всех портах со скоростью обмена не выше 50 Кбайтс . Его применяют в тех случаях, когда прием данных от устройства производится в небольших объемах например, для связи с принтерами. Двунаправленный байтный режим Byte Mode Данный режим обеспечивает прием данных с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита
CR.51. Как и в стандартном и в полубайтном режиме, данный режим является программно-управляемым все сигналы квитирования анализируются и устанавливаются программным драйвером. Назначение сигналов порта приведено в табл. 5. Таблица 5. Сигналы LPT-порта в байтном режиме вводавывода КонтактСигнал SPPИмя в Byte ModeIOОписание1STROBESHostClk0Импульс низкого уровня подтверждает прием байта в конце
каждого цикла14AUTOFEEDHostBusy0Сигнал квитирования. Низкий уровень означает готовность хоста принять байт, высокий уровень устанавливается по приему байта17SELECT-IN1284Active0Высокий уровень указывает на обмен в режиме IEEE 1284. В режиме SPP уровень низкий16INITINIT0Не используется, установлен высокий уровень10АСКйPtrtik Устанавливается в низкий уровень для индикации действительности данных на линиях
DATA70. В низкий уровень устанавливается в ответ на сигнал HostBusy11BUSYPtrBusyIСостояние занятости прямого канала12РЕAckDataReqIУстанавливается ПУ для указания на наличие обратного канала передачи13SELECTXflagIФлаг расширяемости15ERRORSDataAvauIУстанавлив ается ПУ для указания на наличие обратного канала передачи2-9DATA70DATA70I0Двунаправленный прямой и обратный канал данныхПрием байта данных в байтном режиме состоит из следующих фаз 1.
Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy. 2. ПУ в ответ помещает байт данных на линии DATA70. 3. ПУ сигнализирует о действительности байта установкой низкого уровня на линии PtrClk. 4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой байта.
5. ПУ отвечает установкой высокого уровня на линии PtrClk. 6. Хост подтверждает прием байта импульсом HostClk. 7. Шаги 1-6 повторяются для каждого следующего байта. Побайтный режим позволяет поднять скорость обратного канала до скорости прямого канала в стандартном режиме. Однако работать он может только на двунаправленных портах, которые применяются в основном лишь
на малораспространенных машинах PS2. Режим ЕРР Протокол ЕРР Enhanced Parallel Port улучшенный параллельный порт предназначен для повышения производительности обмена по параллельному порту. ЕРР был реализован в чипсете Intel 386SL микросхема 82360 и используется как дополнительный протокол параллельного порта. Протокол ЕРР обеспечивает четыре типа циклов обмена
Цикл записи данных. Цикл чтения данных. Цикл записи адреса. Цикл чтения адреса. Адресные циклы могут быть использованы для передачи адресной, канальной и управляющей информации. Циклы обмена данными явно отличаются от адресных циклов применяемыми стробирующими сигналами. Назначение сигналов порта ЕРР и их связь с сигналами SPP приведены в табл. 6. Таблица 6. Сигналы LPT-порта в режиме вводавывода
ЕРР КонтактСигнал SPPИмя в ЕРРIOОписание1STROBEWRITE0Низкий уровень признак цикла записи, высокий чтения14AUTOFEEDffDATASTB0Строб данных. Низкий уровень устанавливается в циклах передачи данных17SELECTINGADDRSTB0Строб адреса. Низкий уровень устанавливается в адресных циклах16INITRESETS0Сброс ПУ низким уровнемКонтактСигнал SPPИмя в ЕРРIOОписание10АСКINTRIПрерывание от ПУ11BUSYWAITIСигнал квитирования. Низкий уровень разрешает начало цикла установку строба в низкий уровень,
переход в высокий разрешает завершение цикла снятие строба2-9D80AD80IOДвунаправленная шина адресаданных12РЕAckDataReqIИспользуется по усмотрению разработчика периферии13SELECTXflagIИспользуется по усмотрению разработчика периферии15ERRORDataAvaiWIИспользуется по усмотрению разработчика периферииЕРР-порт имеет расширенный набор регистров табл. 7, который занимает в пространстве вводавывода 5-8 смежных байт. Таблица 7. Регистры ЕРР-порта Имя регистраСмещениеРежимRWОписаниеSPP
Data Port0SPPEPPWРегистр данных стандартного портаSPP Status Port1SPPEPPRРегистр состояния стандартного портаSPP Control Port2SPPEPPWРегистр управления стандартного портаEPP Address Port3EPPRWРегистр адреса ЕРР. Чтение или запись в него генерирует связанный цикл чтения или записи адреса ЕРРEPP Data Port4EPPRWРегистр данных
ЕРР. Чтение запись генерирует связанный цикл чтения записи данных ЕРРNot Defined5 7EPPNAВ некоторых контроллерах могут использоваться для 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 вместо традиционных циклов с интенсивными операциями вводавывода. Некоторые адаптеры допускают и 1632-битное обращение к регистру данных
ЕРР. Тогда 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 позволяет достичь коэффициента сжатия до 641 при передаче растровых изображений. Канальная адресация ЕСР применяется для адресации множества логических устройств, входящих в одно физическое. Например, в комбинированном устройстве факспринтермодем, подключаемом только к одному параллельному порту, возможен одновременный прием факса и печать на принтере. Как и в других режимах 1284, протокол ЕСР переопределяет сигналы
SPP табл. 8. Таблица 8. Сигналы LPT-порта в режиме вводавывода ЕСР КонтактСигнал SPPИмя в ЕСРIOОписание1STROBEHortClk0Используется в паре с PeriphAck для передачи в прямом направлении вывод14AUTOFEEDHostAck0Индицирует тип командаданные при передаче в прямом направлении. Используется в паре с PeriphClk для передачи в обратном направлении17SELECTING1284ActiveОВысокий уровень указывает на обмен
в режиме IEEE 1284. В режиме SPP уровень низкий16INITReverseRequestОНизкий уровень переключает канал на передачу в обратном направлении10ACKPeriphClkIИспользуется в паре с HostAck для передачи в обратном направлении11BUSYPeriphAck1Используется в паре с HostClk для передачи в обратном направлении. Индицирует тип команда данные при передаче в обратном направлении12PEAckReverseIПереводится в низкий уровень как подтверждение сигналу ReverseRequestff13SELECTXflagIФлаг расширяемости
Extensibility flag15ERRORPeriphRequestIУстанавливается ПУ для указания на доступность наличие обратного канала передачи2-9Data07Data07IOДвунаправленный канал данных Сигналы действуют в последовательности согласования см. ниже. Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно. Прямая передача данных на внешнем интерфейсе состоит из следующих шагов 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. Значение бит байта расширяемости БитОписаниеДопустимые комбинации бит 707Request Extensibility Link запрос для будущих расширений1000 00006Запрос режима ЕРР0100 00005Запрос режима ЕСР с RLEООН 00004Запрос режима
ЕСР Mode без RLE0001 00003Резерв0000 10002Запрос идентификатора устройства с ответом в режиме Nibble Mode полубайтный0000 0100Byte Mode байтный0000 0101ЕСР без RLE0001 0100 ЕСР с RLE0011 01001Резерв0000 00100Запрос Byte Mode0000 0001NoneЗапрос Nibble Mode0000 0000 Последовательность согласования состоит из следующих шагов 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 PrinterScanner Interface TIPSI. Этот стандарт разрабатывается для управления и обслуживания сканеров и принтеров на основе протокола 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 или ISAVLB, обычно конфигурируется джамперами на самой плате.
Порт, расположенный на системной плате, обычно конфигурируется через 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. Кабель подключения принтера
XI, разъем PC типа АСигналX2,разъем PRN типа В X2, разъем PRN типа С1-Strobe1152Data 0263Datal374Data г485Data3596Data 46107Data 57118Data 68129Data 791310AckS10311Busy11112PaperEnd12513Sel ect13214Auto LF141715Error32416Imt311417Sict In361618GNDl193319GND2 320 2124 2520GND4 522 2326 2721GND6 724 2528 2922GND8 926 2730 3123GND11 152919 2224GND10 12 132820 21 2325GND14 16 173032 34 35Для связи двух компьютеров по параллельному интерфейсу применяются различные варианты кабелей, зависящие от режимов используемых портов. Самый простой способ и самый медленный обмен обеспечивает режим полубайтного
обмена Nibble Mode, работающий на всех исправных портах. Для этого режима в кабеле достаточно иметь 10 сигнальных и один общий провод. Высокоскоростная связь двух компьютеров может выполняться и в режиме ЕСР режим ЕРР для этих целей неудобен, поскольку он требует синхронизации шинных циклов вводавывода двух компьютеров. В табл. 13 приведена распайка кабеля для этого режима.
В ней в качестве вспомогательной информации приведены имена сигналов, которые аппаратно генерируются адаптерами портов. Этот же кабель может использоваться и для связи в режиме Byte Mode при наличии двунаправленных портов. Связь компьютеров с помощью такого кабеля поддерживается Windows 95. Таблица 13. Кабель связи PC-PC в режиме ЕСР и Byte Mode Разъем XIРазъем Х2КонтактИмя в ЕСРИмя в
ЕСРКонтакт1HostClkPeriphClk1014HostAckPe riphAck11171284ActivePeriphRequest1516Re verse RequestAckReverse1210PeriphClkHostClk111 PeriphAckHostAck1412AckReverseReverseReq uest1613Xflag 15PeriphRequestf284Active172-9Data07Data 072-9Подключение сканера к 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 FORJ2T015 30 FOR 10 ТО 15 40 PRINT1,
CHR16JI 50 NEXT I 60 PRINT1, 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. Для работы РпР подключенное устройство должно сообщить операционной системе все необходимые сведения о себе идентификаторы производителя, модели и набор поддерживаемых команд. Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечивается совместимость.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |