Сделай Сам Свою Работу на 5

Разработка собственных устройств PCI





6.3. 6.3. Магистральныйинтерфейс AGP

6.4. 6.4. Интерфейс LPC

6.5. 6.5. Шины и карты расширения блокнотных ПК

Интерфейсы PCMCIA, PC Card и CardBus

Глава 7

Динамическая память

Асинхронная память — FPM, EDO и BEDO DRAM

7.1.2. 7.1.2. Синхронная память — SDRAM иDDR SDRAM

7.1.3. 7.1.3. ПамятьRambus DRAM

7.1.4. 7.1.4. Память с виртуальными каналами —VC DRAM

7.1.5. 7.1.5. Модули динамической памяти

Статическая память

7.3. 7.3. Энергонезависимаяпамять

7.3.1. 7.3.1. Постоянная и полупостоянная память — ROM, PROM, EPROM

7.3.2. 7.3.2. EEPROMи флэш-память

7.3.3. 7.3.3. Энергонезависимая память споследовательными интерфейсами

Глава 8

Интерфейс клавиатуры

8.1.1. 8.1.1. Интерфейс клавиатуры AT иPS/2

8.1.2. 8.1.2. Контроллер интерфейса клавиатуры и мыши8042/8242

8.1.3. 8.1.3. Системная поддержка ипрограммный интерфейс

Интерфейсы мыши

8.2.1. 8.2.1. Последовательные мыши — MS Mouse иPC Mouse

8.2.2. 8.2.2. МышьPS/2

8.2.3. 8.2.3. Мышь Bus Mouse

Интерфейсы принтеров и плоттеров

8.3.1. 8.3.1. Параллельные интерфейсы — Centronics, IEEE1284, ИPNP

8.3.2. 8.3.2. Последовательные интерфейсы

8.3.3. 8.3.3. Системная поддержка принтера

Интерфейсы графических адаптеров

8.4.1. 8.4.1. Дискретный интерфейс RGB TTL

8.4.2. 8.4.2. Аналоговые интерфейсы RGB



8.4.4. 8.4.4. Цифровые интерфейсы P&D, DVI и DFP

Внутренние цифровые интерфейсы

8.4.6. 8.4.6. Видеоинтерфейсы

Интерфейсы аудиоустройств

8.5.1. 8.5.1. Аналоговые интерфейсы

8.5.2. 8.5.2. Цифровые интерфейсы

8.5.3. 8.5.3. Интерфейс MIDI

8.5.4. 8.5.4. Интерфейс дочерней карты

Интерфейс игровых устройств — Game-порт


Содержание___________________________________________________________ 9

Глава 9

Интерфейс НГМД

9.1.1. 9.1.1.Аппаратный интерфейс

9.1.2. 9.1.2.Контроллер НГМД

Интерфейс АТА/ATAPI (IDE)

9.2.1. 9.2.1. Параллельныйинтерфейс АТА

9.2.2. 9.2.2. Последовательный интерфейсSerial АТА

Интерфейсы и конструктивы твердотельных носителей информации

9.3.1. 9.3.1.CompactFlash

9.3.2. 9.3.2. SmartMediaCard

9.3.3. 9.3.3. MultiMediaCard иSequre Digital

9.3.4. 9.3.4.Miniature Card

Системная поддержка устройств хранения

Глава 10

10.1. 10.1. Стандарты и интерфейсы Ethernet

10.2. 10.2. Сетевые адаптеры

10.3. 10.3. Интерфейс коммутируемой телефонной линии и телефонногоаппарата

Глава 11

Шина I2C

11.1.1. 11.1.1.Шина I2C

11.1.2. 11.1.2. Шина ACCESS.Bus

11.1.3. 11.1.3.Шина SMBus

11.1.4. 11.1.4. Сравнение шин I2C, ACCESS.busи SMBus



11.2. 11.2. Шина управления SMI интерфейсаМП

11.3. 11.3. Интерфейс SPI

11.4.11.4. Интерфейс JTAG

11.5. 11.5. Программно-управляемаяреализация последовательных интерфейсов

Глава 12

12.1. 12.1. Пространство физической памяти

Пространство ввода-вывода

12.3. 12.3. Аппаратные прерывания

Совместное использование прерываний

Прямой доступ к памяти — DMA

Контроллер прямого доступа 8237А

Процессоры х86

12.5.1. 12.5.1. Возможности адресациипамяти процессорами различных поколений

12.5.2. 12.5.2. Проблемы страничной переадресации

12.5.3. 12.5.3. Инструкции ввода-вывода

12.5.4. 12.5.4. Прерывания

12.6. 12.6. Аппаратные средства измерения времени

12.7. 12.7. Способы запуска программ

Сервисы и прерывания BIOS

Int 09h, Int16 h — поддержка клавиатуры


10__________________________________________________________ Содержание

12.8.2. 12.8.2............................................................................................................................ int 10h — видеосервис

12.8.3. 12.8.3............................................................................................................................ Int 13h — поддержка дисков

12.8.4. 12.8.4. Int 14h— поддержка СОМ-портов

12.8.5. 12.8.5. Int17 h — поддержка принтера

12.8.6. 12.8.6. Int 1Ah и Int 15h—поддержка таймеров

12.8.7. 12.8.7. PCI BIOS

Расширения ROM BIOS

12.9.1. 12.9.1. ROM BIOS карт ISA PnP

12.9.2. 12.9.2. ExpansionROM карт PCI

Глава 13

13.1. 13.1. Общие вопросы электропитания изаземления

Гальваническая развязка

13.3. 13.3. Интерфейсы блока питанияPC

Литература

Алфавитный указатель


От автора

Книга «Интерфейсы ПК. Справочник», вышедшая следом за первым изданием энциклопедии «Аппаратные средства IBM PC» (1998 г.), была благосклонно при­нята читателями и даже выпущена «пиратами» на компакт-диске (правда, без ука­зания автора и, естественно, без его уведомления). Работа над вторым изданием энциклопедии породила гору материала, который не помещался в книгу разумно­го размера, — так созрела идея новой книги об интерфейсах, которая сейчас перед вами. В нее вошли все «обрезки» «слишком большой энциклопедии» и ряд но­вых материалов. Эта книга адресована специалистам, которые уже знают общее устройство компьютера и имеют представление о взаимодействии его состав­ляющих, но нуждаются в справочной информации для разработки собственной аппаратуры и программного обеспечения, тесно связанного с «железом». Название «Аппаратные интерфейсы ПК» определяет круг освещаемых вопросов — от ножек интерфейсных разъемов до программной модели интерфейсных адаптеров.



Книга начинается с глав, посвященных универсальным внешним интерфейсам, начиная с долгожителей — портов LPT и СОМ — и кончая современными шина­ми USB, Fire Wire, SCSI и беспроводными интерфейсами IrDA и Bluetooth. Далее идет «погружение в недра» системного блока ПК — интерфейсы шин расширения с особо детальным описанием шин PCI и ISA, самых интересных на сегодняшний день (шину ISA списывать рано, она еще послужит во встраиваемых компьютерах в обычном виде или в виде РС/104). В главе, посвященной интерфейсам элект­ронной памяти, подробно рассматриваются модули динамической памяти всех современных типов, а также микросхемы статической и энергонезависимой памя­ти (флэш, EEPROM), с которыми часто приходится иметь дело. Далее в книге описываются специализированные интерфейсы периферийных устройств — клави­атуры, мыши, дисплея (как традиционного, так и плоских панелей), принтеров, аудио- и видеоинтерфейсы, игровой порт. Отдельная глава посвящена интерфей­сам устройств хранения — НГМД, АТА (включая новый интерфейс Serial ATA), а также интерфейсам твердотельных устройств хранения (различным флэш-картам). Из интерфейсов компьютерных сетей основное внимание уделяется тех­нологии Ethernet, практически вытеснившей все остальные из локальных сетей и ведущей наступление и в глобальных приложениях. Также рассматривается интерфейс обычной аналоговой телефонной линии, через которую большинство домашних пользователей подключается к Сети. В главе о вспомогательных по­следовательных интерфейсах рассматриваются все вариации на тему PC, а также интерфейсы SPI, МИ и JTAG. Отдельная глава посвящена архитектурному окру­жению, в котором интерфейсы и их адаптеры (контроллеры) существуют в IBM PC-совместимом компьютере (пространство памяти, пространство ввода-вывода,


12____________________________________________________________ От автора

прерывания), и нюансам, связанным с различными режимами работы процессо­ров х86. В этой же главе описываются сервисы и модули расширения BIOS, а также способы загрузки ПО, позволяющие собирать специализированные бездисковые контроллеры на базе универсальных компонентов. Как обычно, .книгу завершает тема правильного питания и электробезопасности.

Для удобства восприятия в книге принята система текстовых выделений. Курси­вом выделены ключевые слова (например, первый раз встречающиеся определе­ния), а также названия состояний, * которых могут пребывать некоторые объек­ты. В названиях электрических сигналов, например CSO#, символ «#» указывает на инверсность (низкий уровень сигнала отвечает активному состоянию). Назва­ния команд, регистров и битов имеют иной вид — например, INSW (команда про­цессора), DR (регистр данных), АХ (регистр процессора). Подробные оглавление и предметный указатель помогут быстро найти необходимую информацию.

Я благодарен любознательным и внимательным читателям, присылающим свои замечания, вопросы и отзывы о моих книгах. Пользуясь случаем, еще раз обращаюсь к читателям — пишите письма! С вашей помощью исправляются многие ошибки, и я стараюсь поддерживать свои книги на личном сайте по адресу http://www.neva.ru/ mgook, обновляя списки замеченных опечаток и публикуя статьи на смежные темы.

Как и все предыдущие, эта книга не смогла бы появиться без информационной поддержки коллектива RUSNet (http://www.neva.ru), обеспечивающего доступ к Сети в ЦНИИ РТК — «базовом лагере» автора. После выпуска второго издания «Энциклопедии» я снова погрузился в инженерную деятельность в НПО РТК. Это несколько притормаживает работу над книгами, но обогащает практический опыт, что выливается в дополнительные разъяснения актуальных вопросов.

Свои замечания и пожелания присылайте на адрес mgook@stu.neva.ru (автор) или comp@piter.com (издательство «Питер», редакция компьютерной литературы). Информацию по всем книгам можно получить на сайте издательства «Питер» www.piter.com.

Михаил Гук


Введение

Толковый словарь по вычислительным системам определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств. Эта книга посвящена интерфейсам, позволяющим подключать к пер­сональным (и не только) компьютерам разнообразные периферийные устройства (ПУ) и их контроллеры, а также соединять отдельные подсистемы компьютера. Рассмотрим вкратце основные свойства интерфейсов.

По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами, шины ATA, SCSI и все шины расширения. В последовательном интерфейсе биты передаются друг за другом, обычно по одной (возможно, и двухпроводной) линии. Эта линия может быть как однонаправленной (например, в RS-232C, реализуемой СОМ-портом, шине Fire Wire, SPI, JTAG), так и двунаправленной (USB, 12С).

При рассмотрении интерфейсов важным параметром является пропускная способ­ность. Технический прогресс приводит к неуклонному росту объемов передаваемой информации. Если раньше матричные принтеры, печатающие в символьном режи­ме, могли обходиться и СОМ-портом с невысокой пропускной способностью, то современным лазерным принтерам при высоком разрешении не хватает произво­дительности даже самых б,ыстрых LPT-портов. То же касается и сканеров. А пере^ дача «живого» видео, даже с применением компрессии, требует ранее немысли­мой пропускной способности.

Вполне очевидно, что при одинаковом быстродействии приемопередающих цепей и пропускной способности соединительных линий по скорости передачи параллель­ный интерфейс должен превосходить последовательный. Однако повышение про­изводительности за счет увеличения тактовой частоты передачи данных упирается в волновые свойства соединительных кабелей. В случае параллельного интерфей­са начинают сказываться задержки сигналов при их прохождении по линиям ка­беля и, что самое неприятное, задержки в разных линиях интерфейса могут быть различными вследствие неидентичности проводов и контактов разъемов. Для на­дежной передачи данных временные диаграммы обмена строятся с учетом возмож­ного разброса времени прохождения сигналов, что является одним из факторов, сдерживающих рост пропускной способности параллельных интерфейсов. В по­следовательных интерфейсах, конечно же, есть свои проблемы повышения произ­водительности, но поскольку в них используется меньшее число линий (в преде­ле — одна), повышение пропускной способности линий связи обходится дешевле.


14____________________________________________________________ Введение

Для повышения пропускной способности параллельных интерфейсов с середины 90-х годов стали применять двойную синхронизацию DDR (Dual Data Rate). Ее идея заключается в выравнивании частот переключения информационных сиг­нальных линий и линий стробирования (синхронизации). В «классическом» ва­рианте данные информационных линий воспринимались только по одному пере­паду (фронту или спаду) синхросигнала, что удваивает частоту переключения линии синхросигнала относительно линий данных. При двойной синхронизации данные воспринимаются и по фронту, и по спаду, так что частота смены состо­яний всех линий выравнивается, что при одних и тех же физических параметрах кабеля и интерфейсных схем позволяет удвоить пропускную способность. Волна этих модернизаций началась с интерфейса АТА (режимы UltraDMA) и прошла уже и по SCSI (UltralSO и выше), и по памяти (DDR SDRAM), и по системной шине процессоров (Pentium 4).

Немаловажен для интерфейса контроль достоверности передачи данных, который, увы, имеется далеко не везде. «Ветераном» контроля является шина SCSI с ее битом паритета (который незадачливые пользователи иногда норовят отключить, «чтоб не сбоило»); контроль паритета применяется и в последовательных интерфейсах, и в шине PCI. Шина ISA в этом плане беззащитна, как и ее «потомок» — интер­фейс АТА, в котором до UltraDMA контроля достоверности не было. В новых интерфейсах контролю достоверности уделяется серьезное внимание, поскольку они, как правило, рассчитываются на экстремальные условия работы (высокие частоты, большие расстояния и помехи). Контроль достоверности может произ­водиться и на более высоких протокольных уровнях (контроль целостности паке­тов и их полей), но на аппаратном уровне он работает, естественно, быстрее.

Для интерфейса, соединяющего (физически или логически) два устройства, раз­личают три возможных режима обмена — дуплексный, полудуплексный и симп­лексный. Дуплексный режим позволяет по одному каналу связи одновременно передавать информацию в обоих направлениях. Он может быть асимметричным, если значения пропускной способности в направлениях «туда» и «обратно» суще­ственно различаются, или симметричным. Полудуплексный режим позволяет пере­давать информацию «туда» и «обратно» поочередно, при этом интерфейс имеет средства переключения направления канала. Симплексный (односторонний) ре­жим предусматривает только одно направление передачи информации (во встреч­ном направлении передаются только вспомогательные сигналы интерфейса).

Другим немаловажным параметром интерфейса является допустимое удаление
соединяемых устройств. Оно ограничивается как частртными свойствами кабелей,
так и помехозащищенностью интерфейсов. Часть помех возникает от соседних ли­
ний интерфейса — это перекрестные помехи, защитой от которых может быть
применение витых пар проводов для каждой линии. Другая часть помех вызыва­
ется искажением уровней сигналов. ,

С появлением шин USB и Fire Wire в качестве характеристики интерфейса стала фигурировать и топология соединения. Для интерфейсов RS-232C и Centronics практически всегда применялась двухточечная топология PC — устройство (или PC — PC). Исключениями из этого правила являются различные устройства без-


Введение_____________________________________________________________ 15

опасности и защиты данных (Security devices), которые подключаются к СОМ- или LPT-портам, но имеют разъем для подключения внешнего устройства. Однако эти устройства для традиционной периферии прозрачны, поэтому можно считать, что они не нарушают общего правила. Аналогично обстоит дело и с адаптерами ло­кальных сетей (например, Paraport) и внешних дисковых накопителей (Iomega Zip), подключаемых к LPT-портам. Хотя разрабатываемые стандарты для парал­лельного порта (IEEE 1284.3) и предусматривают соединение устройств в цепоч­ку (Daisy Chain) или через мультиплексоры, широкого распространения такие способы подключения пока не получили. К другому классу исключений относится построение моноканала на СОМ-портах, которое несколько лет назад применялись в «любительских» локальных сетях, но было вытеснено существенно более эффек­тивной и подешевевшей технологией Ethernet. Интерфейсные шины USB и Fire Wire реализуют древовидную топологию, в которой внешние устройства могут быть как оконечными, так и промежуточными (разветвителями). Эта топология позволяет подключать множество устройств к одному порту USB или Fire Wire.

Важным свойством интерфейса, на которое часто не обращают внимание, являет­ся гальваническая развязка, а точнее — ее отсутствие. «Схемные земли» устройств, соединяемых интерфейсом с СОМ- или LPT-портом PC, оказываются связанны­ми со схемной землей компьютера (а через интерфейсный кабель и между собой). Если между ними до подключения интерфейса была разность потенциалов, то по общему проводу интерфейса потечет уравнивающий ток, что плохо по целому ряду причин. Падение напряжения на общем проводе, вызванное протеканием этого тока, приводит к смещению уровней сигналов, а протекание переменного тока приводит к сложению полезного сигнала с переменной составляющей поме­хи. К этим помехам особенно чувствительны ТТЛ-интерфейсы; в то же время в RS-232C смещение и помеху в пределах 2 В поглотит зона нечувствительности. В случае обрыва общего провода или плохого контакта, а гораздо чаще — при под­ключении и отключении интерфейсов без выключения питания устройств, раз­ность потенциалов прикладывается к сигнальным цепям, а протекание уравни­вающих токов через них часто приводит к пиротехническим эффектам. Откуда берется эта разность потенциалов, объяснить нетрудно (см. главу 13). Из рассмат­риваемых в книге интерфейсов гальваническую развязку устройств обеспечива­ют MIDI, «токовая петля», S/PDIF, шина Fire Wire, сетевые интерфейсы Ethernet.

Существенным свойством является возможность «горячего» подключения/отклю­чения или замены устройств (Hot Swap), причем в двух аспектах. Во-первых, это безопасность переключений «на ходу» как для самих устройств и их интерфейс­ных схем, так и для целостности хранящихся и передаваемых данных и, наконец, для человека. Во-вторых, это возможность использования вновь подключенных устройств без перезагрузки системы, а также продолжения устойчивой работы системы при отключении устройств. Далеко не все внешние интерфейсы поддер­живают «горячее подключение» в полном объеме, так, например, зачастую сканер с интерфейсом SCSI должен быть подключен к компьютеру и включен до загруз­ки ОС, иначе он не будет доступен системе. С новыми шинами USB и Fire Wire проблем «горячего подключения» не возникает. Для внутренних интерфейсов «горячее подключение» несвойственно. Это касается и шин расширения, и моду-


Введение

лей памяти, и даже большинства дисков АТА и SCSI. «Горячее подключение» под­держивается для шин расширения промышленных компьютеров, а также в специ­альных конструкциях массивов устройств хранения.

ВНИМАНИЕ----------------------------------------------------------------------------------

Карты расширения, модули памяти и процессоры можно устанавливать и извлекать только при выключенном питании компьютера. При этом выключения блока питания АТХ основной кнопкой недостаточно, поскольку при этом на системной плате остается напряжение 3,3 В. Эти блоки должны обесточиваться по входу (посредством извлечения питающего кабеля).

В ряде интерфейсов заложены возможности PnP (Plug and Play — включай и играй), которые предназначены для снятия с пользователей забот по конфигурированию подключаемых устройств. В современных интерфейсах эти возможности заклады­вались изначально (PCI, USB, Fire Wire, Bluetooth), и эти функции в большинстве случаев работают нормально. Однако для интерфейсов-ветеранов (например, ISA, SCSI) технология PnP является поздней искусственной надстройкой, работающей с переменным успехом (Plug and Pray — включай и молись). Часто побочные эффек­ты вызваны наследием «тяжелого прошлого» — соседством устройств PnP с тради­ционными (legacy) устройствами. На закате шины ISA ее система PnP в общем работала, но в SCSI от идей автоконфигурирования со временем отказались. При разработке собственных устройств встает вопрос выбора подходящего интер­фейса подключения. Этот вопрос следует решать, исходя из принципа разумной достаточности, по возможности отдавая предпочтение внешним интерфейсам. Следует помнить, что разработка аппаратной части устройства (hardware) тесно связана и с программной поддержкой устройств — как модулями ПО, исполня­емыми процессором компьютера (software), так и программами встроенного мик­роконтроллера (firmware), на базе которого, как правило, строятся современные устройства. Промышленностью выпускается множество моделей микроконтрол­леров, имеющих популярные интерфейсы (USB, RS-232, PC и другие). Однако в ряде случаев приходится использовать и стандартизованные шины расширения ввода-вывода. Эти шины предоставляют более широкие возможности для взаи­модействия процессора с аппаратурой, нескованные жесткими ограничениями внешних интерфейсов. Однако за универсальность и производительность внут­ренних шин расширения приходится расплачиваться более замысловатой реали­зацией интерфейсных схем и сложностями при обеспечении совместимости с дру­гим установленным в компьютер оборудованием. Здесь ошибки могут приводить к потере работоспособности компьютера (хорошо если временной). Недаром серь­езные производители компьютеров гарантируют работоспособность своих изделий только при установке сертифицированных (ими или независимыми лаборатори­ями) карт расширения. При использовании внешних интерфейсов неприятности в случае ошибок чаще всего имеют отношение только к подключаемому устройству.

На этом мы закончим краткий обзор интерфейсов и перейдем к их детальным описаниям.


Глава 1

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

Порт параллельного интерфейса был введен в PC для подключения принтера — отсюда и пошло его название LPT-порт (Line PrinTer — построчный принтер). Традиционный, он же стандартный, LPT-порт (так называемый SPP-nopm) ориен­тирован на вывод данных, хотя с некоторыми ограничениями позволяет и вводить данные. Существуют различные модификации LPT-порта — двунаправленный, ЕРР, ЕСР и другие, расширяющие его функциональные возможности, повыша­ющие производительность и снижающие нагрузку на процессор. Поначалу они яв­лялись фирменными решениями отдельных производителей, позднее был принят стандарт IEEE 1284.

С внешней стороны порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, выведенные на разъем-розет­ку DB-25S. В LPT-порте используются логические уровни ТТЛ, что ограничи­вает допустимую длину кабеля из-за невысокой помехозащищенности ТТЛ-ин­терфейса. Гальваническая развязка отсутствует — схемная земля подключаемого устройства соединяется со схемной землей компьютера. Из-за этого порт являет­ся уязвимым местом компьютера, страдающим при нарушении правил подключе­ния и заземления устройств. Поскольку порт обычно располагается на системной плате, в случае его «выжигания» зачастую выходит из строя и его ближайшее окружение, вплоть до выгорания всей системной платы.

С программной стороны LPT-порт представляет собой набор регистров, располо­женных в пространстве ввода-вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт может использовать линию запроса аппаратного прерывания, обыч­но IRQ7 или IRQ5. В расширенных режимах может использоваться и канал DMA.

Порт имеет поддержку на уровне BIOS — поиск установленных портов во время теста POST и сервисы печати Int 17h (см. п. 8.3.3) обеспечивают вывод символа (по опросу готовности, не используя аппаратных прерываний), инициализацию интерфейса и принтера, а также опрос состояния принтера.

Практически все современные системные платы (еще начиная с PCI-плат для про­цессоров 486) имеют встроенный адаптер LPT-порта. Существуют карты ISA с LPT-портом, где он чаще всего соседствует с парой СОМ-портов, а также с контроллерами



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


дисковых интерфейсов (FDC+IDE). LPT-порт обычно присутствует и на плате дисплейного адаптера MDA (монохромный текстовый) и HGC (монохромный графический «Геркулес»). Есть и карты PCI с дополнительными LPT-портами.

К LPT-портам подключают принтеры, плоттеры, сканеры, коммуникационные устройства и устройства хранения данных, а также электронные ключи, программа­торы и прочие устройства. Иногда параллельный интерфейс используют для связи между двумя компьютерами — получается сеть, «сделанная наколенке» (LapLink).

Традиционный LPT-порт

Традиционный, он же стандартный, LPT-порт называется стандартным парал­лельным портом (Standard Parallel Port, SPP), или SPP-портом, и является одно­направленным портом, через который программно реализуется протокол обмена Centronics (см. п. 8.3.1). Название и назначение сигналов разъема порта (табл. 1.1) соответствуют интерфейсу Centronics.

 

Таблица 1 .1. Разъем стандартного LPT-порта  
Контакт № провода Назначение  
DB-25S в кабеле I/O1 Бит2 Сигнал
0/I CR.OX Strobe»
0(1) DR.O DataO
0(1) DR.1 Datal
0(1) DR.2 Data 2
0(1) DR.3 Data 3
0(1) DR.4 Data 4
0(0 DR.5 Data 5
0(0 DR.6 Data 6
0(0 DR.7 Data 7
I3 SR.6 Ack#
I SR.A Busy
I SR.5 PaperEnd(PE)
I SR.4 Select
0/I CR.1\ Auto LF# (AutoFeedW)
I SR.3 Error»
0/I CR.2 lnit#
0/I CR.3\ Select ln#
18-25 10,12,14,16,18, _ _ _
  20, 22, 24, 26      

1 I/O задает направление передачи (вход-выход) сигнала порта. O/I обозначает выходные линии, состо­яние которых считывается при чтении из портов вывода; 6(1) — выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).

2 Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

3 Вход Ack# соединен резистором (10 кОм) с питанием +5 В.


1.1. Традиционный LPT-порт____________________________________________ 19

Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).

Data Register (DR) — регистр данных, адрес=ВА5Е. Данные, записанные в этот ре­гистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого реги­стра, в зависимости от схемотехники адаптера соответствуют либо ранее записан­ным данным, либо сигналам на тех же линиях, что не всегда одно и то же. Status Register (SR) — регистр состояния (только чтение), адрес=ВА5Е+1.' Регистр отображает 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7) и флаг прерывания. Бит SR. 7 инвертируется — низкому уровню сигнала соответ­ствует единичное значению бита в регистре, и наоборот.

Ниже описано назначение бит регистра состояния (в скобках даны номера кон­тактов разъема порта).

♦ SR.7 — Busy — инверсное отображение состояния линии Busy (11): при низ­ком уровне на линии устанавливается единичное значения бита — разрешение на вывод очередного байта.

♦ SR. 6 — Ack (Acknowledge) — отображение состояния линии Ack# (10).

♦ SR. 5 — РЕ (Paper End) — отображение состояния линии Paper End (12). Еди­ничное значение соответствует высокому уровню линии — сигналу о конце бу­маги в принтере.

♦ SR. 4 — Select — отображение состояния линии Select (13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.

♦ SR. 3 — Error — отображение состояния линии Error* (15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.

♦ SR.2 — PIRQ — флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значе­ние устанавливается по аппаратному сбросу и после чтения регистра состояния.

♦ SR[1:0] — зарезервированы.

Control Register (СR) — регистр управления, адрес=ВА5Е+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0-3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый кол­лектор». Это позволяет корректно использовать линии данного регистра как вход­ные при программировании их в высокий уровень. Биты 0,1,3 инвертируются.

Ниже описано назначение бит регистра управления.

♦ CR [7:6] — зарезервированы.

♦ CR.5 — Direction — бит управления направлением передачи (только для пор­тов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

♦ CR. 4 — AcklNTEN (Ack Interrupt Enable) — единичное значение разрешает пре­рывание по спаду сигнала на линии Ack# — сигнал запроса следующего байта.


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

♦ CR.3 — Select In — единичное значение бита соответствует низкому уровню на выходе Select ln# (17) — сигналу, разрешающему работу принтера по интер­фейсу Centronics.

♦ CR.2 — In it— нулевое значение бита соответствует низкому уровню на выхо­де Init# (16) — сигнал аппаратного сброса принтера.

♦ CR. 1 — Auto LF — единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют AutoFD или AutoFDXT.

♦ CR.0 — Strobe — единичное значение бита соответствует низкому уровню на выходе Strobe* (1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отри­цательному перепаду сигнала на выводе 10 разъема интерфейса (Ack#) при уста­новке CR. 4=1. Во избежание ложных прерываний контакт 10 соединен резистором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Как уже было сказано, BIOS это прерывание не использует и не обслуживает.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указани­ем требуемого количества шинных операций процессора.

1. Вывод байта в регистр данных (1 цикл IOWR#).

2. Ввод из регистра состояния и проверка готовности устройства (бит SR. 7 —
сигнал Busy). Этот шаг зацикливается до получения готовности или до сраба­тывания программного тайм-аута (минимум 1 цикл IORD#).

3. По получению готовности выводом в регистр управления устанавливается
строб данных, а следующим выводом строб снимается. Обычно, чтобы пере­
ключить только один бит (строб), регистр управления предварительно считы-
вается, что к двум циклам IOWR# добавляет еще один цикл IORD#.

Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с реги­страми порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандарт­ный порт — невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной загрузке про­цессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода.

Стандартный порт асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необ­ходима симметричная двунаправленная связь, на всех стандартных портах ра­ботоспособен режим полубайтного обмена Nibble Mode. В этом режиме, называ­емом также Hewlett Packard Bi-tronics, одновременно принимаются 4 бита данных, пятая линия используется для квитирования. Таким образом, каждый байт пе­редается за два цикла, а каждый цикл требует по крайней мере 5 операций ввода-вывода.


1.2, Расширения параллельного порта __________________________ 21

Схемотехника выходных буферов данных LPT-портов отличается большим разно­образием. На многих старых моделях адаптеров SPP-порт данных можно исполь­зовать и для организации ввода. Если в порт данных записать байт с единицами во всех разрядах, а на выходные линии интерфейса через микросхемы с выходом типа «открытый коллектор» подать какой-либо код (или соединить ключами какие-то линии со схемной землей), то этот код может быть считан из того же регистра данных. Однако выходным цепям передатчика информации придется «бороться» с выходным током логической единицы выходных буферов адаптера. Схемотехника ТТЛ такие решения не запрещает, но если внешнее устройство выполнено на микросхемах КМОП, их мощности может не хватить для «победы» в этом шинном конфликте. Однако современные адаптеры часто имеют в выход­ной цепи согласующий резистор с сопротивлением до 50 Ом. Выходной ток ко­роткого замыкания выхода на землю обычно не превышает 30 мА. Простой рас­чет показывает, что даже в случае короткого замыкания контакта разъема на землю при выводе «единицы» на этом резисторе падает напряжение 1,5 В, что входной схемой приемника будет воспринято как «единица». Поэтому нельзя полагать, что такой способ ввода будет работать на всех компьютерах. На некоторых старых адаптерах портов выходной буфер отключается перемычкой на плате. Тогда порт превращается в обыкновенный порт ввода.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.