Порт параллельного интерфейса был введен в РС для подключения принтера (отсюда и его название Line PrinTer - построчный принтер) и, хотя через него подключается и большинство лазерных принтеров, которые по принципу работы не построчные, а постраничные, название порта "LPT" закрепилось основательно.
LPT- порт, для организации вывода по интерфейсу Centronics, поддерживается функциями BIOS. В процессе начального тестирования, POST-программа проверяет наличие параллельных портов по адресам 3BCh, 378h и 278h. и помещает базовые адреса обнаруженных портов в ячейки оперативной памяти РС 0:0404h, 0:040Ah, 0:040Ch, 0:040Eh, области BIOS DATA AREA. Эти ячейки хранят адреса портов с логическими именами LPT1 - LPT4, соответственно, причем нулевое значение адреса является признаком отсутствия порта с этим номером.
Контроллер порта содержит три регистра, размещенных в пространстве адресов ввода-вывода микропроцессора. Регистры порта адресуются относительно базового адреса, стандартные значения которого - 3BCh, 378h или 278h. Это регистры:
1) DR (Data Register) - 8-битовый регистр данных, содержимое которого выводится на линии Data [0/7] разъема порта. Адрес регистра DR равняется базовому. Тот же регистр DR, с использованием специальной процедуры, позволяет и принимать данные с линий Data [0/7]. Так, если в регистр DR сначала записать все единицы, а на контакты [2/9] разъема LPT-порта подать от терминального устройства через тот же интерфейс какой-либо другой код, то регистр DR запомнит этот код без всякого строба. Теперь микропроцессор может прочитать данные этого регистра DR и тем самым выполнить операцию ввода байта от терминального устройства;
2) SR (Status Register) - 5-битовый регистр ввода в порт состояния принтера, принимает сигналы Select, PaperEnd, Ack и Busy, соответственно. Адрес регистра на единицу больше базового;
3) CR (Control Register) - 4-битовый регистр управления, вырабатывает сигналы Strobe#, AutoLF#, Init#, и SlctIn#, соответственно. Подобно регистру данных позволяет и прием данных с разъема интерфейса. Адрес регистра на 2 больше базового.
Поиск портов по базовому адресу предполагаемого порта производится следующей процедурой:
- в регистр DR контроллера порта выводится тестовый байт AAh или 55h;
- затем выполняется ввод с того же адреса;
- если считанный байт совпал с записанным, считается, что LPT-порт найден и его адрес помещается в область данных BIOS.
Обнаруженные порты инициализируются записью и съемом в их регистры управления сигнала Init#, а затем - записью значения С0h, соответствующего исходному состоянию сигналов интерфейса.
BIOS поддерживает до трех, или четырех LPT-портов прерыванием INT17, обеспечивающим связь по интерфейсу Centronics. Этим сервисом драйвер порта осуществляет по готовности, не используя аппаратных прерываний, инициализацию, опрос состояния интерфейса, принтера и - вывод символа.
Программное прерывание BIOS INT17h обеспечивает следующие функции:
1) 00h - вывод символа из регистра AL микропроцессора по протоколу Centronics. При этом выводимые данные помещаются в выходной регистр порта и, дождавшись готовности принтера (снятие сигнала BUSY), формируется строб данных Strobe#;
2) 01h - инициализация интерфейса и принтера (установка начальных уровней управляющих сигналов);
3) 02h - опрос состояния принтера, чтение его регистра состояния.
При вызове INT17, номер функции задается в регистре АН микропроцессора, номер порта - в регистре DX. При возврате после любой функции, регистр АН содержит код состояния: биты регистра RS [7:3] (причем биты 6 и 3 инвертированы) и в бите 0 - флаг тайм-аута, который устанавливается при неудачной попытке вывода, если сигнал BUSY не снимается в течение времени, определяемого для данного порта.
Аппаратный интерфейс LPT-портов.
Стандартный LPT-порт является однонаправленным, его сигналы выводятся из компьютера на 25-контактный разъем DB-25S (розетка), который устанавливается непосредственно на плате контроллера. Если же контроллер порта интегрирован непосредственно в системную плату компьютера, то разъем LPT-порта может располагаться или на системной плате, или на вставке задней стенки системного блока. В последнем случае, разъем порта на системной плате соединяется с разъемом на задней стенке плоским шлейфом.
Каждый LPT-порт использует свою линию аппаратного запроса прерывания IRQ7 или IRQ5, 8-битовую внешнюю шину данных, 5-битовую шину сигналов состояния и 4-битовую шину управляющих сигналов.
Понятие интерфейса Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Отечественный аналог интерфейса Centronics интерфейс ИРПР-М.
Назначение сигналов интерфейса Centronics и их распределение по разъему принтера приведено в таблице 1.11.
Таблица 1.11. Сигналы интерфейса Centronics.
Сигнал |
Направление |
Контакт |
Назначение |
Strobe# |
выход |
1 |
Строб данных. |
Data [0:7] |
выход |
2-9 |
Линии данных. Data [0:7]. Контакт 2 - младший бит |
Ack# |
вход |
10 |
Acknowledge - сигнал подтверждения приема байта, запрос на прием следующего. Может использоваться для формирования запроса прерывания. |
Busy |
вход |
11 |
Занято. Прием данных возможен только при низком уровне сигнала |
PaperEnd |
выход |
12 |
Высокий уровень сигнализирует о конце бумаги. |
Select |
выход |
13 |
Сигнал о включении принтера. |
AutoLF# |
вход |
14 |
Автоматический перевод строки. При низком уровне сигнала, принтер, получив символ CR (Carriage Return - возврат каретки), автоматически выполняет и функцию LF (Line Feed - перевод строки). |
Error# |
вход |
32 |
Ошибка: конец бумаги, Off-Line (принтер не в связи с РС), или внутренняя ошибка принтера. |
Init# |
выход |
31 |
Инициализация - сброс принтера в режим параметров по умолчанию, возврат головки к началу строки. |
Slct In# |
выход |
36 |
Выборка принтера (низким уровнем сигнала). При высоком уровне сигнала принтер не воспринимает остальных сигналов интерфейса. |
GND |
- |
19-30,33 |
Общий провод интерфейса. |
Процедура вывода байта состоит из следующих шагов:
1) вывод байта в регистр данных,
2) опрос регистра состояния и, если терминал не готов, ожидание готовности устройства (принтера),
3) установка сигнала строба данных.
Для вывода одного байта требуется, по меньшей мере, 4-5 машинных операций ввода-вывода с регистрами порта, так что скорость обмена невысока, при значительной нагрузке микропроцессора. Стандартный порт удается разогнать до скоростей, порядка всего 100-150 Кбайт/сек, при полной загрузке процессора, что явно недостаточно для печати на лазерный принтер.
Недостатки стандартного порта частично устраняли новые типы портов, появившиеся в компьютерах семейства PS/2, но, не будучи стандартизованными, такие порты требовали от их производителей использования собственных специальных драйверов. В 1994 году был принят стандарт на параллельный интерфейс IEEE 1284, определяющий режимы работы SPP (стандартный), EPP - двунаправленный и ECP (Extended) - двунаправленный, с возможностью аппаратного сжатия данных по методу RLE, использования FIFO-буферов в контроллере порта и DMA системной платы. В современных машинах, с LPT-портом на системной плате, режим порта - SPP, EPP, ECP, или их комбинация, задается программно в BIOS SetUp.
Контрольные вопросы.
1. Какие базовые адреса может иметь LPT-порт?
2. Какова разрядность регистра данных LPT-порта?
3. Какие номера прерываний может использовать LPT-порт?
4. Как использовать LPT-порт для ввода данных?
5. Как использовать LPT-порт для ввода данных?
СОМ-порт.
Последовательный интерфейс для передачи данных в каждую сторону использует по одной отдельной линии данных, по которой данные передаются в последовательном коде. Последовательная передача данных может осуществляться в асинхронном или синхронном режимах.
При асинхронной передаче, каждому байту предшествует один или два стартовых бита, сигнализирующих приемнику о начале очередной посылки, за ним следуют биты данных и, возможно, бит паритета (контроля четности). Завершает посылку стоп-бит, гарантирующий определенную выдержку между соседними посылками. Старт-бит следующего байта может посылаться в любой момент времени после окончания стоп-бита, т.е. между передачами возможны паузы произвольной длительности. Старт-бит имеет всегда строго определенное значение логической 1 и обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что и приемник и передатчик работают на одной скорости обмена, измеряемой в количестве передаваемых бит в секунду. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема старт-бита, и генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале, эти стробы располагаются в середине битовых интервалов, что обеспечивает возможность приема битов и при некотором рассогласовании скоростей приемника и передатчика. Нетрудно просчитать, что при передаче 8 бит данных, контрольного и одного стоп-бита предельное рассогласование скоростей не может превышать 5%, но с учетом фазовых искажений (затянутых фронтов сигналов) допустимое отклонение скоростей значительно меньше, так что с ростом частоты обмена повышаются и требования к согласованности скоростей и частот работы приемников и передатчиков.
Приемник, получив сигнал о начале передачи, отвечает передатчику своим состоянием и, если приемник готов к приему, передатчик выдает старт-бит, приемник запускает свой генератор тактов и принимает, с этой частотой, байт данных. Естественно, частоты генераторов передатчика и приемника должны быть довольно строго одинаковыми, но скоростные характеристики линии передачи могут быть разными, в разных конфигурациях АПС, поэтому и частоты передач, определяемые контроллером порта, должны допускать разные значения. Эти значения стандартизованы, и в каждом сеансе связи, перед началом передачи первого байта, передатчик сообщает приемнику - на какой из стандартных частот, будет вестись данный сеанс связи.
Для асинхронного режима передачи принят ряд стандартных скоростей обмена: 50, 75, 110, 150, 300,600,1200, 2400, 4800, 9600, 19200, 38400, 57600, и 115200 бит/сек (не путать с Бод).
Бод - это единица измерения пропускной способности линии связи и приемо-передатчиков, выраженная в количестве переключений состояния линии в секунду, что характерно для недвоичного способа кодирования, а при двоичном способе передачи количество бод и бит/сек, могут отличаться в несколько раз. Так, за одну модуляцию (изменение состояния линии) при недвоичном кодировании, например, ДОФМ широко применяемом в современных модемах, может передаваться несколько бит, а при двоичной асинхронной передаче через СОМ-порты, за одну посылку передается 8 информационных бит, но, с учетом стартовых стоповых бит и бита паритета - до 13 бод.
Асинхронный способ обмена в РС реализуется СОМ-портом с использованием протокола RS232C.
Синхронный режим передачи предполагает постоянную активность канала связи. Посылка начинается с синхробайта, за которым следует поток информационных бит, а если у передатчика нет данных для передачи, то он заполняет паузу непрерывной посылкой байтов синхронизации. При передаче больших массивов информации, такой режим целесообразнее асинхронного, но в синхронном режиме необходима постоянная внешняя синхронизация приемника с передатчиком, т.к. даже небольшое отклонение их частот очень быстро приведет к накапливающейся ошибке и, следовательно, к искажению принимаемых данных. Внешняя синхронизация возможна либо с применением отдельной линии для передачи синхросигналов, либо с использованием самосинхронизирующего кодирования, например, манчестерского кода или кода NRZ, из которого на приемной стороне могут быть выделены синхросигналы. В любом случае, синхронный режим требует либо дорогих линий связи, либо дорогого оконечного оборудования, а может - и того, и другого.
На физическом уровне последовательный интерфейс может иметь различные модификации, различающиеся способами передачи электрических сигналов. Существует ряд международных стандартов RS232C, RS423A, RS422A и RS485. Первый использует простые приемо-передатчики, одиночные провода для каждой из линий связи и допускает связь со скоростями до 20 Кбит/сек, на расстояния до
15 м. Другие - передачу парафазными сигналами до скоростей 10 Мбит/сек, на расстояния до 1200м Допустимые скорости передач, в зависимости от расстояний связи и используемого стандарта, приведены в таблице 1.12.
Таблица 1.12. Максимальные длины линий и скоростей передачи по СОМ-портам.
RS232C |
RS423A |
RS422A |
RS485 |
||||
Длина линии (м) |
Скорость передачи |
Длина линии (м) |
Скорость передачи |
Длина линии (м) |
Скорость передачи |
Длина линии (м) |
Скорость передачи |
15 |
20 Кбит/сек |
9 |
100Кбит/сек |
12 |
10 Мбит/сек |
12 |
10 Мбит/сек |
- |
- |
90 |
10 Кбит/сек |
120 |
1 Мбит/сек |
120 |
1 Мбит/сек |
- |
- |
1200 |
1 Кбит/сек |
1200 |
100 Кбит/сек |
1200 |
100 Кбит/сек |
Интерфейс RS232C.
Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные (ООД - оконечное оборудование данных, или АПД - аппаратуры передачи данных) к оконечной аппаратуре каналов данных (АКД). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. Этой аппаратуре соответствует аббревиатура DTE (Data Terminal Equipment). В роли АКД часто выступает модем, этой аппаратуре соответствует аббревиатура DCE (Data Communication Equipment). Конечной целью подключения является соединение двух устройств DTE.
Стандарт описывает:
- управляющие сигналы интерфейса,
- электрический интерфейс и
- типы разъемов.
Стандарт же определяет асинхронный или синхронный режимы обмена, но СОМ-порты компьютера поддерживают только асинхронный режим. Функционально RS232С эквивалентен стандарту МККТТ V.24/V.28 и стыку С2, но они имеют различные названия одних и тех же используемых сигналов.
Стандарт RS232C использует несимметричные передатчики и приемники. Сигнал передается относительно общего провода ("схемной земли") и не обеспечивает гальванической развязки устройств. Логической единице соответствует уровень напряжения на входе приемника от -12 вольт до -3 вольт, логическому нулю соответствует напряжение на входе приемника от +3 вольт до +12 вольт. Между уровнями -3 и +3 вольт имеется зона нечувствительности, обуславливающая гистерезис приемника. Уровни сигналов на выходах передатчиков должны быть в диапазонах от -12 вольт до -5 вольт и от +5вольт до +12 вольт, соответственно. Разность потенциалов между "схемными землями" (SC) соединяемых устройств не должна превышать двух вольт, иначе возможно неверное восприятие приемником сигналов передатчика. Интерфейс предполагает наличие защитного заземления соединяемых устройств, если они оба питаются от сети переменного тока и имеют сетевые фильтры.
Преобразование параллельного кода, получаемого СОМ-портом от системной шины, в последовательный код для передачи по каналу, и обратное преобразование при приеме данных от терминала, выполняют специализированные контроллеры порта - микросхемы UART (Universal Asynchronous Receiver-Transmitter - универсальный асинхронный приемо-передатчик). Эта же микросхема формирует и обрабатывает сигналы интерфейса. СОМ-порты IBM PC XT/AT базируются на микросхемах UART i8250, 16450, 16550A.
Регламентируются и типы применяемых разъемов. На аппаартуре DTE, в том числе и на СОМ-портах следует устанавливать вилки (male) DB9P или DB25P, а на аппаратуре DCE (модемах) устанавливаются розетки (female) DB9S или DB25S.
Назначение и распределение сигналов интерфейса RS232C по разъемам СОМ-порта приведено в таблице 1.13.
Таблица 1.13. Назначение сигналов интерфейса RS232C.
Сигнал |
DB9S |
DB25S |
Назначение сигнала |
PG |
Защитная земля. Соединяется с корпусом устройства и экраном кабеля. |
||
SG |
5 |
7 |
Сигнальная (схемная) земля, относительно которой действуют уровни сигналов. |
TD |
3 |
2 |
Выход передатчика, последовательные данные. |
RD |
2 |
3 |
Вход приемника, последовательные данные. |
RTS |
7 |
4 |
Выход запроса передачи данных. Состояние лог.1 сообщает модему, что у терминала есть данные для передачи. |
CTS |
8 |
5 |
Вход разрешения (лог. 1) терминалу передавать данные. |
DTR |
4 |
20 |
Выход сигнала готовности терминала к обмену данными. Состояние лог. 1 поддерживает канал в состоянии соединения. |
DSR |
6 |
6 |
Вход сигнала готовности АПД (например, модема). |
DCD |
1 |
8 |
Вход сигнала обнаружения несущей удаленного терминала. |
RI |
9 |
22 |
Вход индикатора вызова (звонка). |
Интерфейс позволяет исключить канал удаленной связи вместе с парой модемов, соединив два интеллектуальных устройства DTE непосредственно, с помощью нуль-модемного кабеля.
При соединении аппаратуры DTE без модемов, разъемы устройств соединяются между собой полным или минимальным нуль-модемным кабелем (Zero-modem, Z-modem).
Полный нуль-модемный кабель выполняется семижильным жгутом проводов, причем контакты DSR - DCD закорачиваются на каждом из разъемов кабеля, а для минимального нуль-модема достаточно всего трехжильного жгута. В последнем случае закорачиваются на каждом из разъемов кабеля контакты DTR - DSR - DCD, а так же RTS - CTS.
Питание ВУ от интерфейса RS-232C.
При подключении мыши или трекбола к СОМ-порту, они обычно получают питание +V от линий DTR и RTS, a -V - от TD, не используемых по прямому назначению. Так если исправная мышь с данным портом не работает, то нужно проверить уровни потенциалов на контактах разъема порта с этими сигналами. При инициализации порта, линии DTR и RTS переходят в состояние логического нуля, т.е. вырабатывают напряжение порядка +12 вольт, а линия TD - порядка -12 вольт. Потенциалами на этих линиях можно управлять через регистры СОМ-порта, что и делают соответствующие драйверы мыши и трекбола. Если потенциалы после их установки не соответствуют требуемым, то неисправность может быть и в регистрах порта, что легко проверяется (конечно, с отключенным манипулятором) тест-программой в режиме тестирования с внешней заглушкой.
Порт получает питание от блока питания через системную плату, и отсутствие напряжения +12 вольт сразу обнаруживается по неработоспособности дисков компьютера, а отсутствие напряжения -12 вольт могут заметить только устройства, подключенные к СОМ-портам. Не все блоки питания контролируют все выходные напряжения, поэтому неработоспособность терминальных устройств, подключенных к СОМ-порту, может быть и следствием неисправности блока питания компьютера.
Инфракрасный интерфейс.
Применение излучателей и приемников инфракрасного (ИК) диапазона позволяет осуществлять беспроводную коммуникацию между парой устройств, удаленных на расстояние метра, а иногда и нескольких метров. Различают ИК-системы связи с низкой (до 115 Кбит/сек), средней (1.152 Мбит/сек) и высокой (4 Мбит/сек) скоростями связи. В перспективе ожидаются и более высокие скорости обмена, которые позволят передавать даже "живое видео".
На скоростях 115 Кбит/сек для ИК-связи используются UART, совместимые с 16450/16550 и часто может конфигурироваться порт СОМ-2. Весьма привлекательно применение ИК-технологии для связи портативных компьютеров со стационарными, или док-станциями (PC Docking), расширяющими их до полноценной настольной конфигурации.
Интерфейс MIDI.
Цифровой интерфейс музыкальных инструментов MIDI (Musical Instrument Digital Interface) представляет собой асинхронный интерфейс с частотой передачи 31,25 Кбит/сек. В интерфейсе применяется связь типа токовая петля 10мА с гальванической (оптронной) развязкой входной цепи.
Формат асинхронной посылки содержит старт-бит, 8 бит информации и стоп-бит, контроль четности отсутствует. Интерфейс поддерживается стандартными 5-контактными разъемами DIN и позволяет объединить группу, последовательно до 16 устройств, в локальную сеть.
В РС MIDI-порт имеется на большинстве плат звуковых адаптеров, и его сигналы выведены на неиспользуемые 12 и 15 контакты разъема Game-адаптера. Для MIDI-порта применяются ИМС UART, совместимые с MPU401, отличающиеся от обычных UART 8250 или 8251 тем, что имеют дополнительный регистр устройства. На некоторых системных платах применяются БИС контроллеров интерфейсов, в которых UART, используемый для СОМ-портов, может быть переведен в режим MIDI-порта его конфигурированием через BIOS SetUp,
Контрольные вопросы.
1. Какие режим работы может поддерживать СОМ-порт?
2. Какой стандарт поддерживает работу СОМ-порта?
3. Как зависит максимальная скорость передачи через СОМ-порт от длины кабеля связи?
4. Какие типы разъемов используют СОМ-порты?
5. Что такое нуль-модем и как он устроен?
6. Какие меры необходимо принимать для безопасности оборудования СОМ-портов при соединении через них разных устройств?
7. В чем состоят достоинства ИК-интерфейса?
8. В чем состоят достоинства ИК-интерфейса?
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.