Komunikacja CAN
B - Czujnik 1; CAN - Magistrala danych; M - Elementy wykonawcze I - III (serwomechanizmy); N - Jednostki sterujące (kontrolery) I-V
Podstawowe informacje
Pojazd wykorzystuje kilka magistral CAN (Controller Area Network) między blokami (moduły) sterowanie różnymi systemami i sterownikami urządzeń wykonawczych samochodu.
Poszczególne jednostki sterujące są ze sobą połączone w sieć i mogą wymieniać dane.
Autobus jest dwukierunkowy, tj. każde podłączone do niego urządzenie może odbierać i przesyłać wiadomości.
Sygnał czujnika (czujnik) wchodzi do najbliższej jednostki sterującej, która przetwarza go i przekazuje do magistrali danych CAN.
Dowolna jednostka sterująca podłączona do magistrali danych CAN·może odczytać ten sygnał, obliczyć na jego podstawie wartość działania sterującego i sterować siłownikiem serwo.
Zalety
Przy zwykłym połączeniu kablowym urządzeń elektrycznych i elektronicznych, każda jednostka sterująca jest bezpośrednio połączona ze wszystkimi czujnikami i elementami wykonawczymi, z których otrzymuje pomiary lub którymi steruje.
Komplikacja systemu sterowania prowadzi do nadmiernej długości lub wielu linii kablowych.
W porównaniu ze standardowym okablowaniem magistrala danych zapewnia:
- Zmniejszenie liczby kabli. Przewody z czujników są ciągnięte tylko do najbliższej jednostki sterującej, która przetwarza zmierzone wartości na pakiet danych i przesyła je do magistrali CAN.
- Siłownikiem może sterować dowolna jednostka sterująca, która poprzez magistralę CAN odbiera odpowiedni pakiet danych i na tej podstawie wylicza wartość zadziałania sterowania na serwomechanizm.
- Poprawiona kompatybilność elektromagnetyczna.
- Zmniejszenie liczby połączeń wtykowych i zmniejszenie liczby wyjść stykowych na jednostkach sterujących.
- Utrata masy ciała.
- Zmniejszenie liczby czujników, ponieważ sygnały z jednego czujnika (np. z czujnika temperatury płynu chłodzącego) może być używany przez różne systemy.
- Poprawa możliwości diagnostycznych. Ponieważ sygnały z jednego czujnika (np. sygnał prędkości) są używane przez różne systemy, to jeśli wszystkie systemy używające tego sygnału wygenerują komunikat o błędzie, oznacza to, że czujnik lub jednostka sterująca, która przetwarza te sygnały, jest zazwyczaj uszkodzona. Jeśli komunikat o błędzie pochodzi tylko z jednego systemu, chociaż sygnał ten jest również używany przez inne systemy, to najczęściej przyczyną awarii jest jednostka sterująca przetwarzaniem lub serwomechanizm.
- Wysokie prędkości przesyłu danych – możliwe do 1 Mbit/s przy maksymalnej długości linii 40 m. Obecnie prędkości przesyłu danych w pojazdach Mercedes-Benz wahają się od 83 Kbit/s do 500 Kbit/s.
- Kilka komunikatów może być przesyłanych po kolei na tej samej linii.
Magistrala danych CAN składa się z dwużyłowego przewodu wykonanego w postaci skrętki. Wszystkie urządzenia podłączone do tej linii (jednostki sterujące urządzeniami).
Transfer danych odbywa się z duplikacją na obu przewodach, a poziomy logiczne magistrali danych są odzwierciedlone (to znaczy, jeśli logiczny poziom zerowy jest przesyłany jednym przewodem (0), to poziom jednostki logicznej jest przesyłany innym przewodem (1), i wzajemnie).
Dwuprzewodowy schemat transmisji jest używany z dwóch powodów: do wykrywania błędów i jako podstawa niezawodności.
Jeśli szczyt napięcia występuje tylko na jednym przewodzie (np. z powodu problemów EMC (zgodność elektromagnetyczna)), odbiorniki mogą zidentyfikować to jako błąd i zignorować ten szczyt napięcia.
W przypadku zwarcia lub przerwy w jednym z dwóch przewodów magistrali danych CAN, to dzięki zintegrowanemu sprzętowo-programowemu systemowi niezawodności nastąpi przejście do trybu pracy jednoprzewodowej. Uszkodzona linia transmisyjna nie będzie używana.
Kolejność i format przesyłane i odbierane przez użytkowników (abonenci) komunikaty są zdefiniowane w protokole komunikacyjnym.
Istotną cechą wyróżniającą magistralę danych CAN na tle innych systemów magistralowych opartych na zasadzie adresowania abonenckiego jest adresowanie komunikatowe.
Oznacza to, że każda wiadomość na magistrali danych CAN·ma przypisany stały adres (identyfikator), zaznaczając treść tej wiadomości (np.: temperatura płynu chłodzącego). Protokół magistrali danych CAN umożliwia transmisję do 2048 różnych komunikatów, przy czym adresy od 2033 do 2048 są stałe.
Ilość danych w jednym komunikacie na magistrali danych CAN wynosi 8 bajtów.
Blok odbiorcy przetwarza tylko te komunikaty (pakiety danych), które są przechowywane na jego liście komunikatów CAN odebranych na magistrali danych (kontrola akceptacji).
Przesyłanie pakietów danych jest możliwe tylko wtedy, gdy magistrala danych CAN jest wolna (tzn. jeśli po ostatnim pakiecie danych nastąpił odstęp 3 bitów i żadna jednostka sterująca nie zacznie wysyłać komunikatu).
W takim przypadku poziom logiczny szyny danych musi być recesywny (logiczny «1»).
Jeżeli kilka jednostek sterujących rozpocznie nadawanie komunikatów w tym samym czasie, wówczas obowiązuje zasada pierwszeństwa, zgodnie z którą komunikat na magistrali danych CAN o najwyższym priorytecie zostanie przesłany jako pierwszy bez utraty czasu lub bitów (arbitraż żądań dostępu do wspólnej szyny danych).
Każda jednostka sterująca, która utraci prawo do arbitrażu, automatycznie przełączy się na odbiór i ponowną próbę wysłania wiadomości, gdy tylko magistrala danych CAN zostanie ponownie zwolniona.
Oprócz pakietów danych istnieje również pakiet żądania dla określonej wiadomości na magistrali danych CAN.
W takim przypadku jednostka sterująca, która może dostarczyć żądany pakiet danych, odpowiada na to żądanie.
Format pakietu danych
W normalnym trybie transmisji pakiety danych mają następujące konfiguracje bloków (ramki):
- Data Frame (ramka wiadomości) do przesyłania komunikatów na magistrali danych CAN (np.: temperatura płynu chłodzącego).
- Remote Frame (ramka żądania) żądanie komunikatów na magistrali danych CAN z innej jednostki sterującej.
- Error Frame (ramka błędu) wszystkie podłączone jednostki sterujące są powiadamiane o wystąpieniu błędu, a ostatni komunikat na magistrali danych CAN jest nieważny.
Protokół magistrali danych CAN obsługuje dwa różne formaty ramek danych magistrali danych CAN, które różnią się jedynie długością identyfikatora:
- standardowy format;
- format rozszerzony.
DaimlerChrysler obecnie używa tylko formatu standardowego.
Pakiet danych do przesyłania komunikatów na magistrali danych CAN składa się z siedmiu następujących po sobie pól:
- Start of Frame (początek bitu): Zaznacza początek wiadomości i synchronizuje wszystkie moduły.
- Arbitration Field (identyfikator i żądanie): To pole składa się z identyfikatora (adresy) 11 bitów i 1 bit kontrolny (Remote Transmission Request-Bit). Ten bit kontrolny oznacza pakiet jako ramkę danych (ramka wiadomości) lub jako zdalna ramka (ramka żądania) brak bajtów danych.
- Control Field (bity kontrolne): Pole kontrolne (6 bitów) zawiera bit IDE (Identifier Extension Bit) rozpoznawanie formatu standardowego i rozszerzonego, bit zapasowy dla kolejnych rozszerzeń oraz - w ostatnich 4 bitach - ilość bajtów danych osadzonych w Polu Danych (pole danych).
- Data Field (dane): Pole danych może zawierać od 0 do 8 bajtów danych. Do synchronizacji procesów rozproszonych wykorzystywany jest komunikat na magistrali danych CAN o długości 0 bajtów.
- CRC Field (pole kontrolne): Pole CRC (Cyclic-Redundancy-Check Field) zawiera 16 bitów i służy do kontrolnego rozpoznawania błędów podczas transmisji.
- ACK Field (potwierdzenie przyjęcia): pole ACK (Acknowledgement Field) zawiera sygnał potwierdzenia dla wszystkich odbiorników, które bezbłędnie odebrały komunikat przez magistralę CAN.
- End of Frame (koniec kadru): Oznacza koniec pakietu danych.
- Intermission (interwał): Interwał między dwoma pakietami danych. Interwał musi wynosić co najmniej 3 bity. Następnie dowolna jednostka sterująca może przesłać następny pakiet danych.
- IDLE (tryb odpoczynku): Jeśli żadna jednostka sterująca nie wysyła komunikatów, magistrala CAN pozostaje w trybie bezczynności do momentu wysłania następnego pakietu danych.
Priorytety
Aby przetwarzać dane w czasie rzeczywistym, musi istnieć możliwość ich szybkiego przesyłania.
Wymaga to nie tylko fizycznego łącza o dużej szybkości transmisji danych, ale także szybkiego dostępu do wspólnej magistrali CAN, jeśli wiele jednostek sterujących musi wysyłać komunikaty w tym samym czasie.
W celu rozróżnienia komunikatów przesyłanych przez magistralę danych CAN w zależności od stopnia pilności, dla poszczególnych komunikatów są przewidziane różne priorytety.
Na przykład czas zapłonu ma najwyższy priorytet, wartości poślizgu mają średni, a temperatura zewnętrzna ma najniższy priorytet.
Priorytet, z jakim przekazywana jest wiadomość na szynie CAN, określa identyfikator (adres) odpowiedni komunikat.
Identyfikator odpowiadający mniejszej liczbie binarnej ma wyższy priorytet i odwrotnie.
Protokół magistrali danych CAN jest oparty na dwóch stanach logicznych: Bity są albo «recesywny» (logiczny «1»), Lub «dominujący» (logiczny «0»). Jeśli dominujący bit jest transmitowany przez co najmniej jeden moduł, to bity recesywne transmitowane przez inne moduły są nadpisywane.
Przykład
Jeśli kilka jednostek sterujących rozpocznie transmisję danych w tym samym czasie, konflikt dostępu do wspólnej szyny danych zostanie rozwiązany przez «bitowy arbitraż żądań udostępnionych zasobów» z odpowiednimi identyfikatorami.
Nadajnik podczas transmisji pola identyfikatora sprawdza po każdym bicie, czy ma jeszcze prawo do transmisji, czy też inna jednostka sterująca nie przesyła już komunikatu o wyższym priorytecie na magistrali danych CAN.
Jeżeli bit recesywny transmitowany przez pierwszą jednostkę nadajnika zostanie nadpisany bitem dominującym innej jednostki nadajnika, wówczas pierwsza jednostka nadajnika traci prawo do nadawania (arbitraż) i staje się jednostką odbiorczą.
Pierwsza jednostka sterująca (N I) traci arbitraż od trzeciego bitu.
Trzecia jednostka sterująca (N III) traci arbitraż od 7. bitu.
Druga jednostka sterująca (N II) zachowuje prawo dostępu do magistrali danych CAN i może przesyłać swój komunikat.
Inne jednostki sterujące będą próbowały przesyłać swoje komunikaty przez magistralę danych CAN dopiero wtedy, gdy będzie ona ponownie wolna. W takim przypadku prawo do transmisji zostanie ponownie nadane zgodnie z priorytetem komunikatu na magistrali danych CAN.
Rozpoznawanie błędów
Zakłócenia mogą prowadzić do błędów w transmisji danych. Takie błędy transmisji powinny być rozpoznawane i korygowane.
Protokół magistrali danych CAN rozróżnia dwa poziomy rozpoznawania błędów:
- mechanizmów na poziomie Data Frame (ramka wiadomości);
- mechanizmy na poziomie bitów.
Mechanizmy na poziomie Data Frame
Cyclic-Redundancy-Check
Na podstawie komunikatu przesłanego magistralą CAN nadajnik oblicza bity kontrolne, które są przesyłane wraz z pakietem danych w terenie «CRC Field» (sumy kontrolne). Jednostka odbiorcza przelicza te bity kontrolne na podstawie komunikatu odebranego przez magistralę danych CAN i porównuje je z bitami kontrolnymi odebranymi z tym komunikatem.
Frame Check
Mechanizm ten sprawdza strukturę przesyłanego bloku (rama), to znaczy pola bitowe o zadanym ustalonym formacie i długości ramki są ponownie sprawdzane.
Błędy wykryte przez sprawdzanie ramek są oznaczane jako błędy formatu.
Mechanizmy poziomu bitowego
Monitorowanie
Każdy moduł podczas przesyłania komunikatu monitoruje poziom logiczny magistrali danych CAN i określa różnice między przesyłanymi i odbieranymi bitami. Zapewnia to niezawodne rozpoznawanie globalnych i lokalnych błędów bitowych występujących w jednostce nadajnika.
Bit Stuffing
W każdym pakiecie danych między polem «Start of Frame» i koniec pola «CRC Field» nie powinno być więcej niż 5 kolejnych bitów o tej samej polaryzacji.
Po każdej sekwencji 5 identycznych bitów nadajnik blokowy dodaje do strumienia bitów jeden bit o przeciwnej polaryzacji.
Jednostki odbiorcze usuwają te bity po odebraniu komunikatu na szynie danych CAN.
Rozwiązywanie problemów
Jeśli jakikolwiek moduł magistrali danych CAN wykryje błąd, przerwie bieżący proces przesyłania danych, wysyłając komunikat o błędzie. Komunikat o błędzie składa się z 6 dominujących bitów.
Dzięki komunikatowi o błędzie wszystkie jednostki sterujące podłączone do magistrali danych CAN są powiadamiane o wystąpieniu lokalnego błędu i odpowiednio ignorują przesłany wcześniej komunikat.
Po krótkiej przerwie wszystkie jednostki sterujące będą ponownie mogły przesyłać komunikaty przez magistralę danych CAN, przy czym komunikat o najwyższym priorytecie ponownie zostanie wysłany jako pierwszy.
Jednostka sterująca, której komunikat na magistrali danych CAN spowodował błąd, również rozpoczyna retransmisję swojego komunikatu (funkcja automatycznego żądania powtórzenia).
Typy magistrali CAN
W różnych obszarach sterowania stosowane są różne magistrale CAN. Różnią się między sobą szybkością przesyłania danych.
Obszar szybkości transmisji CAN «silnik i układ jezdny» (CAN-C) wynosi 125 Kb/s, a magistrala danych CAN «Salon» (CAN-B) ze względu na mniejszą liczbę szczególnie pilnych wiadomości jest przeznaczony do przesyłania danych z szybkością zaledwie 83 Kb/s.
Wymiana danych pomiędzy dwoma systemami magistrali odbywa się za pośrednictwem tzw «bramy», tj. jednostki sterujące podłączone do obu magistral danych.
Światłowód D2B (Digital Daten-Bus) dane zastosowane do obszaru «Audio/Komunikacja/Nawigacja». Kabel światłowodowy może przesyłać znacznie większą ilość informacji niż magistrala z kablem miedzianym.
Magistrala CAN C «Silnik i podwozie»
Tak zwany terminator magistrali danych o rezystancji 120 Ω jest zainstalowany po każdej stronie terminalowej jednostki sterującej, podłączony pomiędzy obydwoma przewodami magistrali danych.
Magistrala danych CAN w komorze silnika jest aktywna tylko przy włączonym zapłonie.
Do magistrali CAN-C podłączonych jest 7 jednostek sterujących.
CAN B - magistrala «Salon»
Niektóre jednostki sterujące podłączone do magistrali danych CAN przedziału pasażerskiego są aktywowane niezależnie od włączenia zapłonu (np. system pojedynczego zamka).
W związku z tym magistrala danych CAN w przedziale pasażerskim musi działać nawet przy wyłączonym zapłonie, co oznacza, że musi być zapewniona możliwość przesyłania pakietów danych nawet przy wyłączonym zapłonie.
W celu maksymalnego ograniczenia poboru prądu spoczynkowego magistrala danych CAN w przypadku braku pakietów danych niezbędnych do transmisji przechodzi w stan czuwania pasywnego i jest ponownie aktywowana dopiero przy następnym dostępie.
Jeśli w pasywnym trybie czuwania szyny danych CAN przedziału pasażerskiego, dowolna jednostka sterująca (np. jednostka sterująca pojedynczym zamkiem) przesyła komunikat na magistrali danych CAN, jest odbierany tylko przez główny moduł systemu (elektroniczny wyłącznik zapłonu, EZS). Blok EZS przechowuje ten komunikat w pamięci i wysyła sygnał aktywacji (Wake-up) do wszystkich jednostek sterujących podłączonych do magistrali danych CAN przedziału pasażerskiego.
Po aktywacji EZS sprawdza wszystkich użytkowników magistrali danych CAN, a następnie przesyła wcześniej zapisany komunikat.
Do magistrali CAN-B podłączonych jest 20 jednostek sterujących.
Elementy sieci danych (CAN)
CAN B (Salon) | |
K1 | Przednia jednostka rejestracyjno-sterująca z bezpiecznikami i skrzynką przekaźników (SAM/SRB-V) |
K2 | Tylna jednostka rejestracyjno-sterująca z bezpiecznikiem i skrzynką przekaźników (SAM/SRB-H) |
K3 | Jednostka sterująca lewego siedzenia (SSG) |
K4 | Jednostka sterująca prawego siedzenia (SSG) |
K5 | Sterownik lewych przednich drzwi (TSG) |
K6 | Sterownik przednich prawych drzwi (TSG) |
K7 | Sterownik tylnych lewych drzwi (TSG) |
K8 | Sterownik tylnych prawych drzwi (TSG) |
K9 | sterownik dachu (DBE) |
K10 | Górne pole kontrolne (OBF) |
K11 | Dolne pole kontrolne (UBF) |
K12 | Elektroniczny włącznik zapłonu (EZS) |
K13 | Panel (KI) |
K14 | POLECENIE System/Audio 10/Audio 30/Audio 30 APS |
K15 | Układ Parktronic (PTS) |
K16 | Narzędzie do zaczepu przyczepy (AAG) |
K17 | Wielofunkcyjna jednostka sterująca do modeli specjalnych (MSS) |
K18 | Ogrzewanie postojowe |
K19 | podgrzewacz (KKLA/BKLA – SA) |
K20 | Dystrybutor CAN-B RBA prawy |
K21 | Dystrybutor CAN-B RBA lewy |
K22 | Kokpit dystrybutora CAN-B |
K23 | Poduszki powietrzne z wbudowanym systemem przyzywowym ARMINCA |
CAN C (Układ napędowy i biegowy) | |
K12 | stacyjka (EZS) |
K13 | Panel (KI) |
K24 | Elektroniczna kontrola transmisji (EGS lub KGS) |
K25 | Jednostka sterująca silnika (MSG) |
K26 | Elektronika wybieraka biegów (EMW) |
K27 | Dystrybutor CAN Class-C RBA lewy |
K28 | Elektroniczny system antypoślizgowy (ESP) |
Niepołączone w sieć GP | |
K29 | Automatyczna kontrola zasięgu (ALWR) |
K30 | tuner telewizyjny |
Elementy podłączone do magistrali światłowodowej D2B
D2B (Audio/Komunikacja/Nawigacja) | |
Światłowód | |
K14 | POLECENIE/Audio 10/Audio 30/Audio 30 APS |
K31 | system telefoniczny (Telefon alarmowy MINNA) |
K32 | Urządzenie do sterowania głosem Linguatronic (SBS) |
K33 | Kontroler telefonu komórkowego (interfejs) |
K34 | Wzmacniacz |
K35 | Zmieniarka CD |
Nie wszystkie pokazane | |
A2 | Odbiornik radiowy lub magnetofon |
A2/6 | Zmieniarka CD |
A40/3 | Jednostka wyświetlająca i sterująca pracą systemu COMAND |
A2/13 | Wzmacniacz |
A35/11 | Jednostka sterująca głosem |
A59/1 | Interfejs D2B dla telefonu komórkowego/wbudowanego |
A35 | Transceiver telefonu komórkowego (CTEL) / Systemy wzywania pomocy TELE AID |
A35/8 | Jednostka sterująca TELEPOMOCY |
A, B, C | Znajomości |
M1 | Kabel światłowodowy 1 |
M2 | Kabel światłowodowy 2 |
M3 | Kabel światłowodowy 3 |
M4 | Kabel światłowodowy 4 |
M5 | Kabel światłowodowy 5 |
M6 | Kabel światłowodowy 6 |
M7 | Kabel światłowodowy 7 |
ws | Biała wstawka |
rt | czerwona wstawka |