RS-485 - co je zapotřebí k řízení přenosu?

Jen pro upřesnění CAN :wink:

CAN je určen stejně jako 485 do velmi nepříznivých podmínek, míra jeho zabazpečení je na vynikající úrovni. CAN je však primárně určen pro víceprocesorovou komunikaci a tím, že vyslanou zprávu přijímají všichni a zpracovává ji jen ten, kterého zajímá. Je zde vyřešeno určování priorit. Asi by se ti nelíbilo, kdyby ti selhalo ABS nebo vystřelil airbag za jízdy jen tak… Myslíš, že by to využívali v autech, kdyby to nebylo spolehlivý?

Použít 485 jako multimaster můžeš, jen je potřeba mít zkratuvzdorný budiče a během vysílání komunikaci sledovat. To znamená při použití např. SN75176A nevypínat přijímač a stále sledovat, zda ti na lince někdo nezměnil stav. Bohužel u 485 nelze určit logickou hodnotu na sběrnici když se budou 2 drivery přetahovat.

Osobně bych asi radši pro multimaster využil CAN drivery a budil je uartem (sw CAN protokol bude pro mcu docela fuška). Tam je totiž přesně definováno, co se stane při vysílání více uzlů zároveň. Toho se využívá pro zjištění, jesli máš volno a jesli ti do komunikace někdo nezačal kecat později po zahájení přenosu.