Przemysłowe Sieci Informatyczne Sieć CAN (Controller Area Network)
Powstanie sieci CAN W początku lat dziewięćdziesiątych, międzynarodowy przemysł samochodowy stanął przed dwoma problemami dotyczącymi rozwoju samochodów prywatnych i pojazdów dostawczych: poprawienia komfortu pojazdów: elektrycznie podnoszonych, szyb, regulacji siedzeń i lusterek, podgrzewanych siedzeń, elektronicznego sterowania klimatyzacją, jak również wyposażenia audiowizualnego i satelitarnie sterowanych, systemów nawigacyjnych (GPS - Global Positioning System).
Drugim i ważniejszym był problem bezpieczeństwa pojazdów, nie tylko z indywidualnego punktu widzenia, ale również dla spełnienia coraz surowszych międzynarodowych przepisów odnośnie bezpieczeństwa: centralnego zamka drzwi, systemów antykradzieżowych, ABS (systemów przeciwdziałających poślizgowi kół), jak również ekonomicznego i przyjaznego Dla środowiska sterowania pracą silnika.
Obu problemom stawiono czoła poprzez intensywną elektronizację komunikacji wewnątrz pojazdu zawierającego wiele urządzeń. Oszacowano, że pojazdy wyprodukowane około roku 2005 będą zawiera do 100 mikrokontrolerów i wszystkie powinny mieć możliwość komunikowania się ze sobą. Jest oczywiste, że rezultatem wszystkich tych połączeń będzie jeszcze większa i bardziej rozgałęziona plątanina kabli. Na przykład, w nowoczesnym, dobrej jakości samochodzie jest do 2000 metrów kabli.
Oczywiście, system magistrali stosowanych w tym przemyśle, wymagał adaptacji dla zastosowania w pojazdach, przedewszystkim z następujących powodów: - przenoszenia danych z małą i dużą szybkością w zakresie od 5kb/s do 1Mb/s, - bezbłędnego przenoszenia danych, - optymalnego przenoszenia mikrostrumieni danych, takich jak uzyskiwane z czujników lub urządzeń wykonawczych, to jest złożonych z 0..8 bajtów na komunikat, - łatwości utrzymania, - niskich kosztów w masowej produkcji, - prostoty konstrukcji magistrali (media magistrali, topologia magistrali) dla łatwej integracji w pojeździe.
Niestety, wielcy producenci samochodów opracowali już swoje własne magistrale, które nie są kompatybilne z odpowiednikami u innych producentów. Wszyscy prűbowali doprowadzić do przyjęcia swoich systemów jako systemu międzynarodowego, to jest do zaakceptowania ich jako międzynarodowego standardu i uzyskania dla siebie wszystkich oczywistych korzyści ekonomicznych i komercyjnych. Nie wszystkie systemy mogły być łatwo zestandaryzowane. Zasadniczo, przyjęły się cztery z nich: CAN (w wersjach o małej i dużej szybkości), VAN, J1850CP J1850DLC. Dziś system CAN jest światowym liderem na polu magistrali dla pojazdów.
Jako taki jest obecnie stosowany nie tylko w samochodach takich marek jak Mercedes, Lexus, Jaguar i Chrysler, Opel, Fiat i Volkswagen. Nie tylko przemysł samochodowy odkrył zalety magistral, ale również przemysły automatyzacji i przetwórczy. Przemysły te wykorzystują pomysł CAN dla pomiarów, kontroli i sterowania, w robotach i silnikach. Pomysł ten jest również stosowany w budownictwie, w sterowaniu windami, systemami automatyzacji laboratoriów, systemami czujnikowo-wykonawczymi i innymi.
Jeśli struktura systemu komunikacyjnego ma być powszechnie akceptowana, należy znaleźć odpowiedzieć na kilka pytań dotyczących standardu: - Jak fizycznie (elektrycznie, logicznie) będą zorganizowane różne części sieci? - Jak będzie wyglądać wynikowa topologia sieci? - Jak dane będą porządkowane i przesyłane poprzez odpowiednie medium (kabel czy światłowód lub powietrze za pomocą podczerwieni)? - Jakie są reguły wymiany danych pomiędzy różnymi częściami? - Jak zapobiegać, rozpoznawać, korygować błędy przesyłania danych? - Jak jest sformowany protokół przesyłania danych? - Jak jest zorganizowany dostęp do medium przesyłania danych dla wszystkich elementów (stacji) związanych z ich przesyłaniem? - Jak są rozstrzygane konflikty, gdy kilka elementów zechce przesyłać dane w tym samym czasie? (dotyczy to dostępu do medium, czyli tak zwanego arbitrażu).
Model OSI - CAN W początkach lat dziewięćdziesiątych International Standard Organisation (ISO) zaczęła układać międzynarodową normę dla magistral pojazdów, kiedy to magistrala CAN znacząco ugruntowała swoją mocną pozycję. Podstawą procesu standaryzacji komunikacji danych, jest Siedmiowarstwowy model odniesienia ISO/OSI. W przypadku niektórych systemów komunikacyjnych, włącznie z systemem magistrali dla pojazdów, warstwy ISO 3..6 są puste, tak że dla magistrali CAN tylko warstwy 1, 2 i 7 są wyspecyfikowane szczegółowo.
Warstwa 1 (Fizyczna) CAN W tej warstwie znajdują się specyfikacje medium transmisji danych, złączy, poziomów przesyłania oraz elementów nadawczych i odbiorczych. Dwoma standardami związanymi z CAN są: ISO11529-2: CAN o małej szybkości. Jej podstawą jest opracowanie zapoczątkowane przez firmę Bosch we wczesnych latach osiemdziesiątych i kontynuowane, przy silnym wsparciu Intela, aż do zintegrowania protokołu w układzie scalonym. Mała szybkość odnosi się do szybkości przesyłania od 5kb/s do 125kb/s. ISO11898: CAN o dużej szybkości. Ten standard dotyczy szybkości przesyłania danych do 1Mb/s.
Warstwa 2 (Łącza danych) Warstwa ta określa jak staje się dostępne medium przesyłania danych, gdy jakaś część systemu chce wysłać dane, jak jest tworzony komunikat (adres, sterowanie, dane i zabezpieczenie przed błędami) i jaki jest protokół przesyłania danych. Normy te można również znaleźć w ISO11898. Ponadto, specyfikacja CAN 1991w Warstwie 2 była modyfikowana, tak że występują jej dwie wersje: CAN2.0A i CAN2.0B.
Zależność długości magistrali od prędkość transmisji
Magistrala Stan recesywny może być nadpisywany przez stan dominujący! Wartość logiczna 0 stan dominujący Wartość logiczna 1 stan recesywny
Pakiety danych Ramka danych Ramka zdalnego wywołania Ramka sygnalizacji błędu Ramka przpełnienia
Ramka CAN 20A (telegram) CAN 20A 11bitowe pole 2032 możliwych ramek CAN 20B 29 bitowe pole adresowe w arbitrażu EFF Extended Frame Format 536870912 ramek Start Of Frame (SOF) Remote Transmission Request (RTR) do konketnej stacji Identifier Extension (IDE) określa wersję 11 czy 29 bitów Data Length Code (DLC) ile bajtów danych w polu danych Cyclic Redundant Check (CRC) kod sumy kontrolnej ACKnowledge (ACK) field pole potwierdzenia nadpisywane przez End Of Frame (EOF) koniec ramki czas na przetworzenie lub zapamiętanie danych Intermission Frame Space (IFS) pole przerwy
Arbitraż w CAN
Wywołanie zdalne Identyfikator stacji, do której jest wysyłane żądanie jest podawany w polu identyfikatora. Liczba użytecznych bajtów zawartych w wywoływanej wiadomości jest podawana w polu DLC. - Bit zdalnego żądania transmisji RTR (Remote Transmission Request), który jest bitem dominującym (0) w ramce danych jest tworzony i transmitowany recesywnie (1). Jest to typowy sposób identyfikacji stacji, która żąda danych bezpośrednio z innej określonej identyfikatorem stacji. - Nie ma pola danych w ramce zdalnego żądania transmisji (RRF): pole DLC jest bezpoúrednio przed polem CRC. Inaczej mówiąc, ramka zdalnego żądania transmisji (RRF) jest skomponowana podobnie do ramki danych, ale z liczbą 0 bajtów danych.
Kontrola błędów w CAN
Podsumowanie Sieć przemysłowa zaprojektowana na potrzeby przemysłu motoryzacyjnego, obecnie popularna również w zastosowaniach przemysłowych, Transmisja danych jest zgodna ze strukturą modelu ISO/OSI na poziomie warstwy fizycznej i łącza danych, Popularne rozszerzenia sieci CAN to CANOpen idevicenet, Sieć o topologii szyny lub gwiazdy, Szybkość przesyłania danych od 5kb/s do 1Mb/s, Maksymalna długość magistrali od 40 metrów do 5000 metrów (z repeaterami), Maksymalna liczna węzłów 64 (DeviceNet), 99 (CANOpen), Dwie podstawowe normy dotyczące sieci CAN ISO 11898 (prędkości transmisji do 1Mb/s) oraz ISO 11519 (prędkości transmisji do 125kb/s), Brak adresowania węzłów komunikaty opatrzone identyfikatorami, Możliwe dołączanie urządzeń do sieci bez wyłączania zasilania, Wykrywanie błędów i automatyczna retransmisja błędnych komunikatów.
Opel Vectra Opla Vectra wyposażono w trzy sieci CAN łączące 25 urządzeń. Różne urządzenia wymagają różnej prędkości przesyłania bitów, zatem sieć CAN podzielona jest na 3 sieci pracujące z różnymi prędkościami. Najszybszy transfer 500 kb/s osiąga sieć przeznaczona do sterowania najważniejszymi elementami samochodu wymagającymi krótkiego czasu przesyłania informacji takimi jak system ABS, ESP, sterowanie silnika. Druga sieć o transferze danych 95,2 kb/s obsługuje takie urządzenia jak radio, system nawigacyjny, klimatyzacja. Sieć ta odpowiada za przesyłanie informacji z tych urządzeń na wyświetlacze. Oddzielenie sieci CAN obsługującej część informacyjną samochodu miałona celu skrócenie czasu przesyłania informacji na wyświetlacze oraz łatwiejsze dołączanie nowych urządzeń. Szybkość przesyłania informacji do takich urządzeń jak centralny zamek, kontrola oświetlenia, elektryczne sterowanie podnoszeniem szyb i regulacją lusterek nie musi być duża. Samochód ten posiada również specjalne elektroniczne panele kontrolne ECU (Electronic Control Units), które łączą 3 sieci z 30 systemami czujników. W celu zredukowania poboru mocy wszystkie ECU's wyposażone są w tryb pracy oszczędnej. W tym trybie pracy samochód będzie sprawny stojąc przez 40 dni bez ładowania akumulatora.
Mecedes SL W produkcie Mercedesa zastosowano podobnie jak w Oplu Vectra 3 sieci CAN,które połączone są ze sobą za pomocą 2 bramek. Redukują one długość okablowania oraz liczbę łączy elektrycznych o 20%. Mimo to długość przewodów wynosi 2110 m. Z wykorzystaniem CAN sterowany jest system EHB (Electro-hydraulic Braking). Działanie systemu EHB polega na tym, że ciśnienie płynu hamulcowego uzyskuje się poprzez specjalną elektryczną pompę wysokiego ciśnienia. System rozdziela również siłę hamowania na poszczególne koła. Komunikację między kontrolerem a elementami EHB zapewnia sieć CAN, która może łączyć również ten system z innymi systemami np. ESP (Electronic Stability Program), ACC (Adaptive Cruise Control), ABS. Samochód wyposażono w ECU's, które są jednymi z najbardziej energooszczędnych.
Bibliografia Elektronika Praktyczna 1/2000 cz. I, II CAN in Automation http://www.can-cia.de/ BOSCH http://www.can.bosch.com Automatyka B2B http://automatykab2b.pl/technika/138- can-zdobywa-popularnosc-w-przemysle BOSCH CAN Specification Version 2.0 http://www.semiconductors.bosch.de/pdf/can2spec.pdf