Перейти к содержанию
    

Странное поведение схемы с RS-422 интерфейсом

В общем, требуется помощь телепатов. Ситуация такая. Есть две платы, одна из них - это клон CPC310 (x86 одноплатник), вторая - своя на STM32. Объединены через RS-422. Со стороны первой платы используется связка SCH3114 + LTM2881, на второй используется драйвер ADM3490E. Первый драйвер изолированный, второй нет. Первый имеет управление RE, DE, второй нет. У x86 платы есть особенность при работе с COM-портом, там размер FIFO равен 16 байтам, поэтому при передаче с неё на скоростях больших 115200 пакет "бьётся" по 16 байт с произвольными паузами, длительностью от 0 до нескольких байт.

Проблема следующая. При объединении земель - изолированной у LTM2881 и неизолированной у ADM3490E после драйвера ADM3490E на логической стороне на линии Rx появляются нулевые импульсы, длительностью до 0,5 мкс примерно. Появляются они строго после последнего стоп бита в пакете. На картинке ниже демо-пример, сняты логическим анализатором.

Здесь, как выглядит приём, если RS-422 без земли (115200 8-N-1).

photo_2023-01-24_15-48-29.thumb.jpg.e356b93d491ec395e8a3d832bff01716.jpg

 

Ниже то же, но с землёй. После 16 байта появляется короткий нулевой импульс. В конце посылки точно также (115200 8-N-1). См знак ! над байтами.

photo_2023-01-24_15-47-30.thumb.jpg.c9453d7a1f66f073ab55d7a2667956c0.jpg

 

 

Это разность A-B на линии RS-422, снятые осциллографом, без общей земли. Импульса нет, байт 0x16 в конце. Стоп бит почему-то короткий. Скорость 115200, dt = 86,8 мкс (байт помечен маркерами).
Последний байт в посылке не меняется и его можно увидеть выше на графиках, снятых логическим анализатором.
 

photo_2023-01-26_13-32-57.thumb.jpg.6bbe3db4aa76e0bfcb2f2ccc8c3a6694.jpg

 

Эта картинка - то же, что снято логическим анализатором, только теперь на осциллографе. Линия Rx у драйвера ADM3490E (со стороны STM32). Земли общие у драйверов и злополучный нулевой импульс есть.
Показан тот же байт 0x16 в конце посылки на скорости 115200. Драйвер обнаружил idle-режим и подтянул Rx в high состояние.
 

photo_2023-01-26_12-22-34.thumb.jpg.4e10a453c063e1f5314a16fb7adf662b.jpg

 

Непонятно откуда появляется этот импульс, который портит связь напрочь. Появляется строго после самых последних стоп-битов в посылке. Проверяли только одну сторону, т.к. подлезть к драйверу со стороны логики можно только у STM32. Замечено, что при замене одноплатника моксой (Moxa) таких проблем при приёме нет. Не все пакеты имеют такие импульсы на конце, а примерно половина из них. Пакеты передаются непрерывно с темпом около 20 пакетов в сек. Пробовали другие скорости передачи, проблема не исчезает.
У каждой платы свой БП.

Подозрение есть следующее. Когда LTM2881 перестаёт управлять передачей (отключает передатчик сигналом DE) Y-Z подтягивающими резисторами (которые есть по схеме) переводится в состояние с высоким уровнем. Из-за какого-то "перекоса", связанного с объединением земель, на короткое время разница A-B интерпретируется как нулевое состояние, в связи с чем появляется этот самый импульс именно в моменты окончания передачи части пакета.

Что-то похожее обсуждалось тут, но в обратную сторону: https://ez.analog.com/interface-isolation/f/q-a/561007/ltm2881-unexpected-logic-low-at-the-ro-output

Разводка RS-422 со стороны LTM2881 выглядит так:
 

cpc310.thumb.png.457bc6b948f06640077687f7edc25713.png

 

Со стороны ADM3490E стоит терминальный резистор, подтяжек нет.

Любые мысли по решению/обнаружению проблемы приветствуются.
 

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте использовать AC-терминацию вместо DC-терминации: поставте последовательно с резистором 120 Ом конденсатор 0,1 мкФ.
См. рис. 2.3 RS-422 and RS-485 Application Note (B&B Electronics).

И проверьте не перепутаны ли у вас подтяжки. Рекомендуют A - к земле, B - к питанию. Причем на стороне приемника.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Резисторы в подтяжке 2.2кОм  можно уменьшить до 1кОм или даже до 500_Ом.

Также для 422 485 в пром установках рекомендуется выравнивать потенциалы проводом нормального сечения, чтобы не было протекания токов по сигнальному кабелю. земли можно соединить через резистор, а не напрямую - это тоже разновидность выравнивания потенциалов. Посмотрите в эту сторону раз вокруг земли проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Zig сказал:

.... Рекомендуют A - к земле, B - к питанию. Причем на стороне приемника....

Рекомендуют, строго, наоборот: A - к питанию, B - к земле.

На приемнике (A, B) - обязательно, на передатчике (Y, Z) - желательно: Y - к питанию, Z - к земле.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорость  не очень высокая, поэтому растяжки важнее терминаторов (из опыта). Если правильно помню, то при терминаторе 130 Ом (не 120!) нужны 680 Ом.
Подключить дренажный проводник.

Подключить провод выравнивания потенциалов. Сечение 4-16 мм кв.

Зачем переключать режимы приёмников и передатчиков? Закончил передатчик работу, пусть оставляет на линии высокий уровень. Это же 422, а не 485.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем между землями установлен L13 в схеме?

По моему его надо убрать. Заменить на резистор, в крайнем случае.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, quark сказал:

Рекомендуют, строго, наоборот: A - к питанию, B - к земле.

Смотря кто.
См. B&B в рис. 2.4 RS-422 and RS-485 Application Note (B&B Electronics) рекомендуют A к земле, B к питанию. Тогда на выходн приемника будет единица - неактивный уровень UART.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, Zig сказал:

Смотря кто.
См. B&B в рис. 2.4 RS-422 and RS-485 Application Note (B&B Electronics) рекомендуют A к земле, B к питанию. Тогда на выходн приемника будет единица - неактивный уровень UART.

ADM3490E:  https://static.chipdip.ru/lib/559/DOC012559738.pdf

RS422.png.6a08a497f550dad2e501d08a01938d5d.png

У всех нормальных драйверов так.

Поэтому "подтяжки":  A - к питанию. B - к земле.  Y - к питанию. Z- к земле.

Тогда на выходе UART (RO) - будет единица.

P.S.

A - прямой (неинвертирующий) вход - он соответствует  прямому уровню UART.

B - инверсный (инвертирующий) вход - он соответствует инвертированному уровню UART.

Изменено пользователем quark
дополнение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Zig сказал:

См. B&B в рис. 2.4 RS-422 and RS-485 Application Note (B&B Electronics) рекомендуют A к земле, B к питанию.

bb1.png.22608d96c981c22836f0bdf5c5e4d26b.png

На этом рисунке прямые входы/выходы обозначены как B (вместо A), а инверсные входы/выходы обозначены как А (вместо В).

И так - почти во всем документе...

--------------------------

А здесь по-другому:

bb2.thumb.png.96b952dc98169595beed0b39601d511d.png

А здесь, вообще, непонятно, что:

bb3.thumb.png.c1dfdd4813dc3af81aa1e5f4dbd0edea.png

---------------------------------------------------------

Выбросьте в корзину этот "документ"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 31.01.2023 в 01:16, quark сказал:

Поэтому "подтяжки":  A - к питанию. B - к земле.  Y - к питанию. Z- к земле.

Злополучный импульс на приёме исчез после установки подтяжек на A-B у ADM3490E (со стороны мк). Сейчас всё заработало одновременно на приём и передачу. Тестируем на стенде. Наличие земли теперь никак не влияет на принятые данные. Наличие согласующего резистора пока тоже (1 м провод). Землю оставим, подтяжки тоже.

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только приехал из экспедиции, где удалял злополучные растяжки в устройствах. Наступил в одно и то же г... второй раз в жизни и больше не планирую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Arlleex said:

Только приехал из экспедиции, где удалял злополучные растяжки в устройствах. Наступил в одно и то же г... второй раз в жизни и больше не планирую.

Какого сопротивления растяжки? И сколько устройств? На одной паре сидело?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, vadimp61 сказал:

Какого сопротивления растяжки? И сколько устройств? На одной паре сидело?

Все трансиверы изолированные, соединение без земли, в каждом изделии растяжка по 510 Ом. 10 устройств. Расстояние порядка 350м.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, Arlleex said:

в каждом изделии растяжка по 510 Ом. 10 устройств.

Ужас! Это ж надо додуматься до такого.

3 hours ago, uni said:

Наличие земли теперь никак не влияет на принятые данные

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

 

В общем, всё как обычно: растяжки, дренаж- и взлетело.

Рекомендую разобраться с подключением экрана и провода выравнивания потенциалов корпусов, тогда ваще всё будет работать стабильно и без сбоев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сигнальной, да, земли - ее нет. К сожалению, ее как не было 20 лет назад - так и не будет. Только 2 витых провода - A и B.
 

Цитата

Ужас! Это ж надо додуматься до такого.

Изделия могут быть перетасованы с места на место, с объекта на другой несколько раз за сутки. Так что все изделия должны быть абсолютно одинаковыми конструктивно. С растяжечными костылями никто никогда не будет заморачиваться - а если на бумаге пропишешь техникам установку доп. манипуляций - схлопочешь еще проблем на ровном месте - кто-то забудет, кто-то умышленно не сделает то, что нужно и т.д. К чему весь этот гемморой, если проблема решается правильной организацией протокола?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...