Slabina RS485 pro tyhle účely je <b>fyzická vrstva</b>
Je to kroucená dvojlinka, na které se při vysílání mění polarita. V neaktivním stavu je vysílač zakázaný a lajnu drží pullup/pulldown.
Co se stane, když začnou vysílat dva moduly najednou?
Co se stane, když mezi nima bude řekněme 100m kabelu a pět dalších prvků? Poznají vysílající kolizi, nebo na svým segmentu bude každý tlačit svou hodnotu?
Co bude na sběrnici, když jedno zařízení bude tlačit nulu a druhý jedničku?
Pokud má 485ka jet spolehlivě, tak potřebuje
a) Master, který se ptá ostatních, jestli mají co říct a při výpadku uzlu aplikuje timeout s přechodem na další. Právo vysílat má jenom master nebo po omezenou dobu jednotka, která je právě oslovená. Při chybě masteru jde systém do kytek.
b) Token ring, kde si podle pořadí jednotky předávají právo vysílat. Tam musí být vyřešeno, jak vyhodit ze systému mrtvou jednotku v rozumným čase...
Navíc je tam periodický probouzení všech procáků a non-stop traffic...
Efektivnější bývá CSMA/CD, ale na fyzickou vrstvu RS485 to nejde aplikovat.
Proto mám raděj CAN, do mailboxu se hodí zpráva a koho zajímá, tomu spadne do jeho mailboxu 1:1 a jenom přijde přerušení... Periferka říídí přístup k médiu, kontroly, prioritizaci zpráv,...