2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Работа MOXA UPort1150
Сообщение31.10.2024, 15:52 


17/10/16
4793
Нужно подключиться к одному устройству по RS232. Взял я MOXA UPort1150 и пытаюсь это сделать. При чтении данных с устройства это еще работает, а при попытке что-то в него загрузить устройство тестирует канал связи и неизменно выдает "Низкое качество канала связи". Видимо, боится, что загрузит в себя какой-нибудь мусор и станет кирпичом. Крайне редко удается что-то загрузить.
Я взял осциллограф и посмотрел, что имеется на линиях TX-GND (красный) и RX-GND (синий) у этой MOXA UPort1150:
Изображение
Видно, что посылка от MOXA в полтора раза меньше по амплитуде, чем ответ от устройства. В спецификации RS232 сказано, что минимальный уровень логических нуля и единицы - это +/-5 вольт. MOXA дает все по нижнему пределу, и даже еще меньше. Я так думаю, что в этом и проблема.
Раньше я вообще на осциллографе такие сигналы не смотрел. Такая амплитуда - это что, типично для подобных устройств? Может, есть другие, которые дают больше?
Вроде и линия короткая (3 метра).

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение31.10.2024, 16:36 
Аватара пользователя


11/12/16
13848
уездный город Н
sergey zhukov в сообщении #1660183 писал(а):
"Низкое качество канала связи". Видимо, боится, что загрузит в себя какой-нибудь мусор и станет кирпичом


Ничего оно не боится. Просто видит битые байты, о чем и сообщает.

sergey zhukov в сообщении #1660183 писал(а):
MOXA дает все по нижнему пределу, и даже еще меньше. Я так думаю, что в этом и проблема.

Да.

sergey zhukov в сообщении #1660183 писал(а):
Такая амплитуда - это что, типично для подобных устройств?

Нет. Судя по описанию, это какое-то универсальное поделие, под много вариантов физического уровня. И, погнавшись за универсальностью, они просохатили требования к уровням RS232, типа, "по нижней границе проходим".

sergey zhukov в сообщении #1660183 писал(а):
Может, есть другие, которые дают больше?


Делается это так.
1. Идем в магазин "Всё для дома". Там покупаем конвертер USB-UART(TTL), MAX232 и макетку.
2. На макетку впаиваем MAX232 и три конденсатора, согласно даташиту.
3. USB втыкаем в USB, UART(TTL) втыкаем в TTL входы/выходы MAX232, входы/выходы MAX232 с уровнями RS232 втыкаем в устройство.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 01:14 


17/10/16
4793
EUgeneUS
Странно, почему нечто подобное уже не встроено в эту MOXA. Она же не из самых дешевых.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 08:52 


22/11/17
19
Как-то очень давно (наверное 2007 год) сталкивался с тем, что была проблематика стыковки по RS232.
Выяснилось, что у производителя конкретного железа (hp dl320 или 370, подзабыл) выходные уровни "0|1" совершенно иные. Так что на подобные моменты тоже нужно обращать внимание.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 09:46 
Аватара пользователя


11/12/16
13848
уездный город Н
Никаких "иных уровней RS232" не бывает.

Путаница имеет следующую природу:
1. Есть RS232. Это стандарт на физический интерфейс. Для синхронной и асинхронной передачи данных. Там уровни определены однозначно.
2. И есть UART - процедура асинхронной передачи данных, а также чипы (и части чипов) её реализующие. При этом, уровни сигналов никак не определяются в описании процедуры, что понятно. На пинах чипов уровни стандартные для чипов, как правило это TTL (могут быть варианты, например, 5В, 3.3В, 3,3В устойчивый к 5В).
3. UART плюс преобразователи уровней в RS232 равно асинхронный порт. Тот самый COM-port.

Так вот. Часто необразованные личности вместо UART говорят "RS232", чем вносят путаницу. Это настолько сильно распространено, что легко попасть ногами в такой жир: купив конвертер "USB - RS232", вы легко получите конвертер "USB - UART(TTL)", а продавец даже не поймет сути претензий.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 10:37 
Заслуженный участник


20/08/14
11760
Россия, Москва
Не ±5В, а ±3В (иногда в качестве минуса принимают и лог.0, т.е. до +0.7В или даже до 0.3Vcc, хоть это уже и не по стандарту, зато позволяет не морочиться с отрицательным напряжением, и да, для этого варианта обычно добавляют суффикс TTL в обозначение), поэтому уровни ±5В и около (и даже ±3.3В) того должны работать корректно.

-- 01.11.2024, 10:47 --

Если бы байты были битыми из-за недостаточной амплитуды, то приёмник их просто не увидел бы, никаких, начиная прямо со старт бита, видел бы тишину в канале, а не битые байты.
Битыми они могут быть по причине некорректного бита стоп (слишком короткого, не 1 или 1.5 или 2) или неправильного бита чётности если он используется для контроля основного байта (что далеко не всегда, бывают туда суют адресацию устройств или деление потока на фреймы или вообще что угодно по смыслу). Или от сильного несовпадения скорости передачи (более примерно 3%) из-за неточности кварца (например его заменили на RC генератор) на любой из сторон.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 10:59 


22/11/17
19
Мной писалось про "выходные уровни "0|1" " , а не "иных уровней RS232".
Так вот менно эти уровни на hp - другие. И в этом нет ничего страшного. Просто особенность.

Ну Вы же внимательно смотрели картинку ТС?
Там уже +7,865 (что уже больше заявленных 5В)
и -7,286.
Т.о. амплитуда около 14 вольт.

Нет никакой путанницы - RS232 это конкретный физический интерфейс для UART.

(Оффтоп)

https://ru.wikipedia.org/wiki/RS-232
RS-232 (англ. Recommended Standard 232, другое название EIA232[1]) - стандарт физического уровня для асинхронного интерфейса (UART)
"Для" , а не вместо...


В некоторых случаях, например для DS1820, можно вообще без MAX'а обойтись.
Вся схема помещается прямо во внутрь корпуса стандартного разъема DB9 от RS232.
Работает десятилетиями...

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 12:09 


17/10/16
4793
Dmitriy40 в сообщении #1660257 писал(а):
Если бы байты были битыми из-за недостаточной амплитуды, то приёмник их просто не увидел бы, никаких

Ну, там на грани. Бывает даже, что и прогружается. Я иногда вижу пакеты запросов без обратного ответа. Наверное, так быть не должно. На линии есть помехи, отрицательная амплитуда импульсов бывает разная. Видимо, некоторые биты пропускаются, а другие - нет. И это ведь измерено на выходе из MOXA Uport1150, а что получает устройство у себя на входе - это я не могу измерить.

А вот, кстати, насчет скорости передачи. Осциллограф автоматически распознает ее, как 19 200. Наверное, так это и есть. В устройстве, по крайней мере, такая скорость выставлена. А вот в диспетчере устройств для MOXA тоже можно многие вещи менять (вид интерфейса, скорость передачи, контроль четности, число бит, стоповый бит). Но как-будто бы MOXA все равно, что я там выставляю, она всегда работает одинаково. Я хотел скорость передачи понизить, но не могу. Получается, скорость передачи задает ПО, которой я подключаюсь к устройству? Или само устройство?

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 12:16 


27/08/16
10195
sergey zhukov в сообщении #1660183 писал(а):
В спецификации RS232 сказано, что минимальный уровень логических нуля и единицы - это +/-5 вольт. MOXA дает все по нижнему пределу, и даже еще меньше. Я так думаю, что в этом и проблема.
Для передатчика. Для приёмника +-3, а на самом деле, возможно, ещё меньше. В большинстве приёмников просто стоит компаратор на одном транзисторе. Осциллограмма выглядит нормально.

Посмотрите на тайминги, стабильны ли. В устройстве опорный генератор кварцевый? Опорный RC генератор без калибровки, для UART обычно недостаточно точен.

-- 01.11.2024, 12:18 --

sergey zhukov в сообщении #1660275 писал(а):
Получается, скорость передачи задает ПО, которой я подключаюсь к устройству?

Вероятно. При открытии порта софтом можно задать скорость и все остальные параметры протокола.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 13:04 


22/11/17
19
sergey zhukov в сообщении #1660275 писал(а):
отрицательная амплитуда импульсов бывает разная.
Судя по всему есть не устойчивая логическая "1". Сам бы искал в этом направлении "что мешает там получить -5 (или -12В)".

(Оффтоп)

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

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 15:14 
Аватара пользователя


11/12/16
13848
уездный город Н
sergey zhukov в сообщении #1660275 писал(а):
Получается, скорость передачи задает ПО, которой я подключаюсь к устройству?


Оно и задаёт. Для ПО это всё выглядит, как системное устройство "COM-port", со всеми рулями по управлению параметрами UART. И при открытии устройства ПО инициализирует его как надо / как задано.

-- 01.11.2024, 15:18 --

Dmitriy40 в сообщении #1660257 писал(а):
Не ±5В, а ±3В


Это со стороны приемника. Передатчик обязан от 5В и выше (по модулю).
Вот на это и понадеялись разработчики MOXA. Мол, проходим. А иглока 1.5 вольта пролетела, и ага. Чек-сумма не сошлась.
Про тайминги. Вероятно, конечно. Но мне эта вероятность представляется мЕньшей.
Впрочем, в любом случае упираемся в то, что MOXA так себе RS232 изображает.

-- 01.11.2024, 15:19 --

Dmitriy40 в сообщении #1660257 писал(а):
или даже до 0.3Vcc, хоть это уже и не по стандарту, зато позволяет не морочиться с отрицательным напряжением, и да, для этого варианта обычно добавляют суффикс TTL в обозначение),


И эхх. Вот об этом я и писал выше, UART (TTL) не имеет никакого отношения к RS232 :wink:

-- 01.11.2024, 15:21 --

DemISdx в сообщении #1660263 писал(а):
https://ru.wikipedia.org/wiki/RS-232
RS-232 (англ. Recommended Standard 232, другое название EIA232[1]) - стандарт физического уровня для асинхронного интерфейса (UART)


Ерунда здесь написана.
RS232 может быть и асинхронный, и синхронный, а UART - асинхронный по определению.

-- 01.11.2024, 15:37 --

DemISdx в сообщении #1660280 писал(а):
Судя по всему есть не устойчивая логическая "1". Сам бы искал в этом направлении "что мешает там получить -5 (или -12В)".


Вот эти исследавания зачем? Чтобы что потом?
Чтобы заменить MOXA? Это и сейчас понятно.

-- 01.11.2024, 15:42 --

sergey zhukov в сообщении #1660275 писал(а):
На линии есть помехи, отрицательная амплитуда импульсов бывает разная.


Вот и недостающий кусок паззла. Небольшой размах сигнала (на грани требований стандарта) - небошьшой запас устойчивости к помехам - а помехи есть. Вот и бьются байты.
Как вариант, можно попробовать сделать провод из витой пары. Вот так, например:
Синий - TxD
Сине-белый - GND
Оранжевый - RxD
Оранжево-белый - опять GND

Должно немного помочь от наводок. Но нет гарантии, что все будет работать. Менять конвертер на вариант с нормальным уровнем сигнала будет надежнее.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 15:43 


27/08/16
10195
sergey zhukov в сообщении #1660183 писал(а):
Нужно подключиться к одному устройству по RS232. Взял я MOXA UPort1150 и пытаюсь это сделать.
Это ещё и в макете на столе всё происходит? В идеальном окружении без помех?

Проверьте качество соединений, особенно, земли: китайские штыри для макеток говно. И если всё нормально, разбирайтесь с клоком вашего устройства, от чего тактируется процессор.

-- 01.11.2024, 16:36 --

Про помехи с RS232 можете забыть, если земли нормально соединены и это происходит не вблизи мегаваттного мотора.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 17:47 


22/11/17
19
Есть возможность взять у кого-то другой преобразователь, но не от "UPort"?
По опыту бывало, что далеко не каждый преобразователь нормально работает сам по себе.

(Оффтоп)

К примеру чтобы подключиться к интерфейсному порту от SATA диска - нормально работает один из трех. Раньше, когда это стоило 300р за штуку, брал сразу три разных (чтобы не бегать потом), так только один нормально работает...

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 18:14 
Аватара пользователя


11/12/16
13848
уездный город Н
realeugene в сообщении #1660297 писал(а):
Про помехи с RS232 можете забыть, если земли нормально соединены и это происходит не вблизи мегаваттного мотора.


Тут и про RS232 полуправда, и про мотор полуправда. Итого, четверть-правда получается. :wink:

1. Если RS232 с нормальным уровнем сигнала, 12 вольт, например, то словить помеху $12-3 = 9$ вольт - это, конечно, сильно тяжелые условия должны быть. Но у тут-то не 12 вольт, а 5, и помеха в 2 вольта выбьет бит.

2. Если мотор бесколлекторный без каких-то инерторов для управления мощностью, то и от условно мегаваттного можно ничего не поймать. А от киловаттной коллекторной дрели, или от моторчика, который трехфазным меандром питается можно много интересного наловить. Ибо дэ-Фи по дэ-тэ.

 Профиль  
                  
 
 Re: Работа MOXA UPort1150
Сообщение01.11.2024, 18:20 


27/08/16
10195
Приёмники UART не тупые, они сами иглы фильтруют. А для длительной во времени помехи нужно потрудиться, если земли нормальные.

А вот запустить микроконтроллер от встроенного RC генератора и пытаться прошить по UART - это запросто.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 45 ]  На страницу 1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group