Информационные технологииStfw.Ru 🔍
Проверка конфигурирования
  • 🕛 29 декабря, 10:03
Тестирование последовательных портов (как и параллельных) начинают с проверки их опознавания системой. Список адресов установленных портов обычно появляется в таблице, выводимой BIOS перед загрузкой ОС. Список можно посмотреть с помощью тестовых программ или прямо в BIOS Data AREA с помощью отладчика.
Если BIOS обнаруживает меньше портов, чем установлено физически, значит, двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Проблемы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3EOh, 338h, 2EOh и 238h; иногда не производится поиск по адресам 3E8h и 2E8h. Нумерация найденных портов, отображаемая в заставке, может вводить в заблуждение: если установлены два порта с адресами 3F8h и 3E8h, в заставке они могут называться СОМ1 и COM2, и по этим именам на них можно ссылаться. Однако те же порты в заставке могут называться СОМ1 и COM3 (поскольку 3E8h является штатным адресом для COM3), но попытка сослаться на порт COM3 будет неудачной, поскольку в данном случае адрес 3E8h будет находиться в ячейке 0:402h BIOS Data Area, соответствующей порту COM2, а в ячейке порта COM3 (0:404h) будет нуль - признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно вручную с помощью любого отладчика, занеся правильные значения базовых адресов в ячейки BIOS Data Area (это придется делать каждый раз после перезагрузки ОС перед использованием «потерянного» порта). Существуют тестовые утилиты, позволяющие находить порты (например, Port Finder).
Если двум портам назначен один и тот же адрес; тестовая программа обнаружит ошибки порта только с помощью внешней заглушки (ExternalLoopBacK). Программное тестирование порта без заглушки не покажет ошибок, поскольку при этом включается диагностический режим (см. описание UART) и конфликтующие (по отдельности исправные) порты будут работать параллельно, обеспечивая совпадение считываемой информации. В «реальной жизни» нормальная работа конфликтующих портов невозможна. Разбираться с конфликтом адресов удобно, последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке.
Если физически установлен только один порт и его не обнаруживает BIOS, причины те же, что с LPT-портом: либо он отключен при конфигурировании, либо вышел из строя. Неисправность может устраниться при вынимании/вставке платы адаптера в слот системной шины.
При работе с С ОМ-портом задействуются соответствующие аппаратные прерывания - их используют при подключении модема, мыши и других устройств ввода. Неработоспособность этих устройств может быть вызвана некорректной настройкой запроса прерывания. Здесь возможны как конфликты с другими устройствами, так и несоответствие номера прерывания адресу порта.
Неисправности и тестирование СОМ-портов
  • 🕛 29 декабря, 10:02
Неполадки с СОМ-портами случаются (выявляются) при установке новых портов или неудачном подключении внешних устройств.
СОМ-порт и РnР
  • 🕛 29 декабря, 09:53
Современные ПУ, подключаемые к СОМ-порту, могут поддерживать спецификацию PnP. Основная задача ОС заключается в идентификации подключенного устройства, для чего разработан несложный протокол, реализуемый на любых СОМ-портах чисто программным способом.
Использование СОМ-портов
  • 🕛 29 декабря, 09:52
СОМ-порт широко применяется для подключения различных периферийных и коммуникационных устройств, связи с различным технологическим оборудова-нием, объектами управления и наблюдения, программаторами, внутрисхемными эмуляторами и прочими устройствами, используя протокол RS-232C.
Конфигурирование СОМ-портов
  • 🕛 29 декабря, 09:27
Компьютер может иметь до четырех последовательных портов СОМ 1 -COM4; для машин класса AT типично наличие двух портов. Управление последовательным портом разделяется на два этапа - предварительное конфигурирование (Setup)
Системная поддержка СОМ-портов
  • 🕛 29 декабря, 09:15
СОМ-порты поддерживаются сервисом BIOS Int 14h, который обеспечивает следующие функции:
¦ инициализация (установка скорости обмена и формата посылок; запрет источ
ников прерываний) - на сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны);
¦ вывод символа - активируются сигналы DTR и RTS, и после освобождения регистра THR в него помещается выводимый символ;
¦ ввод символа - активируется только сигнал DTR (RTS переходит в пассивное состояние), и ожидается готовность принятых данных;
¦ опрос состояния модема и линии (чтение регистров MSR и LSR).
Аппаратные прерывания не используются, ожидание готовности ввода и вывода ограничивается по тайм-ауту. Готовность можно быстро проверить опросом состояния.
В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0400, 0402, 0404, 0406. Эти ячейки хранят адреса портов с логическими именами СОМ1-COM4. Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки ОЮ47С, 047D, 047Е, 047F заносятся константы, задающие тайм-ауты для портов.
Обнаруженные порты инициализируются на скорость обмена 2400 бит/с, 7 бит данных с контролем на четность (even), 1 стоп-бит. Управляющие сигналы интерфейса DTR и RTS переводятся в исходное состояние («выключено» - положительное напряжение).
Микросхемы асинхронных приемопередатчиков
  • 🕛 29 декабря, 09:14
В СОМ-портах преобразование параллельного кода в последовательный для передачи и обратное преобразование при приеме данных выполняют специализированные микросхемы UART (Universal Asynchronous Receiver-Transmitter - универсальный асинхронный приемопередатчик).
Управление потоком данных
  • 🕛 29 декабря, 08:51
Для управления потоком данных (Flow Control) могут использоваться два варианта протокола - аппаратный и программный. Иногда управление потоком путают с квитированием. Квитирование (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности последующего приема данных. Зачастую управление потоком основано на механизме квитирования.
Асинхронный режим передачи
  • 🕛 29 декабря, 08:40
Асинхронный режим передачи является байт-ориентированным (символьно-ориентированным): минимальная пересылаемая единица информации - один байт (один символ).
Родственные интерфейсы и преобразователи уровней
  • 🕛 29 декабря, 08:38
В последовательном интерфейсе далеко не всегда используют двуполярные сигналы RS-232C - это неудобно, хотя бы из-за необходимости использования дву-полярного питания приемопередатчиков. Сами микросхемы вышеописанных при-емопередатчиков UART работают с сигналами логики ТТЛ или КМОП; такие же сигналы используются, например, и в сервисных портах винчестеров и других устройств. Многие устройства (в том числе карманные ПК и мобильные телефоны) имеют внешний последовательный интерфейс с уровнями низковольтной логики. Конечно, сигналы обычной логики не имеют столь высокой помехоустойчивости, как RS-232C, но не всегда это и требуется.
Интерфейс RS-232C
  • 🕛 29 декабря, 08:30
Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные ( 00Д - оконечное оборудование данных, или АПД - аппаратура передачи данных; DTE - Data Terminal Equipment), к оконечной аппаратуре каналов данных {АКД; DCE-Data Communication Equipment). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. В роли АКД обычно выступает модем. Конечной целью подключения является соединение двух устройств АПД.
СОМ-порт
  • 🕛 29 декабря, 08:27
Универсальный внешний последовательный интерфейс - СОМ-порт (Communications Port - коммуникационный порт) присутствует в PC начиная с первых моделей. Этот порт обеспечивает асинхронный1 обмен по стандарту RS-232C. СОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков. (UART), совместимых с семейством i8250/16450/16550.
Неисправности и тестирование параллельных портов
  • 🕛 29 декабря, 08:24
Тестирование параллельных портов разумно начинать с проверки их наличия в сис-теме. Список адресов установленных портов появляется в таблице, выводимой BIOS на экран перед загрузкой ОС. Список можно посмотреть и с помощью тестовых программ или прямо в BIOS Data Area с помощью отладчика.
Конфигурирование LPT-портов
  • 🕛 29 декабря, 08:14
Управление параллельным портом разделяется на два этапа - предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Этим обеспечивается возможность согласования аппаратуры с ПО и блокирования ложных переключений, вызванных некорректными действиями программы.
Применение LPT-порта
  • 🕛 29 декабря, 08:13
Обычно LPT-порт используют для подключения принтера (см. п. 8.3.1), однако этим его применение не исчерпывается.
Параллельный порт и PnP
  • 🕛 29 декабря, 08:11
Большинство современных периферийных устройств, подключаемых к LPT-nop-ту, поддерживает стандарт 1284 и функции PnP. Для поддержки этих функций компьютером с аппаратной точки зрения достаточно иметь контроллер интерфейса, соответствующий стандарту 1284. Если подключаемое устройство поддерживает PnP, оно по протоколу согласования режимов 1284 способно «договориться» с портом, представляющим «интересы» компьютера, о возможных режимах обме-на. Далее, для работы PnP подключенное устройство должно сообщить операционной системе все необходимые сведения о себе. Как минимум это идентификаторы производителя, модели и набор поддерживаемых команд. Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечивается совместимость. В соответствии с принятой информацией для поддержки данного устройства операционная система может предпринять действия по установке требуемого программного обеспечения.
Устройства с поддержкой PnP распознаются ОС на этапе ее загрузки, если, конечно же, они подключены к порту интерфейсным кабелем и у них включено пита-

ние. Если ОС Windows обнаруживает подключенное устройство PnP, отличающееся от того, что прописано в ее реестре для данного порта (или просто новое устройство), она пытается установить требуемые для устройства драйверы из дистрибутива ОС или из комплекта поставки нового устройства. Если Windows не желает замечать вновь подключенного устройства PnP, это может свидетельствовать о неисправности порта или кабеля. Система PnP не работает, если устройство подключается дешевым «не двунаправленным» кабелем, у которого отсутствует связь по линии Selectln* (контакт 17 порта LPT и контакт 36 разъема Centronics).
Системная поддержка LPT-порта
  • 🕛 29 декабря, 07:58
Системная поддержка LPT-порта включает поиск установленных портов и сервисы печати (Int 17h, см. п. 8.3.3). В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам 3BCh, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0408h, 040Ah, 040Ch, 040Eh. Эти ячейки хранят адреса портов LPT1-LPT4, нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие тайм-аут для этих портов.
Поиск портов обычно ведется достаточно примитивно - по базовому адресу (в регистр данных предполагаемого порта) выводится тестовый байт (AAh или 55h), затем производится ввод по тому же адресу. Если считанный байт совпал с записанным, предполагается, что найден LPT-порт; его адрес помещается в ячейку BIOS Data Area. Базовые адреса портов могут быть впоследствии изменены программно. Адрес порта LPT4 система BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных.
Обнаруженные порты инициализируются - записью в регистр управления формируется и снимается сигнал lnit#, после чего записывается значение ОСЬ, соответствующее исходному состоянию сигналов интерфейса. В некоторых случаях сигнал lnit# активен с момента аппаратного сброса до инициализации порта при загрузке ОС. Это можно заметить по поведению включенного принтера во время перезагрузки компьютера - у принтера надолго гаснет индикатор On-Line. Следствие этого явления - невозможность распечатки экранов (например, параметров BIOS Setup) по нажатию клавиши Print Screen до загрузки ОС.
Развитие стандарта IEEE 1284
  • 🕛 29 декабря, 07:56
Ниже перечислены некоторые дополнения основного стандарта IEEE 1284.

¦ IEEE P1284.1 «Standard for Information Technology for Transport Independent
Printer/Scanner Interface (TIP/SI)». Этот стандарт разрабатывается для управления и обслуживания сканеров и принтеров на основе протокола NPAP (Network Printing Alliance Protocol).
¦ IEEE P1284.2 «Standard for Test, Measurement and Conformance to IEEE
Std. 1284» - стандарт для тестирования портов, кабелей и устройств на совместимость с IEEE 1284.
¦ IEEEP1284.3 «Standard for Interface and Protocol Extensions to IEEE Std. 1284Compliant Peripheral and Host Adapter Ports» - стандарт на драйверы и использование устройств прикладным программным обеспечением (ПО). Приняты спецификации BIOS для использования ЕРР драйверами DOS. Прорабатывается стандарт на разделяемое использование одного порта цепочкой устройств или группой устройств, подключаемых через мультиплексор.
¦ IEEEP1284.4 «Standard for Data Delivery and Logical Channels for IEEE Std. 1284 Interfaces» направлен на реализацию пакетного протокола достоверной передачи данных через параллельный порт. Основой служит протокол MLC (Multiple Logical Channels) фирмы Hewlett-Packard, однако совместимость с ним в окончательной версии стандарта не гарантируется.

Материалы по теме:
IEEE утвердил 802.11n
IEEE одобрила спецификацию UWB 802.15.4a
IEEE займется стандартизацией аккумуляторов для мобильников
Физический и электрический интерфейсы
  • 🕛 29 декабря, 07:52
Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов, которые по уровням совместимы с ТТЛ.
Согласование режимов IEEE 1284
  • 🕛 29 декабря, 07:50
ПУ в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех предусмотренных этим стандартом режимов. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence). Последовательность построена так, что старые устройства, не поддерживающие IEEE 1284, на нее не ответят, и контроллер останется в стандартном режиме. Периферия IEEE 1284 может сообщить о своих возможностях, и контроллер установит режим, удовлетворяющий и хост, и ПУ.
Режимы и регистры ЕСР-порта
  • 🕛 29 декабря, 07:49
Программный интерфейс и регистры ЕСР для адаптеров IEEE 1284 определяет спецификация Microsoft. Порт ЕСР может работать в различных режимах, приведенных в табл. 1.7, где код соответствует полю Mode регистра ECR (биты [7:5]).
Режим ЕСР
  • 🕛 29 декабря, 07:41
Протокол ЕСР (Extended Capability Port - порт с расширенными возможностями) был предложен Hewlett Packard и Microsoft для связи с ПУ типа принтеров или сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с ПУ. Протокол ЕСР в обоих
Режим EPP
  • 🕛 29 декабря, 07:40
Протокол EPP (Enhanced Parallel Port - улучшенный параллельный порт) был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия стандарта IEEE 1284. Этот протокол предназначен для повышения производительности обмена по параллельному порту, впервые был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят множеством компаний как дополнительный протокол параллельного порта.
Двунаправленный байтный режим — Byte Mode
  • 🕛 29 декабря, 07:25
В этом режиме данные принимаются с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR. 5=1. Как и предыдущие, режим является программно-управляемым - все сигналы квитирования анализируются и устанавливаются драйвером.
Полубайтный режим ввода — Nibble Mode
  • 🕛 29 декабря, 07:24
Полубайтный режим предназначен для двунаправленного обмена и может работать на всех стандартных портах. Порты имеют 5 линий ввода состояния, используя которые ПУ может посылать в хост байт тетрадами (nibble - полубайт, 4 бита) за два приема. Сигнал Ack#, вызывающий прерывание, которое может использоваться в данном режиме, соответствует биту 6 регистра состояния, что усложняет программные манипуляции с битами при сборке байта. Сигналы порта приведены в табл. 1.2, временные диаграммы - на рис. 1.1.
Таблица 1.2. Сигналы LPT-порта в полубайтном режиме ввода Контакт Сигнал SPP I/O Бит Описание
14 AutoFeed# 0 CR.1
17 Selectln* 0 CR.3
10 Ack# I SR.6
11 12 13 15 Busy РЕ Select Error# I I 1 1 SR.7 SR.5 SR.4 SR.3
HostBusy - сигнал квитирования. Низкий уровень означает готовность к приему тетрады, высокий подтверждает прием тетрады
Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий)
PtrClk. Низкий уровень означает готовность тетрады, высокий - ответ на сигнал HostBusy

Прием бита данных 3, затем бита 7 Прием бита данных 2, затем бита 6 Прием бита данных 1, затем бита 5 Прием бита данных 0, затем бита 4


1.1. Прием данных в полубайтном режиме Прием байта данных в полубайтном режиме состоит из следующих фаз:
1. Хост сигнализирует о готовности приема данных установкой низкого уровня
на линии HostBusy.
2. ПУ в ответ помещает тетраду на входные линии состояния.
3. ПУ сигнализирует о готовности тетрады установкой низкого уровня нд ли
нии PtrClk.
4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой тетрады.

5. ПУ отвечает установкой высокого уровня на линии PtrClk.
6. Шаги 1-5 повторяются для второй тетрады.
Полубайтный режим сильно нагружает процессор, и поднять скорость обмена выше 50 Кбайт/с не удается. Безусловное его преимущество в том, что он работает на всех портах. Его применяют в тех случаях, когда поток данных невелик (например, для связи с принтерами). Однако при связи с адаптерами локальных сетей, внешними дисковыми накопителями и CD-ROM прием больших объемов данных требует изрядного терпения со стороны пользователя.
Стандарт IEEE 1284
  • 🕛 29 декабря, 07:13
Стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году, описывает порты SPP, ЕРР и ЕСР. Стандарт определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:
¦ Режим совместимости (Compatibility Mode) - однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует SPP-порту.
¦ Полубайтный режим (Nibble Mode) - ввод байта в два цикла (по 4 бита), используя для приема линии состояния. Этот режим обмена подходит для любых адаптеров, поскольку задействует только возможности стандартного порта.
¦ Байтный режим (Byte Mode) - ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional или PS/2 Туре 1, см. выше).
¦ Режим ЕРР (ЕРР Mode) - двунаправленный обмен данными (ЕРР означает
Enhanced Parallel Port). Управляющие сигналы интерфейса генерируются ап
паратно во время цикла обращения к порту. Эффективен при работе с устрой
ствами внешней памяти и адаптерами локальных сетей.
¦ Режим ЕСР (ЕСР Mode) - двунаправленный обмен данными с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding) и использования FIFO-буферов и DMA (ЕСР означает Extended Capability Port). Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров (здесь может использоваться сжатие) и различных устройств блочного обмена.
Стандарт определяет способ, по которому ПО может определить режим, доступный и хосту (PC), и периферийному устройству (или присоединенному второму компьютеру). Режимы нестандартных портов, реализующих протокол обмена Centronics аппаратно (Fast Centronics, Parallel Port FIFO Mode), могут и не являться режимами IEEE 1284, несмотря на наличие в них черт ЕРР и ЕСР.
В компьютерах с LPT-портом на системной плате режим - SPP, ЕРР, ЕСР или их комбинация - задается в BIOS Setup. Режим совместимости полностью соответствует SPP-порту. Остальные режимы подробно рассмотрены ниже.
При описании режимов обмена фигурируют следующие понятия:
¦ хост - компьютер, обладающий параллельным портом;
¦ ПУ- периферийное устройство, подключаемое к этому порту;
¦ Ptr - в названиях сигналов обозначает передающее ПУ;
¦ прямой канал - канал вывода данных от хоста в ПУ;
¦ обратный канал - канал ввода данных в хост из ПУ.
Расширения параллельного порта
  • 🕛 29 декабря, 07:11
Недостатки стандартного порта частично устраняли новые типы портов, появившиеся в компьютерах PS/2.
Двунаправленный порт 1 (Туре 1 parallel port) - интерфейс, введенный в PS/2. Такой порт кроме стандартного режима может работать в режиме ввода или двунаправленном режиме. Протокол обмена формируется программно, а для указания направления передачи в регистр управления порта введен специальный бит CR. 5: 0 - буфер данных работает на вывод, 1 - на ввод. Не путайте этот порт, называемый также enhanced bi-directional, с ЕРР. Данный тип порта «прижился»' и в обычных компьютерах, в CMOS Setup он может называться PS/2 или Bi-Di. Порт с прямым доступом к памяти (Туре 3 DMA parallel port) применялся в PS/2 моделей 57,90,95. Был введен для повышения пропускной способности и разгрузки процессора при выводе на принтер. Программе, работающей с портом, требовалось только задать в памяти блок данных, подлежащих выводу, а затем вывод по протоколу Centronics производился без участия процессора.
Позже появились другие адаптеры LPT-портов* реализующие протокол обмена Centronics аппаратно, - Fast Centronics. Некоторые из них использовали FIFO-буфер данных - Parallel Port FIFO Mode. He будучи стандартизованными, такие порты разных производителей требовали наличия собственных специальных драйверов. Программы, использующие прямое управление регистрами стандартных портов, не могли задействовать их дополнительные возможности. Такие порты часто входили в состав мультикарт VLB. Существуют их варианты с шиной ISA, а также встроенные в системную плату.
Традиционный LPT-порт
  • 🕛 29 декабря, 07:09
Традиционный, он же стандартный, LPT-порт называется стандартным параллельным портом (Standard Parallel Port, SPP), или SPP-портом, и является однонаправленным портом, через который программно реализуется протокол обмена Centronics (см. п. 8.3.1). Название и назначение сигналов разъема порта (табл. 1.1) соответствуют интерфейсу Centronics.
LPT-порт
  • 🕛 29 декабря, 06:33
Порт параллельного интерфейса был введен в PC для подключения принтера - отсюда и пошло его название LPT-порт (Line PrinTer - построчный принтер). Традиционный, он же стандартный, LPT-порт (так называемый SPP-nopm) ориентирован на вывод данных, хотя с некоторыми ограничениями позволяет и вводить данные. Существуют различные модификации LPT-порта - двунаправленный, ЕРР, ЕСР и другие, расширяющие его функциональные возможности, повышающие производительность и снижающие нагрузку на процессор. Поначалу они являлись фирменными решениями отдельных производителей, позднее был принят стандарт IEEE 1284.

Статьи и документация

Компьютерные статьи и документация на тему информационных технологий, обзоры железа и софта, безопасности и Интернет-технологий.