Sieci CAN cz. 1.
Nowoczesne technologie zastosowane w samochodach, pozwalające na zwiększenie mocy jednostek napędowych, podniesienie poziomu bezpieczeństwa i komfortu jazdy, z uwzględnieniem redukcji zużycia paliwa oraz emisji spalin, oparte są na działaniu niezliczonej ilości elektronicznych komponentów. Dziesiątki sterowników samochodu w czasie rzeczywistym współpracują z grupą czujników i elementów wykonawczych, wymieniają informacje między sobą za pośrednictwem magistrali danych. Najbardziej rozpowszechnionym typem transmisji danych – stosowanym w motoryzacji od ponad 20 lat – jest standard CAN (Controller Area Network).
Prace nad standardem CAN w sektorze motoryzacyjnym rozpoczął w połowie lat 80. ubiegłego wieku koncern Boscha. Był to okres, w którym udział podzespołów elektronicznych w samochodzie osobowym wzrastał z roku na rok. Wprowadzenie w pełni elektronicznych, zintegrowanych układów sterujących pracą silnika, takich jak Motronic, oraz systemów bezpieczeństwa (układ ABS) wymagało zastosowania sygnałów z kilku czujników dostarczanych indywidualnie do poszczególnych sterowników. Przełom lat 80. i 90. XX wieku to czas gwałtownej ekspansji elektronicznych komponentów współpracujących z podzespołami mechanicznymi pojazdu. Rozbudowanie instalacji elektrycznej o kolejne sterowniki (ilustracja 1) powodowało zwiększenie liczby przewodów oraz złącz wielowtykowych (przyrost masy pojazdu).
Dodatkowym problemem stawał się wysoki procentowy udział usterek (ilustracja 2) związanych z dużą ilością przewodów i wtyczek instalacji elektrycznej (brak styku, przerwa w przewodzie) oraz zwiększony poziom zakłóceń w przesyłaniu sygnałów.
Zastosowanie magistrali wymiany danych CAN podobnej do magistrali wykorzystywanej w komputerach osobistych pozwoliło na połączenie sterowników pojazdu we wspólną sieć posiadającą określony protokół wymiany informacji. Transfer danych między sterownikami realizowany jest cyfrowo, a dane przekazywane są za pośrednictwem wiązki przewodów miedzianych.
Do głównych zalet wynikających z zastosowania magistrali danych typu CAN w samochodzie należą:
- otwarta architektura systemu pozwalająca na zaadoptowanie kolejnego sterownika oraz transfer danych za pośrednictwem przewodów miedzianych lub światłowodowych,
- szybkie standardy komunikacji uzależnione od priorytetu danego systemu (układ bezpieczeństwa jazdy, sterownie silnikiem i skrzynią biegów, system komfortu, radio i nawigacja),
- zredukowanie ilości złącz i przewodów instalacji elektrycznej pojazdu (obniżenie masy pojazdu),
- rozbudowana diagnostyka sterowników poszczególnych systemów,
- osiągnięcie wysokiego poziomu niezawodności systemu i odporności na zakłócenia sygnałów,
- poprawa bezpieczeństwa przesyłu danych związanych z transmisją informacji drogą cyfrową, a nie analogową,
- nadzór nad przesyłem danych.
Prędkość przesyłu danych za pomocą magistrali CAN może osiągnąć wartość 1000 kbit/s, jednak z uwagi na ograniczenia w szybkości przetwarzania danych oraz limity bufora pamięci przyjmuje się 3 specjalnie zdefiniowane poziomy (standard koncernu VAG):
- Magistrala CAN napędu (High Speed), w której prędkość przesyłu danych wynosi 500 kbit/s i obejmuje swoim zakresem dane ze sterowników: silnika, skrzyni biegów, układów ESP i ABS, poduszek bezpieczeństwa. Z uwagi na wysoki priorytet informacji płynących magistralą CAN napędu transfer danych odbywa się praktycznie w czasie rzeczywistym.
- Magistrala CAN komfortu (Low Speed), w której prędkość przesyłu danych wynosi 100 kbit/s, obejmując zakresem informacje sterowników powiązanych z komfortem jazdy (klimatyzacja, elektronika wnętrza).
- Magistrala CAN Infotainment (Low Speed), w której prędkość przesyłu danych wynosi 100 kbit/s, obejmując dane ze sterowników systemów multimedialnych (system audio, nawigacja).
MOŻE ZAINTERESUJE CIĘ TAKŻE
Do prawidłowego funkcjonowania magistrali danych, poza połączeniem przynajmniej dwóch sterowników w sieć, wymagany jest odpowiedni sposób transmisji oraz jej format.
Na ilustracji 3 przedstawiono schemat magistrali danych CAN obejmujący podłączenie trzech sterowników w konfiguracji „Broadcast”, gdzie sterownik A wysyła dane, natomiast sterowniki B i C odbierają informacje.
Aby pakiet danych posiadanych przez sterownik A, którym w tym przypadku jest prędkość obrotowa silnika, mógł zostać wysłany i odebrany przez podłączone sterowniki magistrali CAN, niezbędna jest zmiana określonej wartości fizycznej (1800 obr./min) na format wartości binarnej (ciąg zer i jedynek). Następnie binarna forma zapisu prędkości obrotowej silnika (np. 0001 0101) zostaje przekształcona w strumień bitów i doprowadzona przewodem nadawczym TX do wzmacniacza pełniącego rolę nadajnika-odbiornika. W nadajniku-odbiorniku, określanym również jako „tranceiver”, bity zostają przetworzone na sygnały napięciowe, które trafiają do przewodu magistrali danych CAN. Odbiór danych dotyczących prędkości obrotowej silnika następuje po przetworzeniu wartości napięcia przez nadajnik-odbiornik na strumień bitów przez przewód odbiorczy RX sterownika B i C. We wnętrzu danego sterownika informacja o prędkości obrotowej silnika zostaje odkodowana z formy strumienia bitów do postaci binarnej (0001 0101) i w końcowym procesie przekształcona w formę wartości fizycznej (1800 obr./min).
Komunikacja sterowników zgodna z zasadą „Broadcast” pozwala na wysłanie danych z jednego sterownika oraz ich odbiór przez inne sterowniki. Na ilustracji 3 poszczególne sterowniki są podłączone za pośrednictwem jednego przewodu magistrali CAN. W praktyce możliwa jest komunikacja jednoprzewodowa, lecz ze względów bezpieczeństwa, aby wyeliminować zakłócenia zewnętrzne, stosuje się parę przewodów skręconych ze sobą (tzw. twisted pair). Parą tych przewodów, definiowaną jako przewód „high” oraz przewód „low”, przesyłane są dane „symetrycznie” względem siebie. Przykład wymiany danych przedstawiony powyżej uwidacznia fakt, że wszystkie sterowniki podłączone w sieć dysponują tą samą ilością danych, co w sytuacji uszkodzenia w obszarze systemu spowoduje rejestrację błędu w każdym ze sterowników. Podczas diagnostyki i analizy magistrali danych typu CAN niezwykle istotną rolę odgrywa zapis pierwszego błędu w danym sterowniku. Sam sterownik posiada mikrokontroler z pamięcią wyjścia i wejścia, gdzie przechowywane są parametry dostarczane przez czujniki i przesyłane do elementów wykonawczych. Dodatkowo sterownik wyposażony jest w pamięć magistrali CAN, gdzie składowane są pakiety informacji odebranych i przesłanych do magistrali.