CAN bus · ISO 11898-2 · CAN FD · Warstwa fizyczna · Wykrywanie błędów · 9 min czytania

Podstawy CAN Bus: warstwa fizyczna, struktura ramki i wykrywanie błędów

Opracowany przez Bosch w 1986 roku i znormalizowany jako ISO 11898, CAN bus jest podstawowym magistralą polową dla urządzeń HVAC, chłodnic, napędów o zmiennej prędkości i kontrolerów automatyki budynkowej. Sygnalizacja różnicowa, sprzętowy arbitraż i pięciowarstwowe wykrywanie błędów czynią go znacznie bardziej odpornym niż RS485 Modbus w elektrycznie hałaśliwych maszynowniach — a zrozumienie tych podstaw jest niezbędne przed wdrożeniem jakiegokolwiek urządzenia CANopen.

Warstwa fizyczna ISO 11898-2 i sygnalizacja różnicowa

ISO 11898-2 definiuje High-Speed CAN — wariant stosowany w niemal wszystkich aplikacjach automatyki budynkowej i przemysłowych. Warstwa fizyczna wykorzystuje parę różnicową: CAN_H (CAN High) i CAN_L (CAN Low), obie odniesione do GND. W stanie recesywnym (logika 1) obie linie pływają na około 2,5V, a napięcie różnicowe wynosi 0V. W stanie dominującym (logika 0) CAN_H jest sterowane do około 3,5V, a CAN_L do około 1,5V, dając 2V różnicę odporną na szumy wspólne do ±30V.

Używaj ekranowanej skrętki o charakterystycznej impedancji 120Ω — Belden 9841 (jednoparowa, 24AWG) lub odpowiednik. Podłączaj ekran tylko z jednego końca (zazwyczaj przy tablicy) aby uniknąć pętli masy. Oba końce segmentu magistrali muszą być zakończone rezystorem 120Ω między CAN_H i CAN_L. Terminacja dzielona (dwa rezystory 60Ω z kondensatorem 4,7nF do masy w punkcie środkowym) poprawia wydajność EMC w środowiskach o dużym poziomie zakłóceń.

Okablowanie CAN bus — połączenie 3-przewodowe

CAN bus cable (Belden 9841 or equivalent, 120Ω STP):
  CAN_H  → CAN_H terminals on all nodes
  CAN_L  → CAN_L terminals on all nodes
  GND    → GND terminals on all nodes (reference, not signal ground)

Termination resistors:
  Node 1 (first node on bus): 120Ω between CAN_H and CAN_L
  Node N (last node on bus): 120Ω between CAN_H and CAN_L
  All intermediate nodes: NO termination

Measure termination (bus powered off):
  CAN_H to CAN_L resistance should read ~60Ω
  (Two 120Ω resistors in parallel = 60Ω)
  Values outside 54–66Ω indicate missing or extra termination

Ostrzeżenie: Topologia gwiazdowa i drzewiasta są niedozwolone w CAN bus. Wszystkie węzły muszą być podłączone do jednego liniowego kabla pniowego — gałęzie boczne muszą być krótsze niż 0,3m, aby zapobiec odbiciu sygnału. Długie odgałęzienia powodują błędy bitów dominujących przy wysokich prędkościach bitowych.

Prędkość bitowa a długość kabla

Prędkość bitowa CAN bus jest ograniczona opóźnieniem propagacji — czasem potrzebnym sygnałowi na dotarcie do najdalszego węzła i powrót przed zakończeniem okresu bitu. ISO 11898-2 określa standardowe kombinacje prędkości bitowej i długości kabla. Systemy automatyki budynkowej rzadko potrzebują 1 Mbit/s; 125 kbit/s lub 250 kbit/s jest typowe dla urządzeń HVAC na trasach kablowych 100–500m między maszynowniami.

Prędkość bitowaMaks. długość kablaMaks. długość odgałęzieniaTypyczne zastosowanie
1 Mbit/s40 m0,3 mSterowanie maszynami, krótkie połączenia wewnątrz szafy
500 kbit/s100 m0,3 mNapędy przemysłowe, kompaktowa maszynownia
250 kbit/s250 m0,3 mHVAC wielochłodnicowy, piętrowa maszynownia
125 kbit/s500 m0,3 mSzkielet budynku, trasy międzypiętrowe
50 kbit/s1000 m0,3 mDługie trasy kablowe, duże obiekty
20 kbit/s2500 m0,3 mKampus, rzadko stosowane

Uwaga: Wszystkie węzły w jednym segmencie CAN muszą pracować z tą samą prędkością bitową. Mieszanie urządzeń 250 kbit/s i 125 kbit/s na tej samej magistrali jest niemożliwe — użyj wzmacniacza CAN lub oddzielnych segmentów połączonych przez bramkę, jeśli wymagane są różne prędkości.

Struktura ramki CAN

Standardowa ramka danych CAN (ISO 11898-1) składa się z siedmiu pól. Zrozumienie pola identyfikatora arbitrażu jest kluczowe dla konfiguracji CANopen — COB-ID (Communication Object Identifier) używany w CANopen to 11-bitowy standardowy identyfikator CAN. Ramki rozszerzone używają 29-bitowych identyfikatorów i są stosowane w CANopen z 4-bajtowymi COB-ID (rozszerzony tryb adresowania).

PoleBityOpis
SOF1Start of Frame — bit dominujący synchronizujący wszystkie odbiorniki
ID arbitrażu (standardowy)11Identyfikator wiadomości — niższa wartość = wyższy priorytet na magistrali
ID arbitrażu (rozszerzony)29Rozszerzony format ramki — zawiera 11-bitową bazę + 18-bitowe rozszerzenie
RTR1Remote Transmission Request — 1 = żądanie danych od innego węzła
IDE1Bit rozszerzenia identyfikatora — 0 = ramka standardowa, 1 = ramka rozszerzona
DLC4Data Length Code — liczba bajtów danych: 0 do 8
Dane0–64 bityŁadunek: 0 do 8 bajtów dla klasycznego CAN; do 64 bajtów dla CAN FD
CRC15 + 115-bitowa cykliczna kontrola nadmiarowości plus ogranicznik CRC (bit recesywny)
ACK2Gniazdo potwierdzenia (dominujące) + ogranicznik ACK (recesywny)
EOF7End of Frame — 7 bitów recesywnych

Mechanizmy wykrywania błędów

CAN posiada pięć niezależnych mechanizmów wykrywania błędów działających jednocześnie. Każdy wykryty błąd powoduje odrzucenie bieżącej ramki przez wszystkie węzły i ponowne wysłanie przez nadajnik. Węzeł wielokrotnie powodujący błędy przechodzi ze stanu error-active do error-passive, a następnie do stanu bus-off, chroniąc sieć przed wadliwym węzłem.

Typ błęduMetoda wykrywaniaCzęsta przyczyna
Błąd CRCOdbiornik przelicza CRC i porównuje z przesłaną wartościąUszkodzone bity danych z EMI lub długiego kabla
Błąd bituNadajnik monitoruje magistralę i wykrywa niezgodność poziomu własnego bituZwarcie, kolizja na magistrali, usterka okablowania
Błąd ramkiPola o stałym formacie (EOF, ogranicznik CRC) sprawdzane pod kątem prawidłowego poziomuBłąd bit stuffing, uszkodzona struktura ramki
Błąd ACKNadajnik sprawdza, czy co najmniej jeden odbiornik wysyła dominujące ACKBrak węzła, zła prędkość bitowa, brak terminacji
Błąd stuffingPo 5 kolejnych bitach tego samego poziomu musi nastąpić bit komplementarnyEMI powoduje ciąg tego samego poziomu powyżej 5 bitów

Niedestrukcyjny bitowy arbitraż

Gdy dwa lub więcej węzłów próbuje nadawać jednocześnie, CAN rozwiązuje konflikt przez bitowy arbitraż bez niszczenia żadnej wiadomości. Każdy węzeł monitoruje magistralę podczas nadawania — jeśli węzeł nadaje bit recesywny (1), ale odczytuje bit dominujący (0), natychmiast zatrzymuje nadawanie i przełącza się w tryb odbiornika. Węzeł z najniższą numeryczną wartością identyfikatora arbitrażu zawsze wygrywa.

W CANopen oznacza to, że niższe COB-ID mają wyższy priorytet. Wiadomości alarmowe (EMCY, COB-ID 0x080 + ID węzła) i wiadomości heartbeat otrzymują niższe COB-ID niż dane PDO — zapewniając, że alarmy nigdy nie są opóźniane przez ruch danych procesowych. Przypisuj najniższe ID węzłów do najbardziej krytycznych urządzeń, takich jak bramki paneli pożarowych lub kontrolery alarmów chłodnic.

CAN FD — Flexible Data-rate

CAN FD (ISO 11898-1:2015) rozszerza klasyczny CAN o dwa ulepszenia: zmienną prędkość bitową fazy danych do 8 Mbit/s (w porównaniu z 1 Mbit/s dla klasycznego CAN) i rozmiar ładunku do 64 bajtów (w porównaniu z 8 bajtami). Faza arbitrażu nadal działa z klasyczną prędkością bitową dla kompatybilności — tylko faza danych przełącza się na wyższą prędkość bitową po bicie BRS (Bit Rate Switch).

ParametrKlasyczny CANCAN FD
Maks. prędkość bitowa arbitrażu1 Mbit/s1 Mbit/s (ta sama — wstecznie kompatybilna)
Maks. prędkość bitowa fazy danych1 Mbit/s8 Mbit/s
Maks. bajtów ładunku8 bajtów64 bajty
Długość CRC15 bitów17 lub 21 bitów (dłuższe dla większych ładunków)
Zastosowanie w automatyce budynkowejPowszechne — większość urządzeń HVACPojawiające się — nowsze VFD, liczniki energii

Uwaga: Większość urządzeń CAN do automatyki budynkowej (chłodnice, centrale wentylacyjne, napędy VFD) nadal używa klasycznego CAN przy 125 lub 250 kbit/s. Sprzęt CAN FD (PEAK-System PCAN-USB FD, Vector CANalyzer FD) jest wstecznie kompatybilny i może komunikować się z klasycznymi węzłami CAN w tym samym segmencie, pod warunkiem, że faza danych nie jest angażowana podczas komunikacji z klasycznymi węzłami.

Narzędzia diagnostyczne

Używaj analizatora CAN podczas uruchomienia, aby weryfikować ruch na magistrali, monitorować ramki błędów i potwierdzać ID węzłów przed integracją z bramką CANopen. Trzy narzędzia są standardem w branży.

NarzędzieInterfejsZastosowanie
PEAK-System PCAN-USBKlucz USB, ~€100Bezpłatne oprogramowanie PCAN-View — nasłuchiwanie ruchu, wysyłanie ramek, zapis do CSV
PEAK-System PCAN-USB FDKlucz USB CAN FD, ~€130Jak wyżej, ale obsługuje fazę danych CAN FD do 8 Mbit/s
Vector CANalyzerKarta PCI/USB, profesjonalnaPełna analiza protokołu, widok słownika obiektów CANopen, skryptowanie
Kvaser Leaf Light v2Klucz USB, ~€180Bezpłatne oprogramowanie Kvaser CanKing — dobre do uruchomienia w terenie
PCAN-View (bezpłatny)Oprogramowanie (Windows)Używane z adapterami PEAK — filtrowanie po COB-ID, monitorowanie liczników błędów

Potrzebujesz tablicy CAN bus z integracją bramki CANopen?

Projektujemy i budujemy rozdzielnice niskonapięciowe z bramkami CANopen-to-KNX/Modbus/BACnet, właściwą terminacją 120Ω, ekranowanym okablowaniem CAN i dokumentacją uruchomienia dla obiektów HVAC i przemysłowych.

Zapytaj o ofertę →
Ładowanie...
Powrót do góry