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


29.12.2008, 09:27. Компьютер может иметь до четырех последовательных портов СОМ 1 -COM4; для машин класса AT типично наличие двух портов. Управление последовательным портом разделяется на два этапа - предварительное конфигурирование (Setup)


29.12.2008, 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.12.2008, 09:14. В СОМ-портах преобразование параллельного кода в последовательный для передачи и обратное преобразование при приеме данных выполняют специализированные микросхемы UART (Universal Asynchronous Receiver-Transmitter - универсальный асинхронный приемопередатчик).


29.12.2008, 08:51. Для управления потоком данных (Flow Control) могут использоваться два варианта протокола - аппаратный и программный. Иногда управление потоком путают с квитированием. Квитирование (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности последующего приема данных. Зачастую управление потоком основано на механизме квитирования.


29.12.2008, 08:40. Асинхронный режим передачи является байт-ориентированным (символьно-ориентированным): минимальная пересылаемая единица информации - один байт (один символ).


29.12.2008, 08:38. В последовательном интерфейсе далеко не всегда используют двуполярные сигналы RS-232C - это неудобно, хотя бы из-за необходимости использования дву-полярного питания приемопередатчиков. Сами микросхемы вышеописанных при-емопередатчиков UART работают с сигналами логики ТТЛ или КМОП; такие же сигналы используются, например, и в сервисных портах винчестеров и других устройств. Многие устройства (в том числе карманные ПК и мобильные телефоны) имеют внешний последовательный интерфейс с уровнями низковольтной логики. Конечно, сигналы обычной логики не имеют столь высокой помехоустойчивости, как RS-232C, но не всегда это и требуется.


29.12.2008, 08:30. Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные ( 00Д - оконечное оборудование данных, или АПД - аппаратура передачи данных; DTE - Data Terminal Equipment), к оконечной аппаратуре каналов данных {АКД; DCE-Data Communication Equipment). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. В роли АКД обычно выступает модем. Конечной целью подключения является соединение двух устройств АПД.


29.12.2008, 08:27. Универсальный внешний последовательный интерфейс - СОМ-порт (Communications Port - коммуникационный порт) присутствует в PC начиная с первых моделей. Этот порт обеспечивает асинхронный1 обмен по стандарту RS-232C. СОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков. (UART), совместимых с семейством i8250/16450/16550.


29.12.2008, 08:24. Тестирование параллельных портов разумно начинать с проверки их наличия в сис-теме. Список адресов установленных портов появляется в таблице, выводимой BIOS на экран перед загрузкой ОС. Список можно посмотреть и с помощью тестовых программ или прямо в BIOS Data Area с помощью отладчика.


29.12.2008, 08:14. Управление параллельным портом разделяется на два этапа - предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Этим обеспечивается возможность согласования аппаратуры с ПО и блокирования ложных переключений, вызванных некорректными действиями программы.


29.12.2008, 08:13. Обычно LPT-порт используют для подключения принтера (см. п. 8.3.1), однако этим его применение не исчерпывается.


29.12.2008, 08:11. Большинство современных периферийных устройств, подключаемых к LPT-nop-ту, поддерживает стандарт 1284 и функции PnP. Для поддержки этих функций компьютером с аппаратной точки зрения достаточно иметь контроллер интерфейса, соответствующий стандарту 1284. Если подключаемое устройство поддерживает PnP, оно по протоколу согласования режимов 1284 способно «договориться» с портом, представляющим «интересы» компьютера, о возможных режимах обме-на. Далее, для работы PnP подключенное устройство должно сообщить операционной системе все необходимые сведения о себе. Как минимум это идентификаторы производителя, модели и набор поддерживаемых команд. Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечивается совместимость. В соответствии с принятой информацией для поддержки данного устройства операционная система может предпринять действия по установке требуемого программного обеспечения.
Устройства с поддержкой PnP распознаются ОС на этапе ее загрузки, если, конечно же, они подключены к порту интерфейсным кабелем и у них включено пита-

ние. Если ОС Windows обнаруживает подключенное устройство PnP, отличающееся от того, что прописано в ее реестре для данного порта (или просто новое устройство), она пытается установить требуемые для устройства драйверы из дистрибутива ОС или из комплекта поставки нового устройства. Если Windows не желает замечать вновь подключенного устройства PnP, это может свидетельствовать о неисправности порта или кабеля. Система PnP не работает, если устройство подключается дешевым «не двунаправленным» кабелем, у которого отсутствует связь по линии Selectln* (контакт 17 порта LPT и контакт 36 разъема Centronics).


29.12.2008, 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 до загрузки ОС.


29.12.2008, 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.12.2008, 07:52. Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов, которые по уровням совместимы с ТТЛ.


29.12.2008, 07:50. ПУ в стандарте IEEE 1284 обычно не требуют от контроллера реализации всех предусмотренных этим стандартом режимов. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence). Последовательность построена так, что старые устройства, не поддерживающие IEEE 1284, на нее не ответят, и контроллер останется в стандартном режиме. Периферия IEEE 1284 может сообщить о своих возможностях, и контроллер установит режим, удовлетворяющий и хост, и ПУ.


29.12.2008, 07:49. Программный интерфейс и регистры ЕСР для адаптеров IEEE 1284 определяет спецификация Microsoft. Порт ЕСР может работать в различных режимах, приведенных в табл. 1.7, где код соответствует полю Mode регистра ECR (биты [7:5]).


29.12.2008, 07:41. Протокол ЕСР (Extended Capability Port - порт с расширенными возможностями) был предложен Hewlett Packard и Microsoft для связи с ПУ типа принтеров или сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с ПУ. Протокол ЕСР в обоих


29.12.2008, 07:40. Протокол EPP (Enhanced Parallel Port - улучшенный параллельный порт) был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия стандарта IEEE 1284. Этот протокол предназначен для повышения производительности обмена по параллельному порту, впервые был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят множеством компаний как дополнительный протокол параллельного порта.


29.12.2008, 07:25. В этом режиме данные принимаются с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR. 5=1. Как и предыдущие, режим является программно-управляемым - все сигналы квитирования анализируются и устанавливаются драйвером.


29.12.2008, 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 прием больших объемов данных требует изрядного терпения со стороны пользователя.


29.12.2008, 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.12.2008, 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, а также встроенные в системную плату.


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


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

Сводка событий

21:10 Три смартфона с большими экранами и большими скидками в Cafago


21:10 Путин избавляется от балласта


21:10 Вам в Палату № 6. Почему клиентов наркодиспансеров переводят в психушки


21:10 [Статья] Эффект "Спящих": либеральную интеллигенцию лишили неприкосновенности


19:10 Обзор Moto G5s Plus


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