RS-485 Yleiskatsaus
Kuten RS-232, RS-485 on sarjaliikennestandardi. Sen nykyinen virallinen nimitys on TIA-485/EIA-485-A, mutta sitä kutsutaan yleisesti RS-485-standardiksi. RS-485:tä käytetään laajalti teollisuusautomaatiossa, autoteollisuudessa ja kiinteistönhallinnassa.
RS-485-väylä voittaa RS-232:n puutteet, kuten lyhyet tietoliikenneetäisyydet ja alhaiset tiedonsiirtonopeudet. RS-485 tukee tiedonsiirtonopeuksia jopa 10 Mbit/s ja sen teoreettinen tiedonsiirtoetäisyys on jopa 1200 metriä. Toisin kuin RS-232:n yksipäinen lähetys, RS-485 käyttää differentiaalista lähetystä parin kierretyn parin kautta, joista toinen on merkitty A:ksi ja toinen B:ksi.
RS-485 fyysinen kerros
RS-485 fyysinen kerros vastaa raakadatan välittämisestä laitteiden ja fyysisen siirtovälineen välillä. Se käsittelee sähköisten signaalien muuntamisen digitaaliseksi dataksi ja määrittää samalla jännitetasot, ajoituksen, tiedonsiirtonopeudet ja muut parametrit.
① Differentiaalisignaalit
Pitkän{0}}etäisyyden kaapelointi vaimentaa signaalia ja lisää kohinan ja häiriöiden todennäköisyyttä. Tämä ilmenee kaapeleiden A ja B jännitteen amplitudin muutoksina. Differentiaalilinjojen käytön etuna on kuitenkin se, että kahden signaalin välisen eron vähentäminen poistaa häiriöt, jolloin saadaan normaali signaali. Differentiaalivastaanottimen kykyä jättää huomioimatta identtiset jännitteet molemmilla signaalilinjoilla kutsutaan yhteisen -moodin hylkäämiseksi.


Standardi määrittää, että logiikka 1 on +2V - +6V ja logiikka 0 on -6V - -2V.
RS-485 ei vaadi tiettyä väyläjännitettä; se ottaa huomioon vain pienimmän erojännitteen. Pidemmillä kaapelipituuksilla vastaanottimen vastaanottama jännite voi pudota +/- 200 mV:iin, mikä on edelleen täysin hyväksyttävää RS-485:lle – tämä on yksi RS-485:n eduista.
Monet lähetin-vastaanottimet täyttävät tai jopa ylittävät TIA/EIA-485A-standardin; käytännön sovelluksissa laitteen määritellyt parametrit ovat kuitenkin etusijalla. Esimerkiksi tietyn lähetin-vastaanottimen negatiivinen tulokynnys on -200 mV.


② Signaalin määritelmät
Monet RS-485-muuntimet ovat nykyään yhteensopivia RS-422:n kanssa, joten näet usein näissä muuntimissa T/R+ ja T/R- merkityt signaalit, jotka vastaavat RS-485:n A+ ja B-.
DB9-naarasliittimille RS-485-johdotusmääritys on seuraava: Nastat 6–9 ovat N/A, eikä niitä tule kytkeä.
| DB9 | Lähtösignaali | RS-422 Full-Duplex johdotus | RS-485 Half-duplex johdotus |
| 1 | T/R+ | Lähetä (A+) | RS-485(A+) |
| 2 | T/R- | Lähetä (B-) | RS-485(B-) |
| 3 | RXD+ | Vastaanota (A+) | Tyhjä |
| 4 | RXD- | Vastaanota (B-) | Tyhjä |
| 5 | GND | Maadoitusjohto | Maadoitusjohto |
③ Topologia
RS-485 tukee sekä kaksi-johtimia että neljä-johtimia. Neljän-johtimen konfiguraatio on rajoitettu pisteestä-pisteeseen{7}}yhteyteen, ja sitä käytetään harvoin nykyään. kaksijohtimista konfiguraatiota käytetään yleisemmin. Tämä kokoonpano käyttää väylätopologiaa, joka mahdollistaa jopa 32 solmun kytkemisen yhdelle väylälle.
Kuten I²C, RS-485-väylä toimii isäntä-orjatilassa. Se tukee sekä pisteestä-pisteeseen-yhden-orjatilaa että monen-orjatilaa, mutta ei tue usean isäntälaitteen tilaa.


RS-485 lähetin-vastaanotin
RS-485 käyttää differentiaalisiirtoa. Jos haluat ohjata RS-485-laitetta mikro-ohjaimella, tarvitset lähetin-vastaanottimen, joka on samanlainen kuin CAN-väylä. Seuraava kaavio esittää MCU:ta, joka ohjaa RS-485-laitetta.
Lähetin-vastaanottimen sisällä on vastaanotin (ylempi puolisko) ja lähetin (alapuoli). Alla on lyhyt kuvaus lähetin-vastaanottimen toiminnasta auttaakseen sinua ymmärtämään, kuinka MCU kommunikoi 485-laitteen kanssa.

RS-485-lähetin-vastaanottimen sisäinen rakenne
Jossa:
A ja B ovat linja-auto;
R on vastaanottimen tulo;
RE on vastaanottimen aktivointisignaali;
DE on lähettimen aktivointisignaali;
D on lähettimen lähtö;
Aktivointisignaaleille ne, joissa on viiva kirjaimen yläpuolella, ovat aktiivisia-matalia (esim. RE yllä olevassa kuvassa), kun taas ne, joissa ei ole linjaa, ovat aktiivisia-korkeita (esim. DE).
Vastaanottimen totuustaulukko
Lähettimen totuustaulukko on seuraava:
1. Kun ajurin aktivointinasta DE on logiikan yläpuolella, differentiaalilähdöt A ja B seuraavat datatulon D logiikkatilaa. Logiikka korkea kohdassa D saa A:n menemään korkealle ja B:n matalalle. Tässä tapauksessa differentiaalinen lähtöjännite, joka on määritelty VOD=VA – VB, on positiivinen. Kun D on alhainen, lähtötilat käännetään: B menee korkeaksi ja A menee matalaksi ja VOD on negatiivinen.
2. Kun DE on pieni, molemmista lähdöistä tulee korkea-impedanssi. Tässä tapauksessa D:n loogisella tilalla ei ole merkitystä.
Seuraava totuustaulukko koskee vastaanotinta:
1. Kun vastaanottimen aktivointinasta (RE) on loogisesti matalalla, vastaanotin aktivoituu. Kun differentiaalinen tulojännite, joka määritellään muodossa VID=VA – VB, on positiivinen ja ylittää positiivisen tulokynnyksen VIT+, vastaanottimen lähtö R nousee korkeaksi. Kun VID on negatiivinen ja alle negatiivisen tulokynnyksen VIT-, vastaanottimen lähtö R laskee alhaiseksi. Jos VID on välillä VIT+ ja VIT-, tulos on määrittelemätön.
2. Kun RE on loogisesti korkea tai kelluva, vastaanottimen lähtö on korkea impedanssi VID:n suuruudesta tai napaisuudesta riippumatta.


RS-485 Data Link
Keskusteltuamme yllä RS-485-lähetin-vastaanottimen toimintaperiaatteista, kuvailemme nyt lyhyesti RS-485-tietolinkkiä. Voit ensin katsoa helposti ymmärrettävää UART-protokollakehysmuotoa.
Lähettääkö isäntä dataa orjalle vai orja isännälle, sekä A- että B-linjoja käytetään; siksi RS-485:tä käytetään tyypillisesti half-duplex-tilassa.
Isännän GPIO ohjaa RS-485-lähetin-vastaanottimen DE-nastaa ja asettaa lähetystilan. Yksi tavu lähetetään UART TXD -linjalta RS-485-lähetin-vastaanottimen datalinjalle (D tai DI). Lähetin-vastaanotin muuntaa yksipäisen UART-bittivirran differentiaaliksi bittivirraksi A- ja B-linjoilla. Kun data lähtee lähetin-vastaanottimesta, isäntä kytkee lähetin-vastaanottimen välittömästi vastaanottotilaan.
Slave toimii samalla tavalla kuin isäntä. Slave ohjaa RS-485-lähetin-vastaanottimen /RE-nastaa asettaakseen sen vastaanottotilaan, vastaanottaa isäntälaitteen lähettämän bittivirran, muuntaa sen yksipäätteiseksi signaaliksi ja vastaanottaa sen orjan UART RXD -linjan kautta. Kun orja on valmis vastaamaan, se lähettää dataa samalla tavalla kuin isäntä, kun taas isäntä vaihtaa vastaanottotilaan.
RS-232 muunnos RS-485:ksi
On mahdollista muuntaa RS-232:n ja RS-485:n välillä. Yksi tapa on muuntaa RS-232 TTL:ksi ja sitten muuntaa TTL RS-485:ksi. Tietenkin on myös siruja, jotka tukevat suoraa muuntamista RS-232:sta RS-485:een, ja monia tällaisia moduuleja on saatavana verkossa.
RS-232-RS-485 muunnosmoduulit
Erot RS-485:n ja CAN:n välillä
Vaikka RS-485:llä ei ole standardoitua dataprotokollamuotoa, sillä on monia yhtäläisyyksiä CAN-väylän kanssa. Esimerkiksi sekä A&B että CANH&CANL ovat differentiaalisignaaleja; molemmat vaativat lähetin-vastaanottimia viestintään; ja molemmat käyttävät 120 ohmin päätevastuksia muiden samankaltaisuuksien ohella.
| Bussin ominaisuudet | CAN Bussi | RS-485 linja-auto |
| Laitteistokustannukset | Hieman korkeampi | Halpaa |
| Linja-autojen käyttö | Automaattinen prioriteettiratkaisu, korkea käyttöaste | Käyttää kyselyä; alhainen käyttöaste |
| Tiedonsiirtonopeus | Korkea | Matala |
| Virheiden havaitsemismekanismit | Ohjaimessa on tarkistussummamekanismi, joka varmistaa alhaisen-tason tiedonsiirron tarkkuuden | Vain fyysisen kerroksen tekniset tiedot; ei datalinkkikerroksen määrityksiä |
| Yhden{0}}solmun virheen vaikutus | Ei vaikutusta bussiin | Bussi halvaus |
| Kehityskustannukset | Joustava ohjelmistokehitys, alhaiset aikakustannukset | Vaikea kehittää |
| Järjestelmän kustannukset | Suhteellisen alhainen | Korkea |
Yleiset RS-485-piirit
Tässä on yleinen RS-485-piiri, jonka löysin verkosta. On kaksi huomioitavaa:
1. Aktivointisignaaleja RE ja DE voidaan ohjata yhdellä GPIO:lla resurssien säästämiseksi. Kun GPIO25 lähettää korkean tason, RE ja DE ovat 0 V ja laite siirtyy vastaanottotilaan; kun GPIO25 antaa matalan tason, RE ja DE ovat 3,3 V ja laite siirtyy lähetystilaan.
2. Joissakin piireissä ylösvetovastus lisätään nastan A ja pull-alasvastus nastaan B. Pääsyy tähän on se, että kun RS-485-väylä on lepotilassa, jännitetaso ei ole kiinteä-ts. se vaihtelee välillä -200 mV:n ja -200 mV:n välillä. korkea tai matala taso. UART:n on säilytettävä korkea taso tyhjäkäynnillä; jos lähetin-vastaanotin tuottaa matalan tason tällä hetkellä, UART tulkitsee sen aloitusbitiksi, mikä voi aiheuttaa viestintävirheitä. R_u:n ja R_d:n erityisiä arvoja ei käsitellä tässä yksityiskohtaisesti; Aion kirjoittaa tästä aiheesta yksityiskohtaisen artikkelin tulevaisuudessa.

Toisen kohdan osalta huomioi seuraavat seikat:
① Jos käytät veto-ylösvastusta nastaan A ja veto-alasvastusta nastaan B, tiedonsiirto saattaa epäonnistua käänteisten yhteyksien vuoksi.
② Jos lähetin-vastaanottimessa on sisäänrakennetut -sisäänvetot-ylös- ja alasvetovastukset-, ulkoisia ei tarvitse lisätä.




