Podstawowe pojęcia i właściwości CAN CAN jest magistralą

advertisement
Podstawowe pojęcia i właściwości CAN
CAN jest magistralą systemową umożliwiającą wzajemną komunikację pomiędzy modułami
elektronicznymi. Ponieważ jest siecią multimaster, dlatego możliwa jest sytuacja, gdy każdy
moduł może mieć dostęp do szyny i jeżeli wysyła dane o odpowiednio wysokim priorytecie,
zajmuje szynę na czas transmisji jednego telegramu. Modułami łączonymi za pomocą tej sieci
mogą być zarówno proste układy wejścia-wyjścia, układy mikroprocesorowe a także
komputery. Właśnie dzięki możliwości podłączenia układów o dużej mocy obliczeniowej,
tworzy się system realizujący funkcję inteligencji rozproszonej.
Wiadomość (telegram)
Jest podstawową jednostką informacji, składającą się z kilkudziesięciu bitów. Telegram
zawiera od 0 do 8 bajtów danych oraz dodatkowe bity umożliwiające poprawny przesył
danych.
NADAJNIK
Moduł rozpoczynający transmisję wiadomości jest nazywany NADAJNIKIEM tej
wiadomości; staje się nim dopiero wtedy gdy stwierdzi, że szyna jest wolna.
ODBIORNIK
Stacja jest nazywana ODBIORNIKIEM, wtedy gdy nie jest NADAJNIKIEM tej wiadomości
i gdy szyna nie jest bezczynna.
Identyfikator
Wyróżnia telegram w sieci. Może być 11-bitowy (CAN 2.0A) oraz 29-bitowy (CAN 2.0B).
Priorytet
Identyfikator definiuje statyczny priorytet wiadomości podczas dostępu do szyny.
Przepływ informacji
W systemie CAN nie wykorzystuje się adresowania poszczególnych węzłów, przez co nie ma
potrzeby informowania systemu o zmianie konfiguracji.
Takie rozwiązanie ma swoje zalety:


Elastyczność systemu; dodanie węzła do sieci CAN nie wymaga jakichkolwiek
zmian w oprogramowaniu, sprzęcie, a także w warstwie aplikacyjnej.
Przepływ wiadomości; każda wiadomość ma swój identyfikator. Nie wskazuje on na
miejsce docelowe wiadomości, ale opisuje znaczenie danych zawartych w informacji.


Węzły w sieci odbierają wszystkie wysłane wiadomości. Jeśli identyfikator
wiadomości zostaje "zaakceptowany" przez węzeł (filtracja) to dane zawarte w
telegramie podlegają dalszemu przetwarzaniu.
Wielodostęp (ang. multicast); w konsekwencji filtracji wiadomości, każdy węzeł
może odebrać i jednocześnie wykonać odpowiednie działania na tej samej paczce
informacji.
Zgodność danych; sieć CAN gwarantuje, że każda wiadomość jest jednocześnie
akceptowana przez wszystkie węzły lub zostaje odrzucona. W ten sposób zgodność
danych w systemie jest kontrolowana albo przez wielodostęp albo przez obsługę
błędów.
Prędkość transmisji
W konkretnym rozwiązaniu sieci CAN prędkość transmisji jest stała. Transfer informacji
możliwy jest z prędkością w granicach od 5 kbit/s do 1 Mbit/s. CAN początkowo stosowany
w przemyśle samochodowym, charakteryzował się niewielką długością całej szyny rzędu 5 10 metrów przy transmisji rzędu 1 Mbit/s. Po zaakceptowaniu tego systemu przez inne
gałęzie przemysłu, wymagane odległości znacznie się zwiększyły dochodząc do 10 km przy
jednoczesnym obniżeniu prędkości transmisji danych do 5 kbit/s. Najczęściej stosowane są
systemy o przepustowości od 25 do 500 kbit/s.
Zdalny dostęp do danych (ang. Remote Data Request)
Przy wysyłaniu RAMKI ZDALNEJ (ang. REMOTE FRAME),węzeł potrzebujący dane może
zażądać od innego wysłania RAMKI DANYCH (ang. DATA FRAME). Ramka danych i
odpowiednia jej ramka "zdalna" (żądania) posiadają ten sam identyfikator.
Multimaster
Gdy magistrala jest wolna, to dowolna jednostka może rozpocząć transmisję wiadomości.
Jeśli jednostka wysyła wiadomość o wysokim priorytecie to w ten sposób może uzyskać
dostęp do szyny.
Stany logiczne magistrali
W sieci CAN występują dwa uzupełniające się poziomy logiczne: "dominujący" (ang.
dominant) lub "ustępujący" (ang. "recessive"). Podczas jednoczesnej transmisji bitu
"dominującego" i "ustępującego" przez dwa różne urządzenia, otrzymamy w rezultacie
poziom "dominujący". Umownie oznacza się poziom "dominujący" jako 0, a poziom
"ustępujący" jako 1. Poziom 0 ma wyższy priorytet niż poziom 1. Specyfikacja nie definiuje
stanów fizycznych (napięcie elektryczne lub wiązka świetlna) reprezentujących poziomy
logiczne.
W większości przypadków, gdy stosujemy skrętkę nieekranowaną i odpowiednie układy
nadawczo-odbiorcze, definiuje się następujące stany fizyczne:


gdy na magistralę zapisywana jest logiczna "1", to na dwóch liniach sygnałowych
pojawia się napięcie 2.5 V; stan taki reprezentuje poziom "ustępujący";
gdy na magistralę zapisywane jest logiczne "0", to linia CAN-H (CAN high) zostaje
podciągnięta do napięcia 5 V, natomiast stan drugiej linii - CAN-L (CAN low) zostaje
zmniejszony do poziomu reprezentującego masę układu; taką sytuację reprezentuje
poziom "dominujący";
Dostęp do magistrali - arbitraż
Istnieje wiele opracowanych metod dostępu do sieci, jednakże w sieci CAN zastosowano
metodę typu CSMA (Carrier Sense Multiple Access), który zapewnia równouprawnienie
wszystkim użytkownikom i uniezależnia sieć od awarii któregokolwiek węzła. Wszystkie
urządzenia - węzły bezpośrednio "nasłuchują" czy w sieci nie znajduje się sygnał. Ponadto
wszystkie węzły mają jednakowy dostęp do wspólnego medium transmisyjnego. W sieci
CAN przekazywana informacja dostępna jest dla wszystkich urządzeń podłączonych do sieci,
jednak odbierają ją tylko te, dla których jest przeznaczona. Decyzja o rozpoczęciu nadawania
zostaje podjęta na podstawie aktualnego stanu sieci - urządzenie nasłuchując, rozpoznaje czy
sieć jest wolna, czy też trwa transmisja. Zasadniczy problem pojawia się wtedy, gdy dwie
stacje stwierdzą brak transmisji w sieci i jednocześnie przystąpią do nadawania. W praktyce
stosuje się dwie metody zapobiegania konfliktom transmisji:


CSMA z wykrywaniem kolizji (CSMA/CD);
CSMA z unikaniem kolizji (CSMA/CA);
Zasada CSMA/CA, użyta w technologii CAN, polega na unikaniu kolizji. W metodzie tej
urządzenie przed przystąpieniem do transmisji sprawdza stan sieci. Jeżeli nie wykrywa
transmisji pochodzącej od innych urządzeń, wysyła charakterystyczny krótki sygnał
oznaczający chęć nadawania (zgłoszenie nadawania). Następnie odczekuje określony
przedział czasu, aby upewnić się, iż ów sygnał dotarł do wszystkich modułów i dopiero wtedy
rozpoczyna nadawanie. Obowiązkiem każdego węzła, który w trakcie nadawania otrzymał
zgłoszenie nadawania od innego, jest zaprzestanie transmisji i odczekanie okresu o losowej
długości. Może nastąpić kolizja sygnałów - zgłoszeń nadawania. Problem ten jest
rozwiązywany podobnie jak w przypadku kolizji sygnału zgłoszenia nadawania z normalną
transmisją. W przeciwieństwie do metody CSMA/CD, po wystąpieniu kolizji, o prawo
dostępu do sieci ubiegają się tylko te stacje których sygnały zgłoszenia brały udział w kolizji.
Po przygotowaniu komunikatu do nadawania, węzeł obserwuje stan magistrali i
powstrzymuje transmisję aż do chwili stwierdzenia, że szyna jest wolna - w tym momencie
może rozpocząć nadawanie. Pierwszym elementem komunikatu jest identyfikator. Jeżeli w
tym samym czasie rozpoczną nadawanie dwa urządzenia, to identyfikatory wiadomości
"nałożą się" na siebie. W razie niezgodności nakładających się bitów (0 i 1) w sieci ustali się
wartość 0. Dzięki temu węzeł, który nadał 1 (a więc węzeł o wyższym identyfikatorze) może
wykryć kolizję i przerwać nadawanie. Węzeł o niższym identyfikatorze może nadać resztę
wiadomości bez przeszkód.
Mechanizm arbitrażu gwarantuje, że ani informacja ani czas nie są tracone. Gdy RAMKA
DANYCH i RAMKA ZDALNA mają ten sam identyfikator i są inicjowane w tym samym
czasie, to wyższy priorytet ma ramka danych i to ona zostaje wysłana na szynę.
Bezpieczeństwo
Dla osiągnięcia największego bezpieczeństwa transferu danych, we wszystkich węzłach sieci
CAN zaimplementowano odpowiednie sposoby detekcji błędów, sygnalizacji i samokorekcji.
Do osiągnięcia poprawnej detekcji stosuje się:




monitorowanie (nadajnik porównuje poziom bitu nadawanego z poziomem bitu
wykrytego na szynie);
cykliczna kontrola nadmiarowości (kod nadmiarowy);
kontrola bitów ("uszczelnianie" - ang. bit stuffing);
kontrola poprawnej składni wiadomości.
Sygnalizacja błędów i "odzyskiwanie czasu"
Uszkodzona wiadomość jest zaznaczana przez jeden z węzłów wraz z jednoczesnym
zasygnalizowaniem błędu. Możliwe jest także "odzyskanie czasu" podczas wykrycia błędu.
Polega to na tym, iż w momencie pojawienia się, w trakcie nadawani wiadomości, błędu na
szynie, możliwe jest zakończenie wysyłania wiadomości. Zdarzenie to może mieć miejsce
dopiero po czasie odpowiadającym wysłaniu 29 bitów i gdy nie występują kolejne błędy.
Uzyskujemy w ten sposób skrócenie czasu emisji w warunkach błędnej pracy systemu.
Ograniczenie uszkodzeń
Węzły sieci CAN są zdolne odróżnić krótkotrwałe zakłócenia od trwałych uszkodzeń. W
przypadku wadliwego działania węzła, zostaje on wyłączony, aż do momentu, w którym
zakłócenie minie.
Ilość modułów
W systemie CAN, ilość modułów jest teoretycznie nieograniczona. Wynika to z tego, że w
sieci tej nie ma adresacji modułów, a każda wysyłana informacja może być odebrana przez
wszystkie moduły (ang. broadcast). Decyzja, czy informacja będzie przydatna dla
konkretnego modułu (węzła), zależy od ustawionego filtru akceptującego dane, ustawionego
programowo. Kryterium do podjęcia tej decyzji jest identyfikator, z którym każda informacja
jest nadawana. Identyfikator ma długość 11 bitów (format standardowy - CAN 2.0A), co
umożliwia rozróżnienie 2032( różnych typów wiadomości-danych. Istnieje również opcja
identyfikatora o długości 29 bitów (format rozszerzony - CAN 2.0B), który umożliwia
rozróżnienie 536870912 wiadomości. Za pomocą identyfikatora układ CAN rozpoznaje typ
lub adresata wiadomości, a co za tym idzie, priorytet wysyłanych danych. W praktyce ilość
stosowanych
modułów
jest
ograniczona
przez
parametry
elektryczne
nadajników/odbiorników.
Istnieje
jednakże
możliwość
zastosowania
układów
wzmacniających sygnał tzw. powtarzaczy (ang. repeater), za pomocą których można
zwiększyć ilość podłączonych do szyny urządzeń i zwiększyć zasięg sieci. Duża ilość
modułów zastosowanych w jednej sieci wpływa na opóźnienie w przesyle informacji.
Kanał transmisyjny
Szyna składa się z pojedynczego kanału transmisyjnego, który przenosi poszczególne bity
informacji. W specyfikacji Bosch'a nie jest ustalona konkretna implementacja kanału. W
zależności od potrzeb medium transmisyjnym może być np. pojedynczy przewód z masą,
skrętka nieekranowana, włókna światłowodowe. Najczęściej spotykanym rozwiązaniem jest
zastosowanie skrętki nieekranowanej.
Potwierdzenie
Wszystkie odbiorniki kontrolują zgodność wiadomości aktualnie odbieranych i żądają
potwierdzenia poprawności informacji i ewentualnego ustawienia znacznika niezgodności
odebranych danych.
Tryb uśpienia i pobudzenia
Aby zmniejszyć zapotrzebowanie energii, możliwe jest ustawienie modułów CAN w tryb
uśpienia, bez konieczności odłączania danego urządzenia od sieci. Szyna zostaje pobudzona z
trybu uśpienia, gdy jeden ze sterowników wykaże swoją aktywność lub poprzez wewnętrzne
potrzeby systemu. W trakcie przebudzania szyny, zostaje ona skasowana, a warstwa transferu
oczekuje na stabilizację oscylatora systemu. Warstwa ta czeka (kontroluje pojawienie się 11
kolejnych "ustępujących" bitów), aż magistrala przejdzie w stan aktywny i synchronizuje się z
nią, powodując jednoczesne, ponowne, załączenie modułu, który wykazał aktywność. W
następstwie załączenia szyny inne węzły, które są w stanie uśpienia, należy pobudzić za
pomocą specjalnie dedykowanej wiadomości o najniższym, możliwym do użycia
identyfikatorze (rrr rrrd rrrr = 111 1110 1111).
Nośnik informacji - RAMKA DANYCH
RAMKA DANYCH składa się z siedmiu różnych pól bitowych: START RAMKI, POLE
ARBITRAŻU, POLE KONTROLNE, POLE DANYCH, POLE CRC, POLE
POTWIERDZENIA (ACK), KONIEC RAMKI.
START RAMKI
Oznacza początek RAMKI DANYCH lub RAMKI ZDALNEJ. Składa się z pojedynczego
"dominującego" bitu. Stacja (moduł) może nadawać dopiero wtedy gdy szyna jest bezczynna.
Wszystkie pozostałe stacje są następnie synchronizowane zboczem opadającym, pola START
RAMKI.
POLE ARBITRAŻU
Składa się z dwóch pól: IDENTYFIKATORA i BITU RTR.
IDENTYFIKATOR
Ma długość 11 bitów, są one nadawane w kolejności od ID-10 do ID-0. Najmniej znaczącym
jest bit ID-0. Siedem najbardziej znaczących bitów (ID-10 - ID - 4) nie może być
jednocześnie w stanie "ustępującym".
BIT RTR (ang. Remote Transmission Request BIT)
W RAMCE DANYCH powinien być ustawiony jako "dominujący", natomiast w RAMCE
ZDALNEJ - jako "ustępujący".
POLE KONTROLNE
Składa się z 6 bitów: kod długość danych (4 bity), rezerwowe (2 bity). Dodatkowe 2 bity
mogą być wysłane jako "dominujące", odbiornik akceptuje dowolną kombinację tych bitów.
KOD DŁUGOŚCI DANYCH
Wskazuje, ile zostanie wysłanych bajtów danych. Dopuszczalna jest liczba bajtów danych w
zakresie od 0 do 8.
POLE DANYCH
Zawiera informacje, które wysyłamy do sieci wewnątrz RAMKI DANYCH. Pole to może
zawierać od 0 do 8 bajtów danych, z których każdy zawiera 8 bitów, przesyłanych począwszy
od bardziej znaczącego bitu.
POLE KODU NADMIAROWEGO (CRC)
Składa się z SEKWENCJI KODU NADMIAROWEGO oraz OGRANICZNIKA KODU
NADMIAROWEGO.
SEKWENCJA KODU NADMIAROWEGO
Kontrola danych jest uzyskiwana poprzez cykliczny kod nadmiarowy, który jest najlepszym
rozwiązaniem dla ramek nie przekraczających długości 127 bitów. Sprawdzeniu podlega ciąg
bitów począwszy od STARTU RAMKI, a skończywszy na ostatnim bicie POLA DANYCH
(jeśli istnieje). Kontrola polega na przeprowadzeniu kilku operacji na następujących
wielomianach:
P(X)=X15+X14+X10+X8+X7+X4+X3+1 - wielomian generujący, 15 stopnia (k=15),
charakterystyczny dla wszystkich węzłów CAN (tj. 1100 0101 1001 1001);
G(X)
wielomian
(stopnia
m)
opisujący
przesyłaną
informację;
F(X) - wielomian (stopnia n=m+k) zawierający informację zakodowaną, przygotowaną do
nadania;
H(X) - wielomian (stopnia n=m+k) reprezentujący informację zakodowaną, odebraną przez
węzeł
docelowy;
R(X) - wielomian opisujący resztę z dzielenia (SEKWENCJA KODU NADMIAROWEGO);
E(X) - wielomian błędów.
Każdy wielomian wiadomości G(X) przedstawiający m - elementowy ciąg bitów, mnożony
jest przez Xk. Następnie wyrażenie XkG(X) dzieli się przez wielomian generujący P(X).
Otrzymana w wyniku reszta R(X) tworzy ciąg k symboli kontrolnych. Operacje te
wykonywane są w nadajniku. Do odbiornika dochodzi zakodowana informacja
reprezentowana przez wielomian H(X), który jest dzielony przez wielomian generujący P(X).
Jeżeli dzielenie realizowane jest bez reszty, to w odebranym ciągu kodowanym nie ma
błędów lub są one nie wykryte. Jeżeli w wyniku dzielenia H(X) przez P(X) otrzymujemy
resztę R(X)ą0, to oznacza, że odebrany ciąg jest błędny. Gdy przesyłany ciąg kodowy F(X)
zostanie odebrany z błędami w postaci H(X), to realizując sumowanie modulo dwa tych
dwóch wielomianów uzyskamy wielomian błędów E(X) (przy braku błędów E(X)=0). Jako,
że F(X) dzieli się przez P(X) bez reszty, to reszta R(X) otrzymana z dzielenia H(X) przez
P(X) jest taka sama jak przy dzieleniu E(X) przez P(X). Jeśli wielomian R(X) jest różny od
zera to oznacza, że wystąpiły błędy w odebranym ciągu bitów. Liczba błędów w odebranym
ciągu kodowym jest równa stopniowi wielomianu błędów R(X). SEKWENCJA KODU
NADMIAROWEGO ma długość 15 bitów i jest bezpośrednio nadawana za ostatnim bitem
POLA DANYCH.
OGRANICZNIK KODU NADMIAROWEGO kończy POLE KODU NADMIAROWEGO.
Składa się on z pojedynczego "ustępującego" bitu.
POLE POTWIERDZENIA
Zawiera dwa bity: BIT POTWIERDZENIA oraz OGRANICZNIK POTWIERDZENIA.
BIT POTWIERDZENIA zostaje ustawiony jako "dominujący" przez nadajnik. Natomiast
wszystkie pozostałe węzły, które poprawnie odebrały dane, informują nadajnik poprzez ten
bit, wymuszając poziom "ustępujący".
OGRANICZNIK POTWIERDZENIA jest drugim bitem znajdującym się w POLU
POTWIERDZENIA i ustawionym jako "ustępujący". W konsekwencji tego BIT
POTWIERDZENIA jest otoczony przez dwa bity "ustępujące": OGRANICZNIK KODU
NADMIAROWEGO oraz OGRANICZNIK POTWIERDZENIA.
KONIEC RAMKI
Każda RAMKA DANYCH i ZDALNA jest zakończona sekwencją składającą się z 7 bitów
"ustępujących".
Wymagania czasowe
ZNAMIONOWA PRĘDKOŚĆ TRANSMISJI
Jest wielkością określającą liczbę bitów przesłanych
rozsynchronizowania transmisji, przez idealny nadajnik.
w
czasie
sekundy,
bez
ZNAMIONOWY CZAS TRWANIA BITU
ZNAMIONOWY CZAS TRWANIA BITU = 1 / (ZNAMIONOWA PRĘDKOŚĆ TRANSMISJI)
Wielkość tą można podzielić na cztery wyodrębnione, nie zachodzące na siebie, segmenty
czasowe:




SEGMENT SYNCHRONIZUJĄCY (SYNC_SEG),
SEGMENT CZASU PROPAGACJI (PROP_SEG),
SEGMENT 1 BUFORA FAZOWEGO (PHASE_SEG1),
SEGMENT 2 BUFORA FAZOWEGO (PHASE_SEG2),
t(syncseg) = SYNC_SEG
t(TSEG1) = PROP_SEG + PHASE_SEG1
t(TSEG1) = PHASE_SEG2
SEGMENT SYNCHRONIZUJĄCY
Używany jest do synchronizacji wszystkich węzłów w sieci CAN.
SEGMENT CZASU PROPAGACJI
Używany jest do kompensacji fizycznych opóźnień w sieci (podwójne opóźnienie wywołane
propagacją sygnału w linii, opóźnienie komparatora wejściowego oraz opóźnienie sterownika
wyjściowego).
SEGMENT 1 i 2 BUFORA FAZOWEGO
Bufory te są używane do kompensacji błędów synchronizacji węzła z magistralą. Segment ten
może być dłuższy lub krótszy, w zależności od desynchronizacji.
PUNKT PRÓBKOWANIA
Jest miejscem, w którym zostaje odczytana i zinterpretowana wartość logiczna magistrali.
Punkt ten jest zlokalizowany bezpośrednio za SEGMENTEM 1 BUFORA FAZOWEGO.
CZAS PRZETWARZANIA INFORMACJI
Jest czasem, pomiędzy początkiem segmentu a PUNKTEM PRÓBKOWANIA,
zarezerwowanym do wyznaczenia poziomu następnego bitu.
KWANT CZASU (tq)
Jest to ustalona jednostka czasu, ściśle związana z okresem oscylatora zastosowanego w
węźle. Istnieje możliwość programowego przeskalowania (ang. Baud Rate Prescaler - BRP)
jej w zakresie od 1 do 32 MINIMALNEGO CZASU KWANTOWANIA.
CZAS TRWANIA POSZCZEGÓLNYCH SEGMENTÓW:




SYNC_SEG - długość jednego KWANTU CZASU;
PROP_SEG - długość programowalna od 1 do 8 KWANTÓW CZASU;
PHASE_SEG1 - długość programowalna od 1 do 8 KWANTÓW CZASU;
PHASE_SEG2 - jest maksimum długości pomiędzy segmentem PHASE_SEG1 i
CZASEM PRZETWARZANIA INFORMACJI;

CZAS PRZETWARZANIA INFORMACJI - jest mniejszy lub równy długości dwóch
KWANTÓW CZASU.
Całkowita ilość KWANTÓW CZASU, podczas transmisji jednego bitu, jest programowalna
w zakresie od 8 do 25.
Tabela zawiera, rekomendowane przez organizację CAN in Automation, wartości
podstawowych parametrów czasowych definiujących prędkość przesyłu informacji. BTR0
oraz BTR1 są rejestrami zawierającymi wartości odpowiadające preskalerowi.
Warstwa fizyczna - przewody
Rolę kabla przekazującego sygnały w sieci CAN mogą pełnić przewody metalowe, takie jak
skrętka, włókna światłowodowe lub fale elektromagnetyczne - radiowe lub podczerwone.
Kable te różnią się znacznie zarówno właściwościami użytkowymi, jak i ceną. Warto
podkreślić, że w różnych segmentach tej samej sieci mogą być wykorzystywane różne rodzaje
kabli.
Najszerzej stosowanym rodzajem kabla jest obecnie skrętka (ang. twisted pair), która stanowi
jednocześnie najtańszy środek transmisji sygnału. Duża popularność skrętki wynika z niskiej
ceny, szerokiej dostępności tego typu kabla oraz dobrych doświadczeń telefonii, która
masowo stosuje skrętkę zarówno do transmisji sygnałów analogowych jak i cyfrowych.
Parametry transmisyjne skrętki umożliwiają przekaz sygnału z szybkością ok. 2 Mbit/s na
odległości kilku kilometrów lub większą, przekraczającą 10 Mbit/s, na odcinku rzędu 100 m
(sieć Ethernet). Skrętka może być stosowana jako łącze dwupunktowe lub wielopunktowe, w
którym wiele węzłów jest dołączanych do tego samego kabla. W systemie CAN i w jego
różnych implementacjach, wykorzystuje się czasami dwie skrętki ekranowane w jednej
powłoce ochronnej. Jedna skrętka służy jako magistrala komunikacyjna, natomiast druga
zapewnia zasilanie dla układów separacji galwaniczne, nadawczo-odbiorczych, itp. W
większości przypadków stosuje się skrętkę o impedancji falowej 120 ohmów ą10%.
Włókna światłowodowe (ang. fiber optics) są stosunkowo nowym rodzajem kabla,
odznaczającym się bardzo małym tłumieniem sygnału oraz zupełną niewrażliwością na
zakłócenia elektromagnetyczne. Zastosowanie światłowodu umożliwia znaczne zwiększenie
rozpiętości sieci oraz uzyskanie bardzo dużych szybkości transmisji. Dodatkową zaletą
światłowodu jest zapewnienie galwanicznej izolacji węzłów sieci. Ze względu na swe zalety,
światłowody rozpowszechniają się szybko w systemach przemysłowych, instalowanych w
środowisku o szczególnie wysokim poziomie zakłóceń. Wadą światłowodów jest dość wysoki
koszt łącza, na które składa się nie tylko kabel, ale także przetworniki elektrooptyczne i
pryzmatyczne rozgałęźniki sygnału. Dlatego zastosowanie światłowodów w systemie CAN
jak na razie nie zyskało wielu zwolenników i brak jest konkretnych specyfikacji na ten temat.
Tradycyjne sieci automatyki przemysłowej (np. w analogowej technologii 4 - 20 mA) oparte
były na topologii gwiazdy. Ta topologia zwiększa w znacznym stopniu ilość stosowanego
okablowania, a co za tym idzie zwiększa koszty. W systemie wykorzystującym sieć CAN,
poprzez zastosowanie topologii magistrali, znacznie ograniczono ilość kabli oraz
dodatkowych elementów sterowania.
Układy obsługujące sieć CAN
Podstawowymi elementami w urządzeniach obsługujących sieć CAN, są kontrolery oraz
układy nadawczo-odbiorcze. Większość, liczących się na rynku półprzewodnikowym, firm
stworzyło własne układy wspierając w ten sposób system CAN (Dodatek C). W chwili
obecnej występuje wiele różnych układów, począwszy od prostych układów nadawczoodbiorczych, poprzez mikrokontrolery 8-bitowe, a skończywszy na rozbudowanych
procesorach DSP.
Układy obsługujące system CAN można podzielić na trzy grupy:



układy nadawczo-odbiorcze (ang. trasceiver);
kontrolery współpracujące z mikroprocesorem.
mikroprocesory(mikrokontrolery) z zaimplementowanym standardem CAN.
W zależności od potrzeb stosuje się różne sposoby sprzężenia kontrolerów
(mikrokontrolerów) z magistralą CAN. Poniższy rysunek przedstawia przykładowe sposoby
dołączenia układów 87CE598, 87C196CA/CB oraz SJA1000 poprzez układ nadawczoodbiorczy 82C250 do magistrali.
Podsumowanie
Podstawowe parametry CAN
Ilość
modułów Nieograniczona (teoretycznie), w praktyce zależna od parametrów
(węzłów)
elektrycznych nadajników/odbiorników
Rodzaj przesyłanych
Obiektowo-zorientowane, multimaster
danych
Ilość telegramów
2032
Dostęp do szyny
Według priorytetu telegramu, arbitraż bitowy (CSMA/CA)
Przepustowość
szyny
Max. 1 Mbit/s
Praca
w
czasie Czas odpowiedzi telegramu o najwyższym priorytecie (<134 us, bez
rzeczywistym
błędu)
Środki programowe:
Bezpieczeństwo


Środki do wykrywania, obsługi i ograniczenia błędów;
CRC (cyclic redundancy code) Hamminga;

Prawdopodobieństwo błędu 10-13
Środki sprzętowe:


Możliwość
przełączania
pracy dwuprzewodowej
na
jednoprzewodową przy zerwaniu lub zwarciu jednego z
przewodów;
Możliwość dublowania linii;
Topologia
Magistrala, gwiazda;
Medium
transmisyjne
Przewód miedziany (skrętka), światłowód
Długość szyny
Zależna od szybkości przesyłu danych (do 10 km);
Interface szeregowy CAN
CAN (ang. Controller Area Network) jest seryjną koncepcją systemu typu ,,bus",
opracowaną przez firmę Bosch, dla potrzeb układów sterowania przemysłu
samochodowego. Wysokie wymagania w systemach komunikacji i fakt wykorzystania go
w seryjnych pojazdach (dostępność korzystnych cenowo komponentów) przemawiają za
jego
zastosowaniem
poza
obszarem
samochodu,
jako
otwartego
systemu
komunikacyjnego automatyki. Zarówno specyfika jak też standaryzacja CAN-a są
zorientowane na architekturę modelu ISO/OSI. Protokół CAN używa i dostosowuje się do
wymagań modelu na poziomie trzech warstw tego modelu: warstwie pierwszej (w.
fizycznej), warstwie drugiej (w. łącza danych) oraz warstwie siódmej (w. aplikacji).
Warstwa fizyczna zapewnia komunikację na optycznych i elektrycznych różnicowych,
dwuprzewodowych
liniach
,,bus"
dzięki
wyspecjalizowanym
produktom
oraz
wykorzystanie innych mediów w oparciu o inne komponenty. Warstwa danych
wykorzystuje zespolone podzespoły CAN do transmisji danych, zgodnie ze specyfiką
protokołu. Warstwa aplikacyjna jest to koncepcja swobodnego wyboru nie objęta
specyfikacją CAN lecz proponująca już gotowe, standardowe oprogramowanie
mechanizmów
sterowania
pracy.
Podstawowe właściwości systemu CAN: Liczba uczestników systemu CAN jest
teoretycznie nieograniczona. Wysłana informacja może zostać odebrana przez
wszystkich uczestników sieci CAN i każdy uczestnik sam rozstrzyga czy ją przyjmie.
Kryterium wyboru jest zawarte w identyfikatorze, który przekazywany jest w
komunikacie. identyfikator ma 11 bitów w standardowej ramce. Możliwa jest również
opcja z identyfikatorem 29 bitowym (w Extendet Frame). Opisana metoda rozróżniania
komunikatów zapewnia elastyczność systemu ze względu na nowych uczestników i nie
wymaga
rozbudowanego
oprogramowania
i
sprzętu.
Format ramki danych standardu CAN : Identyfikator pola zawiera informacje o informacji
i jej priorytecie dla dostępu do pamięci. Pole kontroli CRC (ang. Cyclic Redundancy
Check) jest szerokie na 15 bitów i służy do rozpoznawania braków w komunikacie. Pole
ACK (ang. Acknowledge) daje liczbę wszystkich przyłączonych użytkowników, którzy
opatrzoną ramkę danych poprawnie odebrali (ich potwierdzenie odbioru). Nie objaśnione
pola
są
zajęte
mocnymi
wartościami
bitów.
Typowa struktura uczestnika sieci CAN : Węzeł taki składa się z fizycznego interfejsu,
protokołu kontrolera, pamięci komunikatów oraz mikrokontrolera. Mikrokontroler steruje
funkcją sensora i układu wykonawczego. Mikrokontroler posiada dostęp do pamięci
komunikatu, w trakcie odbioru i wysyłania komunikatów magazynuje je. Każdy uczestnik
posiada dla siebie właściwą tabelę rodzaju komunikatu, który jest gotowy do wysłania
(przyjmowania). Transmisją nazywamy czynność, w której mikrokontroler zapisuje
zwrotny komunikat w pamięci komunikatu, z której CAN kontroler ją automatycznie
wysyła. W trakcie odbioru tylko te komunikaty zostają odebrane i zapamiętane, które
zostaną zaakceptowane przez wbudowany filtr. Całość tablic rodzajów komunikatów w
systemie CAN może być interpretowana jako rozproszona pamięć. Na tej pamięci
możemy wykonywać operacje zapisu, odczytu, wykorzystać jej zawartość w każdej
chwili wychwytując czas i parametry. Dostępnych jest szereg komponentów
realizujących funkcje fizycznego interfejsu, kontrolera linii i modułu kontrolnego, w
postaci układów scalonych pełniących role transmiterów CAN-82C250, układów I/O82C150, mikrokontrolerów-8xC592, 8xCE598 i innych potrzebnych do tworzenia sieci
CAN.
Download