Норма RS232 определяет один-на-один канал связи между устройством DTE (оконечное оборудование данных, такое как ПК или принтер) с устройством DCE (оборудованием передачи данных, обычно модемом). Одно устройство DTE связывается с одним устройством DCE или с другим устройством DTE через нуль-модемный кабель - нуль-модемный кабель - это кабель, где пересекаются линии передачи и приема . Тем не менее, с помощью специального кабеля возможно прослушивание данных третьим устройством.
Мужской и женский "переключатель пола" с отсоединенным третьим (женским) разъемом
Мотивация для такого кабеля заключается в том, что стандартный отладчик, работающий на ПК, не очень практичен в отладке проблем последовательного протокола (или для расшифровки протокола). Два последовательных устройства / программы участвуют в последовательном соединении, и если вы остановите одно из них (в точке останова) для проверки, другое может прервать связь и прервать связь. Лучшим подходом является сбор потока байтов на отдельном компьютере мониторинга и проверка / расшифровка протокола по этой трассировке. В этом случае обе стороны работают на своих нормальных скоростях связи, и ни одна из них не знает, что то, что они посылают, захватывается ПК «в середине».
Соединение RS232 имеет отдельные линии передачи и приема , что означает, что аппаратное обеспечение может отправлять данные и получать данные одновременно («полный дуплекс»). Однако большинство протоколов являются полудуплексными: их также называют «ведущий-ведомый» или «запрос-ответ». Кабель разветвителя выполняет перенаправление линий передачи обоих устройств на линию чтения для ПК мониторинга. Это будет работать правильно только для полудуплексных протоколов; когда оба устройства, участвующие в последовательном соединении, отправляют одновременно, сигналы будут сталкиваться на разделенной приемной линии.
Эта схема предполагает, что отсоединенный кабель имеет гнездовой разъем для подключения к ПК. Если вам нужен штекерный разъем для J3, подключите диоды и резисторы к контакту 3 разъема J3 вместо разъема 2.
Вот как это работает: когда устройство (по обе стороны линии связи) не отправляет, оно понижает свою линию передачи (где низкий уровень - это обычно напряжение между -12 В и -5 В). Если ни одно из устройств не отправляет, значит, обе линии передачи находятся на низком уровне, и они также понижают приемную линию разделенного кабеля. Если какое-либо устройство посылает сигнал, «высокие» импульсы (между + 5 В и + 12 В) проходят через диод и вытягивают приемную линию разделительного кабеля вверх.
Два резистора 4k7 вызывают некоторые перекрестные помехи между линиями передачи двух взаимодействующих устройств, но это не должно вызывать никаких проблем (альтернативные конструкции, которые я видел, используют резисторы 2k2 или даже 1k, поэтому 4k7, вероятно, на стороне сохранения).
На ПК, который должен контролировать поток данных, вы можете запустить любую обычную коммуникационную программу RS232, такую как HyperTerminal, поставляемый с Windows (лучшие альтернативы доступны бесплатно, см. Внизу этой страницы). Обратите внимание, что ПК мониторинга не может ничего отправлять: линия передачи не подключена.
Альтернативы: активные кабели или ПК с двумя портами RS232.
Вместо специального кабеля настройка, которая работает в большинстве случаев, состоит в том, чтобы использовать ПК или ноутбук с двумя портами RS232, а также специальное программное обеспечение, которое передает данные, полученные с одного порта на другой, и наоборот. Программное обеспечение, подходящее для мониторинга порта RS232 и переадресации портов термит см. ссылки ниже.
Подход ПК в середине добавит задержку к передаче. Аппаратное подтверждение связи между отслеживаемыми устройствами также будет менее надежным, поскольку оба устройства теперь «поддерживают связь» с ПК, а не друг с другом.
Кабель, подобный описанному выше, с активной электроникой для разделения линий передачи на обоих концах, решает эти проблемы. Для контролируемых устройств штекер / кабель анализатора является полностью прозрачным, а также поддерживается полнодуплексная связь. См. Ссылки ниже для коммерчески доступного кабеля анализатора.
Рекомендации
Термит: простой терминал RS232 Разработанный нами бесплатный простой терминал, ориентированный на простоту использования и простоту установки. На странице Termite описана настройка мониторинга, в которой вместо специального кабеля используется ПК с двумя портами RS232. В нем также перечислены несколько альтернативных терминалов RS232. RS232 последовательный кабель шпионского монитора by Lammert Bies Конструкция для дуплексного кабеля (требующего два порта RS232 на ПК для мониторинга). Сайт также имеет альтернативную конструкцию для полудуплексного кабеля с одним резистором и одним диодом, но этот кабель вышел из строя на некоторых устройствах, на которых я его пробовал.
Другой типичный дизайн, который плавает в Интернете, использует только два диода и не включает резисторы. Я не пробовал этот, но это похоже на «взлом», который зависит от последовательных портов, чтобы иметь внутреннее «опускание» на приемной линии. EZ-Tap & EZ-Tap Pro Stratus Engineering, и Docklight Tap & Tap Pro by Docklight Активный анализаторный кабель, который контролирует линии DTE / DCE и RTS / CTS, а также линии Tx / Rx. Он нацелен на протоколы устранения неисправностей со строгими требованиями к синхронизации, полнодуплексную передачу и / или протоколы, требующие строгого (аппаратного) установления связи.