Странная проблема с RS422

Нет ответов
doublehead
Offline
Зарегистрирован: 09.06.2016

Всем привет!

Коллеги, а вот не встречался ли кто с такой штуковиной?

Имеем Arduino Nano с RS422/RS485-TTL шилдом(YL-128). Подключаем это четырехпроводным RS422 с землей к пульту управления видеокамерами. Для общения с шилдом используем software serial на 10,11 пин. Скетч тупо читает побайтно что там нам шлет пульт и выводит на экран.

Видим примерно следующее

6E  75 D6 E5  0
6E  55 D9 56  B9  4B 95 9F E5  0
6E  75 76 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  75 76 56  0
6E  D5 59 AC  B9  4B 95 9F E5  0
6E  75 F6 56  0
6E  D5 59 AC  B9  4B 95 9F E5  0
6E  75 F6 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  55 F6 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  55 76 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  55 36 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  55 F6 56  B9  57 95 9F E5  B9  4B 95 9F E5 0
6E  55 F6 56  0

6E  55 59 56  B9  4B 95 9F E5  0
6E  75 D6 E5  0
6E  55 59 56  B9  4B 95 9F E5  0

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

6E, это STX, должно быть 0x02. 0 это ETX, должно быть 0x03. А например B9 - должно быть двоеточием, то есть 0x3A. Вообще команды должны быть в ASCII, то есть прямо вот так [STX]OSD:1234:2345[ETX]

Скорость, четность, стоповый бит и прочее везде совпадают. При подключении точно так же - другого пульта (другая фирма и другой протокол управления) данные нормально принимаются и отправляются. Пульты однозначно рабочие. Шилд тоже. Распиовки получены от производителя и 10 раз проверены.

Данные пробовал восстановить. Это не инверсия, не эндианность, не xor или какие-то другие логические операции. Больше всего похоже на табличную подстановку.

Чего с этим делать хз и где накосячил тоже не понимаю :) Может кто встречался с такой фигней?