ealizacja postej sieci miejscowej CAN Zygmunt KUBIAK Instytut Infomatyki Politechnika Poznańska e-mail: zkubiak@put.poznan.pl
ealizacja postej sieci miejscowej CAN Wpowadzenie do sieci CAN ealizacja modelu spzętowego sieci CAN Podsumowanie ealizacja postej sieci miejscowej CAN 2
Model sieci miejscowej UL Wastwa użytkownika Zadania użytkownika Użytkownicy sieci UL Wastwa użytkownika Z a z ą d z a n i e AL Wastwa aplikacji Wspiea: zadania użytkownika, komunikaty, bloki funkcji DL Wastwa łącza danych Wspiea wastwę aplikacji, steowanie dostępem do medium PL Wastwa fizyczna Obsługuje medium tansmisyjne Standad sieci miejscowej Z a z ą d z a n i e AL Wastwa aplikacji DL Wastwa łącza danych PL Wastwa fizyczna Medium tansmisyjne ealizacja postej sieci miejscowej CAN 3
Infomacje ogólne CAN (ang. Contolle Aea Netwok) sieć miejscowa opacowana dla potzeb pojazdów, w fimie obet Bosch GmbH. Sieć o konfiguacji magistalowej typu M-M (ang. multi-maste). to znaczy, że poszczególne węzły sieci mogą jednocześnie żądać dostępu do magistali. Sieć CAN została zatwiedzona pzez ISO (1992.) jako standad międzynaodowy w nomach ISO 11898 oaz ISO 11519-2. Standad CAN dotyczy głównie wastwy dugiej (DL) oaz częściowo wastwy piewszej (PL), pzy czym piewszy z dokumentów odnosi się do ozwiązań o dużych pędkościach tansmisji a dugi - małych. Po az piewszy na dużą skalę zastosowana w oku 1990 w samochodach Mecedes S. ealizacja postej sieci miejscowej CAN 4
Wastwa fizyczna Wastwa fizyczna dotyczy technicznych aspektów pzesyłania danych w postaci stumienia bitów. Dla sieci CAN najczęściej stosowanym medium tansmisyjnym jest paa skęconych pzewodów, twoząca magistalę dla dołączanych węzłów. U [V] ok. 3,5V ok. 2,5V ok. 1,5V Stan ecesywny U<0,5V CAN_H Stan dominujący 0,9V< U<2V CAN_L Magistala (dwie linie: CAN-H i CAN-L) z obu ston powinna być zakończona dopasowującymi imp. (teminatoy - 120 ). ealizacja postej sieci miejscowej CAN 5
Wastwa fizyczna Synchonizacja bitowa Stumień bitów w sieci CAN kodowany jest zgodnie z metodą NZ. Oznacza to, że może wystąpić wielobitowy stan dominujący lub ecesywny. Pzyjęto tzw. szpikowania bitami - po każdych pięciu jednakowych bitach następuje wstawienie bitu o pzeciwnej polayzacji. Czas twania pojedynczego bitu podzielony został na cztey segmenty, któych długość jest całkowitą wielokotnością kwantu czasu t q. Celem tego podziału jest ustalenie właściwego momentu póbkowania bitu. W każdym węźle musi istnieć możliwość ustawiania czasu twania bitu od 8 do 25 kwantów czasu. W CiA (CAN in Automation) pzygotowano specyfikację wiążącą pędkość tansmisji, długość magistali z liczbą kwantów czasu na bit i położeniem momentu odczytu. ealizacja postej sieci miejscowej CAN 6
Wastwa łącza danych Wastwa łącza danych (wg specyfikacji Bosch a) dzieli się na dwie podwastwy: obiektowa: filtacja wiadomości oaz obsługa wiadomości i statusu, tansfeowa: pzygotowaniem amki wiadomości, zatwiedzaniem i ozpakowaniem wiadomości, detekcją i sygnalizacją błędów, abitażem oaz pędkością tansmisji i zależnościami czasowymi. CAN jest potokołem typu M-M (ang. multi-maste) - poszczególne węzły sieci mogą jednocześnie żądać dostępu do magistali. Taka sytuacja wymaga abitażu. Nieniszczący abitaż (modyfikacja metody CSMA/CD - ang. Caie Sense Multiple Access with Collision Detect), oznacza, że w pzypadku wystąpienia kolizji dostęp do magistali uzyskuje wiadomość o najwyższym pioytecie. ealizacja postej sieci miejscowej CAN 7
Wastwa łącza danych N1 N2 N3 N4 Składanie amki Akceptacja Składanie amki Akceptacja Składanie amki Nadanie wiadomości Wybó Nadanie wiadomości Wybó Nadanie wiadomości Wybó Odbió wiadomości Odbió wiadomości Odbió wiadomości Adesy: N1 (nad.+ odb.) - ident.wiad.nadawanych 01011001100 B =716 D =2CC H, - ident.wiad.odbieanych 01011001010 B =714 D =2CA H, N2 (tylko nad.) - ident.wiad.nadawanych 01011001010 B =714 D =2CA H, N3 (tylko odb.) - ident.wiad.odbieanych 01011001xxx B =712 D..719 D =2C8 H..2CF H, N4 (nad.+ odb.) - ident.wiad.nadawanych 01011010010 B =722 D =2D2 H, - ident.wiad.odbieanych 01011011xx1 B =729 D..735 D =2D9 H..2DF H. ealizacja postej sieci miejscowej CAN 8
Wastwa łącza danych N1 N2 N4 D D D N4 pzegywa N1 pzegywa Jednoczeny stat węzłów N1, N2 i N4. Identyfikato wiadomości (w wesji CAN 2.0A) zawiea 11 bitów (pole abitażu). N4 - najniższy pioytet, N2 - najwyższy pioytet. Obowiązuje zależność: im niższy nume identyfikatoa tym wyższy pioytet wiadomości. ealizacja postej sieci miejscowej CAN 9
Wastwa łącza danych a) abitażu kontolne danych CC ACK Koniec Pzewa amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów T I D E 0 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity b) abitażu kontolne danych CC ACK ACK Koniec amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów S I D E IDENTYFIKATO 18 bitów T 0 1 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity Dwa fomaty amek: ozszezony (CAN 2.0B) identyfikato 29 bitów (znaczna długość identyfikatoów pozwala na kodowanie dodatkowych infomacji dotyczących wiadomości lub węzłów, np. typ wiadomości, odzaj sensoa czy np. kod poducenta). standadowy (CAN 2.0A) identyfikato 11 bitów, ealizacja postej sieci miejscowej CAN 10
Wastwa łącza danych a) abitażu kontolne danych CC ACK Koniec Pzewa amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów T I D E 0 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity b) abitażu kontolne danych CC ACK Koniec amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów S I D E IDENTYFIKATO 18 bitów T 0 1 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity SOF (ang. stat of fame), pole abitażu - ident. wiadomości i ozstzyganie ew. konfliktów z dostępem do sieci, bit T - ozóżnienie amki z danymi (bit dominujący) od amki zdalnej (bit ecesywny), bit IDE (bit dominujący - amka standadowa, bit ecesywny - amka ozszezona), bit S wysyłany jest jako ecesywny, ealizacja postej sieci miejscowej CAN 11
Wastwa łącza danych a) abitażu kontolne danych CC ACK Koniec amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów T I D E 0 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity b) abitażu kontolne danych CC ACK Koniec amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów S I D E IDENTYFIKATO 18 bitów T 0 1 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity bity ezewowe 0 i 1 są ustawione jako dominujące, pole kontolne definiuje liczbę bajtów danych; zawatość DCL w zakesie 0..7 ówna jest liczbie bajtów, natomiast watość 8..15 oznacza 8 bajtów, pole CC - zabezpieczenie nadmiaowe tansmisji; bit 16-ty jest ecesywny. Kodowanie pól od SOF do pola danych włącznie - kod cyklicznego o następującym wielomianie geneującym: g(x) = x 15 + x 14 + x 10 + x 8 + x 7 + x 4 + x 3 +1 ealizacja postej sieci miejscowej CAN 12
Wastwa łącza danych a) S O F abitażu IDENTYFIKATO 11 bitów T kontolne I D E 0 DLC 4 bity danych DANE 0-8 bajtów CC CC 15 bitów ACK ACK Koniec Koniec Szyna amki amki Pzewa Szyna wolna wolna EOF 7 bitów 3 bity b) abitażu kontolne danych CC Koniec ACK amki Pzewa Szyna wolna S O F IDENTYFIKATO 11 bitów S I D E IDENTYFIKATO 18 bitów T 0 1 DLC 4 bity DANE 0-8 bajtów CC 15 bitów EOF 7 bitów 3 bity pole potwiedzenia (ACK) zawiea 2 bity: ACK i bit oganicznika. Po wysłaniu amki nadajnik wysyła 2 ecesywne bity pola ACK, a odbionik, któy popawnie odebał wiadomość odpowiada w tym samym czasie dominującym bitem ACK. Dzięki temu nadajnik uzyskuje potwiedzenie, że pzynajmniej jeden węzeł popawnie odebał wiadomość. pole EOF składa się z 7 ecesywnych bitów kończących amkę, amka zdalna - wysyła odbionik żądający potzebnej wiadomości; identyfikato okeśla źódło danych. ealizacja postej sieci miejscowej CAN 13
Wastwa łącza danych Obsługa błędów Każdy z węzłów pzepowadza kontolę bitów. Wykywane są następujące typy błędów: stanu bitu - węzeł wysłał bit dominujący a odebał ecesywny (wyjątek - abitaż), szpikowania bitami - w ciągu bitów między SOF a oganicznikiem CC pojawiło się więcej niż 5 takich samych bitów, kontoli kodowej (CC) - odległ. Hamminga 6 - tylko wykywanie błędów bez koekcji, potwiedzenia (ACK), fomatu amki. Po wykyciu błędu pzez dowolny węzeł - geneowana specjalna amka błędu, zawieająca flagę błędu (6 bitów dominujących). Bity dominujące flagi błędu powodują nadpisanie uszkodzonej amki i wymuszają powtózenie tansmisji. ealizacja postej sieci miejscowej CAN 14
Wastwa łącza danych Kontoley CAN wyposażone są w dwa liczniki: licznik błędów odbiou (EC - eceive Eo Counte) oaz licznik błędów nadawania (TEC - Tansmit Eo Counte) - cel odóżnienie błędów chwilowych od twałych. Liczniki zwiększają swoją zawatość pzy błędzie odpowiedniej opeacji i zmniejszają ją pzy popawnej opeacji. W zależności od stanu licznika może zmieniać się stan węzła. Stan czynny Wykycie 128*11 bitów ecesywnych EC TEC>127 EC TEC<128 Stan odcięcia Stan bieny EC TEC >255 Stan czynny (eo active) Stan czynny (EC=TEC<128) jest nomalnym stanem węzłów. Sieć działa bez zakłóceń gdy EC=TEC=0. Stan bieny (eo passive) - węzły nadal nadają i odbieają wiadomości (127<EC TEC<255). W pzypadku błędu, węzeł czynny wysyła czynną amkę błędu (z czynną flagą błędu - 6 bitów dominujących) a węzeł bieny wysyła bieną amkę błędu (z bieną flaga błędu - 6 bitów ecesywnych). Stan odcięcia (bus off) - pzekoczenie zawatości EC TEC>255. ealizacja postej sieci miejscowej CAN 15
ealizacja modelu spzętowego sieci CAN Układy I/O Układy I/O mikokontole z potem CAN K Kontole CAN K Kontole CAN xd TxD xd TxD Układ styku z magistalą CAN Układ styku z magistalą CAN magistala CAN Typowe stuktuy węzłów sieci CAN ealizacja postej sieci miejscowej CAN 16
ealizacja modelu spzętowego sieci CAN Układy I/O Pamięć szeeg. CAN_H μc AT89C 4051 SJA 1000 TxD xd PCA 82C250 TL 7705 ST Dekode adesu CS ST CAN_L Schemat blokowy węzła sieci CAN ealizacja postej sieci miejscowej CAN 17
ealizacja modelu spzętowego sieci CAN Węzeł A Magistala CAN Węzeł E Węzeł G Węzeł B Węzeł D Teminato Węzeł C Węzeł F Sieć CAN ealizacja postej sieci miejscowej CAN 18
ealizacja modelu spzętowego sieci CAN Węzły sieci wyposażone są w układy wejścia - wyjścia o óżnych funkcjach. Zadania ealizowane pzez węzły sieci są następujące: kontola czasu zeczywistego (układ TC 58321), wyjścia logiczne (poste jednobitowe wyjścia), pogamowalny układ wejść-wyjść (wykozystanie układu 82C55), pomia tempeatuy (układ DS1620), pzetwonik A/C (pzetwonik AD7575), pzetwonik C/A (pzetwonik AD7528), wyświetlacze 6-cyfowy (wyświetlacze 7-segmentowe LED). Zealizowany model sieci działa z pędkością tansmisji 1Mb/s. Dla potzeb dydaktycznych dodatkowo wpowadzono możliwość obniżenia tej pędkości. Dostępne są 500 kb/s, 250 kb/s, 125 kb/s, 50 kb/s, 25 kb/s i 12,5 kb/s. Pozwala to na pzesyłanie danych na większe odległości, a także upaszcza monitoowanie sieci. Współpaca z komputeem PC ealizowana jest popzez styk S232. ealizacja postej sieci miejscowej CAN 19
Podsumowanie Zalety sieci miejscowej CAN: dostępna dokumentacja, dostępne i tanie układy tansmisyjne, dostępne i tanie kontoley sieci CAN, dostępne i tanie uniwesalne mikokontoley z kanałami sieci CAN, otwata achitektua, wysokie bezpieczeństwo pzekazywanych danych pomiaowych i steujących, populaność sieci, dostępne gotowe moduły wejściowo - wyjściowe dla sieci CAN, dostępne dla steowników PLC moduły typu mosty i bamy do współpacy z siecią CAN. ealizacja postej sieci miejscowej CAN 20
Podsumowanie 350 300 250 200 150 100 50 0 1999 2000 2001 2002 2003 32-bit 16-bit 8-bit kont.auton Liczba spzedanych układów z kontoleem sieci CAN w latach 1999-2000 oaz spzedaż pzewidywana w latach 2001-2003 (w mln.sztuk) z podziałem na typy układów (Dane wg CiA). ealizacja postej sieci miejscowej CAN 21
Podsumowanie Wybane monolitycznych układów nadawczo-odbioczych ealizujące styk z fizyczną magistalą jak: CF150B (Bosch), MTC3054 (Alcatel Mietec), PCA82C250, PCA82C251, PCA82C252, TJA1053 (Philips), TLE6252G (Siemens), Si9200EY, B10011S (Temic Siliconix), SN75LBC031, SN65LBC031 (Texas), UC5350 (Unitode) itd. Do najbadziej populanych należy PCA82C250. Kontoley można podzielić na dwie podstawowe gupy: specyficzne - ealizujące wyłącznie zadania CAN - do najpopulaniejszych należą SJA1000 (Philips), AN82257 (Intel) a także SAE81C91 (Siemens), uniwesalne, opate na znanych mikokontoleach wyposażonych w kanały CAN badzo liczna gupa układów; paktycznie każdy z poducentów mikopocesoów ma w swojej ofecie co najmniej jeden uniwesalny mikokontole z kanałami CAN. Pzykłady: PIC16C185 (Micochip), 8X196CA (Intel), M37632MF (Mitsubishi), SABC164 (Siemens) czy P87C592 (Philips). Paktycznie każdy poducent steowników pogamowalnych PLC ofeuje uządzenia typu most lub bama do współpacy z siecią CAN. ealizacja postej sieci miejscowej CAN 22
Podsumowanie PCA82C250 (w pełni zgodny z ISO 11898) 0 logiczne na wejściu TxD wymusza na wyjściach 7 i 6 napięcie óżnicowe większe od 1,5V - stan dominujący, sygnał 1 - napięcie mniejsze niż 0,05V - stan ecesywny Wejście s okeśla jeden z tzech tybów pacy: wysoka pędkość (zwacie do masy), steowanie nachyleniem zboczy pzebiegów na wyjściu nadajnika (ezysto od wejścia do masy), stan uśpienia ( 1 na wej.) 23
Podsumowanie Nazwa sieci Pędkość bit/s Medium tansmisyjne Nad./odb. układ tans. Obsza zastosowań SAE J1939-11 250k 2ps, ek 250 Pojazdy ciężaowe i specjalne, autobusy SAE J1939-12 250k 2ps, ek, zs 12V 250 olnictwo - maszyny SAE J2284 500k 2ps, nek 250 Automatyzacja - duże pędkości, SAE J2411 25k, 40k 1p SWC Automatyzacja - małe pędkości NMEA2000 62,5k, 125k, 250k, 500k, 1M 2ps, ek, zs 250 Pzemysł stoczniowy, statki, okęty Device Net 125k, 250k, 500k 2ps, sk, zs 24V 250 Automatyzacja pzemysłu CANopen 10k, 20k, 50k, 125k, 250k, 500k, 800k, 1M 2ps,ek - opcja, zs - opcja SDS 125k, 250k, 500k, 1M 2ps, ek, zs - opcja 250 Automatyzacja pzemysłu 250 Automatyzacja pzemysłu Objaśnienia: 2ps - dwupzewodowa skętka, 1p - jeden pzewód, ek - ekan, nek - bez ekanu, zs - pzewody zasilania ealizacja postej sieci miejscowej CAN 24