Неисправности и тестирование СОМ-портов

 

Неполадки с СОМ-портами случаются (выявляются) при установке новых пор­тов или неудачном подключении внешних устройств.

Проверка конфигурирования

Тестирование последовательных портов (как и параллельных) начинают с про­верки их опознавания системой. Список адресов установленных портов обычно появляется в таблице, выводимой 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-портом: либо он отключен при конфигурировании, либо вышел из строя. Неисправность может устраниться при вынимании/вставке пла­ты адаптера в слот системной шины.

При работе с С ОМ-портом задействуются соответствующие аппаратные пре­рывания — их используют при подключении модема, мыши и других устройств ввода. Неработоспособность этих устройств может быть вызвана некорректной на­стройкой запроса прерывания. Здесь возможны как конфликты с другими устрой­ствами, так и несоответствие номера прерывания адресу порта.

Функциональное тестирование

В первом приближении СОМ-порт можно проверить диагностической про­граммой (Checklt) без использования заглушек. Этот режим тестирования про­веряет микросхему UART (внутренний диагностический режим) и вырабаты­вание прерываний, но не входные и выходные буферные микросхемы, которые являются более частыми источниками неприятностей. Если тест не проходит, причину следует искать или в конфликте адресов/прерываний, или в самой мик­росхеме UART.

Для более достоверного тестирования рекомендуется использовать внешнюю за­глушку, подключаемую к разъему СОМ-порта (рис; 2.16). В отличие от ЬРТ^порта у СОМ-порта количество входных сигналов превышает количество выходных, что позволяет выполнить полную проверку всех цепей. Заглушка соединяет выход приемника с входом передатчика. Обязательная для всех схем заглушек перемыч­ка RTS-CTS позволяет работать передатчику — без нее символы не смогут переда­ваться. Выходной сигнал DTR обычно используют для проверки входных линий DSR, DCDnRI.

 

clip_image002

Рис. 2.16. Заглушка для проверки СОМ -портов (LoopBack для Checklt и Norton Diagnostics)

Если тест с внешней заглушкой не проходит, причину следует искать во внешних буферах, их питании или в ленточных кабелях, служащих для подключения внеш­них разъемов. Здесь может помочь осциллограф или вольтметр. Последователь­ность проверки может быть следующей:

1. Проверить наличие двуполярного питания выходных схем передатчиков (этот
шаг логически первый, но/поскольку он технически самый сложный, его мож­
но отложить на крайний случай, когда появится желание заменить буферные
микросхемы).

2. Проверить напряжение на выходах TD, RTS и DTR: после аппаратного сброса
на выходе TD должен быть отрицательный потенциал около -12 В (по край­
ней мере, ниже -5 В), а на выходах RTS и DTR — такой же положительный. Если этих потенциалов нет, возможна ошибка подключения разъема к плате через
ленточный кабель. Распространенные варианты:

• ленточный кабель не подключен;

• ленточный кабель подключен неправильно (разъём перевернут или встав­
лен со смещением);

• раскладка ленточного кабеля не соответствует разъему платы.

Первые два варианта проверяются внимательным осмотром, третий же может потребовать некоторых усилий. В табл. 2.1 приведены три варианта расклад­ки 10-проводного ленточного кабеля для разъема СОМ-порта, известных автору; для СОМ-портов на системных платах возможно существование и других. Тео­ретически ленточный кабель должен поставляться в соответствии с разъемом.

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

3. Соединив контакты линий RTS и CTS (или установив заглушку), следует по­
пытаться вывести небольшой файл на СОМ-порт (например, командой COPY
С: \AUTOEXEC. ВАТ COMl:). С исправным портом эта команда успешно выпол­нится за несколько секунд с сообщением об успешном копировании. При этом потенциалы на выходах RTS и DTR должны измениться на отрицательные, а на выходе TD должна появиться пачка двуполярных импульсов с амплитудой бо­лее 5 В. Если потенциалы RTS и DTR не изменились, ошибка в буферных фор­мирователях. Если на выходе RTS (и входе CTS) появился отрицательный по­тенциал, а команда COPY завершается с ошибкой, скорее всего, вышел из строя приемник линии CTS (или опять-таки ошибка в ленточном кабеле). Если ко­манда COPY успешно проходит, а изменения на выходе TD не обнаруживаются (их можно увидеть стрелочным вольтметром, но оценить амплитуду импуль­сов не удастся), виноват буферный передатчик сигнала TD.

Замена микросхем приемников и передатчиков существенно облегчается, если они установлены в «кроватки». Перед заменой следует с помощью осциллографа или вольтметра удостовериться в неисправности конкретной микросхемы.

Если буферные элементы включены в состав интерфейсной БИС (что теперь весь­ма распространено), то такой порт ремонту не подлежит (по крайней мере, в обыч­ных условиях). Неисправный СОМ-порт, установленный на системной плате, можно попытаться отключить в BIOS SETUP, но порт мог сгореть и вместе со схемой своего отключения — тогда он останется «живым мертвецом» в карте пор­тов ввода-вывода и прерываний. Иногда он полностью выводит из строя систем­ную плату.

Источниками ошибок могут являться разъемы и кабели. В разъемах встречаются плохие контакты, а кабели, кроме возможных обрывов, могут иметь плохие частот­ные характеристики. Частотные свойства кабелей обычно сказываются при боль­шой длине (десятки метров) на высоких скоростях обмена (56 или 115 Кбит/с). При необходимости использования длинных кабелей на высоких скоростях сиг­нальные провода данных должны быть перевиты с отдельными проводами «схем­ной земли».

В ряде отечественных PC-совместимых (почти) компьютеров для последователь­ного интерфейса применялась микросхема КР580ВВ51 — аналог 18251. Однако эта микросхема является универсальным синхронно-асинхронным приемопередат­чиком (УСАПП или USART — Universal Asynchronous Receiver-Transmitter). Совместимости с PC на уровне регистров СОМ-порта такие компьютеры не име­ют. Хорошо, если у соответствующих компьютеров имеется «честный» драйвер BIOS Int 14h, а не заглушка, возвращающая состояние модема «всегда готов» и ничего не делающая.

Питание от интерфейса, или Причины неработоспособности мыши

При подключении к СОМ-порту устройств с небольшим энергопотреблением возникает соблазн получить питание от выходных линий интерфейса. Если ли­нии управления DTR и RTS не используются по прямому назначению, их можно задействовать как питающие с напряжением около 12 В. Ток короткого замыка­ния на «схемную землю» ограничен буферной микросхемой передатчика на уровне 20 мА. При инициализации порта эти линии переходят в состояние «выключе­но», то есть вырабатывают положительное напряжение. Линия TD в покое нахо­дится в состоянии логической единицы, так что на выходе вырабатывается отри­цательное напряжение. Потенциалами линий можно управлять через регистры СОМ-порта (выход TD вырабатывает положительное напряжение, если устано­вить бит BRCON). Питание можно получать и с сигнальных линий через выпрями­тельные диоды с использованием накопительных конденсаторов. При этом, конеч­но, следует учитывать, сколько времени выходной сигнал находится в нужном состоянии (чтобы накопленной энергии хватало).

Двуполярным питанием от линий интерфейса (+V от DTR и RTS, -V от TD) пользу­ются все манипуляторы, подключаемые к СОМ-портам. Зная это, в случае нера­ботоспособности мыши с данным портом следует проверить напряжения на соот­ветствующих контактах разъема. Бывает, что с конкретным портом не работает только конкретная мышь (модель или экземпляр), хотя другие мыши с этим пор­том и эти же мыши с другими портами работают нормально. Здесь дело может быть в уровнях напряжений. Стандарт требует от порта выходного напряжения не менее 5 В (абсолютного значения), и если данный порт обеспечивает только этот минимум, некоторым мышам не хватит мощности для питания светодиодов (главных потребителей энергии).

Порт получает двуполярное питание через системную плату от блока питания компьютера. Отсутствие на выходе блока питания напряжения +12 В обычно об­наружится по неработоспособности дисков. Отсутствие напряжения -12 В «заме­тят» только устройства, подключенные к СОМ-портам. Блок питания теоре­тически контролирует наличие этих напряжений на своем выходе (сообщая о неполадках сигналом Power Good, вызывающим аппаратный сброс). Встречаются упрощенные схемы блоков питания, у которых контролируются не все напряже­ния. Кроме того, возможны плохие контакты в разъеме подключения питания к системной плате.

Литература:
ГукМ., Г93 Аппаратные интерфейсы ПК. Энциклопедия. — СПб.: Питер, 2002. — 528 с.: ил.

Предлагаю ознакомиться с аналогичными статьями: