Проблема со связью RS485

Я разработал плату с микроконтроллером (NXP, K64) для управления вводом/выводом. UART-порт UC подключен к Maxim 3362, который преобразует сигнал в полудуплексную связь RS485. Используя протокол Modbus в uController, связь течет к разъему справа на схеме, оттуда к внешнему ключу RS-485 на USB (который подключается к главному ПК).

Е:\Силинкс

У меня возникли проблемы со связью, и я использую дифференциальный пробник и осциллограф для выборки линий Rx и Tx дифференциальной связи RS485 (на выходном разъеме платы, контакты 4 и 5 на рисунке). Я увидел следующую картину:сообщение с шумом

сообщение с шумом, уменьшить масштаб

На картинке показано сообщение, отправленное с ПК на uController, прежде чем uCOntroller ответил — и ответил неправильно (с высоким RTS, как и ожидалось).

Как видите, внутри отправляемого сообщения есть единицы и нули. Нулевая логика имеет много колебательного шума, а единая логика кажется тихой.

Кроме того, перед началом сообщения ноль кажется нормальным. Это кажется немного странным, потому что, если бы на земле был шум, я бы заподозрил, что нулевая логика внутри сообщения и нулевая логика перед началом сообщения будут иметь шум (я также думаю, что «1» будет иметь шум), а не ноль. логика внутри сообщения одна...

Кроме того, у меня был один раз во время всех моих экспериментов, который работал, как и ожидалось (до сих пор он работал нормально в течение нескольких дней), см. следующее:введите описание изображения здесь

Как вы можете видеть на втором рисунке, «0» и «1» кажутся правильными, и эти изображения взяты с одной и той же доски.

это проблема платы, проблема компонента?

Я предполагаю, что это не относится к прошивке... Есть идеи?

Вы соединяете GND между двумя сторонами?
Что вы подразумеваете под GND между двумя сторонами?
Для танго нужны двое... ошибаться в общении. Их основание должно быть общим.
Мой системный путь выглядит следующим образом: ПК-> USB-ключ-> RS485-> разъем на плате. где GND здесь не подключен?
в части RS485.
Хм... в Максиме 3362? Так что, возможно, это плохой компонент... Может быть. попробую заменить. Потому что он работал правильно в течение нескольких дней.
Хорошо.. Я думаю, вы не поняли. Между двумя узлами, сообщающимися по RS485, должно пройти три провода: TX/RX+, TX/RX- и земля. У вас есть все три из них между вашим ключом и платой?

Ответы (2)

Мне кажется, что вы потеряли связь 0 вольт между обеими системами. Вы не можете сделать это с RS485 без использования специальных изолированных интерфейсов. Меня также немного беспокоят два последовательных резистора по 165 Ом на линиях передачи данных.

Можете ли вы объяснить, что вы имеете в виду? Как я могу потерять 0 вольт? Мой системный путь выглядит следующим образом: ПК-> USB-ключ-> RS485-> разъем на плате и т. д.
Измерьте 0 вольт на одном конце относительно 0 вольт на другом с помощью осциллографа и измерьте во время передачи. Я не собираюсь рассказывать о бесчисленных способах потери 0 вольт, поэтому мой совет — проверить.
Говоря об одном конце и другом конце, вы имеете в виду плату и землю во внешнем мире? Кроме того, было бы неплохо сказать несколько слов о том, как можно потерять 0 вольт ... В любом случае, спасибо за вашу помощь :0)
Между чипом maxim и ключом.

Извините за поздний ответ, глупый я, использовал активный зонд, который вызвал весь этот беспорядок. После перехода в обычный режим все заработало.