Taigi RS-485 ar taip paprasta?

Jul 31, 2026 Palik žinutę

RS-485 apžvalga


Kaip ir RS-232, RS-485 yra nuoseklaus ryšio standartas. Dabartinis oficialus jo pavadinimas yra TIA-485/EIA-485-A, tačiau jis paprastai vadinamas RS-485 standartu. RS-485 plačiai naudojamas tokiose pramonės šakose kaip pramonės automatizavimas, automobilių pramonė ir pastatų valdymas.


RS-485 magistralė įveikia RS-232 trūkumus, pvz., trumpus ryšio atstumus ir mažą duomenų perdavimo spartą. RS-485 palaiko duomenų perdavimo spartą iki 10 Mbit/s, o teorinis ryšio atstumas yra iki 1200 metrų. Skirtingai nuo vieno galo RS-232 perdavimo, RS-485 naudoja diferencialinį perdavimą per porą vytos poros laidų, kurių vienas laidas žymimas A, o kitas B.


RS-485 fizinis sluoksnis


RS-485 fizinis sluoksnis yra atsakingas už neapdorotų duomenų perdavimą tarp įrenginių ir fizinės perdavimo terpės. Jis tvarko elektros signalų konvertavimą į skaitmeninius duomenis, taip pat apibrėžia įtampos lygius, laiką, duomenų perdavimo spartą ir kitus parametrus.

 

① Diferencialiniai signalai

Ilgo{0}}atstumo kabeliai silpnina signalą ir padidina triukšmo bei trukdžių tikimybę. Tai pasireiškia kaip įtampos amplitudės pokyčiai kabeliuose A ir B. Tačiau diferencialinių linijų naudojimo pranašumas yra tas, kad atėmus skirtumą tarp dviejų signalų, trikdžiai panaikinami, o tai leidžia išvesti normalų signalą. Diferencialinio imtuvo gebėjimas nepaisyti identiškų įtampų abiejose signalo linijose vadinamas bendrojo-režimo atmetimu.

02f4c218-c803-11ed-bfe3-dac502259ad0.png

 

031047e0-c803-11ed-bfe3-dac502259ad0.png

Standartas nurodo, kad logika 1 yra nuo +2V iki +6V, o loginė 0 yra nuo -6 V iki -2 V.

RS-485 nereikalauja konkrečios magistralės įtampos; atsižvelgiama tik į mažiausią skirtingą įtampą. Jei kabelis ilgesnis, imtuvo gaunama įtampa gali nukristi iki +/- 200 mV, o tai vis dar yra visiškai priimtina RS-485 – tai vienas iš RS-485 privalumų.

Daugelis siųstuvų-imtuvų atitinka ar net viršija TIA/EIA-485A standartą; tačiau praktikoje pirmenybė teikiama nurodytiems įrenginio parametrams. Pavyzdžiui, tam tikro siųstuvo-imtuvo minimalus neigiamas įvesties slenkstis yra -200 mV.

03301b4c-c803-11ed-bfe3-dac502259ad0.png

 

03445314-c803-11ed-bfe3-dac502259ad0.png

② Signalo apibrėžimai

Daugelis RS-485 keitiklių šiandien yra suderinami su RS-422, todėl šiuose keitikliuose dažnai matysite signalus, pažymėtus T/R+ ir T/R-, kurie atitinka RS-485 A+ ir B-.

 

 

DB9 moteriškų jungčių atveju RS-485 laidų apibrėžimas yra toks: 6–9 kaiščiai yra N/A ir neturėtų būti prijungti.

DB9 Išvesties signalas RS-422 dvipusis laidas RS-485 pusiau dvipusis laidas
1 T/R+ Siųsti (A+) RS-485(A+)
2 T/R- Siųsti (B-) RS-485(B-)
3 RXD+ Gauti (A+) Tuščia
4 RXD- Gauti (B-) Tuščia
5 GND Įžeminimo laidas Įžeminimo laidas

③ Topologija

RS-485 palaiko dviejų-laidų ir keturių{4} laidų konfigūracijas. Keturių-laidų konfigūracija apsiriboja ryšiu tarp taško-to{7}} ir šiandien retai naudojama; dažniau naudojama dviejų laidų konfigūracija. Ši konfigūracija naudoja magistralės topologiją, leidžiančią vienoje magistralėje sujungti iki 32 mazgų.

Kaip ir I²C, RS-485 magistralė veikia pagrindiniu-pavaldiniu režimu. Jis palaiko ir taškas{4}}to-vieno-pagalbos režimą, ir kelių-pagalbinį režimą, bet nepalaiko kelių šeimininkų režimo.

035cfae0-c803-11ed-bfe3-dac502259ad0.jpg

 

037c5d54-c803-11ed-bfe3-dac502259ad0.jpg

RS-485 siųstuvas-imtuvas

RS-485 naudoja diferencialinę transmisiją. Jei norite valdyti RS-485 įrenginį naudodami mikrovaldiklį, jums reikės siųstuvo-imtuvo, panašaus į CAN magistralę. Toliau pateiktoje diagramoje parodytas MCU, valdantis RS-485 įrenginį.

 

Siųstuvo-imtuvo viduje yra imtuvas (viršutinė pusė) ir siųstuvas (apatinė pusė). Toliau pateikiamas trumpas siųstuvo-imtuvo veikimo paaiškinimas, padedantis suprasti, kaip MCU bendrauja su 485 įrenginiu.

0396d684-c803-11ed-bfe3-dac502259ad0.png

 

Vidinė RS-485 siųstuvo-imtuvo struktūra

Kur:

A ir B yra autobusas;

R yra imtuvo įvestis;

RE yra imtuvo įjungimo signalas;

DE yra siųstuvo įjungimo signalas;

D yra siųstuvo išvestis;

Įgalinimo signalams tie, kurių linija yra virš raidės, yra aktyvūs-žemai (pvz., RE aukščiau esančiame paveikslėlyje), o tie, kurie neturi linijos, yra aktyvūs-aukšti (pvz., DE).

 

03acba6c-c803-11ed-bfe3-dac502259ad0.pngImtuvo tiesos lentelė

 

Siųstuvo tiesos lentelė yra tokia:

1. Kai tvarkyklės įjungimo kaištis DE yra logikos aukštyje, diferencialiniai išėjimai A ir B atitinka duomenų įvesties D loginę būseną. Aukšta logika, esanti ties D, A pakyla aukštai, o B – žemai. Šiuo atveju diferencinė išėjimo įtampa, apibrėžta kaip VOD=VA – VB, yra teigiama. Kai D yra žemas, išvesties būsenos keičiasi: B pakyla aukštai, A žemėja, o VOD yra neigiamas.

2. Kai DE žema, abu išėjimai tampa didelės-varža. Šiuo atveju loginė būsena D yra nesvarbi.

 

Imtuvui taikoma ši tiesos lentelė:

1. Kai imtuvo įjungimo kaištis (RE) yra žemo loginio lygio, imtuvas aktyvuojamas. Kai diferencinė įvesties įtampa, apibrėžta kaip VID=VA – VB, yra teigiama ir viršija teigiamą įvesties slenkstį VIT+, imtuvo išvestis R pakyla. Kai VID yra neigiamas ir mažesnis už neigiamą įvesties slenkstį VIT-, imtuvo išvestis R sumažėja. Jei VID yra tarp VIT+ ir VIT-, išvestis neapibrėžta.

2. Kai RE yra logiškai aukšta arba slankioji, imtuvo išvestis yra didelės varžos, nepriklausomai nuo VID dydžio ar poliškumo.

03c45672-c803-11ed-bfe3-dac502259ad0.png

Imtuvo tiesos lentelė

 

03dd2350-c803-11ed-bfe3-dac502259ad0.jpg

RS-485 duomenų jungtis

Aukščiau aptarę RS-485 siųstuvo-imtuvo veikimo principus, dabar trumpai apibūdinsime RS-485 duomenų ryšį. Pirmiausia galite pažvelgti į lengvai suprantamą UART protokolo kadro formatą.

Nepriklausomai nuo to, ar pagrindinis kompiuteris siunčia duomenis į pavaldinį, ar pagalbinis siunčia duomenis į pagrindinį įrenginį, naudojamos ir A, ir B linijos; todėl RS-485 paprastai naudojamas pusiau dvipusiu režimu.


Pagrindinio kompiuterio GPIO valdo RS-485 siųstuvo-imtuvo DE kaištį, kad nustatytų perdavimo režimą. Vienas baitas siunčiamas iš UART TXD linijos į RS-485 siųstuvo-imtuvo duomenų (D arba DI) liniją. Siųstuvas-imtuvas konvertuoja vieno galo UART bitų srautą į diferencinį bitų srautą A ir B linijose. Kai duomenys palieka siųstuvą-imtuvą, pagrindinis kompiuteris iš karto perjungia siųstuvą-imtuvą į priėmimo režimą.


Vergas veikia panašiai kaip pagrindinis. Vergas valdo RS-485 siųstuvo-imtuvo /RE kaištį, kad įjungtų priėmimo režimą, priima pagrindinio įrenginio siunčiamą bitų srautą, konvertuoja jį į vieno galo signalą ir priima jį per vergo UART RXD liniją. Kai vergas yra pasirengęs reaguoti, jis perduoda duomenis taip pat, kaip ir pagrindinis, o pagrindinis persijungia į priėmimo režimą.

 

RS-232 konvertavimas į RS-485


Galima konvertuoti tarp RS-232 ir RS-485. Vienas iš būdų yra konvertuoti RS-232 į TTL, o tada konvertuoti TTL į RS-485. Žinoma, yra ir lustų, kurie palaiko tiesioginį konvertavimą iš RS-232 į RS-485, o daug tokių modulių galima rasti internete.

RS-232 į RS-485 konvertavimo moduliai


Skirtumai tarp RS-485 ir CAN


Nors RS-485 neturi standartizuoto duomenų protokolo formato, jis turi daug panašumų su CAN magistrale. Pavyzdžiui, tiek A&B, tiek CANH&CANL yra diferencialiniai signalai; abiem komunikacijai reikalingi siųstuvai-imtuvai; ir abu naudoja 120 omų galinius rezistorius, be kitų panašumų.

 

Autobuso charakteristikos CAN autobusas Autobusas RS-485
Aparatinės įrangos išlaidos Šiek tiek aukščiau Nebrangus
Autobusų naudojimas Automatinis prioritetinis arbitražas, didelis panaudojimas Naudoja apklausas; mažas panaudojimas
Duomenų perdavimo sparta Aukštas Žemas
Klaidų aptikimo mechanizmai Valdiklyje yra kontrolinės sumos mechanizmas, užtikrinantis žemo lygio{0}}duomenų perdavimo tikslumą Tik fizinio sluoksnio specifikacijos; nėra duomenų ryšio sluoksnio specifikacijų
Vieno{0}}mazgo gedimo poveikis Jokio poveikio autobusui Autobuso paralyžius
Plėtros išlaidos Lankstus programinės įrangos kūrimas, mažos laiko sąnaudos Sunku vystytis
Sistemos kaštai Santykinai žemas Aukštas

Įprastos RS-485 grandinės

Čia yra įprasta RS-485 grandinė, kurią radau internete. Reikia atkreipti dėmesį į du dalykus:

1. Įjungimo signalus RE ir DE galima valdyti vienu GPIO, kad būtų taupomi ištekliai. Kai GPIO25 išveda aukštą lygį, RE ir DE yra 0 V, o įrenginys pereina priėmimo režimu; kai GPIO25 išveda žemą lygį, RE ir DE yra 3,3 V, o įrenginys persijungia į perdavimo režimą.

2. Kai kuriose grandinėse prie kaiščio A pridedamas traukimo-rezistorius, o prie B kaiščio - ištraukiamasis aukštas arba žemas lygis. UART turi išlaikyti aukštą lygį neveikiant; jei siųstuvas-imtuvas šiuo metu išveda žemą lygį, UART interpretuoja jį kaip pradžios bitą, o tai gali sukelti ryšio klaidų. Konkrečios R_u ir R_d reikšmės čia nebus išsamiai aptariamos; Ateityje planuoju parašyti išsamų straipsnį šia tema.

041d65e6-c803-11ed-bfe3-dac502259ad0.png

 

Kalbant apie antrąjį punktą, atkreipkite dėmesį į šiuos dalykus:

① Jei A kaiščiui pritaikysite ištraukiamąjį-rezistorių, o B kaiščiui – ištraukiamąjį

② Jei siųstuvas-imtuvas turi įmontuotus -įtraukiamus-aukščiausius ir ištraukiančius-žemyn rezistorius, nereikia pridėti išorinių.

Siųsti užklausą

whatsapp

Telefono

El. paštas

Tyrimo