Sw3.6-m10-1.2-Slajd15
CAN (ang. Controller Area Network)
Wiadomości przekazywane są przy pomocy ramek w formacie standardowym (CAN 2.0A) lub w formacie rozszerzonym (CAN 2.0B). Różnią się identyfikatorem - 11 lub 29 bitów (rys. 5) co pozwala na rozróżnienie bardzo dużej liczby wiadomości. Ograniczenie wynika jedynie z warstwy fizycznej. W praktyce znaczna długość identyfikatorów pozwala na kodowanie dodatkowych informacji dotyczących wiadomości lub węzłów (typ wiadomości, rodzaj sensora czy np. kod producenta). W sieci CAN nie ma adresowania konkretnych węzłów, a każda wysłana wiadomość może być odebrana przez dowolny moduł. Akceptacja danych zależy wyłącznie od ustawienia układu wyboru w odbiorniku węzła.
Ramka rozpoczyna się od bitu dominującego SOF (ang. start of frame). Dalej następuje pole arbitrażu, które jest wykorzystywane przy rozstrzyganiu ewentualnych konfliktów z dostępem do sieci oraz służy do identyfikacji wiadomości w sieci. Bit RTR rozróżnia ramkę z danymi (bit dominujący) od ramki zdalnej (bit recesywny). Format ramki określany jest przez bit IDE (bit dominujący - ramka standardowa, bit recesywny - ramka rozszerzona). Bit SRR wysyłany jest jako recesywny. Bity rezerwowe r0 i r1 są ustawione jako dominujące. Pole kontrolne definiuje liczbę bajtów danych. Zawartość DCL w zakresie 0..7 bezpośrednio równa jest liczbie bajtów, natomiast wartość 8..15 oznacza 8 bajtów. To umożliwia kodowanie dodatkowych informacji. Szczególne znaczenie ze względu na wiarygodność danych ma pole CRC. Bit 16-ty kończący to pole (ogranicznik) jest recesywny. Kontrola dla pól od SOF do pola danych (jeśli występuje) włącznie, realizowana jest przy pomocy kodu cyklicznego. Pole potwierdzenia (ACK) zawiera 2 bity: ACK i bit ogranicznika. Po wysłaniu ramki nadajnik wysyła 2 recesywne bity pola ACK. Odbiornik, który poprawnie odebrał wiadomość odpowiada w tym samym czasie dominującym bitem ACK. Dzięki temu nadajnik uzyskuje potwierdzenie, że przynajmniej jeden węzeł poprawnie odebrał wiadomość. Pole EOF składa się z 7 recesywnych bitów kończących ramkę.