Magistrala CAN
Najczęściej stosowaną siecią transmisji danych w obecnie produkowanych pojazdach samochodowych jest magistrala CAN-Bus (CAN – Controller Area Network – sieć obszaru urządzeń sterujących). Ta sieć transmisji jest magistralą szeregową, w której każdy sterownik może niezależnie wysyłać i odbierać informacje. Zarządza ona większością sterowników w samochodzie, nawet tymi odpowiedzialnymi za bezpieczeństwo jazdy, pracę silnika i układu przeniesienia napędu, a także diagnostykę pokładową.
W magistrali transmisji danych CAN stosowane są cztery prędkości przesyłania informacji:
n poniżej 10 kB/s – komunikacja elektroniki Chassis (światła, kierunkowskazy, siłowniki lusterek, centralny zamek);
- około 40 kB/s – urządzenia wymagające szybszej transmisji (klimatyzacja);
- od 250 kB/s do 1 MB/s – urządzenia wymagające przesyłania danych w czasie rzeczywistym (silnik i układ przeniesienia napędu oraz układy odpowiedzialne za bezpieczeństwo jazdy);
- od 100 kB/s do 10 MB/s – transfer bardzo dużej ilości danych (komunikacja multimedialna).
W skład sterownika magistrali CAN wchodzi mikroprocesor oraz układy scalone kontrolera i przekaźnika (transceiver). Przekaźnik jest układem nadawczo-odbiorczym. Oba układy zarówno kontroler, jak i przekaźnik odpowiedzialne są za formowanie komunikatów właściwej postaci oraz proces komunikacji z samą magistralą. Sterownik przetwarza informacje, które mikroprocesor w postaci polecenia sterowania wysyła do innych urządzeń sterujących magistrali, tworząc protokół danych i przekazuje go dalej do urządzenia nadawczo-odbiorczego. Układ nadawczo odbiorczy przekształca dane ze sterownika na sygnały elektryczne i wysyła do magistrali danych.
Zadaniem układu nadawczo-odbiorczego jest również odbiór sygnałów elektrycznych z magistrali. Układ przesyła je do sterownika, w którym po przefiltrowaniu danych z protokołu następuje przekaz informacji do mikroprocesora urządzenia sterującego. W sytuacji, gdy urządzenie sterujące stwierdza, że dane odnoszą się do jego pracy następuje proces ich przetwarzania. Wszystkie sterowniki podłączone do magistrali CAN muszą się porozumiewać ze sobą. Aby mogło to się odbywać bez zakłóceń, niezbędny jest specjalny protokół danych, który określa precyzyjnie jakie dane, w jakiej kolejności i w którym momencie mogą być przesyłane. Protokół danych zawiera dużą liczbę bitów ustawionych jeden za drugim. Taki protokół komunikatu, wysyłanego przez sterownik nazywany jest ramką danych. W skład ramki wchodzi osiem pól, które występują bezpośrednio po sobie. Sygnały pojawiające się w ramce danych to bity recesywne o wartości logicznej “1” (high level) i bity dominujące o wartości logicznej “0” (low level).
1 – Pole startowe
2 – Pole statusu
3 – Pole kontrolne
4 – Pole danych
5 – Pole zabezpieczenia
6 – Pole potwierdzenia
7 – Pole końcowe
8 – Przerwa pomiędzy ramkami danych
1 - ramka protokołu danych rozpoczyna się od pola startowego (Start of Frame), które określa początek komunikatu bitem dominującym, wywołującym synchronizację wszystkich podłączonych sterowników. Pole to zajmuje 1 bit;
2 – kolejnym elementem ramki jest pole statusu (Arbitration Field). W polu tym podawany jest identyfikator informacji, a także określony priorytet komunikatu (priorytet jest tym większy, im mniejsza wartość). Pole to zajmuje 11 bitów;
3 – następnym fragmentem jest pole kontrolne (Control Field), określające liczbę informacji zawartych w następnym polu danych ramki. Zawiera również dane czy sterownik wysyła, czy żąda danych. Pole to zajmuje 7 bitów;
4 – jest to pole danych (Data Field), zawierające informacje niezbędne do pracy urządzeń sterujących. Długość pola danych może zajmować od 0 do 64 bitów;
5 – kolejny fragment ramki danych to pole zabezpieczenia (Cyclic Redundancy Check – kontrola za pomocą redundancji cyklicznej, służące do rozpoznawania zakłóceń podczas transmisji). Pole zawiera 16 bitów;
6 – to pole potwierdzenia (Acknowledge Field), informujące o prawidłowym odbiorze komunikatu przez sterownik, który był adresatem informacji. Otrzymanie informacji przez sterownik sygnalizowane jest poprzez wysłanie z niego bitu dominującego “0”. W sytuacji, gdy bit ten nie przybywa, wysyłające urządzenie sterujące zakłada, że wystąpiła usterka transmisji i powtarza swój komunikat. Potwierdzenie odbioru przez urządzenie wysyłające następuje przez wysłanie bitu recesywnego “1”. Pole to zawiera 2 bity;
7 – to pole końcowe (End of Frame), informujące o końcu komunikatu. Pole to zawiera 7 bitów;
8 – to pole tzw. spacji międzyramkowej (Inter Frame Space), umożliwiającej umieszczanie jednej ramki za drugą. Jest to czas na poprawne wprowadzenie odebranych danych. Pole to zawiera 3 bity. Każde urządzenie sterujące podłączone do magistrali danych CAN wysyła 11--bitowy kod, składający się z “0” i “1” (“0” jest bitem dominującym”). W przypadku gdy tylko jedno urządzenie sterujące wysyła “0”, poziom magistrali zostaje sprowadzony do “0”, nawet gdy wszystkie pozostałe urządzenia wysyłają “1”. W tej sytuacji każde urządzenie sterujące porównuje swój wysłany bit z bitem na magistrali. Jeśli jakieś urządzenie sterujące wysłało “1”, a magistrala wskazuje aktualnie “0”, to urządzenie sterujące rozpoznaje, że jest co najmniej jeden inny uczestnik transmisji, który dla tej pozycji bitowej wystawił “0”. Urządzenie sterujące o wartości bitowej “1” przestaje nadawać i staje się odbiorcą. Urządzenia sterujące próbują powtarzać swoje protokoły danych w odstępach od 7 do 20 milisekund.
Do prawidłowej pracy magistrali danych CAN konieczne jest, aby poszczególne węzły pracowały synchronicznie, tzn. każde urządzenie sterujące musi dokładnie w tym samym czasie odczytywać i przetwarzać poziom napięcia na magistrali. Dlatego też, urządzenia sterujące muszą dostawać impuls, według którego będą się mogły wyregulować. Impulsem tym jest bit zakończenia transmisji tzw. stop-bit. Dla zapewnienia dobrej synchronizacji urządzenia sterujące odbierają takie impulsy cyklicznie. Sterownik co pięć takich samych bitów automatycznie wstawia stop-bit w zestaw danych. Ma on przeciwny poziom niż pięć wysłanych uprzednio bitów, dzięki czemu po każdym piątym bicie powstaje zbocze sygnału. Odbierające urządzenie sterujące automatycznie odfiltrowuje ten “stop-bit”.
(AK)
Komentarze (0)