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