Я разработал плату с микроконтроллером (NXP, K64) для управления вводом/выводом. UART-порт UC подключен к Maxim 3362, который преобразует сигнал в полудуплексную связь RS485. Используя протокол Modbus в uController, связь течет к разъему справа на схеме, оттуда к внешнему ключу RS-485 на USB (который подключается к главному ПК).
У меня возникли проблемы со связью, и я использую дифференциальный пробник и осциллограф для выборки линий Rx и Tx дифференциальной связи RS485 (на выходном разъеме платы, контакты 4 и 5 на рисунке). Я увидел следующую картину:
На картинке показано сообщение, отправленное с ПК на uController, прежде чем uCOntroller ответил — и ответил неправильно (с высоким RTS, как и ожидалось).
Как видите, внутри отправляемого сообщения есть единицы и нули. Нулевая логика имеет много колебательного шума, а единая логика кажется тихой.
Кроме того, перед началом сообщения ноль кажется нормальным. Это кажется немного странным, потому что, если бы на земле был шум, я бы заподозрил, что нулевая логика внутри сообщения и нулевая логика перед началом сообщения будут иметь шум (я также думаю, что «1» будет иметь шум), а не ноль. логика внутри сообщения одна...
Кроме того, у меня был один раз во время всех моих экспериментов, который работал, как и ожидалось (до сих пор он работал нормально в течение нескольких дней), см. следующее:
Как вы можете видеть на втором рисунке, «0» и «1» кажутся правильными, и эти изображения взяты с одной и той же доски.
это проблема платы, проблема компонента?
Я предполагаю, что это не относится к прошивке... Есть идеи?
Мне кажется, что вы потеряли связь 0 вольт между обеими системами. Вы не можете сделать это с RS485 без использования специальных изолированных интерфейсов. Меня также немного беспокоят два последовательных резистора по 165 Ом на линиях передачи данных.
Извините за поздний ответ, глупый я, использовал активный зонд, который вызвал весь этот беспорядок. После перехода в обычный режим все заработало.
Евгений Ш.
Рой.я
Евгений Ш.
Рой.я
Евгений Ш.
Рой.я
Евгений Ш.
Рой.я