CAN Protokoli

  • Published on
    11-Jun-2015

  • View
    1.510

  • Download
    0

Embed Size (px)

Transcript

Laboratorija za mikroprocesorsko upravljanje elektromotornih pogona Elektrotehniki fakultet, Univerzitet u Beogradu

Implementacija CAN protokola na pogonskom kontroleru baziranom na TMS320LF2407 digitalnom signal procesoruseminarski rad iz predmeta Upravljaki raunarski sistemi

eljko Panti, binella@etf.bg.ac.yu Igor Stamenkovi, igor@etf.bg.ac.yu

Beograd, novembar 2004.

Implementacija CAN protokola na pogonskom kontroleru baziranom na TMS320LF2407 digitalnom signal procesoru

SadrajI. Abstrakt II. Uvod III. Komunikacioni protokoli a. Modbus b. Industrijski Eternet c. Profibus IV. CAN bazirane mree a. Osnovni CAN i. Format CAN poruke ii. Fiziki nivo CAN protokola iii. Rukovoenje (upravljanje) grekama iv. Primena CAN baziranih sistema b. Vii CAN protokoli i. DeviceNet ii. CANopen iii. TTCAN c. Zakljuak o CAN-u V. Praktini deo a. Zadatak b. Opis aparature i. Digitalni pogonski kontroler ii. PC u ulozi CAN vora c. Realizacija zadataka VI. Zakljuak VII. Reference VIII. Abstract 2 2 4 5 8 11 23 24 24 29 33 35 36 38 43 46 52 53 54 55 55 61 62 65 67 67

1

Implementacija CAN protokola na pogonskom kontroleru baziranom na TMS320LF2407 digitalnom signal procesoru

I. Abstrakt Ovaj rad se bavi savremenim trendovima u primeni digitalne komunikacije u oblasti distribuiranih merno-upravljakih raunarskih mrea. U prvom delu se kritiki predstavljaju trino najznaajniji industrijski komunikacioni protokoli Modbus, industrijski Eternet, Profibus i CAN. Detaljnije se analiziraju karakteristike najpre osnovnog, a zatim i specifinosti i primena viih CAN protokola: DeviceNet, CANopen i TTCAN. Drugi deo donosi prikaz eksperimenata kojima su testirane funkcionalnosti osnovnog CAN protokola uspostavljanjem CAN komunikacije izmeu pogonskog kontrolera baziranog na signalnom procesoru TMS320LF2407 i PC-a sa odgovarajuim adapterom koji podrava CAN protokol. Na istom eksperimentalnom setapu praktino je realizovano U/f upravljanje asinhronim motorom. Digitalna referenca za ovo upravljanje je distriburana od PC-a do pogonskog konrolera CAN baziranom komunikacijonom linijom. Dobijeni praktini rezultati predstavljaju dobru osnovu za implementaciju opisanog sistema u sloenijim merno-upravljakim sistemima. II. UvodTrendovi u savremeno dizajniranim industrijskim, vojnim, medicinskim, pa i kunim okruenjima obuhvataju veliki broj senzora i aktuatora koji poseduju lokalnu inteligenciju i mogunost komunikacije kako izmeu sebe, tako i sa centralnim raunarom koji koordinira njihov rad. Funkcije koje oni obavljaju na lokalnom nivou se uglavnom ograniavaju na prikupljanje i obradu podataka za senzore, odnosno upravljanju procesima elektrino-elektrine i elektromehanike konverzije za sluaj elektrinih aktuatora. Zbog potrebe preciznog upravljanja fluksom i momentom elektrinog motora u realnom vremenu, digitalni pogonski kontroleri sadre mone procesore sa velikim brojem periferijskih modula. Meu njima su najznaajniji specijalizovani brojaki sistemi potrebni za generisanje signala za upravljanje stanjem poluprovodnikih prekidaa snage i, eventualno, prihvat impulsa sa inkrementalnog enkodera i proraun brzine i pozicije, te A/D konvertori koji digitalizuju podatke o vrednostima struja u faznim namotajima motora. Znaajan broj numerikih operacija koje se postavlja pred procesor dovodi do trenda korienja posebnog kontrolera ija je uloga samo komunikacija sa ostalim delovima sistema. Komunikacija podrazumeva razmenu rezultata merenja, statusnih i upravljakih informacija izmeu distribuiranih merno-upravljakih sistema, i moe se ostvariti na razliite naine u zavistnosti od same potrebe i svrhe sistema, ali i od upotrebljene opreme. Za ostvarivanje veze izmeu ureaja koji potiu od razliitih proizvoaa je stoga potrebno da ti ureaji imaju iste komunikacione interfejse i procedure za razmenu podataka. Ovakva kompatibilnost je ostvarena definisanjem standardnog modela za komunikaciju (Open System Inerconnection) uspostavljenog od strane Meunarodne organizacije za standarde (International Standard Organization). Po ovom modelu sistem povezivanja se ostvaruje preko sedam nivoa koji definiu formu komunikacionog protokola: fiziki nivo (physical level) definie elektrine, funkcionalne i proceduralne karakteristike koje omoguavaju transparentan prenos serije bitova; na ovom nivou sistem prepoznaje samo individualne bitove, a ne i karaktere ili poruke;

2

Implementacija CAN protokola na pogonskom kontroleru baziranom na TMS320LF2407 digitalnom signal procesoru

-

nivo veze (data link level) obezbeuje funkionalne i proceduralne mehanizme za prenos elementarnih poruka i korektnu kontrolu greaka u prenosu; nivo mree (network level) definie nivo povezivanja mree, i obezbeuje funkcije koje ostvaruju, odravaju ili prekidaju puteve komunikacija i prenos blokova podataka izmeu korisnika; nivo prenosa (transport level) predstavlja prvi nivo koji u potpunosti standardizuje vezu od jednog vora do drugog; na ovom nivou se garantuje sigurna i efikasna razmena podataka koju potrauje aplikacioni program; nivo sesije (session level) obezbeuje tehnike za organizaciju i struktuiranje blokova podataka i utvruje take sinhronizacije; nivo prezentacije (presentation level) omoguava nezavisnost aplikacije od razliite prezentacije podataka tako to dozvoljava korisniku da izabere odgovarajuu sintaksu, to jest odgovarajuu konverziju prenetih podataka; nivo primene (application level) odgovara potrebama sistema; on obuhvata biblioteke rutine koje omoguavaju komunikaciju izmeu razliitih procesa, te eventualni pristup i razmenu podataka sa serverima sistema;

-

-

-

Kao to se vidi iz navedenog, OSI referentni model je prilino detaljan i uopten, pa se esto za primenu u industrijksim distribuiranim merno-upravljakim mreama koristi uproen model koji obuhvata samo prvi, drugi i sedmi nivo. Povezivanje prostorno distribuiranih inteligentnih mernih i upravljakih modula se najee ostvaruje magistralom. Budui da je priroda signala kojom moduli komuniciraju digitalna, postoji mogunost multipleksiranja prenosnog puta. Razdvajanje podataka se u tom sluaju vri u vremenskom ili frekvencijskom domenu. Vremenski multipleks zahteva arbitriranje izmeu ureaja korienjem protokola, dok je za upotrebu frekvencijskog multipleksa potreban simultani prenos u irokom frekvencijskom opsegu, to znatno poskupljuje hardver. Aktivnost na magistrali se regulie na dva naina: pomou klasinog centralnog kontrolera koji arbitrira u prenosu (poznata i kao master-slave komunikacija), ili bez njega kada nezavisni moduli meusobno arbitriraju. Ovaj drugi nain se kod savremenih protokola najee ostvaruje upotrebom CSMA/CD protokola: CS oznaava Carrier Sense i znai da magistrala mora da je odreeno vreme neaktivna pre nego to bilo koji vor poalje poruku; MA predstavlja Multiple Access i ukazuje da kada period neaktivnosti magistrale proe, svaki vor ima jednaku mogunost da postavi poruku; CD, skraenica od Collision Detection, oznaava da su vorovi na magistrali u stanju da detektuju pojavu kolizije i adekvatno reaguju na nju. Kolizija je pojava koja nastaupa kada vie od jenog vora pokua da jednovremeno pristupi magistrali u cilju slanja poruke. Digitalni signal se moe poslati serijski ili paraleleno. Paralelni prenos 8-bitnih podataka se ostvaruje IEEE 488 instrumentacionom magistralom koja obezbeuje brzu razmenu podataka. Nedostatak ovakvom naina za prenos digitalnih signala je veliki broj linija za vezu, te se u praksi uglavnom koristi serijski prenos podataka. Prenos se ostvaruje definisanjem razliitih naponskih nivoa koji predstavljaju logiku jedinicu i nulu. On moe biti realizovan na nain da nivo signala zadrava istu vrednost tokom trajanja bita (Non Return to Zero (NRZ) encoding) ili kao Manester kod. Manester kod podrazumeva promenu naponskog nivoa na polovini trajanje bita, te je

3

Implementacija CAN protokola na pogonskom kontroleru baziranom na TMS320LF2407 digitalnom signal procesoru

njegova prednost esta promena stanja magistrale to omoguava resinhronizaciju na strani prijema u odnosu na svaki primljeni bit. Na ovaj nain je mogue ostvariti bre prenose nego u sluaju NRZ kodiranja. Prepoznavanje prijemnih bitova se ostvaruje oitavanjem prijemnih registara. Uslov za validnu interpretaciju poruke je svakako sposobnost prijemnika da prepozna trenutak kada je odgovarajui bit u pomenutim registrima. Takozvani bit tajming se ostvaruje na dva naina: asinhrono i sinhrono. Asinhrona komunikacija ne razmenjuje takt izmeu uesnika komunikacije, tako da su start i stop bitovi neophodni. Ovakva komunikacija je jednostavnija za realizaciju. Kao proveru validnosti primljenih podataka najee se koristi parnost, a maksimalne brzine prenosa su ograniene do 19,2 kb/s. Sa druge strane, sinhrona komunikacija je sloenija za izvoenje, ali podrava brzine prenosa do 1 Gb/s. Signal takta se alje ili u okviru same poruke, ime prijemna strana moe da ostvari resinhronizaciju, ili preko posebne taktne linije. Kao proveru validnosti primljenih podataka sinhrona komunikacija najee koristi CRC (Cyclic Redundancy Check), koji e biti objanjen kasnije u okviru CAN protokola. Kao prenosni medijum najee se koristi bakarni provodnik. Zahvaljujui pouzdanosti u odnosu na smetnje u prenosu, u prednosti su upredeni provodnici i koaksijalni kabl. U poslednje vreme se sve vie koriste optiki kablovi, koji pokazuju slabije karakteristike samo u agresivnim sredinama, poput naftnih polja ili rudnika. Za komunikaciju izmeu veoma udaljenih sistema ili izmeu onih koji se nalaze na nepristupanom terenu optimalna je upotreba radio veze. Za ovakvu vezu na magistrali koristi se ista frekvencija, pri emu se rad odvija u vremenskom multipleksu.

III. Komunikacioni protokoliKomunikacioni protokol predstavlja precizno definisane procedure i sekvence bita, karaktera i upravljakih kodova koriene za prenos podataka preko komunikacione linije. Zahtevno trite komun