Отговори на тема  [ 42 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
RS-485 - странен китайски девайс 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: RS-485 - странен китайски девайс
На 232 idle му е 1-ца. И имаш старт бит 0. Можеш да свържеш ТX през rc и като засече 0 за 10 бита време активира 485 трансмитера - и всички са доволни и щасливи.

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Мар 04, 2017 11:54 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: RS-485 - странен китайски девайс
е, да. ама RC-то е силно зависимо от битовата скорост. за 300 бода е едно, за 115200 - друго.
аз не го харесвам това 'решение', мърляво ми идва малко, независимо, че се прилага.
може би за конкретна платка, която няма да сменя скоростите е приложимо, на универсална?

попадал съм на електромер от фирма с име, клас 0.1, за подстанции (цената е трицифрено число афро).
почваш да му говориш на 300 бода, после по протокол можеш да смениш на по-висока скорост, че иначе приказката се проточва в минутите докато си каже всичко. и като го включиш на 9600 почваше за губи байтове. управлението на трансмитера беше точно с RC.

иначе се бяха постарали за 485 интерфейса - галванично изолирано захранване на буфера, оптрони, защити. и им дожалял един пин на процесора и още един оптрон.


Съб Мар 04, 2017 12:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 2:21 am
Мнения: 12765
Местоположение: София
Мнение Re: RS-485 - странен китайски девайс
ДедоБоре написа:
е, да. ама RC-то е силно зависимо от битовата скорост. за 300 бода е едно, за 115200 - друго.
аз не го харесвам това 'решение', мърляво ми идва малко, независимо, че се прилага.
може би за конкретна платка, която няма да сменя скоростите е приложимо, на универсална?

Някой мощен микроконтролер, от типа PIC10F200, засича времето на старт, стоп или някой друг сгоден бит, и управлява предавателя.


Съб Мар 04, 2017 12:18 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Re: RS-485 - странен китайски девайс
Тук не обсъждахме ли същото viewtopic.php?f=3&t=12686 или не съм дочел?


Съб Мар 04, 2017 2:24 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: RS-485 - странен китайски девайс
ДедоБоре написа:
и... какво е решението без управление на 'посоката'?
посоката на кое? на 485 трансмитера ли? без да му вдигнеш пина DE не можеш да предаваш. как точно се управлява е въпрос на реализация, няма приет стандарт по въпроса.
или имаш предвид RTS на серийния порт?

и само да обърна внимание, DCB е приложимо само за Win

изразяваш се с недомлъвки и затова не разбирам проблема/въпроса


Благодаря за отговора!
Ивинявам се, явно не съм достатъчно подробен напоследък :).

Сега ще поясня по-подробно:
Тоя китайски модул няма нужда от управление на посоката и работи ОК (поне доколкото мога да преценя).
Под Win инициализирам Serial port с Handshakong NONE и работи.
Това значи, че в каквато и система (вкл ембедед) да се направи така, пак ще работи.

И сега моето предположение - посоката се определя от TxD: когато е 0 - предава, когато е 1 - приема.
(Edit: т.е. винаги, когато изходящото битче е 1, буферът е приемник. В частност, след стоповите битове си остава в приемник)


И СТИГАМЕ ДО ВЪПРОСА МИ:
Но, ако това е така, ЗАЩО в маса модули за RS-485 се ползва специален сигнал за посоката?

Под разни модули имам предвид - от чипове-трансивъри, до кутийки, който струват 100 и повече лв :))
(И, вкл, кактро каза един от колегите, в някои от "кутийките" има решения с конфигуриране на времезадръжка след вдигане на TxD в зависимост от скоростта на обмена, КОЕТО Е МНОГО, МНОГО лошо :))


Съб Мар 04, 2017 3:37 pm
Профил ICQ WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: RS-485 - странен китайски девайс
t_i_t_o написа:
Тук не обсъждахме ли същото viewtopic.php?f=3&t=12686 или не съм дочел?


Благодаря!

Да, прилича, и, ако колегата, който е задал там въпроса, ползва китайския опит, нямаше да му се налага да търси с кое да си управлява _RE и DE входовете на SN75176.

Едит: И да, накрая има и хубава схема :)

ЕДИТ: преди да постна тук потърсих със sеarch в целия форум (къде се среща "485"): но не попаднах на темата, която ми цитираш - МНОГО ЖАЛКО!


Съб Мар 04, 2017 3:43 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: RS-485 - странен китайски девайс
NikB, на осцилограмата на китайския не се вижда средно ниво на сигнала. Устройството или използва драйвери с висок импеданс когато не предава или не освобождава линията. Когато се иползват драйвери с pull-up, когато линията е свободна, има известно напрежение върху терминиращият резистор, което е със средна стойност между 1 и 0. От китайска гледна точка, по-евтино и просто е да се направи да е с pull-up-и, та и мен нещо ме съмнява, че не отпуска линията. В някакъв преведен datasheet на CH340 пише "Supports RS232, RS422 and RS485 with external level shifting components", та все пак какви са ти екстерналните компоненнти в твоето китайско чудо ?
Едит, сега се сетих, че винаги трябва напрежението върху терминиращия резистор да е двуполярно, т.е. каквито и да са драйверите когато се предава сигнал, напрежението да варира от - до + 5V а когато няма сигнал да е 0V или долу-горе по средата. На осцилограмата на китаеца го няма, така че не отпуска линията, а стои в режим предаване... Надявам се измерването на китаеца да е със товар 120 ом.

_________________
https://github.com/slav4ocom/


Съб Мар 04, 2017 4:35 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: RS-485 - странен китайски девайс
Постановката на снимката са две китайски устройства, свързани с две къси (30см) жици. Резисторът е един и е 180 ома (май).
Прав си, че не пада до средната точка, но двата си предават един на друг. Което значи, че всеки от тях успява да предава.
(Имам и снимка с предаване и от двете, но там пакетите се виждат като вертикални чертички, защото са кратки, а през Win забавянето е няколко милисекунди и заема 99% от времето.)

Това, че CH340 съпортва 485 означава или, че през RTS може да управлява посоката (да съпортва WinAPI DCB), или (подобно на FTDI) със собствената си библиотека да управлява pin-а.
Всички проби на обсъждания в темата китаец, са правени с обикновени терминали, без манипулиране на DCB (защото с тоя китаец не се налага).
А пробите с некитайските девайси са правени с друг терминал.


Съб Мар 04, 2017 5:08 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: RS-485 - странен китайски девайс
във форума се търси през гугъл.

FT232 може да работи в няколко режима. определянето на режима става през кофиг-прома, където сетваш VID, PID, име на продукта, сериен номер и т.н.
единия от режимите е 485 (различен от 232), при който, ако има нещо в ТХ регистъра се драйви трансмитера на буфера. май имаше и сетинг за някакво закъснение, да държи буфера след стоповия бит. колизия се детектктва, като държиш И приемника включен и проверяваш дали това, което пращаш, го получаваш същото. софтуера може еднозначно да определи по VID & PID че съответната серийна порта е именно 485 и буфера се драйви хардуерно и да не прави нищо за управлението му.

в старите/класически 232 (на дъното, примерно), няма сигнал за управление на 485 буфер. но посъщество RTS=Request To Send. предаващия, като има нещо за пращане, вдига тоя сигнал и приемника трябва да му върне CTS (Clear To Send) и чак тогава се почва предването. това се прави от софтуера. затова исторически се ползва именно RTS за управление на TX буфера на 485, но не е записано в нито един стандарт.

как е направено в китайското чипче, каво прави и дали се конфигурира - нямам идея.


Съб Мар 04, 2017 6:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: RS-485 - странен китайски девайс
Нещо не мога да схвана какво точно се опитваш да разбереш. Какъвто и да е трансийвър-а, винаги има сигнали за достъп до линията. Чрез тези сигнали се кофигурира посоката на изходните пинове на трансийвър-а. Представи си го като пин на контролер - можеш да го направиш вход или изход, но не и двете едновременно! Това че някой производители са се постарали и у-вото им има повече опции е бонус - колкото повече, толкова повече. При положение, че чайната си работи, нямаш право да се оплакваш!

_________________
www.elkran.com


Съб Мар 04, 2017 7:16 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение Re: RS-485 - странен китайски девайс
Ами не е точно така, има RS422, а и 485 конвертори които не им подаваш никакви сигнали, те се грижат сами за това. Обикновенно са точно за тази цел , да навържеш у-ва които са RS232 без да се грижиш да управляваш линиите, разбира се с определени специфики.


Съб Мар 04, 2017 9:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: RS-485 - странен китайски девайс
Тони, това че сами се грижат за себе си, не значи че не контролират посоката на изходите си! То това, че го прави самият конвертор е ясно, понеже USB има само D+/D-. Няма допълнителни пинове... Предполагам трябва да превключва само, когато предвата. Какво се случва ако възникне грешка, колизия и др. е съвсем друг въпрос...

_________________
www.elkran.com


Съб Мар 04, 2017 10:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: RS-485 - странен китайски девайс
То на USB не е ли разделено по време в слотове по 1ms ? И там компютъра е винаги мастър, всички устройства са слейв. И D+ и D- са пак диференциални сигнали, само че приликата с RS485 е само в това - с физическия носител.
Това китайското може да стои само в 1 или 0 и като му пратят нещо да детектва колизия както казва ДедоБоре и така да превключва на приемане. Ама щом си работи няма какво да го мислиш толкова :)

_________________
https://github.com/slav4ocom/


Нед Мар 05, 2017 12:21 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: RS-485 - странен китайски девайс
ДедоБоре написа:
във форума се търси през гугъл.

FT232 може да работи в няколко режима. определянето на режима става през кофиг-прома, където сетваш VID, PID, име на продукта, сериен номер и т.н.
единия от режимите е 485 (различен от 232), при който, ако има нещо в ТХ регистъра се драйви трансмитера на буфера. май имаше и сетинг за някакво закъснение, да държи буфера след стоповия бит. колизия се детектктва, като държиш И приемника включен и проверяваш дали това, което пращаш, го получаваш същото. софтуера може еднозначно да определи по VID & PID че съответната серийна порта е именно 485 и буфера се драйви хардуерно и да не прави нищо за управлението му.

в старите/класически 232 (на дъното, примерно), няма сигнал за управление на 485 буфер. но посъщество RTS=Request To Send. предаващия, като има нещо за пращане, вдига тоя сигнал и приемника трябва да му върне CTS (Clear To Send) и чак тогава се почва предването. това се прави от софтуера. затова исторически се ползва именно RTS за управление на TX буфера на 485, но не е записано в нито един стандарт.

как е направено в китайското чипче, каво прави и дали се конфигурира - нямам идея.


FT232 (примерно FT232H) може да работи (освен като 232,422,485) и като I2C и SPI и работи и без конфигурираща програма - с простичък DLL или Lib и един H файл, предоставен от FTDI, както и да е - това не е най-важното - само подчертавам, че го знам горе-долу :) - тия дни си играя с един кабел C232HM.

По-важното е, че за RTS не си съвсем точен,
Под Win RTS може да се ползва по три начина:
- да се управлява "ръчно" on/off (fRtsControl=1/0);
- пo описаният от теб начин за handshacke:
fRtsControl=RTS_CONTROL_HANDSHAKE (2)
"Enables RTS handshaking ...."
- Но може да работи и в по-особен режим - много подходящ за 485 - както вече писах, ако в DCB се зададе
fRtsControl=RTS_CONTROL_TOGGLE (0x03)
"Specifies that the RTS line will be high if bytes are available for transmission. After all buffered bytes have been sent, the RTS line will be low."


Основният въпрос се поизясни, но ОСТАВА ОТКРИТ: какви са недостатъците на работа, ако посоката се формира автоматично само за нулевите битове?
Може би по схемата постната в цитираната тема:
viewtopic.php?f=3&t=12686&start=15
download/file.php?id=7060


Нед Мар 05, 2017 1:08 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: RS-485 - странен китайски девайс
Като се замисля, може даже посоката да не се обръща изобщо. Просто като дойде отвън нещо, протича "ток на късо" ( ограничен до разумна стойност, разбира се) през изходния драйвер. Достатъно е да се следи тока на драйвера, за да се прихванат приходящи импулси.
Но аз исках, ако можеш да го отвориш, че ми е любопитно все пак какво са изпляскали вътре китайците...

_________________
https://github.com/slav4ocom/


Нед Мар 05, 2017 7:58 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 42 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни