Magistrala CAN, część 3
Zdecentralizowana wymiana danych
Dwie pierwsze czści tego Detekcja błdw
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łdw podczas transmi-
połołono nacisk na aspekty
sji danych i odpowie-
praktyczne.
dniego reagowania na
nie. Ma ona odstp Ham-
minga (nazywany takłe
odstpem sygnałowym)
rwny 6. Odstp sygna-
łowy midzy dwoma sło-
wami dwjkowymi o tej
samej długości jest li-
czbą bitw na odpowia-
dających sobie pozycjach, ktre jest tylko jedna stacja, ktra wy-
mają rłne wartości. Na przykład syła wiadomośĘ do magistrali i od-
odstp sygnałowy midzy słowa- biera zwrotnie inny, rłniący si
mi dwjkowymi 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
kbitw/s. Na kałde 0,7 s przypada Wykrywanie błdnych bitw do-
standardowej) i CAN 20B (format ramki
jeden błdny bit spowodowany datkowych
rozszerzonej)
zewntrznymi zakłceniami. SieĘ W specyfikacja CAN określa
Parametr ................................... CAN2.0A CAN2.0B
mołe pracowaĘ osiem godzin wyranie, ł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 sposb zabezpiecze- cej nił piĘ bitw 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 bdzie wykryty. Błdy kałda grupa piciu bitw jest
ramki ........................................ 117 bitów 13 bitów
Maksymalny zasięg mogą wystpowaĘ i oczywiście poprzedzana przez bit komple-
sieci .......................................... patrz tekst patrz tekst
wystpują, ale skoro są rozpozna- mentarny (tutaj oczywiście 1).
wane, to mołna je skorygowaĘ. Ten wprowadzony bit, ktry oczy-
Tylko nierozpoznane błdy mogą wiście nie zawiera w ogle ładnej
powodowaĘ, łe fałszywe wyniki informacji, jest nazywany bitem
pomiarw bdą przetwarzane. dodatkowym. Po zakoczeniu od-
bioru, te bity są usuwane ze
Wykrywanie błdw strumienia danych, tak łe tylko
transmisji pierwotna wiadomośĘ jest prze-
Artykuł publikujemy na pod-
W CAN zastosowano rwno- twarzana.
stawie umowy z wydawcą mie-
cześnie kilka sposobw wykrywa- Dodatkowe bity mogą byĘ z łat-
sicznika "Elektor Electronics".
nia błdw. wością ułyte do kontroli błdw.
Jełeli odbiornik wykryje w ramce
Editorial items appearing on
Detekcja błdnego bitu wicej nił piĘ kolejnych bitw
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ł odwrcony jeden lub
wicej bitw). Wtedy odbiornik
RxD CAN L
Transceiver
zawiesza działanie i uruchamia
CAN
Szyna
sterująca
procedur poprawiania błdw
(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 ktrych wiednią szybkością lub jest sta-
i obliczona rłnią si, to odbior- został stwierdzony jakiś błąd są cją, ktra 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
dw (zobacz dalej). rzane. Po drugie, jełeli ktraś 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, ktra składa kim zdarzeniem, ale brak miej-
rys. 6) wspomniano o bicie ACK si z sześciu dominujących bitw sca nie pozwala na opisanie
(bit przerwy na potwierdzenie), (sygnalizacja błdu) i ograniczni- tego w tym artykule.
ktry jest wysyłany przez stacj ka ramki błdu zawierającego
jako bit recesywny. Wszystkie osiem bitw recesywnych. Wsku- Podsumowanie
stacje, ktre poprawnie odebrały tek tego wszystkie bity recesywne Parametry dwch wersji syste-
poprzednią ramk nadpisują na magistrali są nadpisywane, tak mu CAN, tj. CAN 20A (format
(przykrywają) ten bit bitem do- łe wystpuje na niej tylko sześĘ ramki standardowej) i CAN 20B
minującym. Stacja nadająca wy- dominujących bitw. Jest to jed- (format ramki rozszerzonej) por-
krywa to i wie, łe przynajmniej nak naruszenie przyjtej zasady, wnano w tablicy 3.
jedna stacja odebrała jej dane łe nie wicej nił piĘ kolejnych Chociał CAN jest efektywnym
poprawnie. bitw 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 mwiąc, stacja ktra wykryła CRC, 1-bitowy ogranicznik, 7-
błdw (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-
pl, ktre muszą zawsze mieĘ nym w jednej stacji są natych- bitowego.
ustaloną zawartośĘ: w polu ogra- miast poinformowane wszystkie Jak wic jest mołliwe zapro-
nicznika CRC (bit koca 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 ktre 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, ktre bdą dostpnych mnstwo gotowych,
spowodowany przez błąd transmi- odrzucane. Pierwotna stacja nada- niedrogich elementw składo-
sji danych. Wwczas stacja nada- jąca stwierdza oczywiście, łe ram- wych, modułw. Są one dostar-
jąca uruchamia takłe procedur ka ktrą wysłała jest z błdem, czane przez producentw ukła-
korekcji błdu. poprawia tą wiadomośĘ i natych- dw scalonych dla systemu CAN,
miast wysyła ponownie. co spowodowało, łe ta sieĘ stała
Korekcja błdw si tak popularna, w tak krtkim
Procedura korekcji błdw 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 dwch 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 chipw. Jedynym Przed przystąpieniem do om- 700..707. Wybr pojedynczego
zadaniem mikrosterownika jest wienia konstrukcji interfejsu identyfikatora jest wtedy mołli-
wpisywanie bajtw danych przedstawionych jeszcze zostanie wy tylko po przeprowadzeniu
(0..8), ktre 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 rw-
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, identyfikatorw. Oczywiście nie dane i skierowaĘ je do sterow-
- dodawanie pozostałych pl, jest niezbdne, 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łdw 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, ktry dane staje si wic wprowadzenie lonej liczby ramek, na przykład
jest bezpośrednio połączony z ma- takiej selekcji identyfikatorw, aby tylko ramki z identyfikatorem 798.
gistralą. Mikrosterownik otrzymu- do mikrosterownika nie docierały Jednak układ ten nie bdzie 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 wic ma byĘ odbierane
Mniej wicej to samo dzieje si sprawdzał wszystkie otrzymywane wiele ramek o rłnych identyfika-
przy odbiorze danych. Sterownik ramki (wraz z korekcją błdw), torach, lepiej wybraĘ chip Basi-
CAN, za pośrednictwem układu ale do mikrosterownika wysyłał CAN. Trzeba jednak pamitaĘ, ł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, ktrego moc prze-
usuwa z ramek wszystkie zbdne zbytecznych porwna przetwa- twarzania bdzie musiała byĘ
pola i do mikrosterownika przesy- rzanie staje si szybsze. Do fil- zwikszona.
ła otrzymane dane, albo komuni- trowania akceptacyjnego mołna Zaletą układu FullCAN jest
kat o błdzie. ułyĘ dwch rłnych układw mołliwośĘ programowania przez
Czytelnik z pewnością juł za- scalonych. mikrosterownik w układzie scalo-
uwałył, łe wymagania sprztowe 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 bitw, po- k dla odnośnej stacji, mołe wy-
nik CAN, są juł dostpne na zwalający na jedynie zgrubną słaĘ w odpowiedzi ramk danych
rynku. Umołliwiają one skon- selekcj wstpną. Polega ona na bez interwencji mikrosterownika.
struowanie dwustopniowego in- tylko grupowym przepuszczaniu Wraz z nieuniknionym rozwo-
terfejsu CAN. identyfikatorw, na przykład jem technologii rłnice pomidzy
układami BasicCAN i FullCAN sta-
ją si coraz mniej wyrane. 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 wiksze liczby identyfikatorw
i przechowywaĘ coraz wicej rejes-
Interfejs mikrosterownika Może zostać dostosowany do mikrosterowników Intel i z nim zgodnych
lub do mikrosterowników Motorola i z nim zgodnych.
trw danych. Najnowsze układy
Tryb działania 1 Rozmieszczeniem wyprowadzeń, sprzętowo i programowo zgodny
sterownikw 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śĘ pomidzy
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 zarwno formatu standardowe-
mołliwe i dopuszczalne), naleły katorami, przeprowadzają prb 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 wybr, ł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- ducentw tych układw, Hitachi,
łanie systemu, wic 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