Can (Controllerareanwork) Bus, IE Area Area Network Autobus, był szeroko stosowany w kontroli przemysłowej, elektronice medycznej, urządzeniach domowych i polach czujników. Obecnie literatura krajowa i zagraniczna Analiza protokołu autobusu CAN w tym artykule jest głównie dla struktury ramek protokołu CAN do lub bitowych charakterystyk czasowych analizy, takich jak literatura rzadko jest z perspektywy komunikacji na temat analizy protokołu autobusu CAN , rzadko z perspektywy zastosowań inżynieryjnych, mechanizm komunikacji autobusu CAN do dogłębnej analizy artykułu.
1. Candykacja zastosowania i skład strukturalny może
Protokół CAN Bus ma dwa międzynarodowe standardy, ISO11898 i ISO11519, z których IS011898 jest standardem komunikacji CAN o szybkości od 125 kb/s do 1 Mb/s, który jest autobusem zamkniętym z maksymalną długością 40 m/1 MB/s. ISO11519 definiuje standard komunikacji o niskiej prędkości z szybkością komunikacyjną od 10 do 125 kb/s, co jest nisko prędkości standardu komunikacji o maksymalnej długości 40 m/1 Mb/s. ISO11519 określa szybkość komunikacji od 10 do 125 kb / s nisko prędkość standardu komunikacji, należy do magistrali otwartej, maksymalnej długości 1 km / 40 kb / s. Ze względu na charakterystykę elektryczną ograniczeń, to znaczy rozkład magistrali pojemności i rozkładu rezystancji w kształcie fali magistrali, maksymalna liczba węzłów w magistrali CAN wynosi 110. po stronie transceiverów należy poprawnie skonfigurować, aby osiągnąć synchronizację danych węzłów nadajodownika. Za pośrednictwem sprzętu kontrolera CAN w filtrowaniu znaczników wiadomości można zrealizować punkt od punktu, punkt-multipoint i globalny transmisja oraz inne sposoby transmisji i odbierania danych. Jednocześnie, ze względu na krótką strukturę ramki telegramów, a każda ramka zawiera część kontrolną CRC, która zapewnia bardzo niski poziom błędu danych.
Warstwa aplikacji CAN, system operacyjny (zaimplementowany jako program w tle w aplikacjach bez systemu operacyjnego) i sterownik wdrażania systemu razem realizują funkcje warstwy aplikacji w modelu referencyjnym ISO. Wśród nich warstwa aplikacji CAN definiuje grupowanie identyfikatorów, wysyłanie ładowania danych, odbieranie przetwarzania danych i monitorowanie bezpieczeństwa magistrali warstwy aplikacji; System operacyjny/program tła służy do zaplanowania sterownika CAN w celu przetwarzania danych po przybyciu przerwania; Sterownik obejmuje inicjalizację (ustawienie stanu roboczego kontrolera, ustawienie prędkości transakcji, konfiguracja filtra akceptacyjnego), sterownik nadawczywacza i program obsługi nieprawidłowości.
W przypadku warstwy średnich transmisji należy go określić zgodnie z hałasem zakłóceń środowiska, długością autobusu i tak dalej. W przypadku silnego szumu zakłóceń należy użyć drutu osłoniętego; Ze względu na rozkład pojemności spowodowany zniekształceniem fali autobusu i rozkładem oporu spowodowanego tłumieniem poziomu autobusu, długość autobusu musi uwzględnić rozkład odporności i pojemności zastosowanej pożywki transmisyjnej; Jednocześnie, jeśli użycie szybkiej magistrali musi również eksperymentować, aby określić wartość dopasowanej rezystancji autobusu.
Aby zrealizować kontroler CAN, możesz wybrać kontroler Can zintegrowany z układem głównym systemowym, takim jak seria mikrokontrolerów LPC2000 NXP, lub możesz również użyć dyskretnych komponentów kontrolera CAN, takich jak SJA1000 dla realizacji transceiverów puszek , możesz wybrać CTM1050, TJA1050 itp. Jeśli szum zakłócenia otoczenia jest duży, musisz rozważyć odporność i rozkład rozkładu ośrodka transmisji Charakterystyka pojemności; Jednocześnie, jeśli używasz szybkiej autobusu, musisz również określić odporność pasującej autobusu poprzez eksperymenty. Jeśli szum zakłóceń środowiskowych jest duży, konieczne jest dodanie układu izolacyjnego między kontrolerem a nadajnikiem lub zastosowanie zintegrowanej funkcji izolacji nadawczacza puszki. Warto wspomnieć, że nowy układ mikrokontrolera LPC11C24 NXP nie tylko integruje kontroler Can, ale także integruje funkcję nadawczaila puszki, która zapewnia dobre wsparcie dla szybkiego rozwoju systemów magistrali CAN. Ponadto, zgodnie z faktycznym zastosowaniem długości autobusu i liczby węzłów w magistrecie, konieczne jest również rozważenie czasu opóźnienia transmisji i odbioru układu Triseiver.
W przypadku warstwy sterownika CAN i warstwy aplikacji sterownik obejmuje inicjalizację puszki (w tym włączanie sprzętu, ustawienie prędkości BAUD, ustawienie trybu pracy kontrolera i konfiguracja tabeli Filtr Filtr), Recept/Transit Driver i zapewnia funkcje interfejsu do górnej warstwy, z których Konieczne jest wyjaśnienie, że konfiguracja tabeli identyfikatora filtru akceptacji musi być oparta na grupowaniu identyfikatora systemu przez warstwę aplikacji; Warstwa aplikacji CAN wykonuje pakiety danych w oparciu o zależność od wysyłania danych/odbierania między węzłami w magistrecie. Czy aplikacja może warstwa zgodnie z wysyłaniem danych i odbierania zależności między węzłami w magistrecie w celu grupowania identyfikatora pakietu, wysyłania pakietów danych, odbierania przetwarzania danych i monitorowania bezpieczeństwa magistrali warstwy aplikacji. Ponadto, powszechnie stosowane protokoły górnej warstwy CAN obejmują baldemen, DeviceNet i ICAN.
2. Analiza mechanizmu synchronizacji autobusów może
W procesie komunikacji jednym z najważniejszych problemów, które należy rozwiązać, jest to, jak osiągnąć synchronizację danych na końcach nadawcy i odbiornika, tj. Koniec odbiornika może poprawnie odbierać i analizować dane wysyłane przez protokołów nadawcy end.can Bus Protocol jest rodzajem asynchronicznego protokołu komunikacji szeregowej, który należy do komunikacji z pasmem podstawowym, a jego synchronizacja jest realizowana z protokołu sterowania linkami danych wysokiego poziomu (HDLC). W szczególności synchronizacja protokołu magistrali CAN osiąga się poprzez 3 aspekty opisane poniżej.
2.1 Ustawienie parametrów
Obie strony komunikacji za pośrednictwem oprogramowania ustawiają tę samą szybkość transmisji, tę samą długość segmentu regulacji fazowej, ta sama szerokość skoku synchronizacji, przez powyższy zestaw trzech elementów, określa długość czasu bitu w procesie transmisji magistrali CAN jako Jako lokalizacja punktu próbkowania, struktura bitów, jak pokazano na ryc. 2, puszka zegara na rysunku zdefiniowanym w protokole czasu TQ, który jest uzyskiwany przez podział częstotliwości zewnętrznego zegar lub peryferyjny zegar procesora. Podstawowy sygnał zegara kontrolera CAN uzyskuje się poprzez podzielenie częstotliwości zegara zewnętrznego lub zegara peryferyjnego procesora. Segment SS odpowiada segmentowi startowi, a w tym okresie przeskok w magistrali, TESG1 odpowiada segmentowi transmisji i segmencie regulacji fazowej 1, a TESG2 odpowiada segmentowi regulacji fazowej 2 i dla wysokiego Bus prędkości, próbki kontrolera i dyskryminuje magistralę między TESG1 i TESG2.

2.2 Stała struktura ramki
Protokół może wyraźnie definiuje stałą strukturę ramki w celu ułatwienia kontrolera puszki i transceiver do monitorowania stanu magistrali, w CAN2. 0 specyfikacja protokołu, podzielona na standardową ramkę i rozszerzoną ramkę dwie struktury ramki, różnica leży tylko w domena arbitrażowa, standardowa ramka za pomocą identyfikatora bitowego 11-, podczas gdy rozszerzona ramka ma identyfikator bitowy 29-, konkretny Standardowa ramka, rozszerzona struktura ramki.
2.3.3 Synchronizacja twardej i resynchronizacja
2.3.1 Hard Synchronizacja
Tak zwana twarda synchronizacja oznacza, że w okresie bezczynności autobusu (tj. Poziom autobusu jest wyrażany jako ciągły bit recesywny), gdy kontroler wykryje skok z poziomu recesywnego do poziomu dominującego, oznacza to, że w tym czasie w tym czasie tam jest stacją w autobusie, aby rozpocząć wysyłanie danych, a następnie wymuszaj licznik stanu bitowego kontrolera CAN do synchronizacji z segmentem SS pokazanym na ryc. 2, a jednocześnie zegar bitowy zaczyna się opowiadać Od tego momentu (czas bitowy jest ustawiany przez górną warstwę oprogramowania). Do rozpoczęcia określenia ramki stosuje się twardą synchronizację.
2.3.2 Resynchronizacja
W protokole Bus CAN resynchronizacja jest wdrażana na podstawie mechanizmu wypełniania bitów. Podobnie jak protokół HDLC, w strukturze ramki CAN, po wykryciu pięciu kolejnych bitów tej samej biegunowości od początku ramki do bitu sekwencji CRC kontroler CAN automatycznie wstawia nieco przeciwną polaryzm. Ponowna zsynchronizacja polega na tym, że podczas transmisji danych kontroler CAN dostosowuje segment regulacji fazowej 1 i segment regulacji fazowej 2, wykrywając różnicę między przeskokiem w magistrecie a wewnętrznym czasem bitu węzła, a rozmiar regulacji jest programowany przez synchronizację Szerokość przeskakiwania, a rozmiar regulacji jest ustawiony w TQ. Szczegółowa reguła regulacji polega na tym, że w procesie transmisji krawędź przeskakiwania w magistrecie wykryta przez kontroler CAN jest dostosowywana przez kontroler CAN, jeśli znajduje się on w okresie czasowym Bit Bit węzła, wówczas nie jest wymagane regulacja; Jeśli krawędź pomijania znajduje się w segmencie TESG1, oznacza to, że w czasie bitu w autobusie występuje opóźnienie w stosunku do czasu bitu węzła, wówczas kontroler puszki wydłuża okres czasu bitowego TESG1 Wartość czasu opóźnienia (wartość t 0) jest większa niż szerokość pomijania synchronizacji, czas rozszerzenia jest wartością pomijania synchronizacji, w przeciwnym razie kontroler puszki z Węzeł rozszerza różnicę między nim a czasem bitu autobusu; Jeśli krawędź skoku znajduje się w segmencie TESG2, co wskazuje, że czas bitu w autobusie jest opanowany w stosunku do czasu bitu węzła, wówczas kontroler puszki zmniejsza okres czasu TESG2. te z segmentu TESG1.
3. Analiza mechanizmu adresu autobusu może
W przeciwieństwie do przemysłowej Ethernet, RS485 i innych autobusów, puszka magistralowana wysyła i odbiera dane za pośrednictwem identyfikatora pakietu, a nie na adres węzła, tj. Węzły w magistrali CAN nie mają stałego adresu, zamiast tego każdy węzeł musi być skonfigurowany za pośrednictwem oprogramowanie z tabelą identyfikacyjną (w jednostce filtra akceptacyjnej węzła), a jeśli numer identyfikacyjny pakietu danych w magistrecie istnieje w tabeli identyfikatorów węzła, wówczas pakiet pomyślnie przechodzi Akceptacja jednostki filtra akceptacji tego węzła i zostanie wysłana do górnej jednostki przetwarzania oprogramowania i odpowiednio przetworzona, w przeciwnym razie pakiet jest odrzucony. Na przykład, jeśli węzeł A w autobusie chce wysłać pakiet do węzła B, numer identyfikacyjny pakietu musi znajdować się w tabeli ID węzła B. Podobnie, jeśli węzeł A chce nadać pakiet do magistrali, ID numer pakietu musi znajdować się w tabelach identyfikacyjnych wszystkich innych węzłów w magistrecie. Jak wspomniano wcześniej, tabela identyfikatorów jest konfigurowana za pomocą oprogramowania, ale funkcja filtrowania akceptacji jest wykonywana za pomocą filtra akceptacyjnego, urządzenia sprzętowego w kontrolerze CAN, więc opóźnienie spowodowane akceptacją jest niewielkie pod względem prędkości. Ponadto zaletą korzystania z tego mechanizmu adresu jest to, że system wykorzystujący tę magistralę jest wysoce elastyczny, tj. Nowe dodane lub usunięte węzły nie wpływają na komunikację między oryginalnymi węzłami systemu.
Poniżej podano kontroler CAN zintegrowany z układem LPC2478 NXP jako przykład, aby określić metodę konfiguracji adresu systemu magistrali CAN. Jak pokazano na rysunku 3, najpierw sklasyfikowane zgodnie z pakietami danych, które mają być przesyłane w magistrecie, to znaczy identyfikator pakietu i odpowiadające im planowanie węzłów, na przykład w naszym systemie, istnieją głównie następujące typy pakietów: pakiety zapytania, Pakiety poleceń sterujących (w tym pakiety akcji i parametrów), pakiety alarmowe i pakiety parametrów sprzężenia zwrotnego, odpowiadające charakterystyce węzła pakietów zapytań i pakietów poleceń sterujących są głównie stacją główną wysyłaną do każdej jednostki niewolników, podczas gdy Pakiety danych alarmowych i pakiety danych parametrów sprzężenia zwrotnego są wysyłane głównie z każdej jednostki węzła niewolnika do węzła jednostki głównej. Następnie jednostka filtra akceptacji każdego węzła jest skonfigurowana zgodnie z klasyfikacją identyfikacyjną, a konkretna metoda konfiguracji jest następująca: Po pierwsze, skonfiguruj odpowiednie tryby robocze filtra akceptacji zgodnie z charakterystyką węzła: tryb OFF (nie odbieranie komunikatów magistrali) , Tryb obejścia (odbieranie wszystkich wiadomości w magistrali) i normalny tryb pracy (filtrowanie sprzętu). Jeśli konfiguracja normalnego trybu działania, musisz skonfigurować odpowiednią tabelę filtru akceptacji (tabela identyfikacyjna), to znaczy węzeł musi odbierać numer identyfikatora pakietu kontrolera węzła, aby wypełnić odpowiedni obszar tabeli identyfikatorów identyfikatora, A to uzupełnia prace przydziału adresu węzłów magistrali. Ogólnie rzecz biorąc, tabela identyfikatora jest podzielona na następujące cztery obszary: wyraźny standardowy obszar identyfikatora ramki, standardowy obszar identyfikatora formatu grupy ramek, obszar identyfikatora formatu rozszerzonego ramki i obszar identyfikatora formatu grupy rozszerzonej ramki. Wśród nich wyraźny format jest pojedynczym niezależnym identyfikatorem identyfikatora, podczas gdy obszar formatu grupy ma kolejno ponumerowane identyfikatory identyfikatorów.
4. Analiza mechanizmu arbitrażowego autobusu może
Arbitraż magistrali, odnosi się do tego, gdy magistrala ma jednocześnie więcej niż jeden węzeł, aby wysłać metody przetwarzania protokołu magistrali danych. CAN BUS wykorzystuje nieniszczący mechanizm arbitrażowy, to znaczy, jeśli więcej niż jeden węzeł w autobusie w tym samym czasie do wysyłania danych, z wygrywającym węzłem pakietu o wysokim priorytecie, możesz nadal wysyłać dane i inną awarię arbitrażu Węzeł wyjdzie z stanu wysyłania i zamieni się w węzeł odbierający, z innymi mechanizmami arbitrażu autobusów (takimi jak CSMA LAN). (W porównaniu z innymi mechanizmami arbitrażu magistrali (np. CSMA/CD LAN), nie tylko nie zniszczy wysłanych danych, ale także nie spowoduje opóźnienia danych wysyłania danych, co jest jedną z zalet Bus w porównaniu z innymi autobusami , i jest to głównie realizowane przez następujące dwie cechy Bus: 1) linia i cechy puszki, tj. Gdy więcej niż jeden węzeł w autobusie wysyła dominujące i niewidoczne poziomy w tym samym czasie, Poziom autobusu jest dominujący. 2) Linia i charakterystyka puszki, tj. Gdy więcej niż jeden węzeł w autobusie wysyła dominujący i niewidoczny poziom w tym samym czasie, poziom autobusu pokazuje poziom dominujący. 2) Can Can Monitoruje status poziomu magistrali, nawet podczas wysyłania danych, tj. W przypadku arbitrażu, gdy kontroler wysyła niewidoczny poziom, ale wykrywa magistrację jako poziom widoczny, arbitraż węzłów nie powiada się i zwraca się do węzła odbierającego.
5. Analiza solidności autobusów może
Solidność autobusu CAN jest realizowana poprzez wykrywanie w czasie rzeczywistym i monitorowanie bezpieczeństwa pakietu węzłów i magistrali, a ponadto autobus ma silne zahamowanie zewnętrznych sygnałów zakłóceń za pomocą sygnałów różnicowych. Specjalnie omówione poniżej.
5.1 Monitorowanie fali autobusu w czasie rzeczywistym
CAN CONTRONER nie tylko monitoruje pakiety danych wysyłane przez inne węzły w magistreerze przez cały czas po zasilaniu, ale także monitoruje dane wysyłane przez siebie w procesie wysyłania pakietów danych w czasie rzeczywistym, po wykryciu błędów, po wprowadzeniu błędów, Błędy wyściółka, błędy CRC, błędy formatowania lub błędy odpowiedzi, węzeł będzie oparty na stanie błędu, w którym jest (aktywowany błąd lub stan uznany za błąd), aby wysłać odpowiednią flagę błędu. W rzeczywistości uważam, że tylko strona aktywacji błędów wysyła logo błędu aktywacji (tj. 6 kolejnych dominujących bitów, a następnie 8 recesywnych bitów logo błędu definiującego znak) będzie miało wpływ na autobus i węzły w magistrecie, a Węzeł w stanie rozpoznawania błędów Wysyłanie logo rozpoznawania błędów nie ma żadnego wpływu na magistralę (6 poziomów recesywnych wysłanych w stanie bezczynności magistrali jest takie samo).
5.2 Monitorowanie statusu węzła w czasie rzeczywistym w celu ustalenia uprawnień węzłów
Węzły zmieniają stan (aktywowany przez błąd, rozpoznany przez błędy lub stan autobusowy) w czasie rzeczywistym zgodnie z pakietami wysyłanymi w autobusie. Węzły w stanie aktywowanym przez błąd uczestniczą normalnie w komunikacji autobusowej, a jednostki uznane przez błędy uczestniczą w komunikacji autobusowej, ale muszą wysłać 8 dodatkowych ukrytych bitów, zanim zainicjują następne wysłanie. W przypadku pakietów wysyłanych do magistrali, jak pokazano w tabeli 1, sekwencja CRC 15- implementuje monitorowanie bitu początkowego, pole arbitrażowe, pole kontrolne i pole danych (jeśli istnieje), miejsce odbierania generuje sekwencję CRC pakietu zgodnie z tym samym algorytmem, co sekcja węzła wysyłającego, gdy odbiera dane i porównuje je z otrzymaną sekwencją CRC, jeśli jest inaczej, oznacza to, że tam oznacza, że tam oznacza, że tam oznacza, że tam oznacza, że tam oznacza jest błędem, a węzeł odbierający nie odpowie na węzeł odbierający, nie odpowie na pakiet, a węzeł wysyłający wykryje błąd odpowiedzi i ponownie wyznaczy pakiet. Podsumowując, CAN Bus osiągnął wysoką stabilność bezpieczeństwa danych i magistrali za pośrednictwem warstwy łącza danych i warstwy fizycznej.
6. Wniosek
Na podstawie specyfikacji protokołu ISO11898 artykuł szczegółowo analizuje zasadę realizacji i podstawy mechanizmu synchronizacji węzłów Bus, mechanizm adresu węzłowego, mechanizm arbitrażowania autobusów (tj. Mechanizm rozwiązywania konfliktu autobusowego) i niezawodność autobusu z perspektywy komunikacji, a na tym samym Czas krótko wprowadza charakterystykę aplikacji magistrali CAN i układu systemowego magistrali, gdy jest ona stosowana do rzeczywistego systemu, co jest bardzo ważne dla Dogłębne zrozumienie protokołu magistrali CAN i zastosowania Bus Bus do rzeczywistego systemu. Jest to przewodnik dla zrozumienia protokołu Busu CAN i zastosowania autobusu CAN do określonych projektów inżynierskich, a także do badania lub opracowywania systemów autobusowych w celu określonych wymagań.




