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

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





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

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

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

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

7.2. Статическая память.................... …………………………………………………...274

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

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

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

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

Глава 8. Специализированные интерфейсы периферийных устройств……….310

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

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

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

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

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

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



8.2.2. Мышь PS/2.................................................................................................................. ..318

8.2.3. Мышь Bus Mouse....................................................................................................... .319

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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


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

Глава 9. Интерфейсы устройств хранения..................................................................... ...352

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

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

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

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

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

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

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

9.3.1. CompactFlash......................... ................................................................................... ..396

9.3.2. SmartMedia Card................... .................................................................................. .398

9.3.3. MultiMediaCard и Sequre Digital........................................................................ . 399

9.3.4. Miniature Card........................................................................................................... ..401

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

Глава 10. Интерфейсы компьютерных сетей................................................................. ...405

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



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

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

Глава 11. Вспомогательные последовательные интерфейсы и шины……………...420

11.1. Последовательные шины на базе I2C ...................................................................... ..421

11.1.1. Шина I2C ................................................................................................................... ..421

11.1.2. Шина ACCESS.Bus........................................................................ ….................... .427

11.1.3. Шина SMBus..................................................................................................... ……433

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

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

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

11.4.Интерфейс JTAG.............................................................................................................. .446

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

Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера…....454

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

12.2. Пространство ввода-вывода........................................................................................ .455

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

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

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

12.4.1. Контроллер прямого доступа 8237A................................................................ .465

12.5. Процессоры х86................................................................................................................. .468

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

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

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

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

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

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

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

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


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

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

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

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

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

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

12.8.7. PCI BIOS.................................................................................................................... .495

12.9. Расширения ROM BIOS................................................................................................. .497

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

12.9.2. Expansion ROM карт PCI..................................................................................... 503

Глава 13. Интерфейсы питания, заземление и гальваническая развязка……...505

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

13.2. Гальваническая развязка.................. ………………………………………….....510

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

Литература................................................................................................................................... ...516

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


От автора

Книга «Интерфейсы ПК. Справочник», вышедшая следом за первым изданием энциклопедии «Аппаратные средства 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 Кбайт/с при полной загрузке про­цессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода.

 








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



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