Professional Documents
Culture Documents
BSC
BSC
Имплементација подршке за
филтрирање Етернет саобраћаја за
анализатор аутомобилских магистрала
ПМ-200
ДИПЛОМСКИ РАД
УДК
Чува се, ЧУ: У библиотеци Факултета техничких наука, Нови Сад
UC
Holding data, HD: The Library of Faculty of Technical Sciences, Novi Sad, Serbia
Note, N:
Abstract, AB: This paper describes the implementation of Ethernet filtering application for
PM-200 Data Logger. The goal is to write vehicle Ethernet frames received by
the Data Logger to the separate files depending on the filters. Testing and
verification of the solution has showed that the real-time execution is
successfully implemented. The highest Ethernet speed this application
supports is determined.
SADRŽAJ
1. Uvod................................................................................................................................ 1
2. Teorijske osnove ............................................................................................................. 3
2.1 Analizator .................................................................................................................3
2.2 Analizator u automobilskoj industriji.......................................................................4
2.3 Magistrale u automobilu...........................................................................................5
CAN magistrala ...............................................................................................................5
2.3.1 LIN magistrala .....................................................................................................5
2.3.2 FlexRay magistrala ..............................................................................................6
2.3.3 MOST ..................................................................................................................6
2.3.4 BroadR-Reach magistrala ....................................................................................6
2.4 Izgled Ethernet okvira ..............................................................................................7
2.5 PM-200 .....................................................................................................................8
3. Koncept rešenja ............................................................................................................. 10
3.1 Parser ulazne XML datoteke ..................................................................................11
3.2 Kružni bafer za čuvanje Ethernet okvira ................................................................13
3.3 Ispis rezultata filtriranja u TTL datoteke................................................................13
3.3.1 Zaglavlje ............................................................................................................13
3.3.2 Polje sa snimljenim podacima ...........................................................................14
3.4 Zavisnost između blokova ......................................................................................14
4. Programsko rešenje ....................................................................................................... 16
4.1 XML Parser ............................................................................................................16
4.2 Kružni bafer za privremeno smeštanje Ethernet okvira .........................................17
4.3 Upis u TTL datoteke ..............................................................................................17
Sadržaj
SPISAK SLIKA
IV
Spisak tabela
SPISAK TABELA
V
Skraćenice
SKRAĆENICE
VI
Uvod
1. Uvod
Automobilska industrija se stalno razvija, u cilju poboljšanja sigurnosti i udobnosti vožnje.
Ova unapređenja se najčešće svode na uvođenje dodatnih elektronskih kontrolnih jedinica (ECU)
koje automatizuju određene segmente upravljanja vozilom, ili unapređenje postojećih jedinica
kroz upotrebu informacija sa unutrašnjih i spoljašnjih senzora. Prilikom povećanja broja
elektronskih jedinica se osim usložnjavanja hardverskog i softverskog sistema, značajno pojačava
i saobraćaj na automobilskim magistralama.
Kako bi se obezbedila neophodna robusnost i determinizam u okviru pojedinačnih jedinica
i celokupnog automobila, neophodno je sprovesti opsežno testiranje i kontrolu kvaliteta u skladu
sa najnovijim standardima. Uređaji koji omogućavaju praćenje i čuvanje podataka sa
automobilskih magistrala, čija provera i kontrola predstavlja neizostavan segment svih
integracionih faza testiranja, se naziva analizator. Analizator koji će biti opisan u ovom radu i koji
je korišćen tokom projekta je TTech PM-200 analizator.
Zadatak ovog rada bio je da se kreira aplikacija za filtriranje Ethernet saobraćaja na PM-
200 analizatoru na osnovu zadatih ulaznih parametara. Ulazni parametri su prosleđeni u vidu XML
datoteke, dok se ispis rezultata vrši u TTL datoteke. Za svaku filter grupu, kreira se jedna TTL
datoteka sa Ethernet okvirima koji zadovoljavaju kriterijume odgovarajućeg filtera.
Polaznu tačku u radu predstavlja podešavanje okruženja za rad sa analizatorom kao i
upoznavanje sa istim. Korišćeno je Eclipse radno okruženje sa dodatnim modulima za udaljeno
prevođenje i ispravljanje grešaka.
Rad se sastoji iz 7 poglavlja.
U drugom poglavlju opisan je analizator kao i njegova namena. Takođe se govori o primeni
analizatora u automobilskoj industriji, magistralama koje analizator podržava, o Ethernet okviru i
konkretno o analizatoru za koji je ova aplikacija realizovana.
U trećem poglavlju prikazana je softverska ahitektura rešenja.
1
Uvod
Četvrto poglavlje opisuje softverske module, dok se u petom govori o načinu ispitivanja
aplikacije i daje prikaz rezultata ispitivanja.
Šesto poglavlje sadrži kratak zaključak, a takođe i daje smernice za dalja unapređenja
realizovanog rešenja.
2
Teorijske osnove
2. Teorijske osnove
U ovom poglavlju govori se o analizatorima kao klasi uređaja koji se primenjuju u ispitivanju
rešenja u automobilskoj industriji. Zatim, dat je kratak opis osnovnih magistrala u automobilskoj
industriji, koje analizator korišćen u atumobilskoj industriji treba da podrži, a pored toga, dat je
opis uređaja PM-200 kompanije TTTech koji predstavlja analizator korišćen u ovom radu.
2.1 Analizator
Analizator predstavlja sistem za prikupljanje podataka, koji omogućava inženjerima da
prikupljaju informacije kako bi znali šta se dešava u nekoj mašini ili okruženju. Jedna od glavnih
prednosti ovih uređaja jeste to što mogu da snimaju podatke bez prekida, kao i to što mogu da rade
bez nadzora operatera. Ideja je da se rad neke mašine snima, kako bi se uočilo da li se ona u nekom
trenutku ne ponaša u skladu sa očekivanjima. Zbog ovoga, većina analizatora poseduju mehanizam
za praćenje datuma i vremena – timestamp, kako bi se mogao napraviti realan sled događaja da bi
se moglo uočiti kada i zbog čega dolazi do neke greške. Analizator treba da bude pouzdan i
otporan na specifične radne uslove, budući da se često koristi bez nadzora ili pod neuobičajenim
spoljnim uticajem.
Tipičan primer ovog uređaja jeste crna kutija u avionu. Ovaj uređaj snima sve bitne
informacije prilikom leta aviona kao i razgovor pilota sa kontrolnim tornjem. Njegova funkcija
naročito dolazi do izražaja prilikom pada aviona, kada se koristi kako bi se otkrio uzrok nastanka
problema. Projektovana je tako da može da podnese pad aviona.
3
Teorijske osnove
4
Teorijske osnove
5
Teorijske osnove
2.3.4 MOST
MOST je magistrala za brz prenos veće količine podataka, sa malim kašnjenjem. Nastao je
kada CAN nije mogao da zadovolji zahteve za brzinu prenosa od 1.4Mb/s. Kontrolu centralnog
vremena i sinhronizaciju slanja podataka sprovodi glavni vremenski kontroler, koji konstantno
šalje okvire podataka na magistralu. MOST magistrala je isprva mogla da podrži brzinu do
25Mb/s. Uvođenjem specijalnog fizičkog sloja omogućena je implementacija Eterneta u
automobilu, čime je povećan protok na 150Mb/s. MOST magistrala se koristi za brz prenos
multimedijalnih sadržaja i paketa mapa za navigacione sisteme.
6
Teorijske osnove
Osobine Ethernet okvira koje su bile relevantne za filtriranje prilikom izrade projekta jesu
Interface, Source i Destination adrese i Vlan ID ako postoji.
Budući da samo Ethernet okviri IPV4 i IPV6 tipa poseduju IP adrese, prilikom filtriranja za
preostale okvire korišćena je MAC adresa.
Okviri koji sadrže Vlan ID se prepoznaju po tome što se na mestu polja Tip za standardni
okvir nalazi vrednost 0x8100. Takvi okviri moraju da se obrađuju drugačije budući da imaju
ubačena 4 bajta nakon Source Mac adrese. Unutar ta 4 bajta nalazi se upravo 0x8100 oznaka za
ovaj tip frame-a dok se unutar druga dva bajta pored nekih drugih informacija nalazi Vlan ID u
poslednjih 12 bita.
7
Teorijske osnove
2.5 PM-200
PM-200 je analizator, odnosno, uređaj za neprekidno snimanje svih mrežnih podataka sa
vozila. Ovaj analizator podržava osim osnovne funkcionalnosti snimanja podataka i dodatne opcije
za rad sa ovim podacima, kao na primer, filtriranje.
Kao što je već napomenuto, bitna karakteristika analizatora jeste postojanje mehanizma za
praćenje datuma i vremena - timestamp-a. Konkretno PM-200 analizator, ima timestamp sa
tačnošću na nivou jedne mikrosekunde. Neke dodatne karakteristike su:
Pruža mogucnost snimanja nakon “buđenja”;
Omogućava selektivno prihvatanje podataka i obradu sa filterima i okidačima;
Radi sa podacima otvorenog formata;
Pruža mogućnost višefaznog upravljanja napajanjem;
Poseduje API za primanje i slanje podataka.
8
Teorijske osnove
9
Koncept rešenja
3. Koncept rešenja
U ovom poglavlju je opisan koncept programskog rešenja aplikacije. Na slici 5 je prikazan
način rada aplikacije. Ethernet okviri koji pristižu preko Ethernet magistrale smeštaju se u kružni
bafer da bi se izbeglo gubljenje okvira. Pakete iz ovog bafera obrađuje posebna nit u kojoj se vrši
filtriranje. Okvir koji zadovoljava uslove jednog filtera smešta se u zaseban kružni bafer iz kog se
u posebnoj niti dalje vrši upis u TTL datoteku. To znači, da osim niti koja služi za filtriranje
Ethernet okvira, postoji pojedinačna nit za svaki filter koja obavlja upis u odgovarajuću datoteku.
Osobine filtera date su u XML datoteci kao ulazni parametar aplikacije.
10
Koncept rešenja
11
Koncept rešenja
Prilikom parsiranja XML datoteke kreira se lista parametara, gde svaki element sadrži naziv
TTL datoteke, Source i Destination adrese, Vlan ID i tip Ethernet magistrale.
12
Koncept rešenja
3.3.1 Zaglavlje
TTL datoteke otvaraju se unutar posebnog grafičkog okruženja namenjenog upravo za rad
sa TTTech Loggerom. Da bi neka TTL datoteka mogla da se otvori i prikaže u ovom okruženju na
ispravan način bitno je pravilno popuniti polja zaglavlja.
13
Koncept rešenja
14
Koncept rešenja
15
Programsko rešenje
4. Programsko rešenje
16
Programsko rešenje
Lista filtera definisana je kao node_t i osim pokazivača na sledeći element sadrži grupu
osobina filtera definisanu kao args.
typedef struct node
{
args value;
struct node *next;
} node_t;
typedef struct
{
char filename[FNAMEMAXLEN];
char interface[INTERFACEMAXLEN];
char sourceIp[IPMAXLEN];
char destinationIp[IPMAXLEN];
int iVlanId;
} args;
Nakon ovog koraka, na raspolaganju su nam informacije o svim filterima koji treba da se
koriste prilikom obrade Ethernet okvira.
Prilikom upisa okvira u TTL datoteku vodi se računa o količini upisanih podataka kako bi
se pri upisu okvira koji prelazi veličinu od 2MB mogao upisati okvir ispune da bi se održala željena
struktura.
Za svaki filter, postoji struktura koja sadrži kružni bafer koji se popunjava iz main-a,
informaciju o količini upisanih podataka kao i mutex za zaštitu kružnog bafera, budući da se
popunjava u niti za filtriranje a čita u niti za upis podataka u datoteku.
17
Programsko rešenje
typedef struct
{
pthread_mutex_t mutex;
uint32_t written_size;
ringBuffer eth_frames;
} DataToWrite;
Nakon toga vrši se parsiranje, i ukoliko je uspešno izvršeno, inicijalizuje se kružni bafer za
privremeno skladištenje okvira. Prilikom pritiska tastera START na logeru, proziva se callback
zbog promene stanja, i dolazi do inicijalizacije on_ethernet callback-a pomoću funkcije:
e_status ttxdl_on_ethernet (e_status (*reg_function)(ttxdl_ethernet_t *,void *),
void *funcUserData);
Zatim, izvršava se inicijalizacija niti za upis u TTL datoteke kao i popunjavanje zaglavlja
ovih datoteka. O ovim funkcijama, kao i načinu inicijalizacije kružnog bafera i parsiranja bilo je
govora u poglavljima o odgovarajućim modulima.
Takođe kreira se i započinje nit reading koja služi za čitanje podataka iz kružnog bafera.
Konkretno filtriranje pojedinačnog okvira vrši se funkcijom checkFilters koja se poziva u
reading niti. U funkciji checkFilters, iz okvira koji se obrađuje, dobavljaju se relevantne
informacije i konvertuju u stringove kako bi bilo moguće proveriti ih sa argumentima svakog
filtera. Za svaki filter za koji su osobine odgovarajuće, radi se upis u kružni bafer za tu datoteku.
Pritiskom tastera STOP na analizatoru, obavlja se obrada preostalih okvira, kao i njihov upis.
18
Programsko rešenje
Ova funkcija se koristi navođenjem prioriteta, u zavisnosti od toga kada želimo da bude
prikazana i teksta koji želimo da bude prikazan, npr.
ttxdl_log_write(TTXDL_LOG_ERR, "We should exit now!");
typedef enum
{
TTXDL_LOG_EMERG = LOG_EMERG,
TTXDL_LOG_ALERT = LOG_ALERT,
TTXDL_LOG_CRIT = LOG_CRIT,
TTXDL_LOG_ERR = LOG_ERR,
TTXDL_LOG_WARNING = LOG_WARNING,
TTXDL_LOG_NOTICE = LOG_NOTICE,
TTXDL_LOG_INFO = LOG_INFO,
TTXDL_LOG_DEBUG = LOG_DEBUG
} e_log_priority;
19
Evaluacija
5. Evaluacija
20
Evaluacija
Za prikaz snimljenih okvira, tj. prikaz TTL datoteka korišćen je TTX-DataLogger grafičko
okruženje. Primer snimljenih okvira dat je na slici 11. Sa leve strane se vidi da su podaci podeljeni
na blokove od 2MB, dok zaglavlje zauzima 218,44kb.
Osim liste okvira moguće je prikazati i statistiku primljenih podataka, što če biti prikazano
na slučajevima testiranja.
21
Evaluacija
22
Evaluacija
23
Zaključak
6. Zaključak
Zadatak rada bio je da se realizuje aplikacija za PM-200 analizator koja će omogućiti
filtriranje Ethernet saobraćaja na osnovu ulaznih parametara, prosleđenih u vidu XML datoteke,
kako bi se omogućilo jednostavnije testiranje Ethernet saobraćaja u automobilu.
Evaluacijom sistema je pokazano da su tražene funkcionalnosti uspešno implementirane.
Jedan od načina da se dodatno unapredi aplikacija bilo bi omogućavanje čitanja i drugih tipova
datoteka kao ulaznog parametra, kao i modifikovanje rada aplikacije sa ciljem da se ubrza obrada
kako bi još veće brzine Ethernet saobraćaja bile podržane.
24
Literatura
7. Literatura
25