Wprowadzenie do typów komunikatów magistrali CAN

Sep 01, 2026 Zostaw wiadomość

Magistrala CAN (Controller Area Network) to szeroko stosowany protokół komunikacji szeregowej, szczególnie odpowiedni dla sektorów motoryzacji i automatyki przemysłowej. Typy komunikatów na magistrali CAN można ogólnie podzielić na następujące kategorie, przy czym każdy typ ma swój specyficzny cel i format.

 

I. Ramka danych

 

Ramka danych to najbardziej podstawowy typ komunikatu w magistrali CAN i służy do przesyłania danych pomiędzy węzłami. Ramka danych składa się z wielu segmentów, w tym początku ramki, pola arbitrażowego, pola sterującego, pola danych, pola CRC, pola ACK i końca ramki.

 

 

1. Początek ramki (SOF)

 

  • Definicja: Segment wskazujący początek ramki danych, składający się z pojedynczego aktywnego bitu (logiczne 0).
  • Funkcja: Gdy magistrala jest bezczynna, węzeł nadawczy wysyła początek ramki; inne węzły odbiorcze synchronizują się z tym bitem początku ramki.

 

2. Pole arbitrażowe

 

  • Definicja: Segment wskazujący priorytet ramki. W zależności od długości kodu identyfikacyjnego pola arbitrażowego, ramki dzieli się na ramki standardowe (CAN 2.0A) i ramki rozszerzone (CAN 2.0B).
  • Treść: Pole arbitrażowe ramki w-formacie standardowym składa się z 11-bitowego identyfikatora (ID) i bitu żądania zdalnej transmisji (RTR); pole arbitrażowe ramki o rozszerzonym formacie składa się z 29-bitowego identyfikatora i bitu RTR.
  • Funkcja: Służy do określenia typu przesyłanej ramki (ramka danych lub ramka zdalnego sterowania) i formatu ramki (ramka standardowa lub ramka rozszerzona), a także ustalenia priorytetu ramki.

 

3. Pole kontrolne

 

  • Definicja: Pole określające liczbę bajtów danych i zarezerwowanych bitów.
  • Zawartość: Zawiera kod długości danych (DLC) i dwa zarezerwowane bity (r0, r1). DLC wskazuje liczbę bajtów w polu danych, która może wynosić od 0 do 8 bajtów.
  • Funkcja: Informuje węzeł odbiorczy o długości pola danych, aby dane mogły zostać odebrane prawidłowo.

 

4. Pole danych

 

  • Definicja: Treść danych; Można przesyłać od 0 do 8 bajtów danych.
  • Cel: Przesyłanie aktualnych informacji o danych.

 

5. Pole CRC (Pole cyklicznej kontroli nadmiarowej)

 

  • Definicja: Pole służące do sprawdzania błędów transmisji w ramce, składające się z sekwencji CRC i ogranicznika CRC.
  • Funkcja: Zapewnia integralność i dokładność danych poprzez weryfikację CRC.

 

6. Pole ACK (Pole potwierdzenia)

 

  • Definicja: Segment wskazujący potwierdzenie pomyślnego odbioru, składający się ze szczeliny ACK i ogranicznika ACK.
  • Funkcja: Gdy odbiornik prawidłowo odbierze prawidłową wiadomość, wysyła bit dodatni do nadajnika w szczelinie ACK w celu potwierdzenia odbioru.

 

7. Koniec ramki (EOF)

 

  • Definicja: Segment wskazujący koniec ramki danych, składający się z 7 bitów ujemnych.
  • Funkcja: Sygnalizuje koniec ramki danych.

 

II. Zdalna ramka

 

Zdalna ramka służy do żądania transmisji ramki danych o tym samym identyfikatorze. Kiedy węzeł odbiorczy potrzebuje pewnych danych, ale ich nie posiada, wysyła zdalną ramkę z żądaniem, aby węzeł nadawczy wysłał odpowiednią ramkę danych. Struktura zdalnej ramki jest podobna do ramki danych, ale segment danych jest pusty, a bit RTR jest ustawiony na 1.

 

III. Ramka błędu

 

Ramka błędu składa się z dwóch pól: flagi błędu i ogranicznika błędu. Kiedy węzeł odbiorczy wykryje błąd w komunikacie na magistrali, automatycznie przesyła „aktywną flagę błędu”; inne węzły po wykryciu aktywnej flagi błędu wysyłają „flagę potwierdzenia błędu”. Transmisja ramki błędu przerywa bieżącą komunikację magistrali do czasu usunięcia błędu.

 

IV. Rama przeciążeniowa

 

Ramka przeciążenia składa się z flagi przeciążenia i separatora przeciążenia. Ramka przeciążenia jest transmitowana, gdy węzeł odbiorczy wymaga nadmiernego czasu na przetworzenie bieżących danych przed odebraniem kolejnej ramki lub gdy w polu przestrzeni międzyramkowej zostanie wykryty poziom dominujący. Transmisja ramki przeciążeniowej opóźnia transmisję kolejnych ramek, aby zapewnić, że komunikacja na magistrali nie zostanie przerwana z powodu przeciążenia.

 

V. Inne typy wiadomości

 

Oprócz czterech podstawowych typów komunikatów wymienionych powyżej, protokół magistrali CAN definiuje kilka innych specjalnych typów komunikatów, takich jak typy komunikatów Interframe Space i N_PCI (np. pojedyncza ramka, ramka początkowa, ramka ciągła, ramka kontroli przepływu itp.). Te typy komunikatów są używane w określonych scenariuszach komunikacji w celu spełnienia różnych wymagań komunikacyjnych.

 

Streszczenie

 

Typy komunikatów na magistrali CAN obejmują typy podstawowe, takie jak ramki danych, ramki zdalnego sterowania, ramki błędów i ramki przeciążenia, a także typy specjalne, takie jak typy komunikatów Interframe Space i N_PCI. Każdy typ komunikatu ma swoją specyficzną strukturę i cel, tworząc wspólnie podstawę komunikacji magistrali CAN. W zastosowaniach praktycznych wybór odpowiedniego typu komunikatu do transmisji danych w oparciu o określone wymagania komunikacyjne zapewnia niezawodną i efektywną komunikację.

 

Wyślij zapytanie

whatsapp

Telefon

Adres e-mail

Zapytanie