daivermaster Posted April 13, 2023 Share Posted April 13, 2023 Здравствуйте. На линии должны работать всего два устройства: Uport 1250/1450 и устройство, в котором встроенный UART подключается через две любые микросхемы RS485/422 (К5559ИН10БSI, ADM485ARZ, ... ). МОХА принимает сигнал корректно. Но отправляемый сигнал не понимает ни осциллограф (с опцией декодирования) ни устройство (в котором микроконтроллер). Выяснил, что после отправки данных МОХА опускает уровень сигнала, а перед отправкой поднимает. Другое устройство (не МОХА) этого не делает и сигнал декодируется корректно и осциллографом и микроконтроллером устройства. Это единственное различие. Вопрос: как сделать чтобы МОХА постоянно держала высокий уровень? Link to comment
daivermaster Posted April 13, 2023 Author Share Posted April 13, 2023 На осциллограмме два разных устройства. Сверху МОХА, снизу другой модуль RS422/485. Передаются одни и те же данные. Пробовал на МОХА: setserial /dev/ttyUSBX port 0x2 setserial /dev/ttyUSBX port 0x3 не помогает. Link to comment
Знайка Posted April 13, 2023 Share Posted April 13, 2023 Добрый день. А мы говорим про RS-422 или про RS-485 4w? Link to comment
daivermaster Posted April 13, 2023 Author Share Posted April 13, 2023 Физическое соединение 4 провода (две дифф. пары ). Одна пара tx, вторая rx. Подключение по документации, как на картинке столбец RS422/4-wire RS-485. Прием работает. Передача нет. Не работает при установке: setserial /dev/ttyUSBX port 0x2 setserial /dev/ttyUSBX port 0x3 Проверено на двух устройствах: Uport 1250, Uport 1450 Осциллограмма с работающим устройством приведена выше. Вопрос: можно ли как-то переключить MOXA в режим, чтобы уровень был всегда высокий? Link to comment
Знайка Posted April 14, 2023 Share Posted April 14, 2023 И всё таки, в каком режиме находится UPort на осциллограмме в первом сообщении? Link to comment
daivermaster Posted April 14, 2023 Author Share Posted April 14, 2023 setserial /dev/ttyUSB1 port 0x3 # port 0x3 RS-485 4W попробую позже перепроверить Link to comment
Знайка Posted April 14, 2023 Share Posted April 14, 2023 Для RS-485 это нормальное поведение, как мне кажется. Сделайте, пожалуйста, похожую осциллограмму для RS-422. К слову говоря, самый простой способ сместить уровень - это использовать резисторы подтяжки. Link to comment
daivermaster Posted April 15, 2023 Author Share Posted April 15, 2023 Резисторы подтяжки не оказывают влияние. Поскольку уровень задается микросхемой. Они работают когда микросхема не определяет уровень. И да, я пробовал. Вопрос в том. Вы можете или не можете спросить об этой ситуации разработчика? Можно ли переключить устройство в режим постоянной передачи? Условно на шине находится только одно передающее устройство, все остальные (их может быть тоже одно) только принимают. На осциллограмме видно, что испорчены начало и конец, а центральная часть данных абсолютно корректны. Из-за испорченного первого бита, не верно декодируется вся последовательность. Для самостоятельной проверки достаточно взять любой микроконтроллер UART подключить к нему пару RS422/RS485 микросхем на прием и передачу и сравнить с работой MOXA. Вопрос в том как сделать так чтобы разницы не было, т.е. устройства работали одинаково. Если работают по-разному их не возможно использовать совместно, и приходится выбирать другие устройства для работы. Link to comment
Знайка Posted April 15, 2023 Share Posted April 15, 2023 Спросить можно, разумеется. И, я так думаю, мы это сделаем. Как только получим похожую осциллограмму для RS-422. И посмотрим для неё для начала, разумеется. Кстати ещё опишите, пожалуйста, как выполняется измерение, куда щуп, куда экран подключаете. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now