LinkLab linka je dohoda, ne drát

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Diferenciální pár: proč to jde na kilometr

Všechny sběrnice z předchozích kapitol měří napětí proti zemi. To funguje, dokud je země na obou koncích stejná — a v průmyslové hale není. Mezi dvěma rozvaděči je klidně několik voltů rozdílu, a ten se přičte k signálu.

Řešení: neměřit proti zemi, ale mezi dvěma vodiči

Vysílač pošle po dvou vodičích opačné průběhy a příjemce se ptá jen na jejich rozdíl. Rušení, které naletí do kabelu, naletí do obou vodičů skoro stejně — a v rozdílu se odečte.

signál = UA − UBrušení se do obou vodičů indukuje stejně a vypadne

Proto se ty dva vodiče kroutí. Zkroucený pár má obě žíly střídavě blíž a dál od zdroje rušení, takže se indukované napětí v každém závitu obrátí a přes délku kabelu se vyruší. Není to kosmetika — je to celý princip.

proti zemi (UART, TTL)diferenciálně (RS-485)
rušenípřičte seodečte se
rozdíl zemípřičte sesnese ±7 V
délkametry1200 m při 100 kbit/s
vodičů1 na směr2 na směr

Kompromis mezi délkou a rychlostí

Delší kabel znamená větší zpoždění a víc útlumu, takže se musí zpomalit. Empirické pravidlo, které se pro RS-485 uvádí:

délka [m] × rychlost [bit/s] ≈ 108orientační pravidlo pro RS-485

Tedy 1200 m při 100 kbit/s, nebo 12 m při 10 Mbit/s. Ta samá linka, jen jinak provozovaná.

RS-485 je jen fyzická vrstva

To je věc, která mate: RS-485 neříká nic o tom, co se posílá. Neurčuje rámec, adresy ani kontrolu — jen napěťové úrovně a to, že na jedné dvojici vodičů může být víc vysílačů, kteří se střídají. Co po ní jede, určuje protokol nad ní: Modbus RTU, Profibus, DMX512 v divadle. Modbus RTU si s sebou nese CRC-16, a to je ta kontrola, kterou samotné RS-485 nemá.

Praktická past: na půlduplexní lince (dva vodiče, střídavě oběma směry) musí vysílač včas pustit linku, aby mohl odpovědět druhý. Přepnutí se dělá signálem, který ovládá budič, a když se přepne o kousek pozdě, uřízne se konec vlastní zprávy — nebo se ukousne začátek odpovědi. Je to nejčastější příčina „občas to vypadne“ na Modbusu.

Vzorce v této kapitole

L·v — délka × rychlost
L [m] · v [bit/s] ≈ 10⁸ [m·bit/s] kap. 10