Easyelectronics.ru

Электроника для всех
Текущее время: 19 окт 2019, 05:25

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 11:06 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Доброго времени суток.
Опять я со своими кривыми ручками...
В общем, на предприятии возникла проблема в одном приборе, в связи его по UART с компьютером. Алгоритм на приборе и на ПК был реализован чуть ли не 15 лет назад еще (не при мне, конечно же, было) и жил себе поживал, пока не приняли решение переходить на USB. Дали это задание мне. Казалось бы, что решать - поставить FTDI или CP2102 - и проблема решена. Но ни с той, ни с другой микросхемами пробблема не решилась. Дело в том, что при непосредственном подключении к ногам UART'а микроконтроллера вышеуказанных микросхем или подключении USB-COM переходника на клоне FTDI PL2303 связь либо отсутствует вообще, либо крайне кривая, и вместо данных на ПК приходит всякий мусор или нули. Если же между переходником и прибором включить длинный COM-кабель, тот связь тут же становится устойчивой. Начал рыться в исходниках и наткнулся на весьма странный, на мой взгляд, эффект: программа на ПК подает служебный символ, заранее согласованный с прибором (например, символ "5"), означающий переход прибора в режим передачи данных по UART. И тут же, в следующей строке пересылает прибору по UART BaudRate, на котором они общаться будут (выставляется узером в выпадающем списке заранее). Прибор же, приняв соответствующий символ "5", по switch...case переходит на строку приема Baudrate с ПК и загружает его в соответствующие регистры. При этом нет никаких обратных связей и сообщений от прибора о том, что он получил соответствующий символ и готов принимать Baudrate. Так вот - может ли именно отсутствие данной обратной связи приводить к влиянию длины COM-кабеля на качество передачи? Ведь, по сути, все сообщения до этого момента приходят на авось.
И если именно так и есть - можно ли внедрить какое-либо аппаратное решение проблемы? Ибо часть исходников безнадежно утеряна и в случае коррекции программ нужно с нуля переписывать, что в данной ситуации крайне нежелательно...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 11:49 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Дело не только в протоколе, возможно дело в кабеле. Вскройте его наконечники с обоих концов, посмотрите какие провода как подключены.
В переходниках USB<->COM используются только сигналы RxD, TxD, GND. Возможно в кабеле задействованы и другие, надо будет делать аналог нуль-модемного соединения.


Вложения:
COM.png
COM.png [ 7.62 Кб | Просмотров: 5444 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 11:58 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Кабель вскрывал и советовался с коллегами, уже знаю. COM-кабель заказной и полностью "леворезьбовый". На стороне прибора для Rx/Tx используются 2-й и 4-й контакты, остальные - для самопальных целей (подтяжка требуемых пинов МК на землю через перемычки и организация заряда батареи). На выходе, подключаемом к ПК используются только RX/TX на своих местах (2-й и 3-й пины) и GND (5-й пин). В самой программе на стороне ПК не используются никакие CTS/DTR и прочие рукопожатые алгоритмы.
Так что, это тупо 3 проводка, соединяющие COM компьтера с RS-232 прибора. Остальное для нестандартных целей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 12:33 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Так понимаю у переходника USB<->COM на стороне COM стоит разьем папа. У бывшего кабеля COM на стороне компьютера тоже папа. И если их соединить переходником мама<->мама это перестает работать?
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 12:39 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
У бывшего кабеля COM на стороне ПК тоже папа же.

Ситуация такая:
1)Прибор <->COM-USB переходник<->USB-хост - не работает;
2)Прибор <->COM-кабель<->COM-USB переходник<->USB-хост - работает.
Следует отметить, что в первом варианте между COM-USB переходником и прибором вставлялся переходник мама-папа с модифицированным нутром под нужды прибора. Но это не помогает, конечно же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 12:44 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Ну правильно, я поспешил с этими папой/мамой, ошибся.
Цитата:
>>На выходе, подключаемом к ПК используются только RX/TX на своих местах (2-й и 3-й пины) и GND (5-й пин).
>>2)Прибор <->COM-кабель<->COM-USB переходник<->USB-хост - работает.

Чем такая конфигурация не подходит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 12:50 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Тем, что возникло задание: избавиться от COM-кабеля вообще. Чтобы не было ни порта, ни кабеля. А был цивилизованный USB. Ибо с кабелями/портами сейчас напрыяженка, дорого обходится производству их еще отдельно покупать и допиливать.
А так - одна микросхема и минимальный обвяз. Но увы - не вяжется. И дело, как мне кажется, в алгоритмах... Вот и спрашиваю...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:02 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Дело не в алгоритмах, дело в нестандартном СОМ кабеле. И работа эта не для программиста, а для электронщика. Как я сразу и подумал, на приборе нестандартное использование/расключение СОМ порта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:08 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Хорошо - я не чисто программист, я здесь какгбэ тоже на правах стажирующегося инженера-электронщика. И понимаю, что дело не в программе. Там уже ничего не исправить. Тем более, что насколько знаю - по уму никто не делает программную связь без ответов на запросы. Даже по UART.
Что можно сделать на аппаратном уровне в данном случае?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:14 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Перепаять COM разьем на переходнике USB<->COM, чтобы он обеспечил логику работы прибора с сохранением связи по COM...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:17 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Так задача-то - вообще избавиться от COM. В идеале - чтобы чистый UART преобразовывался сразу же в USB. И отправлялся по USB.
И да. Все переходники - будь то просто папа-мама или COM-кабель - уже перепаяны под нестандартное применение. Вся соль в том, что с переходником - не работает. А с длинным кабелем - работает. При том, что у обоих распиновка приведена к той, что в приборе используется. И согласована с переходником.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:25 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Как то мутно вы обьясняете.
У вас работает
Цитата:
Прибор <->COM-кабель<->COM-USB переходник

COM-кабель сократите до N миллиметров. Переходник тоже. Уберите их внутрь прибора. На место разьема СОМ поставьте USB-B. И подключайте прибор стандартным кабелем USB-A<->USB-B.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:32 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
anakost писал(а):
COM-кабель сократите до N миллиметров

Здесь-то и вся загвоздка! Если сократить - связь теряется. Либо крайне неустойчивая. Куда уж яснее-то объяснять?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:40 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4098
Откуда: г. Липецк
Не бывает такого, длина СОМ кабеля по стандарту до 15 метров. Чем кабель короче, тем больше достижимая скорость соединения. Исключений не встречал. Вы в своем коротком кабеле выполняете все те подключения, что были в старом длинном?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:43 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Да, точно такие же.
Да и вообще - что может быть проще, чем подключить UART микроконтроллера напрямую к микросхеме CP2102? Или к FTDI? Но нет - сигнал неустойчивый. Хост принимает кашу. Либо вообще ничего.

Причем, аргумент в пользу того, что проблема в алгоритме. Хост отправляет сигнал для того, чтобы Мк передал т.н. "заголовок" - общую информацию о приборе. Ее хост принимает чаще всего благополучно. После начинается тот самый алгоритм, что я описал в самом начале. И уже на нем начинаются затыки в виде описанной проблемы. Я тут не выдумывал ничего - все так и есть... Сам уже сижу и не знаю, что делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:49 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 3302
Оно конечно может и бред полный, а если разработчик прибора рассчитывал на определенную длину шнура и соответственно входную схему рассчитал, значения там резисторов и конденсаторов? И в результате при изменении длины кабеля меняются частотные характеристики, наводки там появляются или еще что.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:51 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Спросил только что разработчика... Он не знает. Хоть он и курирует работу этого прибора - разрабатывал его человек, связи с которым безвозвратно потеряны. Никто не знает.
А вся входная схема - это лишь преобразователь TTL-RS232 с 4-мя конденсаторами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:54 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1118
Откуда: Default city
1) Заземление.
Очень тщательно проверьте, что компьютерный корпус и ноль девайса надёжно соеденены.
2) Осциллограф есть? Стоило бы глянуть поведение ног на старой схеме (где только СОМ порт), и на то, что получается после установки переходника.

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:56 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
dekar писал(а):
1) Заземление. Очень тщательно проверьте, что компьютерный корпус и ноль девайса надёжно соеденены.


С заземлением тут и впрямь плохо - нужно будет перепроверить действительно.

dekar писал(а):
2) Осциллограф есть? Стоило бы глянуть поведение ног на старой схеме (где только СОМ порт), и на то, что получается после установки переходника.

Спасибо за совет, надо будет поклянчить у коллег осциллографи и действительно глянуть, как оно себя ведет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 13:57 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1118
Откуда: Default city
sdv_cyborg писал(а):
Спросил только что разработчика... Он не знает. Хоть он и курирует работу этого прибора - разрабатывал его человек, связи с которым безвозвратно потеряны. Никто не знает.
А вся входная схема - это лишь преобразователь TTL-RS232 с 4-мя конденсаторами.

3) подцепить ftdi вместо "преобразователь TTL-RS232 с 4-мя конденсаторами" - max232. Выпаять из девайса max и к его TTL input /TTL output припаять проводками TX/RX FTDI. Если заработает - убирать линию +- 15 V пообще.

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 14:00 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
dekar писал(а):
3) подцепить ftdi вместо "преобразователь TTL-RS232 с 4-мя конденсаторами" - max232. Выпаять из девайса max и к его TTL input /TTL output припаять проводками TX/RX FTDI. Если заработает - убирать линию +- 15 V пообще.


Вот это, кстати, вариант - попробовать такой способ. Заодно просмотреть осциллографом всю линию...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 14:05 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3440
sdv_cyborg писал(а):
Так задача-то - вообще избавиться от COM. В идеале - чтобы чистый UART преобразовывался сразу же в USB. И отправлялся по USB.

Т.е. ты хочешь убрать преобразование UART`а в RS232 и обратно? В принципе проблем не должно быть - смотри только, что бы лог. уровни UART`а мк и моста были одинаковы. У cp2102 лог. уровень ЕМНИП фиксированный на 3.3В, у ftdi в зависимости куда подключена нога VCCIO.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 14:07 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2028
Откуда: Киев
Попробую тоже пованговать. Все эти usb-com переходники в реале работают с ttl уровнями ( а то и 3.3 вольт). А тут прибор вроде как на настоящий com порт рассчитан (+/- 12 В). Может добавили кабель, не много согласовали линию воти работает. Короче на всякий случай, надо проверить уровни в разных комбинациях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 14:08 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
яверт писал(а):
В принципе проблем не должно быть

А они как раз-таки есть...
яверт писал(а):
Смотри только, что бы лог. уровни UART`а мк и моста были одинаковы.

Эта проблема уже решена согласованием уровней. Через двойной транзисторный ключ в одну сторону и диод Шоттки - в другую.
Взято из сообщества и из статьи DI HALT'а про модуль RC1240


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема согласования связи приборов по UART
СообщениеДобавлено: 05 окт 2015, 14:13 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 367
Signaller писал(а):
Попробую тоже пованговать. Все эти usb-com переходники в реале работают с ttl уровнями ( а то и 3.3 вольт). А тут прибор вроде как на настоящий com порт рассчитан (+/- 12 В). Может добавили кабель, не много согласовали линию воти работает. Короче на всякий случай, надо проверить уровни в разных комбинациях.


Увы, они до этого не догадались... Серьезно. Они даже не знали, что такая проблема может быть.
А переходник на микросхеме PL2303. У ней вроде как 5 вольт. И еще на плате переходника стоит какая-то микросхема, котогрую пока еще не идентифицировал. Судя по всему - как раз преобразователь RS232 в TTL для PL2303.


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

Часовой пояс: UTC + 5 часов


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB