Rozdział 99. Wpływ konstrukcji nagłówka na jego długość przy stosowaniu mechanizmu wstawiania bitów. 1. Wprowadzenie LBD CDR



Podobne dokumenty
PRZEDSTAWIENIE WYNIKÓW ANALIZY STRUKTURY NAGŁÓWKA RAMKI CAN POD KĄTEM WPŁYWU POSZCZEGÓLNYCH PÓL NA LICZBĘ WSTAWEK BITOWYCH

Mechanizmy bezpieczeństwa w przemysłowych sieciach komputerowych na przykładzie sieci CAN.

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

Magistrala LIN

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

TEMPERATURE CONTROL SYSTEM BY THE CAN BUS UKŁAD REGULACJI TEMPERATURY POPRZEZ MAGISTRALĘ CAN

Problematyka sieci miejscowej LIN

Paweł MOROZ Politechnika Śląska, Instytut Informatyki

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

I 2 C BUS (1) 1 L.Łukasiak: Podstawy Techniki Mikroprocesorowej (materiały pomocnicze)

Wykład 3. Interfejsy CAN, USB

Przemysłowe Sieci Informatyczne. Sieć CAN (Controller Area Network)

TCP/IP formaty ramek, datagramów, pakietów...

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Na początku lat dziewięćdziesiątych międzynarodowy przemysł samochodowy stanął przed dwoma problemami dotyczącymi rozwoju samochodów: jak poprawić kom

dr inż. Jarosław Forenc

Sieci komputerowe. Zadania warstwy łącza danych. Ramka Ethernet. Adresacja Ethernet

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

OSI Data Link Layer. Network Fundamentals Chapter 7. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

Bezprzewodowe sieci komputerowe

Z twierdzenia Nyquista wynika konieczność kodowania bitów za pomocą sygnałów w celu przesłania większej liczby bitów w jednostce czasu.

Sieci komputerowe. Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet

Model sieci OSI, protokoły sieciowe, adresy IP

Zastosowania mikrokontrolerów w przemyśle

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI

Adresy w sieciach komputerowych

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Protokoły dostępu do łącza fizycznego. 24 października 2014 Mirosław Juszczak,

Protokół wymiany sentencji, wersja 1

Warstwy i funkcje modelu ISO/OSI

Poziomy zabezpieczeń danych w sieciach szerokopasmowych opartych na technice ATM

Szybkobieżne Pojazdy Gąsienicowe (15) nr 1, 2002 UNIWERSALNY ZESTAW POMIAROWY W ZASTOSOWANIACH MOBILNYCH

Model OSI. mgr inż. Krzysztof Szałajko

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

BIBLIOTEKI FUNKCJI KOMUNIKACYJNYCH CAN ANALIZA PORÓWNAWCZA

MAGISTRALA CAN STRUKTURA RAMKI CAN

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

TECHNOLOGIE SIECI LAN

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Warstwa sieciowa. Adresowanie IP. Zadania. Warstwa sieciowa ćwiczenie 5

Mikrooperacje. Mikrooperacje arytmetyczne

Podsieci IPv4 w przykładach. mgr inż. Krzysztof Szałajko

Sieci komputerowe. -Sterownie przepływem w WŁD i w WT -WŁD: Sterowanie punkt-punkt p2p -WT: Sterowanie end-end e2e

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

ETHERNET. mgr inż. Krzysztof Szałajko

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

Protokoły wspomagające. Mikołaj Leszczuk

Interfejsy systemów pomiarowych

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Sieć komputerowa Adresy sprzętowe Adresy logiczne System adresacji IP (wersja IPv4)

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

w sieciach szerokopasmowych CATV i ISP - Model OSI

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Dr Michał Tanaś(

Wstęp do informatyki- wykład 2

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Remote Quotation Protocol - opis

Sieci komputerowe. Wykład 2: Sieci LAN w technologii Ethernet. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Laboratorium Sieci Komputerowe

WIRTUALNY MOST DO KOMUNIKACJI MIĘDZYSIECIOWEJ

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Interfejs transmisji danych

Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1

ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO

ARP Address Resolution Protocol (RFC 826)

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

MAGISTRALA CAN (CONTROLLER AREA NETWORK) KONFIGURACJA I TRANSMISJA DANYCH CAN BUS (CONTROLLER AREA NETWORK) CONFIGURATION AND DATA TRANSMISSION

Problemy rozwoju Internetu kwantowego

Protokół CAN-bus PKP.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Laboratorium przedmiotu Technika Cyfrowa

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Sieci komputerowe - warstwa fizyczna

Technologie Informacyjne

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

S P I S T R E Ś C I. Instrukcja obsługi

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Sieci Komputerowe Modele warstwowe sieci

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Struktura adresu IP v4

Systemy i Sieci Radiowe

CR232.S v2 KONWERTER CAN / RS232

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Transkrypt:

Rozdział 99 Wpływ konstrukcji nagłówka na jego długość przy stosowaniu mechanizmu wstawiania bitów. Andrzej KWIECIEŃ Politechnika Śląska, Instytut Informatyki andrzej.kwiecien@polsl.pl Paweł MOROZ Politechnika Śląska, Instytut Informatyki pawel.moroz@polsl.pl Streszczenie Jednym ze sposobów zwiększenia przepustowości jest zmniejszenie narzutu protokołu. Elementem nadmiarowości w sieci może być mechanizm wstawiania bitów. W rozdziale zaprezentowano metody minimalizacji występowania bitów nadmiarowych, poprzez drobne zmiany w budowie ramki. Eksperyment przeprowadzono na sieci CAN. 1. Wprowadzenie W sieciach komputerowych istotnym parametrem jest przepustowość (ang. bandwidth) [4]. Jest to liczba bitów przesyłana w jednostce czasu, w medium transmisyjnym. Jednocześnie jest ważnym kryterium doboru sieci do zastosowania. Gdy projektujemy system komputerowy, w którym musimy zrealizować komunikację pomiędzy węzłami w określonym czasie (komunikację deterministyczną), przepustowość ma ogromne znaczenie. Niekorzystny wpływ na przepustowość ma zmienność czasu trwania (ang. jitter). Polega ona na nieprzewidywalnej zmianie czasu przesyłania ramki. W sieciach przemysłowych, powoduje ona utrudnienia przy planowaniu wymiany oraz szacowaniu sprawności. Sprawność jest to liczba bitów danych do całkowitej liczby bitów nadawanej ramki, dla danej warstwy modelu ISO/OSI. gdzie: LBD liczba bitów danych, CDR całkowita długość ramki. LBD η = [%] (1) CDR

2 A. Kwiecień, P. Moroz CDR wyliczany jest, jako suma wszystkich nadawanych bitów. Wartość ta zależna jest od warstwy ISO/OSI, dla której liczona jest sprawność. Innym problemem jest niedokładność układów taktujących, co powoduje powstanie różnic, w efekcie których może dojść do błędnej interpretacji stanu łącza (pominięcie lub dwukrotne odczytanie stanu łącza). Dlatego podczas przesyłania informacji pomiędzy węzłami, konieczna jest ich synchronizacja. Przeprowadza się ją albo za pomocą specjalnej linii danych, w której przesyłany jest sygnał zegarowy, albo poprzez synchronizację podczas transmisji. Ze względów finansowych, częstym rozwiązaniem jest synchronizacja w strumieniu informacji. Jeden z takich mechanizmów znajduje zastosowanie w ramkach danych i zdalnego żądania sieci CAN. Na jej przykładzie można pokazać jak duże znaczenie dla sprawności protokołu może mieć mechanizm synchronizacji. 2. Wymiana informacji w sieci CAN W sieci CAN mogą wystąpić cztery rodzaje ramek: danych, zdalnego żądania, błędu, przepełnienia. Najczęściej występują ramki danych i zdalnego żądania. Za ich pomocą realizowana jest cała wymiana informacji w sieci CAN. Pozostałe są ramkami sterującymi. Ramki danych i zdalnego żądania dzielone są na dwa typy: standardowa (2.0A) i rozszerzona (2.0B). Podział ten wynika ze stopniowego rozwoju protokołu. W 1991 roku identyfikator wiadomości został wydłużony z 11 do 29 bitów. Poza zmianą identyfikatora, wprowadzone zostały nieznaczne modyfikacje, w celu zachowania zgodności obu formatów i możliwości ich jednoczesnego występowania w sieci. Budowę tych ramek przedstawiono na rys. 1. Rys. 1. Budowa ramki danych i zdalnego żądania sieci CAN [1]

Wpływ konstrukcji nagłówka na jego 3 2.1. Budowa ramki CAN W skład nagłówka ramki CAN wchodzą następujące elementy: SOF (ang. Start of Frame) początek ramki. Wartość pola wynosi 0, ID (ang. Identifier) identyfikator, RTR (ang. Remote Transmission Request) gdy flaga ustawiona jest na 1 oznacza, że jest to ramka zdalnego żądania (prośba o przysłanie danych), a stan 0 oznacza nadawanie ramki danych (wartość 0), IDE (ang. Identifier Extension) - wartość tego pola równa 1 oznacza, wydłużenie identyfikatora o młodsze 18 bitów, które umieszczone są zaraz za nim. Gdy w polu występuje wartość 0 oznacza, że identyfikator ma długość tylko 11 bitów, RB0 (ang. Reserved Bit 0) pole zarezerwowane, do ewentualnego wykorzystania, DLC (ang. Data Length Code) informuje o długości pola danych. Przyjmuje wartości od 0 do 8. Kodowanie tych bitów w obszarze DLC jest reprezentacją binarną przekazywanej wartości. Dla ramek rozszerzonych (ang. Extended), występują dodatkowo: SRR (ang. Substitute Remote Request) występuje, gdy IDE ma wartość 1, i przyjmuje tą samą wartość, RB1 (ang. Reserved Bit 1) odpowiednik RB0. 2.2. Mechanizm synchronizacji i wstawiania bitów (ang. Bit-stuffing) Synchronizacja występuje tylko w ramkach danych i zdalnego żądania, i jest podzielona na dwa rodzaje: synchronizację występującą na początku ramki (SOF) oraz resynchronizację występującą przy każdym następnym zboczu opadającym (przejście ze stanu 1 na 0). Kodowanie bitów w łączu odbywa się poprzez przypisanie bitowi zero stanu dominującego a jedynce stanu recesywnego. Wymusza to dodanie mechanizmu zapewniającego wystąpienie zbocza opadającego co pewien okres czasu. W tym przypadku realizowane jest to za pomocą wstawiania bitów komplementarnych po wystąpieniu ciągu pięciu identycznych bitów (ang. Bit Stuffing), co przedstawia rys. 2. Rys. 2. Działanie mechanizmu wstawiania bitów Mechanizm ten gwarantuje wystąpienie zbocza opadającego najpóźniej po 10 bitach. W sieci CAN implementacja tego algorytmu wpływa niekorzystnie na sieć i powoduje zwiększenie zmienności ramki. 3. Analiza występowania liczby bitów wstawionych W opracowaniu [6] podano wzór (2) na pesymistyczną liczbę bitów wstawionych do ramki, przez mechanizm synchronizacyjny, na poziomie warstwy fizycznej: Dł. Naglowka + 8 n + CRC 1 Ps n = (2) 4

4 A. Kwiecień, P. Moroz gdzie n to liczba bajtów danych. Przeprowadzono obliczenia dla wszystkich możliwych długości pola danych (n). Na ich podstawie stwierdzono, że ramka w warstwie fizycznej może ulec wydłużeniu do 18% (3), dla wartości n równej 8. Ps Wp = n n CDR (3) Jest to bardzo duża wartość biorąc pod uwagę fakt, iż obszar danych w warstwie łącza danych stanowi od 14,5% do 57,6% długości ramki standardowej i odpowiednio 10,6% i 48,8% dla ramki rozszerzonej (4), liczonej w bitach. η = Dane LS CDR (4) Przedstawiona analiza wykazała obniżenie sprawności protokołu spowodowanej mechanizmem wstawiania bitów. Pierwsze badanie miało na celu znalezienie najsłabszego punktu tego mechanizmu. Dlatego wykonano analizę częstości występowania bitów dodanych po każdym z bitów ramki. Dla uproszczenia badanie przeprowadzono tylko dla ramki standardowej. Wiąże się to z mniejszą liczbą identyfikatorów nagłówka (2 11 dla 20A w porównaniu z 2 29 dla 20B), które trzeba było sprawdzić. Model badawczy zaimplementowano w języku C. Algorytm stworzonego programu wyglądał następująco: wygenerowanie i wstawienie do ramki identyfikatora po kolei wszystkie identyfikatory, ustawienie odpowiednich parametrów poszczególnych pól nagłówka, w razie konieczności wypełnienie pola danych, poprzez funkcję generatora liczb pseudolosowych rand(), wyliczenie sumy kontrolnej, wykonanie mechanizmu wstawiania bitów, z jednoczesnym zbieraniem statystyk rozkładu bitów dodatkowych, oraz całkowitej liczby bitów wstawionych dla danego identyfikatora. Na rys. 3 i 4 przedstawiono rezultaty symulacji z podziałem w zależności od typu (pola RTR) i długości ramki (pola DLC). Każdy słupek na omawianych wykresach ilustruje prawdopodobieństwo wystąpienia bitu wstawionego, po każdym bicie ramki. Wyniki podzielone zostały ze względu na długość pola danych i typ ramki. Dla większości pól podlegających mechanizmowi bit-stuffing, w tym kolejne bity nadawane po bicie o numerze 34, wartość prawdopodobieństwa wystąpienia bitu nadmiarowego wynosi około 3,33%. W celu poprawy czytelności rys. 3 i 4 zostały ograniczone, dla rys. 3 do pierwszych 34 bitów, a dla rys. 4 ograniczone do obszaru RTR, CTRL i kolejnych 5 bitów po ostatnim bicie obszaru kontrolnego. Wynika to z wpływu analizowanego obszaru na badane prawdopodobieństwo w uwzględnionych bitach.

Wpływ konstrukcji nagłówka na jego 5 100,00% 90,00% 80,00% Prawdopodobieństwo 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Parametry Ramki DLC=0; RTR=0 DLC=0; RTR=1 DLC=1; RTR=0 DLC=2; RTR=0 DLC=3; RTR=0 DLC=4; RTR=0 DLC=5; RTR=0 DLC=6; RTR=0 DLC=7; RTR=0 DLC=8; RTR=0 1 3 5 7 9 11 13 15 17 Numer bitu 19 21 23 25 27 29 31 33 Rys. 3. Histogram rozkładu liczby bitów wstawionych po bitach ramki dla wszystkich ramek CAN, podzielonych w zależności od długości pola danych i typu ramki 100,00% 90,00% Prawdopodobieństwo 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% Parametry Ramki DLC=0; RTR=0 DLC=0; RTR=1 DLC=1; RTR=0 DLC=2; RTR=0 DLC=3; RTR=0 DLC=4; RTR=0 DLC=5; RTR=0 DLC=6; RTR=0 DLC=7; RTR=0 DLC=8; RTR=0 20,00% 10,00% 0,00% 13 14 15 16 17 18 19 20 21 22 23 24 Numer bitu Rys. 4. Histogram rozkładu liczby bitów wstawionych dla obszaru sterującego wszystkich możliwych ramek CAN, podzielonych w zależności od długości pola danych i typu ramki Analiza histogramu rozkładu występowania bitów dodanych po poszczególnych pozycjach bitów ramki przedstawionych na rys. 3 i 4 wskazuje, że najsłabszym punk-

6 A. Kwiecień, P. Moroz tem ramki CAN jest obszar sterujący. W jego skład wchodzi obszar kontrolny (CTRL) oraz długość pola danych (DLC). Rys. 3 ma na celu przybliżyć charakterystykę występowania bitów nadmiarowych, a rys. 4 ułatwić dokładną analizę interesującego obszaru. Na obu wykresach każdy odcień odpowiada jednemu rodzajowi ramki, a podane parametry informują o wartości tych pól podczas eksperymentu. Podobną problematykę omawia się w [5, 6], proponując następujące rozwiązania: a) selektywny wybór identyfikatorów [5], b) dokonanie maskowania strumienia za pomocą ciągu 0101(...)01 [6]. Dla propozycji A przeprowadzono badania, wyznaczając statystyki liczby ramek dla każdej liczby bitów wstawionych nagłówka ramki standardowej. Uzyskane wyniki zestawiono w tab. 1. Tabela 1. Podział identyfikatorów ramki 2.0 A, ze względu na długość i liczbę bitów wstawionych Liczba bitów Liczba bajtów pola danych wstawionych 0 1 2-3 4-7 8 0 0 0 0 745 1131 1 1332 1436 1490 1005 765 2 634 560 520 279 145 3 81 51 38 19 7 4 1 1 0 0 0 Z danych umieszczonych w tab. 1 oraz rys. 3 i 4 wynika, że najbardziej wrażliwe na wstawianie bitów są ramki najkrótsze. W ich przypadku każdy bit wydłuża ramkę o około 2%. Stosując mechanizm dobierania identyfikatora, mamy do dyspozycji 55% z wszystkich identyfikatorów nie powodujących pojawienie się bitów dodatkowych. Dotyczy to tylko w przypadku ramek najdłuższych. Możliwość uniknięcia pojawiania się bitów pokazuje korelacje, jakie występują pomiędzy identyfikatorem, a obszarem sterującym ramki. W pracy [6] propozycji B, autorzy przetestowali swoją zmianę i porównali ją z wynikiem otrzymanym ze wzoru (1) oraz wynikami dla ramki bez zmian. Badania zostały przeprowadzone na próbce 25 000 ramek z systemu samochodowego, dla ramek o długości pola danych równego 8 bajtom. W tym przypadku uzyskano dla pola danych o 2 bity wstawione mniej niż wynikało to z wyliczonej wartości pesymistycznej (15 bitów). Po zastosowaniu maskowania za pomocą wyznaczenia nowej wartości, jako wynik operacji XOR bitu danych z odpowiednim bitem maski, uzyskano w najgorszym przypadku 3 bity nadmiarowe. Wyniki te przedstawione są na rys. 5 i oznaczone są jako linia Real Traffic with XOR. W tabeli 2 przedstawiono postać ramki przed i po maskowaniu, wykonanym z użyciem funkcji XOR.

Wpływ konstrukcji nagłówka na jego 7 Tabela 2. Działanie mechanizmu maskowania z wykorzystaniem mechanizmu XOR Ramka do wysłania 011111000010101010010110001 Maska 010101010101010101010101010 Ramka po maskowaniu 001010010111111111000011011 Na wykresie, dodatkowo umieszczony jest wynik, gdy w polu danych występuje tyle samo jedynek i zer oznaczono to jako 50/50. 90 80 Prawdopodobieństwo [%] 70 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Liczba bitów wstawionych Rys. 5. Przedstawienie liczby bitów wstawionych dla ramki z polem danych o długości 64 bitów [6] Na tej podstawie można wnioskować, że w polu danych często występują ciągi jednakowych bitów, najprawdopodobniej zer. Redukcja liczby bitów, może okazać się bardzo ważna ze względu na zagrożenie powstania błędu blokowego już przy zmianie stanu tylko dwóch bitów. Uwagę na ten problem zwrócił początkowo J. Charzinski [3], a następnie E Tran i P. Koopman [7] w analizie bezpieczeństwa przeprowadzonej dla organizacji National Automated Highway System Consortium. Na podstawie informacji z przytoczonych artykułów można dojść do przekonania, że mechanizm synchronizacyjny występujący w sieci CAN niesie ze sobą pewne zagrożenia: trudny do oszacowania czas zajętości medium transmisyjnego zmuszający do uwzględniania za każdym razem zmienności pesymistycznej oraz możliwość powstania błędów blokowych po przekłamaniu tylko 2 bitów [3, 7]. Przedstawione zagadnienia skłoniły do poszukiwania rozwiązań zmniejszających występowanie bitów nadmiarowych. Należy zauważyć, iż występowanie zjawiska szpikowania bitami jest najczęstsze w obszarze sterującym. W skład tego obszaru natomiast wchodzą elementy nie przenoszące żadnej informacji - przyjmujące jeden

8 A. Kwiecień, P. Moroz stan (RB0), niepełny zakres wartości (DLC) oraz ustawiany przez użytkownika RTR. Należy pamiętać, że na liczbę bitów w tym obszarze ma również wpływ identyfikator. 4. Rozwiązania w obszarze sterującym ramki W celu znalezienia rozwiązania przedstawionego problemu oraz porównania z opracowanymi już rozwiązaniami przebadano i porównano ze sobą ramkę CAN oraz ramki zmodyfikowane. Rozpatrywane rozwiązania to: 1) ramka CAN 20A (CAN), 2) ramka CAN 20A z bitem RB0 w stanie recesywnym (1 logiczna) (CAN_DLC_RB0), 3) ramka zdalnego żądania CAN 20A z możliwością przesyłania danych (CAN_RTRDLC), 4) ramka zdalnego żądania CAN 20A z możliwością przesyłania danych i bitem RB0 w stanie recesywnym (1 logiczna) (CAN_RTRDLC_RB0). Wprowadzenie zmiany stanu RB0 (propozycje 2 i 4), umożliwiają założenia specyfikacji [2] mówiące, że jest to bit nie przenoszący żadnej informacji, mający przyjmować stan dominujący. Stan ten nie jest sprawdzany przez odbiornik, a jedynie bierze udział w mechanizmie usuwania dodanych przez nadajnik bitów synchronizacyjnych. Takie założenia dają możliwość implementacji proponowanego rozwiązania. Drugą zmianą (propozycje 3 i 4) jest transmisja danych w ramce zdalnego żądania. Ramka ta ma na celu przesłanie prośby o dostarczenie danych, ale znane są protokoły (np. ProfiBus), w których razem z żądaniem transmisji przesyłane są pewne informacje (np. konfiguracyjne). Dla ramki CAN 2.0A oraz ramek z wprowadzonymi modyfikacjami, stworzono modele w programie symulacyjnym. Wynikiem tej symulacji, podobnie jak w pracy [6] było zestawienie porównawcze liczby ramek dla danej wartości bitów wstawionych, z podziałem na poszczególne wartości pól DLC i RTR oraz wprowadzone zmiany. Na ich podstawie wyznaczono parametr średniego występowania bitów dodanych będący średnią liczbą tych bitów przypadających na nagłówek dla każdego modelu. Został on obliczony poprzez podzielenie średniej liczby bitów nadmiarowych przypadających na nagłówek (5) przez długość nagłówka (6). BS śr = 2047 id = BS id id 0 (5) L gdzie: BS id liczba bitów wstawionych w nagłówku przy danym identyfikatorze, L id liczba wszystkich identyfikatorów. W tym przypadku 2048 (2 11 ). gdzie: BS śr L id BS śr W śr = (6) lid średnia liczba bitów nadmiarowych dla danej ramki, długość nagłówka.

Wpływ konstrukcji nagłówka na jego 9 Wyniki obliczeń przedstawione są na rys. 6. 8,00% 7,00% 6,00% Wydłużenie ramki [%] 5,00% 4,00% 3,00% 2,00% Wariant ramki 1 2 3 4 1,00% 0,00% 0 1 2 3 4 5 6 7 8 DLC Rys. 6. Średnie prawdopodobieństwo wystąpienia bitów nadmiarowych dla nagłówka w zależności od długości pola danych 2500 2000 Liczba ramek 1500 1000 500 Liczba bitów wstawionych 4 3 2 1 0 0 Nr Zmiany DLC 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 0 1 2 3 4 5 6 7 Rys. 7. Udział liczby identyfikatorów, w zależności od ilości bitów nadmiarowych w nagłówku Przeprowadzone badania wykazały, że spośród badanych ramek, wyznaczony parametr okazał się najgorszy dla obecnie wykorzystywanej ramki CAN. Na rys. 7 przedstawiony jest skumulowany podział identyfikatorów w zależności od liczby bitów dodatkowych występujących w nagłówku. Każdy odcień reprezentuje inną liczbę bitów wstawionych w nagłówek. Wysokość każdego słupka, odzwierciedla liczbę identyfikatorów. Jednocześnie każdemu poziomowi szarości przypisano odpowiednią 8

10 A. Kwiecień, P. Moroz liczbę bitów. Każda kolumna opisana jest przez numer testowanej zmiany oraz wartość bitową pola DLC (rys. 7). W porównaniu z wynikami dla obecnie wykorzystywanej ramki CAN (tabela 1), testowane zmiany umożliwiają uzyskanie większej liczby ramek z dobrymi identyfikatorami, czyli identyfikatorami nie wydłużającymi nagłówka. Ich liczba kształtuje się na poziomie od 65%, co odpowiada 1332 identyfikatorom dla propozycji 2 oraz do 70%, czyli 1436 identyfikatorom w przypadku 4. Są to propozycje, w których zmieniono stan bitu RB0. Zwiększa to poziom dobrych identyfikatorów od 10% do 20%. Badana sprawność uległa poprawie, o czym świadczą wszystkie przebiegi na rys. 6 znajdujące się poniżej przebiegu dla standardowej ramki CAN. Wynika z niego również, że bit RB0 skutecznie przerywa ciąg zer (propozycja 2 i 4) pomiędzy identyfikatorem a obszarem sterującym, powodując bardzo dobre rezultaty dla wszystkich długości pola danych. Zmiana 3 udowodniła, że za pojawienie się przynajmniej jednego bitu wstawionego odpowiedzialny jest obszar sterujący (IDE, RB0, DLC) tworzący strumień pięciu jednakowych stanów. Gdy ten warunek nie występował z powodu zmiany wartości DLC powyżej 1, liczba dobrych identyfikatorów zrównywała się z rozwiązaniem (4). 5. Podsumowanie W artykule przedstawiono część zagadnienia wpływu mechanizmu synchronizacji na czas i bezpieczeństwo transmisji. Jednym z jego elementów jest zmienność w długości ramek wpływający na czas transmisji. Wszystkie zaproponowane rozwiązania zmniejszyły wartość tego parametru. Wcześniejsze rozwiązania [5,6] nie ingerowały w budowę ramki, a jedynie próbowały rozwiązać problem poprzez definiowany przez użytkownika element jakim jest identyfikator. Okazało się, że niektóre zmiany w budowie ramki dają lepsze efekty poprawę na poziomie nawet 10-15% identyfikatorów. Poza tym po wprowadzeniu ramek ze zmianą stanu bitu RB0 zmiana 2, nie powinny wystąpić błędy przy ich jednoczesnym występowaniu z ramkami standardowymi sieci CAN. Należy sprawdzić jeszcze czy i jak zmieni się kryterium bezpieczeństwa transmisji reprezentowane przez poziom wykrywania błędnych ramek. Przeprowadzone zmiany są obiecujące. W efekcie czego dalsze badania obejmą stworzenie modelu symulacyjnego dla ramki rozszerzonej i sprawdzenie jak przedstawione zmiany wpłyną na ramki 20B. Literatura 1. Atmel Microcontrollers for Controller Area Network, M. Passemard, Industrial Control Business Development Director. 2. Bosch CAN Specification, Robert Bosch GmbH, Stuttgart 1991. 3. Charzinski J.:Performance of the Error Detection Mechanisms in CAN. Proceedings of the 1 st International CAN Conference, Mainz, 09.1994.

Wpływ konstrukcji nagłówka na jego 11 4. Kwiecień A.: Analiza przepływu informacji w komputerowych sieciach przemysłowych. Gliwice, 2000. 5. Nolte T., Hansson H., Norstrom C.: Minimizing CAN Response-Time Jitter by Message Manipulation. IEEE Real-Time end Embedded Technology and Applications Symposium (RTAS'02), San Jose, Kalifornia, 09.2002. 6. Nolte T., Hansson H., Norstrom C., Punnekkat S.:Using bit-stuffing distributions in CAN analysis. IEEE Real-Time Embedded Systems Workshop, Londyn, 12.2001. 7. Tran E., Koopman P.:Multi-Bit Error Vulnerabilities in the Controller Area Network Protocol, Carnegie Mellon University, 05.1999.