Буферная цепь RS-232

Я хотел перехватить связь между двумя устройствами RS232. Эта ссылка представляет собой простое решение, но я хочу убедиться, что мой «сниффер» не загружает ссылку для связи.

В связи с этим мне было интересно, могу ли я использовать MAX-232 в качестве «циклического» буфера:

Вход RS232 --> Выход TTL --> Вход TTL --> Выход Rs232

MAX-232 будет питаться от внешнего источника 5В. Является ли это надежным способом прослушивания без загрузки линии? Выполняет ли MAX232 роль буфера в этой конфигурации? Если не. Существуют ли недорогие микросхемы буфера RS232? Похоже, что весь диапазон буферных ИС 74xx работает только на уровнях TTL.

Мой канал связи только полудуплексный.

ОБНОВЛЕНИЕ: я думаю, что я не был ясен с моим описанием. Пожалуйста, смотрите изображение:альтернативный текст

Оба моих устройства уже находятся на уровне RS232. Я просто хотел прочитать данные, используя COM-порт ПК, но подумал, что промежуточный MAX-232 (циклический буфер, о котором я говорил) может служить буфером. Но опять же, даже COM-порт ПК сам по себе может иметь внутри MAX-232...

PS: я не указал конденсаторы и т. д. для max232 на рисунке выше.

Ответы (5)

Между прочим, я добился успеха с минималистской схемой с двумя диодами, с которой вы связались. Единственная разница в том, что я использовал вывод TX «снифферного» устройства в качестве удобного источника -12 В для использования через 47K pull-down, чтобы убедиться, что собственный RX сниффера не плавает, когда ни одно из отслеживаемых устройств передавал.

Если вы не используете десятки футов провода или не работаете с более высокими скоростями, такими как 115,2 кбит / с, диод и резистор не должны слишком сильно влиять на схему.

Если вы действительно хотите буферизовать сигналы в TTL и обратно, то, конечно же, есть микросхемы MAX и даже простые старые микросхемы типа линейный драйвер/линейный приемник, такие как счетверенный драйвер 1488 и счетверенный приемник 1489, которые справятся с этой задачей.

Если я правильно понял, вот ваша схема:

Вход RS232 --> Выход [Sniffer circuit]TTL --> Вход TTL --> Выход Rs232

другими словами:

[device1] <--> MAX232 <--> [схема анализатора] <--> MAX232 <--> [device2]

Это выглядит хорошо для меня. Тот факт, что каждая сторона схемы взаимодействует напрямую с MAX232, должен обеспечить достаточную «изоляцию». Возможно, вам придется пересечь линии (или просто использовать нуль-модемное соединение с одной стороны), если вы говорите CPE-CPE или компьютер с компьютером.

В остальном я не вижу никаких проблем.

На самом деле, «RS232 in --> TTL out--> TTL in--> Rs232 out» находятся на одном и том же чипе MAX-232, как показано на рисунке.

Хм, интересная схема. Возможно, вы захотите использовать реальный MAX232 в качестве буфера между строками, которые вы читаете, и вашей двухдиодной установкой. Он имеет входное сопротивление 5 кОм, что означает, что при условии, что приемники имеют то же самое, вы увидите сопротивление на шине 2,5 кОм. Возможно, повторитель напряжения с более высоким входным сопротивлением может быть в порядке - последовательные порты можно сломать, пытаясь сделать глупости (я это сделал). Попробуйте протестировать что-то, что вы не против уничтожить в первую очередь.

Я попробовал конфигурацию, показанную на моем рисунке (с подключенным max232) и без него (непосредственно к COM-портам моего ПК). Оба работают нормально. Так действительно ли нужен MAX-232 между ними? Обеспечивает ли он вообще действие буферизации?
Я не думаю, что вам нужен MAX-232 - вход в COM-порт вашего ПК, вероятно, очень похож на вход на микросхеме MAX-232, поэтому нагрузка будет такой же.

Предполагая, что ваши два устройства общаются друг с другом по TTL, хорошим способом «изолировать» может быть что-то вроде следующей схемы ascii:

         Tx --------------x------------------------------- Rx
                          |              
Device1  Rx --------------------x------------------------- Tx  Device2
                          |     |                          
         Gnd -------------------------x------------------ Gnd
                          |     |     |    
                          |     |     |
                         Rx1   Rx2   Gnd

                            Sniffer (say an XMEGA with 3+ UARTS)

                         Tx1
                          |
                          x-----TX_IN-[MAX232]-TX_OUT----- Rx Computer Terminal

С некоторыми творческими прошивками что-то вроде этой настройки может отслеживать полнодуплексную связь между двумя устройствами и сообщать о разговоре пользователю в «приятном» виде. Извините, если это не совсем то, о чем вы спрашивали, но мне пришлось воспользоваться возможностью рисования ascii :).

Аппараты уже на rs232. Я не хочу ставить MCU между ними; просто хотел упростить :)

Вы можете полностью избежать всей «электроники», если сможете использовать два последовательных порта для прослушивания. Каждый из портов анализатора считывает линию TX на одном конце соединения. Это также дает вам дополнительные входные контакты состояния для считывания всех выходов состояния на контролируемых каналах связи.

  Tx --------------x------------------------------- Rx
                   |              
  Rx --------------|-----x------------------------- Tx
                   |     |                          
                   |     |         
                   |     |     
                   |     x------------ PC COM 1 Rx
                   |
                   x-------------------PC COM 2 Rx
Мы используем этот тип прослушивания RS323 уже более 15 лет без каких-либо проблем.
@ Тим, хорошо, если вы посмотрите на мою фигуру, это именно то, что я делаю, но с промежуточным значением max232 (что не обязательно, как я узнал и как указывали другие).