IT Protokół sieciowy

CAN

Znany też jako:Controller Area NetworkCAN bus

Definicja #

CAN (Controller Area Network) to standard magistrali komunikacyjnej opracowany przez firmę Bosch w 1983 roku i znormalizowany jako ISO 11898. Został zaprojektowany specjalnie dla motoryzacji jako niezawodny protokół wymiany danych między sterownikami elektronicznymi (ECU — Electronic Control Units) bez centralnego komputera głównego.

Kluczowe cechy protokołu CAN:

  • Multi-master — każdy węzeł może inicjować transmisję; arbitraż dostępu do magistrali odbywa się automatycznie (CSMA/CR)
  • Ramki komunikatów — wiadomości mają 11-bitowy (standard) lub 29-bitowy (extended) identyfikator; priorytetyzacja przez arbitraż bitowy
  • Niezawodność — wbudowane mechanizmy wykrywania błędów (CRC, bit stuffing, potwierdzenie ACK); odporność na zakłócenia elektromagnetyczne (EMI)
  • Prędkość transmisji — do 1 Mbit/s (klasyczny CAN); CAN FD (Flexible Data-rate) do 8 Mbit/s i większe ramki danych
  • Topologia magistrali — wszystkie węzły podłączone do jednego kabla (twisted pair); zakończenia rezystorami 120 Ω

Warianty CAN:

  • CAN 2.0A/B — klasyczny standard (11-bit / 29-bit identyfikator)
  • CAN FD (Flexible Data-rate) — większy payload (64 bajty vs 8), wyższa prędkość w fazie danych
  • CAN XL — najnowszy standard (2021), do 20 Mbit/s, payload 2048 bajtów; dla ADAS i E/E architektur przyszłości

CAN jest omnipotentny w motoryzacji: każdy nowoczesny samochód zawiera wiele sieci CAN obsługujących silnik, skrzynię biegów, hamulce ABS/ESP, airbagi, klimatyzację i systemy ADAS.

Zastosowania #

  • Sieci ECU w pojazdach — komunikacja między sterownikiem silnika (ECU), skrzynią biegów, ABS, ESP i innymi modułami; każdy nowoczesny samochód ma wiele sieci CAN
  • Systemy ADAS — Advanced Driver Assistance Systems (radar, kamery, lidar) wymieniają dane przez CAN lub CAN FD
  • Automatyka przemysłowa — maszyny CNC, roboty przemysłowe, linie produkcyjne używają CAN do komunikacji sensorów i aktuatorów
  • Diagnostyka OBD-II — protokół OBD-II (diagnostic port w samochodach) wykorzystuje CAN jako warstwę fizyczną
  • Urządzenia medyczne i sprzęt lotniczy — niezawodność CAN sprawia, że stosowany jest w krytycznych systemach sterowania

Ścieżka nauki #

CAN jest specjalistycznym protokołem — nauka jest wskazana dla embedded developerów i inżynierów automotive.

Zacznij od:

  • Podstawy protokołu CAN: ramki (Data Frame, Remote Frame, Error Frame), identyfikatory, arbitraż
  • Elektryka magistrali CAN: CANH/CANL, różnicowe napięcie, terminatory, topologia
  • Narzędzia: Vector CANalyzer, PCAN (PEAK System), SocketCAN (Linux) do analizy i debugowania magistrali CAN
  • Mikrokontrolery z CAN: STM32 (bxCAN), NXP S32K, Microchip MCP2515 (SPI-CAN controller)

Następnie pogłębiaj:

  • CANopen — protokół warstwy aplikacji (Application Layer) nad CAN; popularny w automatyce przemysłowej
  • SAE J1939 — protokół dla pojazdów ciężarowych (ciągniki, autobusy) nad CAN 2.0B
  • UDS (Unified Diagnostic Services) — protokół diagnostyki ECU przez CAN (ISO 14229)
  • CAN FD — nowszy standard; praca z mikrokontrolerami obsługującymi CANFD (np. STM32G4)
  • AUTOSAR — framework dla oprogramowania automotive; komunikacja przez CAN opisana w ARXML

FAQ #

Czym jest CAN bus i do czego służy?
CAN bus (Controller Area Network) to magistrala komunikacyjna łącząca sterowniki elektroniczne (ECU) w pojeździe lub maszynie przemysłowej. Umożliwia niezawodną wymianę danych między niezależnymi modułami (silnik, hamulce, airbagi) bez centralnego komputera — każdy węzeł może wysyłać i odbierać wiadomości.
Ile urządzeń można podłączyć do magistrali CAN?
Teoretycznie do 2032 węzłów (11-bit ID daje 2048 identyfikatorów, część zarezerwowana). W praktyce ograniczają to pojemność elektryczna kabla i czas latencji — typowe sieci automotive mają kilkanaście do kilkudziesięciu ECU. Prędkość magistrali zależy od długości kabla: 1 Mbit/s możliwe do ok. 40 m.
Czym różni się CAN od Ethernet w samochodach?
CAN jest wolniejszy (do 1 Mbit/s klasyczny), ale bardzo niezawodny i odporny na EMI — idealny dla systemów krytycznych bezpieczeństwa (ABS, airbagi). Automotive Ethernet (100BASE-T1, 1000BASE-T1) jest znacznie szybszy i stosowany dla danych ADAS (kamery, lidar, radar). Nowoczesne auta mają obie sieci.
Czym jest OBD-II i jaki ma związek z CAN?
OBD-II (On-Board Diagnostics II) to standard diagnostyczny. Europejski odpowiednik EOBD był wymagany dla nowych samochodów benzynowych od 2001 roku i diesli od 2004 roku. Złącze OBD-II/EOBD (gniazdo pod deską rozdzielczą) umożliwia odczyt danych i błędów z ECU. Protokół ISO 15765-4 (CAN) jest najczęściej używaną warstwą fizyczną OBD-II w nowoczesnych samochodach.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z CAN w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.