Witam!
Za namową grupowiczów zerknąłem sobie na specyfikacje CAN. Przeczytałem "Magistrala CAN" z EP z 2000. Wszysko łade i pięke, ALE:
1) Tylko 8 bajtów danych ? Na 8 bajtach cieżko jest nawet zrobić protokół wyższego rzędu, chyba że pozbyć się wszelkich informacji sterujących i przepychać ramki jedna za drugą licząć, że dojdą wszystkie (na ile scalak-kontroler upewnia mnie w tym ?). Interesuje mnie wyłacznie fragmentacja protokołu zbliżonego do UDP (nie ma strumieniowania, jeden pakiet UDP na raz dzielony na fragmenty).2) W tekscie z EP niejasno dla mnie opisano problem adresowania i wygląd ramki. Mam wobec tego takie pytanie: Czy można wysyłać ramki, gdzie w polu adresowym jest zarówno odbiorca jak i nadawca i jeszcze 8 bajtów danych ? Z rysunku w EP widze inaczej niż w tekscie.
3) 11 bitowy identyfikator - czy mozna to rozumiec jako rodzaj "portu" podobnie jak w UDP ? Tzn każde z urządzeń może byc adresowane przez swój adres (0-31) i dodatkowo _funkcja_ w tym urządzeniu przez idntyfikator 11 bit ?4) Czy dobrze rozumiem, że CAn ma w sobie coś w rodzaju broadcastu, czyli rozsyłania komunikatów pod konkretny "port" 11-bitwy do wszystkich urządzeń ?
5) CAN20B - czy mam rozumiec, ze ilośc urządzeń jest dalej 32, ale ilośc "portów" wzrosła do 29 bitów ? I co gorsza ilośc bajtów danych dalej 8 :( ?6) W opisie z EP zsastosowano SJA1000 - fajnie, bo jest w DIP i do kupienia, ale niefajnie bo: a) jest drogi (śjakieś 20 zł) b) wymaga zewnątrznego nadajnika/odbiornika
Czy istnieje zatem coś tańszego (implementującego wszystkie nowsze "rozszerzenia" standardu, jeśli takie istnieją) i jednocześnie ma w sobie nadajniki/odbiorniki ? (Nie pytam o separacje galwaniczną, bo chyba takich nie ma ;)
Więcej pytań nie mam na razie, ale pewnie się pojawią ...