Magistrala CAN, część 3
Zdecentralizowana wymiana danych
Dwie pierwsze cz�ści tego Detekcja bł�d�w
i ich korekcja
artykułu dotyczyły historii,
Jedną z najbardziej
normalizacji, podstawowej
rzucających si� w oczy
struktury i protokołu
cech magistrali CAM jest
transmisji danych Sieci
jej nadzwyczajna zdol-
Obszaru Sterownika.
nośĘ wykrywania wielu
W niniejszej, trzeciej cz�ści,
bł�d�w podczas transmi-
połołono nacisk na aspekty
sji danych i odpowie-
praktyczne.
dniego reagowania na
nie. Ma ona odst�p Ham-
minga (nazywany takłe
odst�pem sygnałowym)
r�wny 6. Odst�p sygna-
łowy mi�dzy dwoma sło-
wami dw�jkowymi o tej
samej długości jest li-
czbą bit�w na odpowia-
dających sobie pozycjach, kt�re jest tylko jedna stacja, kt�ra wy-
mają r�łne wartości. Na przykład syła wiadomośĘ do magistrali i od-
odst�p sygnałowy mi�dzy słowa- biera zwrotnie inny, r�łniący si�
mi dw�jkowymi 11011010 od wysłanego bit (stan magistrali),
i 10000110 wynosi 4, poniewał to jest oczywiste, łe na magistrali
bity: 3-ci, 4-ty, 5-ty i 7-my (licząc wystąpił błąd. W takiej sytuacji
od prawej) r�łnią si� wartościami. stacja przełącza si� na procedur�
Magistralą CAN dane mogą byĘ korekcji bł�du. (patrz dalej).
Tab. 3. Porównanie parametrów
transmitowane z szybkością 500
systemów CAN 20A (format ramki
kbit�w/s. Na kałde 0,7 s przypada Wykrywanie bł�dnych bit�w do-
standardowej) i CAN 20B (format ramki
jeden bł�dny bit spowodowany datkowych
rozszerzonej)
zewn�trznymi zakł�ceniami. SieĘ W specyfikacja CAN określa
Parametr ................................... CAN2.0A CAN2.0B
mołe pracowaĘ osiem godzin wyra�nie, łe gdy w ramce danych
Maksymalna liczba
dziennie przez 365 dni w roku. jest transmitowanych kolejno wi�-
identyfikatorów .............................. 211 229
Liczba stacji (węzłów) ..................... 32 32 Wbudowany spos�b zabezpiecze- cej nił pi�Ę bit�w o tej samej
Szybkość transmisji [kbit/s] ........ 5..125 5..1000
nia przed bł�dami gwarantuje, łe wartości (na przykład siedem razy
Liczba bajtów w ramce ................. 0 - 8 0 - 8
przez 1000 lat pracy tylko jeden wartośĘ zero w jakimś polu), to
Maksymalna długość
błąd nie b�dzie wykryty. Bł�dy kałda grupa pi�ciu bit�w jest
ramki ........................................ 117 bitów 13 bitów
Maksymalny zasięg mogą wyst�powaĘ i oczywiście poprzedzana przez bit komple-
sieci .......................................... patrz tekst patrz tekst
wyst�pują, ale skoro są rozpozna- mentarny (tutaj oczywiście 1).
wane, to mołna je skorygowaĘ. Ten wprowadzony bit, kt�ry oczy-
Tylko nierozpoznane bł�dy mogą wiście nie zawiera w og�le ładnej
powodowaĘ, łe fałszywe wyniki informacji, jest nazywany bitem
pomiar�w b�dą przetwarzane. dodatkowym. Po zako�czeniu od-
bioru, te bity są usuwane ze
Wykrywanie bł�d�w strumienia danych, tak łe tylko
transmisji pierwotna wiadomośĘ jest prze-
Artykuł publikujemy na pod-
W CAN zastosowano r�wno- twarzana.
stawie umowy z wydawcą mie-
cześnie kilka sposob�w wykrywa- Dodatkowe bity mogą byĘ z łat-
si�cznika "Elektor Electronics".
nia bł�d�w. wością ułyte do kontroli bł�d�w.
Jełeli odbiornik wykryje w ramce
Editorial items appearing on
Detekcja bł�dnego bitu wi�cej nił pi�Ę kolejnych bit�w
pages 13..16 are the copyright
Kałda stacja zawsze odbiera o tej samej wartości (lecz nie
property of (C) Segment B.V., the
zwrotnie swoją własną transmisj�. w polu EOF), to jest oczywiste, łe
Netherlands, 1998 which reserves
Dlatego, jełeli po fazie arbitrału to nie jest poprawny odczyt, i łe
all rights.
Elektronika Praktyczna 3/2000
13
wystąpił błąd podczas transmisji
Szyna
danych
danych (wystąpił dodatkowy bit
Dane TxD CAN H
użytkownika
lub został �odwr�cony� jeden lub
wi�cej bit�w). Wtedy odbiornik
RxD CAN L
Transceiver
zawiesza działanie i uruchamia
CAN
Szyna
sterująca
procedur� poprawiania bł�d�w
(zobacz dalej).
Ramki
Detekcja bł�du CRC
CAN
Proces ten polega, jak juł
wspomniano, na oszacowaniu su-
Rys. 9 Schemat blokowy trójstopniowej Sieci Obszaru Sterownika (CAN).
my kontrolnej CRC w odbiorniku.
Gdy sumy kontrolne: odebrana Po pierwsze, ramki w kt�rych wiednią szybkością lub jest sta-
i obliczona r�łnią si�, to odbior- został stwierdzony jakiś błąd są cją, kt�ra odbiera tylko bł�dne
nik zmienia swoje działanie uru- natychmiast odrzucane przez od- dane? Taka stacja mogłaby stale
chamiając procedur� korekcji bł�- powiednią stacj� i nie przetwa- wysyłaĘ ramk� sygnalizująca
d�w (zobacz dalej). rzane. Po drugie, jełeli kt�raś ze błąd i tym samym zablokowaĘ
stacji systemu wykryje jakiś błąd, całą sieĘ. CAN jest odpowie-
Detekcja bł�du potwierdzenia to wysyła natychmiast ramk� in- dnio zabezpieczony przed ta-
W opisie formatu ramki (patrz formującą o bł�dzie, kt�ra składa kim zdarzeniem, ale brak miej-
rys. 6) wspomniano o bicie ACK si� z sześciu dominujących bit�w sca nie pozwala na opisanie
(bit przerwy na potwierdzenie), (sygnalizacja bł�du) i ograniczni- tego w tym artykule.
kt�ry jest wysyłany przez stacj� ka ramki bł�du zawierającego
jako bit recesywny. Wszystkie osiem bit�w recesywnych. Wsku- Podsumowanie
stacje, kt�re poprawnie odebrały tek tego wszystkie bity recesywne Parametry dw�ch wersji syste-
poprzednią ramk� nadpisują na magistrali są nadpisywane, tak mu CAN, tj. CAN 20A (format
(�przykrywają�) ten bit bitem do- łe wyst�puje na niej tylko sześĘ ramki standardowej) i CAN 20B
minującym. Stacja nadająca wy- dominujących bit�w. Jest to jed- (format ramki rozszerzonej) por�-
krywa to i �wie�, łe przynajmniej nak naruszenie przyj�tej zasady, wnano w tablicy 3.
jedna stacja odebrała jej dane łe nie wi�cej nił pi�Ę kolejnych Chociał CAN jest efektywnym
poprawnie. bit�w mołe mieĘ tą samą war- i bardzo niezawodnym systemem
Jełeli stacja nadająca stwier- tośĘ. do przesyłania danych, to Czytel-
dzi, łe jej bit w przerwie na Wszystkie pozostałe stacje do- nik i potencjalny ułytkownik sy-
potwierdzenie (ACK slot) nie zo- łączone do magistrali wykrywają stemu mołe zapytaĘ jak mołna
stał nadpisany, to �wie�, łe ładna ten stan i uznają dopiero co ode- praktycznie zastosowaĘ ten sy-
stacja nie odebrała jej wiadomości braną ramk� jako bł�dną (wadli- stem? Są w nim bity dominujące
poprawnie. W takim razie, zawie- wą), odrzucają ją i takłe wysyłają i recesywne, 11-bitowy identyfika-
sza swoje dotychczasowe działa- ramk� sygnalizującą o bł�dzie. Ina- tor, 15-bitowa suma kontrolna
nie i wywołuje procedur� korekcji czej m�wiąc, stacja kt�ra wykryła CRC, 1-bitowy ogranicznik, 7-
bł�d�w (zobacz dalej). błąd celowo �uszkadza� całą trans- bitowe pole EOF, 6-bitowa ramka
mitowaną ramk�, tak łe wszystkie bł�du i wiele innych �dziwności�.
Detekcja bł�du formatu stacje dołączone do magistrali �adna z nich nie kojarzy si�
W tym procesie wykorzystywa- odbierają ją jako bł�dną. To oz- bezpośrednio ze strukturą danych
ny jest fakt, łe w ramce jest kilka nacza, łe o jakimś bł�dzie lokal- mikrokontrolera 8- lub 16-
p�l, kt�re muszą zawsze mieĘ nym w jednej stacji są natych- bitowego.
ustaloną zawartośĘ: w polu ogra- miast poinformowane wszystkie Jak wi�c jest mołliwe zapro-
nicznika CRC (bit ko�ca CRC), pozostałe stacje. Gł�wnym załołe- gramowanie mikrokontrolera zgo-
w polu ogranicznika potwierdze- niem sieci jest, łeby wszystkie dnie z protok�łem sieci? Jełeli
nia i w polu EOF są zawsze bity stacje odbierały poprawne dane, o to chodzi, to przyszły konstruk-
recesywne. Jełeli w tych polach kt�re mogą byĘ dalej przetwarza- tor nie powinien si� tym mar-
zostanie wykryty bit dominujący, ne lub łeby wszystkie stacje od- twiĘ. Dla tej sieci jest bowiem
to taki stan mołe byĘ tylko bierały bł�dne dane, kt�re b�dą dost�pnych mn�stwo gotowych,
spowodowany przez błąd transmi- odrzucane. Pierwotna stacja nada- niedrogich element�w składo-
sji danych. W�wczas stacja nada- jąca stwierdza oczywiście, łe ram- wych, moduł�w. Są one dostar-
jąca uruchamia takłe procedur� ka kt�rą wysłała jest z bł�dem, czane przez producent�w ukła-
korekcji bł�du. poprawia tą wiadomośĘ i natych- d�w scalonych dla systemu CAN,
miast wysyła ponownie. co spowodowało, łe ta sieĘ stała
Korekcja bł�d�w si� tak popularna, w tak kr�tkim
Procedura korekcji bł�d�w Błąd wewnątrz stacji czasie.
w wypadku bł�du transmisji da- Co si� stanie, gdy stacja Typowe interfejsy CAN skła-
nych jest realizowana w dw�ch sama stwierdzi, łe jest uszko- dają si� gł�wnie, jak to widaĘ
wariantach. dzona, wysyła dane z nieodpo- na schemacie blokowym (rys.
Elektronika Praktyczna 3/2000
14
Mikrokontroler
9), z trzech chip�w. Jedynym Przed przystąpieniem do om�- 700..707. Wyb�r pojedynczego
zadaniem mikrosterownika jest wienia konstrukcji interfejsu identyfikatora jest wtedy mołli-
wpisywanie bajt�w danych przedstawionych jeszcze zostanie wy tylko po przeprowadzeniu
(0..8), kt�re mają zostaĘ wysłane kilka dodatkowych informacji. dalszej selekcji z ułyciem mik-
do układu scalonego protokołu rosterownika. Przeznaczone dla
CAN, wypełnianie pola identy- Filtrowanie akceptacyjne danej stacji ramki zdalne r�w-
fikatora i pola DLC oraz odpo- Z cz�ści 2 wiadomo, łe CAN nieł przechodzą przez filtr przed
wiednie ustawienie bitu RTR. działająca w standardowym for- dotarciem do mikrosterownika.
Pozostałe elementy procesu macie ramek (CAN20A) jest w sta- Tylko wtedy mołe on wygene-
przetwarzania: nie przetwarzaĘ do 2048 r�łnych rowaĘ w odpowiedzi właściwe
- obliczanie sumy kontrolnej CRC, identyfikator�w. Oczywiście nie dane i skierowaĘ je do sterow-
- dodawanie pozostałych p�l, jest niezb�dne, aby kałda ze stacji nika CAN.
- łączenie si� z magistralą, przyłączonych do magistrali otrzy-
- transmisja danych, mywała wszystkie ramki danych. Układ FullCAN
- wykrywanie i usuwanie bł�d�w Na przykład mołe byĘ tak, łe dla Układ ten umołliwia dokładne
są wykonywane przez układ sca- stacji K istotne są tylko ramki zaprogramowaniei selekcj� pojedyn-
lony sterownika CAN. z identyfikatorami 129, 1345 czego identyfikatora. Innymi słowy,
Dane są wprowadzane do ma- i 1999, a 2045 pozostałych nie układ mołe zostaĘ przystosowany
gistrali za pośrednictwem układu ładnego znaczenia. Bardzo połą- do akceptowania jednej lub okreś-
scalonego transceivera CAN, kt�ry dane staje si� wi�c wprowadzenie lonej liczby ramek, na przykład
jest bezpośrednio połączony z ma- takiej selekcji identyfikator�w, aby tylko ramki z identyfikatorem 798.
gistralą. Mikrosterownik otrzymu- do mikrosterownika nie docierały Jednak układ ten nie b�dzie prze-
je wtedy potwierdzenie pomyślne- ramki zbyteczne. Selekcja ta na- puszczał dułej liczby ramek o r�ł-
go wysłania danych, albo komu- zywa si� filtracją akceptacyjną. nych identyfikatorach, poniewał
nikat o bł�dzie, poczym podejmu- Umołliwia ona takie zaprogramo- program sterownika jest ustalony.
je odpowiednie działanie. wanie sterownika CAN, łeby Jełeli wi�c ma byĘ odbierane
Mniej wi�cej to samo dzieje si� sprawdzał wszystkie otrzymywane wiele ramek o r�łnych identyfika-
przy odbiorze danych. Sterownik ramki (wraz z korekcją bł�d�w), torach, lepiej wybraĘ chip Basi-
CAN, za pośrednictwem układu ale do mikrosterownika wysyłał CAN. Trzeba jednak pami�taĘ, łe
scalonego transceivera CAN, otrzy- tylko ramki o określonych identy- wtedy znaczna cz�śĘ procesu se-
muje ramki CAN z magistrali, po- fikatorach. Bez konieczności do- lekcji z konieczności przejmie
nownie sprawdza sum� kontrolną, konywania przez mikrosterownik mikrosterownik, kt�rego moc prze-
usuwa z ramek wszystkie zb�dne zbytecznych por�wna� przetwa- twarzania b�dzie musiała byĘ
pola i do mikrosterownika przesy- rzanie staje si� szybsze. Do fil- zwi�kszona.
ła otrzymane dane, albo komuni- trowania akceptacyjnego mołna Zaletą układu FullCAN jest
kat o bł�dzie. ułyĘ dw�ch r�łnych układ�w mołliwośĘ programowania przez
Czytelnik z pewnością juł za- scalonych. mikrosterownik w układzie scalo-
uwałył, łe wymagania sprz�towe nym sterownika CAN odpowiedzi
i programowe interfejsu magist- Układ BasiCAN na zdalną ramk�. Gdy taki układ
rali CAN nie są wielkie. Mik- Układ ten zawiera prosty filtr otrzymuje dozwoloną zdalną ram-
rosterowniki, zawierające sterow- o szerokości ośmiu bit�w, po- k� dla odnośnej stacji, mołe wy-
nik CAN, są juł dost�pne na zwalający na jedynie zgrubną słaĘ w odpowiedzi ramk� danych
rynku. Umołliwiają one skon- selekcj� wst�pną. Polega ona na bez interwencji mikrosterownika.
struowanie dwustopniowego in- tylko grupowym przepuszczaniu Wraz z nieuniknionym rozwo-
terfejsu CAN. identyfikator�w, na przykład jem technologii r�łnice pomi�dzy
układami BasicCAN i FullCAN sta-
ją si� coraz mniej wyra�ne. Chipy
Tab. 4. Podstawowe parametry scalonego interfejsu SJA1000. FullCAN stają si� takłe coraz
sprawniejsze, mogąc wybieraĘ co-
Układ scalony sterownika SJA1000 (Philips Semiconductors)
CAN
raz wi�ksze liczby identyfikator�w
i przechowywaĘ coraz wi�cej rejes-
Interfejs mikrosterownika Może zostać dostosowany do mikrosterowników Intel i z nim zgodnych
lub do mikrosterowników Motorola i z nim zgodnych.
tr�w danych. Najnowsze układy
Tryb działania 1 Rozmieszczeniem wyprowadzeń, sprzętowo i programowo zgodny
sterownik�w CAN mogą za pomo-
z PCA82C200, CAN20A i bierny CAN20B. Standardowy format ramek.
cą programu przełączaĘ si� pomi�-
Szybkość transmisji danych do 1Mb/s. Filtr akceptacyjny BasicCAN.
dzy dwoma trybami działania.
Tryb działania 2 Standardowy i rozszerzony format ramek. Szybkość transmisji danych do
1 Mb/s. Możliwość CAN 20B. Rozszerzony filtr akceptacyjny o własnoś-
ZgodnośĘ pomi�dzy
ciach BasicCAN.
20A i 20B
Układ scalony transceivera Szybki CAN, zgodny z ISO/DIS11898. Szybkość transmisji do 1 Mb/s. Za-
bezpieczenie wewnętrzne przed zakłóceniami wytwarzanymi przez pojazdy Jak juł wiadomo z dyskusji
silnikowe. Zabezpieczenie wewnętrzne przed zwarciami i przegrzaniem.
o formatach ramek, istnieje Format
Nie zasilone węzły (stacje) nie oddziaływują na magistralę. Pozwala kon-
Standardowy z 11-bitowymi iden-
struować CAN o liczbie węzłów do 110.
tyfikatorami i Format Rozszerzony
Elektronika Praktyczna 3/2000
15
z 29-bitowymi identyfikatorami. Sterowniki z mołliwym 20A Sterowniki z mołliwym 20B
Dlatego przy wyborze sterownika i biernymi cechami 20B Te sterowniki przetwarzają,
CAN, gdy w magistrali są uływane Układy te akceptują ramki roz- przechowują i przepuszczają ram-
oba formaty (co jest zupełnie szerzone z 29-bitowymi identyfi- ki zar�wno formatu standardowe-
mołliwe i dopuszczalne), naleły katorami, przeprowadzają pr�b� go jak i rozszerzonego.
zachowaĘ dułą ostrołnośĘ. bł�du i odpowiadają bitem ACK Przy podejmowaniu decyzji
(potwierdzenia) albo ramką bł�- o zakupie sterownika CAN, czy
Sterowniki z mołliwym 20A du. mikrosterownika zawierającego
Te sterowniki mogą przetwa- ŁącznośĘ nie zostaje zakł�co- sterownik CAN, napotyka si� na
rzaĘ tylko ramki standardowe, na, ale rozszerzone ramki danych tak duły ich wyb�r, łe opłaca si�
a po odebraniu ramki rozszerzonej nie są ani zapisywane ani prze- przejrzeĘ przedtem internetowe
generują komunikat o bł�dzie. Mo- puszczane, poniewał układy te są witryny najbardziej znanych pro-
łe to całkowicie wstrzymaĘ dzia- przewidziane jedynie do przetwa- ducent�w tych układ�w, Hitachi,
łanie systemu, wi�c sterowniki rzania ramek formatu standardo- Intel, Motorola, NSC, Philips, SGS,
tego rodzaju mogą byĘ uływane wego. Niemniej w pełni nadają Siemens, Temic i Texas Instru-
tylko systemach z ramkami wy- si� do ułytku w systemach hyb- ments.
łącznie standardowymi. rydowych. EE
Elektronika Praktyczna 3/2000
16
Wyszukiwarka
Podobne podstrony:
Magistrala CAN cz 4Ekploatacyjne właściwości magistrali CAN w pojazdach samochodowych Politechnika WarszawskaSieci CAN, cz 2Sieci CAN, cz 2Sieci CAN, cz 1Sieci CAN, cz 3Sieć magistral CAN układu komfortowegoCAN (wszystko na temat magistrali CAN)Magistrala danych CAN wtyczki rozłączająceRozgrzewka po kwadracie – cz 2sprzęt wędkarski cz 1Escherichia coli charakterystyka i wykrywanie w zywności Cz IDeszczowa piosenka [cz 1]więcej podobnych podstron