190 likes | 449 Views
C A N Controller Area Network. Evgen Urlep Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, 2000 Maribor evgen.urlep @uni-mb.si. Kaj je CAN vodilo?.
E N D
C A NController Area Network Evgen Urlep Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, 2000 Maribor evgen.urlep@uni-mb.si
Kaj je CAN vodilo? Controller Area Network ali “krmilniško področno vodilo” je večtočkovno področno serijsko vodilo definirano po ISO standardu: • ISO 11898 (višje hitrosti do 1Mbps) • ISO 11519-2 (nižje hitrosti). CAN je bil razvit v nemškem avtomobilskem podjetju Robert Bosch GmbH in Intel sredi 80’h za potrebe v avtomobilski industriji, kasneje pa se je uporaba razširila na industrijske aplikacije.
Lastnosti CAN vodila • serijsko vodilo, namenjeno za aplikacije v realnem času, do 1Mbps • velika imunost na motnje • MM “multimaster” • MC “multicast” • definirane prioritete sporočil • zagotovljeni časi dostopanja na vodilo • konsistentnost širine podatkov na vodilu • detekcija in signalizacija napak (CRC, BSE. FE., FOVL) • razločevanje med trenutnimi in stalnimi napakami na vozlišču in samostojna izključitev vozlišča v okvari
Princip delovanja Podatki nimajo naslova enote, ki pošilja, niti naslova prejemnika, ampak edinstveno identifikacijsko številko spremenljivke (vrtljaji, tokovi, temperature, napetosti…), ki hkrati definira njeno prioriteto. Odpri desno okno!!! Koliko je goriva? Nastavi luči na ustrezen položaj. Motor se vrti z 1834o/min Vrata so zaprta!!
CAN model CAN specifikacija ISO11898 definira le fizični in podatkovni nivo
+12V 62mA CANL +12V opto CANH GND GND Prenosni medij • ploščat kabel, telefonski kabel • zvita parica • oklopljena zvita parica • optična povezava
Signalni vmesnik mikrokrmilnik Optična ločitev KEDEX LEDEX
V diff U CANH V diff CANL t Nivoji signalov Velja za PCA82C250 Recesivno, plavajoče stanje dominantno stanje
E1 E2 EN Zaključitev vodila … 120E 120E nmax=110
1000 hitrost prenosa [kbps] 100 10 5 40 100 1000 10000 dolžina vodila[m] Hitrost prenosa Klasične dolžine vodila: 5-10m -1km
Nominalni čas enega bita čas zakasnitev enot in pozitivne fazne napake negativne fazne napake, drift sinhronizacija enot tDelay = 2 ´ (tBus + tComp + tDriver ) + tInOut Zakasnitve:vodilo,vh. komparator,izh.krmilnik+I/O CAN tBL = tTSeg1 + tTSeg2 + 1 tSCL BR = f crystal / (2 x (BRP + 1) x (TS1 + TS2 + 3) )
2.0A format potrditev dolžina edinstvena identifikacija spremenljivke, 11/29 bitov podatki Osnovni podatkovni okvir DATA FRAME REMOTE FRAME ERROR FRAME-6b OVERLOAD FRAME NRZ + Vrivanje bitov
MASTER-SLAVE SKIIP Primer: komunikacija med KEDEX in SKIIP • KEDEX vsakih 100ms pošlje stanje senzorjev • CAN na SKIIP-u sprejme stanje in ga preda internemu algoritmu regulacije. • CAN na SKIIP-u vrne stanje obratovanja krmilnika
Parametri nastavitev • Bitrate: 5kbps • Pogostost pošiljanja podatkov: 100ms Primer: regulacija tlaka Sporočilo iz KEDEX enote a1=.=meas_press a2=.=press_ref ID=2 LEN=5 Sporočilo iz SKIP enote ID=1 LEN=5 status=0x13 a2=obs.omega a1=meas.press
Parametri nastavitev • Bitrate: 20kbps • Pogostost pošiljanja podatkov: 10ms Primer: vodna črpalka Sporočilo iz KEDEX enote q= pretok a1=.=meas_press1 a2=.= meas_press2 ID=2 LEN=5 Sporočilo iz SKIP enote ID=1 LEN=5 cmd=0x13 a2=obs.omega a1=meas.press
Inicijalizacija Sporočilo? Pošlji novo vrednost REMOTE DA Procesiraj sporočilo Nova vrednost? Pošlji novo vrednost Napaka NE NE Diagram poteka programa v krmilniku
Zaključek • Kje uporabiti CAN? • uporaba je smiselna, kadar želimo povezati več mikrokrmilnikov med sabo in z oddaljeno periferijo. To je lahko v hišnih aplikacijah, v avtomobilski industriji, krmilnih sistemih, ki zahtevajo odziv v realnem času, kot so procesni sistemi povezani z aktuatorskimi sistemi in mnogimi senzorji. CAN zagotavlja kratek dostopni čas do vodila, kjer se podatki spreminjajo v rangu nekaj 100s. • v sistemih, kjer je potrebno čimmanj povezav, ob močnih izvorih motenj. • kjer je pomembna združljivost z drugimi napravami, uporaba obstoječe infrastrukture.