RS-485
EIA-485 (původně RS-485 nebo RS485) je standard sériové komunikace definovaný v roce 1983 sdružením EIA. Používá se především v průmyslovém prostředí. Standard RS485 je navržen tak, aby umožňoval vytvoření dvouvodičového poloduplexníhovícebodového sériového spoje. Má stejný základ jako standard RS232, od kterého se liší především jinou definicí napěťových úrovní, nepřítomností modemových signálů, možností vytváření sítí (též sběrnice) sestávající z až 32 zařízení a možností komunikace na vzdálenost až 1200m (proti 20m u RS232). Výhodou rovněž je, že linku RS485 je možné vytvořit z široce rozšířeného standardu RS232 pomocí jednoduchých převodníků úrovně.
Technické parametry
RS485 (stejně tak RS422) se vyznačuje dvouvodičovým propojením jednotek. Tyto vodiče se označují písmeny A a B, někdy se používá označení „-“ a „+“. V klidovém stavu by na vodiči A (neboli „-“) mělo být menší napětí než na vodiči B (neboli „+“). Maximální délka sběrnice je až 1200 m, maximální počet uzlů (tj. zařízení vysílajících a přijímajících po lince data) je 32. Při použití opakovačů může být počet uzlů vyšší. Maximální přenosová rychlost je nepřímo úměrná délce vedení. Přenosová rychlost u krátkých spojů (do 10 m) může být až 10 Mb/s. Při komunikaci na vyšší vzdálenosti musí být vedení na obou stranách zakončeno zakončovacími odpory, neboli terminátory. Smyslem "terminátorů" je zabránit odrazům signálu od konců vedení, rovněž pomáhají zvýšit odolnost linky proti rušivým signálům. Terminátor by měl mít v ideálním případě hodnotu 110 Ω (tzv.obrazová impedance), výsledná impedance linky je pak 55 Ω (110 Ω || 110 Ω).
Používané logické úrovně
Logické úrovně (nebo stavy) jsou reprezentovány rozdílným napětím mezi oběma vodiči. Je to rozdíl oproti RS-232, kde se úrovně stavů vztahují k referenční zemi (značené GND nebo G). Detekce logického stavu založená na rozdílovém napětí mezi oběma vodiči je výhodná zejména kvůli eliminaci indukovaného rušivého signálu, který se většinou přičítá k oběma vodičům stejně. Přijímač rozlišuje logický stav „1“ (také označovaný jako „Mark“) při rozdílu napětí A - B < -200 mV. Logický stav "0" označovaný jako „Space“ při rozdílu napětí A - B > +200 mV. Vysílač by měl na výstupu při logické 1 (klidový stav linky) generovat na vodiči A napětí -2 V, na vodiči B +2 V, při logické 0 by měl na vodiči A generovat +2 V, na vodiči B -2V.
I když se pracuje s rozdílovým napětím, při spojení na delší vzdálenosti se musí kromě signálových vodičů (RxTx+ a RxTx-) propojit i země (GND, G) komunikujících zařízení (viz např. specifikace Modbusu). Příčinou je, že ve vzdálených místech mohou existovat značné rozdíly v potenciálu "země". Proto je často "dvouvodičová" RS-485 ve skutečnosti spíše třívodičová a "čtyřvodičová" RS-422 spíše pětivodičová.
Přenos dat
Ukázka přenosu znaku 211 (hexadecimálně D3, dvojkově11010011). Nejprve je vysílán start bit, pak 8 bitů počínajeLSB, bez parity, nakonec stop bit
Přenos dat se uskutečňuje pomocí 7 nebo 8 bitových rámců se startbitem, 1 nebo více stopbity a případně i paritním bitem. Startbit je reprezentován logickou nulou, stopbit a neaktivní stav logickou jedničkou. Na úrovni logických signálů je tedy způsob přenosu znaku stejný jako u linky RS232.
Dvouvodičová verze RS-485
Pojmem RS485 je nejčastěji myšlena právě "dvouvodičová" verze RS485. Přenos je polo-duplexní a proto se vyžaduje řízení přenosu dat (směru komunikace). Pomocí dvouvodičové linky RS485 je možné vytvořit komunikační sběrnici, na kterou může být připojeno bez opakovače až 32 zařízení. Aby v jednom okamžiku vysílalo nanejvýš jedno zařízení, musí zajistit komunikační protokol, který však není součástí standardu RS485. Nejjednodušší variantou je konfigurace s jedním trvale připnutým vysílačem a až 31 přijímači. V obvyklé topologii se zařízení ve vysílání střídají.
Čtyřvodičová verze RS-485
V některých aplikacích se používá čtyřvodičová verze RS-485, která poskytuje plně-duplexní (obousměrnou) komunikaci a odpadá tak nutnost řízení směru přenosu dat. V podstatě jde o dvě dvouvodičové linky. Výhodou je logická kompatibilita se základními signály linky RS232. Nevýhodou je, že uskutečňované spojení je typu 1:1 (stejně jako u RS-232). V praxi se u čtyřvodičové linky používá i spojení 1:N, což předpokládá že slave zařízení mají schopnost odpojovat svůj vysílací kanál. Na takové lince je většinou jedno zařízení typu master, které posílá po vysílací lince příkazy a N zařízení typu slave, které přijímají příkazy a vysílají odpovědi. Výhodou je, že master nepotřebuje přepínat směr linky a také u zařízení typu slave jsou časové požadavky na přepínání linky a na vyhodnocování příchozích zpráv mírnější. Současně nehrozí, že by slave zařízení např. v důsledku chyby software mohlo zablokovat "příkazový kanál" celé sběrnice.
Praxe vs. standard
Určitou "dírou" ve standardu RS-485 je, že na rozdíl od RS232 nebyly definovány standardní konektory (a tedy ani standardní zapojení konektorů). Vzhledem k aplikaci v průmyslu, kde se mohou používat v závislosti na prostředí různé systémy konektorů by to bylo pravděpodobně nepraktické. Absence standardizace konektorů pravděpodobně přispěla k tomu, že někteří výrobci chybně přehazují signály A a B.
Dalším problémem je, že označení RS-485 a RS-422 bývají kvůli své podobnosti nesprávně používána.
Problémy se značením signálů
V praxi se u mnoha zařízení setkáme s přehozením značení datových vodičů A a B, které jsou pak opačně než je definuje norma. Je to pravděpodobně dané nesprávným označováním těchto signálů na obvodech budičů sběrnice RS485, které používají významní výrobci jako Texas Instruments, MAXIM nebo Intersil.
Některá zařízení proto raději místo značení A/B používají jednoznačnější (avšak nenormalizované) značení obsahující "-" pro vodič se zápornou klidovou úrovní a "+" pro vodič s kladnou klidovou úrovní, např. RxTx-/RxTx+, atp.