Asynchronni seriak a fyzicka vrstva CAN - napad.

Jiri Bezstarosti jiri@bezstarosti.cz
Neděle Srpen 12 12:05:11 CEST 2007


Zdravim.

Potrebuji levne natahat neco jako RS485 v systemu po dvou dratech. Jenze 
u RS485 musim prepinat smery a nebo pouzit 2 pary dratu. Protoze se mi 
to nelibi (a zeslozituje to implementaci), napadlo mne, ze v sytemu neni 
nic, co by melo byt kompatibilni s cimkoli a mohu si vymyslet komunikaci 
naprosto jak se mi zlibi.

Takze mne napadlo pouzit fyzickou vrstvu CAN a prenaset po tom 
asynchronni seriak. Jak ? No proste pripojim TXD a RXD do MCP2551, pak 
taham ty dva CAN draty po celem zarizeni a kazda cast ma tu MCP2551 pred 
TXD a RXD.

Vyhody:
Nemusim prepinat smer a mohu komunikovat po odolne sbernici.
Mohu komunikovat na pomerne velke vzdalenosti i po 2 levnych zkroucenych 
dratech.
Je to dost rychle, rekneme az megabity, pokud to seriaky pouzitych MCU 
zvladnou.
Cenove srovnatelne s kombinaci MAX232 a kodany (dejme tomu, ze je to 2x 
tak drahe).
Mohu pripojit opravdu mnoho zarizeni na jednu sbernici.
Zvladne to kazdy laciny MCU se seriakem, zadne naroky na superspecialni 
periferie.

Nevyhody:
Asi to neni s nicim kompatibilni, pokud ten napad uz nemel nekdo prede mnou.
Neco to pri komunikaci zere, ale v ramci odolnych a prumyslovych reseni 
je to zanedbatelne.

Proc mne to napadlo ? Je to zpusob, jak ve vetsim robotu ridit periferie 
a sledovat stavy nekterych cidel. Zrovna tak by se tim ale dala rozvest 
sbernice i po baraku a pritom nepotrebuji drazsi MCU s CAN, ale mohu 
pouzit i jednochipaky za par kacek a nakonec treba i se soft seriakem 
(ne vsude potrebuje clovek megabitove komunikace), cimz mohu ridit 
periferie, ktere by toho jinak ani nebyly hodny ;).

Davam to do placu jako napad, aby to nestihl nejaky s prominutim idiot 
patentovat, protoze zde je pomerne prokazatelne, kdy jsem s tim prisel ;))).

--
Jiri Bezstarosti
siliconbrain




Další informace o konferenci Hw-list