Для проверки отключения (Verify Disconnect) устанавливается DTR=1, RTS=0 и через 5 с проверяется состояние сигнала DSR. При DSR=1 происходит переход в состояние Connect Idle (см. п. 7), при DSR=0 происходит переход в состояние Disconnect Idle, в котором система может периодически опрашивать сигнал DSR для обнаружения подключения устройства.

Описанный механизм разрабатывался компанией Microsoft с учетом совместимости с устройствами, не относящимися к устройствам PnP, — он обеспечивает невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся PnP-идентификаторами. Например, обычная мышь Microsoft Mouse (не PnP) по включении питания от интерфейса ответит ASCII-символом «M» (трехкнопочная — строкой «M3»).

<p>2.10. Неисправности и тестирование СОМ-портов</p>

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

<p>2.10.1. Проверка конфигурирования</p>

Тестирование последовательных портов (как и параллельных) начинают с проверки их опознавания системой. Список адресов установленных портов обычно появляется в таблице, выводимой BIOS перед загрузкой ОС. Список можно посмотреть с помощью тестовых программ или прямо в BIOS Data AREA с помощью отладчика.

Если BIOS обнаруживает меньше портов, чем установлено физически, значит, двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Проблемы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3E0h, 338h, 2E0h и 238h; иногда не производится поиск по адресам 3E8h и 2E8h. Нумерация найденных портов, отображаемая в заставке, может вводить в заблуждение: если установлены два порта с адресами 3F8h и 3E8h, в заставке они могут называться COM1 и COM2, и по этим именам на них можно ссылаться. Однако те же порты в заставке могут называться COM1 и COM3 (поскольку 3E8h является штатным адресом для COM3), но попытка сослаться на порт COM3 будет неудачной, поскольку в данном случае адрес 3E8h будет находиться в ячейке 0:402h BIOS Data Area, соответствующей порту COM2, а в ячейке порта COM3 (0:404h) будет нуль — признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно вручную с помощью любого отладчика, занеся правильные значения базовых адресов в ячейки BIOS Data Area (это придется делать каждый раз после перезагрузки ОС перед использованием «потерянного» порта). Существуют тестовые утилиты, позволяющие находить порты (например, Port Finder).

Если двум портам назначен один и тот же адрес; тестовая программа обнаружит ошибки порта только с помощью внешней заглушки (External LoopBack). Программное тестирование порта без заглушки не покажет ошибок, поскольку при этом включается диагностический режим (см. описание UART) и конфликтующие (по отдельности исправные) порты будут работать параллельно, обеспечивая совпадение считываемой информации. В «реальной жизни» нормальная работа конфликтующих портов невозможна. Разбираться с конфликтом адресов удобно, последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке.

Если физически установлен только один порт и его не обнаруживает BIOS, причины те же, что с LPT-портом: либо он отключен при конфигурировании, либо вышел из строя. Неисправность может устраниться при вынимании/вставке платы адаптера в слот системной шины.

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

<p>2.10.2. Функциональное тестирование</p>

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

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

Перейти на страницу:

Все книги серии Наиболее полное и подробное руководство

Похожие книги