Podstawowe pojęcia i właściwości CAN
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:
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ę:
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 w czasie sekundy, bez rozsynchronizowania transmisji, przez idealny nadajnik.
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:
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 nadawczo-odbiorczych, poprzez mikrokontrolery 8-bitowe, a skończywszy na rozbudowanych procesorach DSP.
Układy obsługujące system CAN można podzielić na trzy grupy:
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 nadawczo-odbiorczy 82C250 do magistrali.

Podsumowanie
| Ilość modułów (węzłów) | Nieograniczona (teoretycznie), w praktyce zależna od parametrów elektrycznych nadajników/odbiorników |
| Rodzaj przesyłanych danych | Obiektowo-zorientowane, multimaster |
| 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 rzeczywistym | Czas odpowiedzi telegramu o najwyższym priorytecie (<134 us, bez błędu) |
| Bezpieczeństwo | Środki programowe:
|
| 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); |