» Файлы » Заглушка для COM-порта
Заглушка для COM-порта
Вступительное слово, в котором описываются все возможные варианты
Проверка функциональности последовательного порта выполняется с помощью диагностических разъемов с обратной связью, по английски — Loopback. Метод построение обратной связи для диагностики прост и диктуется не только тестовым программным обеспечением, что и понятно, — против жесткой, заранее заданной схемы аргументов не отыскать! — но и логикой работы самого COM-порта. Напомним, что он состоит из пяти входов (RxD, Receive Data Line; DCD, Data Carrier Detect; DSR, Data Set Ready; CTS, Clear to Send; RI. Ring Indicator) и трех выходов (TxD, Transmit Data Line; DTR, Data Terminal Ready; RTS, Request to Send).
Обратная связь предполагает передачу выходной информации на вход последовательного порта. Поток данных присутствует только на выходе TxD, и естественно передавать его на вход RxD, что ограничивает количество комбинаций построения Loopback: четыре входа на два выхода. В такой ситуации логично подключать каждый из выходов на два отдельных входа. Перечислим возможные варианты (в каждом из них явно присутствует, но не указано для экономии места подключение выхода передатчика TxD на вход примника RxD):
DTR - DCD - DSR
RTS - CTS - RI
RTS - DCD - RI DTR - DCD - CTS
DTR - DSR - CTS RTS - DSR - RI
DTR - DCD - RI DTR - CTS - RI
RTS - DSR - CTS RTS - DCD - DSR
RTS - DCD - DSR RTS - DCD - CTS
DTR - CTS - RI DTR - DSR - RI
Глава, повествующая о наилучшем варианте соединения линий порта с точки зрения эксплуатационных возможностей
Исторически очевидным преимуществом COM-порта было и остается нуль-модемное соединение! Возможность связи двух агентов найпростейшей компьютерной сети без участия каких бы то ни было дополнительных устройств (вот она безусловная выгода, наполняющая слово "нуль"!) обеспечивается подключением на "нужные" входы заданных выходов. А ведь, по сути, все выше сказанное совпадает с требованиями для построения Loopback'а. Не использовать ли связи, определяющие нуль-модем, на диагностический разъем? Разумное предложение, для реализации которого потребуется рассмотреть полную схему построения.
В отличие от простейшего подключения, когда при общей «земле» передатчик одного порта соединен с приемником другого (и наоборот, разумеется), полный нуль-модем использует в качестве дополнительных связей сигналы DTR, DCD, DSR, RTS и CTS. Два последних по образу и подобию RxD и TxD составляют линк, в котором по готовности Request to Send (а она постоянно присутствует для одного и того же порта) осуществляется подтверждение для такого действия: Clear to Send. Сигналы управления устройствами составляют готовое соединение для Loopback: выход DTR подключается ко входам DCD и DSR, что востребовано в полной схеме нуль-модема (в качестве иллюстрации можно ознакомится со схемой заглушки для утилиты WinSSD).
Как быть с единственным и всегда невостребованным сигналом Ring гадать не приходится: его следует подключить к ранее описанной паре RTS/CTS.
Глава о выборе нагрузочного сопротивления для эмуляции реальной работы порта
В диагностике последовательного порта очень важно учитывать нагрузочную способность выходных формирователей и фактор потребления тока. Ведь не секрет, что ряд периферийных устройств (за примером далеко ходить не придется — манипулятор «мышь», например) питаются от выходных линий. В практике встречается несколько схем подключения этих указателей: питание от линии DTR, питание от линии RTS и смешанный вариант, при котором через диодный мост выполняется подключение к обеим сигналам. И хотя в реальной работе отъем мощности происходит при участии драйвера периферийного устройства, в диагностике последовательного порта с помощью Loopback важно только эмулировать повышенное потребление тока, чтобы получить результаты, близкие к эксплуатационным.
Как это делается? Очень просто: подключается нагрузочное сопротивление на каждую из входных линий с таким расчетом, чтобы снизить уровень сигнала до минимума, при котором порт сохраняет работоспособность. Из опыта известно, что самые «прожорливые мыши» производства компании KYE Systems Corp., более известные по торговой марке Genius, на максимальном потреблении просаживают уровни до -4,50 и +3.50 вольт. Это эквивалентно подключению резистора номиналом 470 ом. Снижение сопротивления повлечет за собой снижения уровня сигнала, и как результат — повышение потребления тока. Для режима стрес-тестирования можно рекомендовать резистор номиналом 270 ом, при котором выходной уровень просядет до ±2,40 вольт. Дальнейшие эксперименты следует проводить крайне осторожно понимая, что велик риск выхода из строя одного или нескольких выходных буферов.
07.06.2025

