FőoldalRendszerintegrátorCAN-buszos jármű-elektronikai rendszerek fejlesztése
2014. február 11., kedd ::

CAN-buszos jármű-elektronikai rendszerek fejlesztése

Szimbólumalapú triggerelés és dekódolás a CAN-buszhoz az Agilent Technologies-tól. A differenciális jelekkel operáló CAN (Controller Area Network) buszrendszerrel korunk összes modern gépjárművének hajtáslánc-vezérlésében találkozhatunk. A soros vezérlésű CAN protokollt több mint harminc évvel ezelőtt fejlesztette ki az autóipari beszállítóóriás, a Robert Bosch GmbH, és azóta is ez a gépjárműipar első számú „igáslova" az elektronikus vezérlőegységeknél. A CAN busz alkalmazása azonban nem korlátozódik az autóiparra, hiszen már jó ideje elterjedt az ipari és egészségügyi elektronikai rendszerekben is...

Manapság a CAN-busz fizikai rétegének fejlesztésére és bemérésére használt, első számú elektronikai mérőberendezés az oszcilloszkóp. Bár az iparban szintén elterjedtek a CAN-buszra fejlesztett protokollanalizátorok (mint pl. a Vector-féle CANalyzer) tesztelésre és hibakeresésre a magasabb absztrakciós szintekre, az oszcilloszkóp használatának megkérdőjelezhetetlen előnye ezekkel a megoldásokkal szemben az, hogy a CAN-busz fizikai rétegében az analóg jelminőség (jelintegritás) ellenőrzésére is alkalmas. A gépjárművek - felhasználásukból adódóan - meglehetősen kemény igénybevételnek teszik ki a fedélzetükön működő elektronikai rendszereket, hiszen a zaj- és tranziensterhelés egyszerre megjósolhatatlan és intenzív. Az oszcilloszkóp alapképességeihez tartozik, hogy alkalmas e változó gyakorisággal és intenzitással előforduló, CAN-buszhibák kiváltására is képes tranziensek és zajok bemérésére.

Triggerelés és dekódolás a CAN-buszon

A szinkronizálás és logikai keretazonosítás céljából napjaink közép- és csúcskategóriás (és egyre inkább a belépőszintű) oszcilloszkópjai beépített támogatást nyújtanak a különféle soros protokollos buszokhoz, így a CAN-hez is. Ezek a műszerek már képesek a CAN-buszjelekre triggerelni és a rajta keresztülfolyó információkat bináris és/vagy hexadecimális formátumban dekódolni. Az oszcilloszkópok e képessége jellemzően opcionális bővítmény, és az alapkiszerelésnek általában nem része.

Az 1. ábra olyan oszcilloszkóp képernyőjét mutatja (amely esetünkben egy Agilent Technologies InfiniiVision 4000 X-sorozatú műszer), amely éppen CAN-buszra triggerel, és az adatokat hexadecimálisan dekódolja. Kihangsúlyozzuk, hogy a nagy hullámforma-frissítésű oszcilloszkóp kiváló analóg képességei lehetővé teszik a zaj és az egyes impulzusok amplitúdóingadozásának tüzetes megfigyelését is. Az oszcilloszkóp minden bemért keret alatt megjeleníti az idő alapján oda tartozó dekódolási információkat, amely felfedi az adott keret valódi információtartalmát. A műszer kijelzőjének felső traktusát a protokollinformációs mező (ún. „lister") foglalja el, amely táblázatos formában foglalja össze az összes bemért keretet, hasonlóan egy protokollanalizátor megjelenítési módjához.

1. ábra. Triggerelés és dekódolás a 0x201 kereten

Az 1. ábrán is látható mérésben az oszcilloszkópot úgy állítottuk be, hogy a 0x201H keretazonosítóra triggereljen, amelynek bináris alakja 010 0000 0001B. A 0x201 keret 8 bájtos adatmezője a 0B A8 00 00 27 10 00 00H információt hordozza. Mit jelent valójában a 0x201H, és mit takar az általa hordozott hexadecimális karakterek hosszú sorozata? Ránézésre ezek az információk nem igazán értelmezhetők, különösen komplex CAN-buszos rendszereknél, ahol rengeteg információ kering a buszon. Célszerű lenne tehát egy kicsivel magasabb absztrakciós szintet alkalmazni közvetlenül az oszcilloszkópon.

A CAN-buszjelek szimbólumalapú dekódolása

Ahogy korábban említettük, a CAN-protokollanalizátorok egyik nagy előnye, hogy a buszon jelen lévő információkat magasabb absztrakciós alkalmazási szinten jelenítik meg. Konkrétabban megfogalmazva ez nemcsak mindenféle „titkos" biteket, hanem az ember számára közvetlenül könnyebben értelmezhető nyelven történő megjelenítést is jelent (pl. „Speed = 852 rpm", amely a főtengely fordulatszámát adja meg). Ezt a funkcionalitást néhány mai oszcilloszkóp is támogatja, különös tekintettel az Agilent Technologies 4000 X-sorozatra. A 2. ábrán az előző ábrán láthatóhoz hasonló mérés látható, ezúttal azonban bekapcsolt szimbólumalapú dekódolás mellett.

2. ábra. Szimbólumalapú triggerelés és dekódolás a CAN-buszon

A 2. ábrán látható mérésben az oszcilloszkópot úgy állítottuk be, hogy a „Brake_Torque" üzenetre triggereljen, amely a 0x211H keretazonosító közvetlen megfelelője. Az adatmező tartalmát reprezentáló, hosszú hexadecimális karaktersorozat helyett az oszcilloszkóp ezúttal a „jelek" konkrét, könnyen értelmezhető neveit jeleníti meg előjeles értékekkel, mértékegységekkel és állapotinformációkkal (pl. bekapcsolt állapot, kikapcsolt állapot, hátramenet stb.). A „jelek" meghatározást a CAN-szimbólumnyelvvel összefüggésben történt megemlítés esetén azért tesszük idézőjelbe, mert ezúttal nem elektronok vándorlásáról van szó: a „jel" ez esetben egy fizikai paramétert vagy állapotot jelent, mint például az illusztrációban is látható „Total_Torque: 131.0640k ft/lbs". A szimbólumalapú triggerelés és dekódolás alapkoncepciójának megértése után térjünk rá a nyers bitek szim­bólumokká konvertálásának mikéntjére!

A .dbc adatbázisfájlok

Minden, CAN-busz alapján kommunikáló részegységet tartalmazó járműhöz tartozik egy ún. .dbc fájl, amely a „data base CAN", vagyis CAN-adatbázis rövidítését takarja. A .dbc fájl egy ASCII karakterformátumú, .dbc kiterjesztésű állomány, amely a CAN-hálózat definícióit tartalmazza. A 3. ábra egy Agilent Technologies által létrehozott, oktatási célokat szolgáló .dbc mintafájl egy részletét mutatja.

3. ábra. Egy .dbc fájl tartalma (részlet)

Az „üzenetek" egyszerű címkék, amelyek megadott keretazonosítókat reprezentálnak. Például a 2190911837 keretazonosítót az „EngineData" üzenetcímkével láttuk el ebben a .dbc fájlban. A „jelek" ennél egy kicsit összetettebbek. Például az 5 adatbájtot tartalmazó „EngineData" üzenetcímkén belül 3 jelet definiáltunk, amelyek a „Fuel", „Temp" és „Speed" azonosítókat viselik. Mindegyik jel startbitje és hosszúsága előre megadott, például a „Temp" startbitje #24, hosszúsága 8 bit. Minden definiált jelhez tartoznak változó konverziós tényezők, mértékegységek, minimum- és maximumfigyelmeztetési értékek, valamint big-endian/little-endian bájtsorrendi indikátorok.

A 3. ábrán látható .dbc fájlrészletben állapotkódolt jeleket is láthatunk. Az „ABS" üzenetcímke alatt található „Frnt-R" jel startbitje a #7, és hosszúsága 1 bit. Ez azt jelenti, hogy csak a 0 vagy 1 bináris értéket veheti fel. A fájlrészlet vége felé láthatjuk, hogy az „Frnt-R"-t kódolt állapotként is definiáljuk, amelynél az oszcilloszkóp dekódolás során az „unlocked"-tartalmat jeleníti meg, ha a jel értéke 0, illetve a „locked"-tartalmat akkor, ha értéke 1.

Az egyes járműveknél a CAN-buszhálózatot definiáló .dbc fájlok a valóságban sokkal összetettebbek, mint az Agilent Technologies 3. ábrán látható mintája, ám e cikk keretein belül nem adott a lehetőség egy valódi jármű .dbc-állományának bemutatására. Sőt a gépjárműgyártók és beszállítóik nem teszik közzé e fájlokat, hiszen kifejlesztésük mögött komoly szellemi teljesítmény áll, és nem szeretnék versenytársaik számára elérhetővé tenni saját CAN-hálózatdefiníciójukat. A 3. ábra mintaállományát a készítők egyszerű szövegszerkesztővel hozták létre a CAN-hálózat egyszerűsége okán, ennél azonban természetesen jóval kifinomultabb módszerek is léteznek a .dbc fájlok megírására. A legszélesebb körben használt eszköz a komplex autóipari CAN-hálózatok definíciójára a Vector Informatik GmbH terméke, a CANdb++ szoftver.

A CAN-dbc szimbólumalapú triggerelés és dekódolás futtatása oszcilloszkópon

Ha rendelkezünk a CAN-hálózatunkat helyesen definiáló .dbc fájllal, az oszcilloszkópba történő importálás már egy rendkívül egyszerű, befejező lépés marad: a .dbc fájlt USB illesztős adathordozóra másoljuk, majd az adathordozót a műszerbe helyezve a .dbc fájlt áttöltjük, az oszcilloszkóp pedig a beolvasott .dbc fájlt elemi részekre tördeli szét, és saját memóriájába lement minden fontos konverziós paramétert. Az oszcilloszkóp CAN-dekódolással és -triggereléssel kapcsolatos menüpontjaiban ezután megjelenik a lehetőség a szimbólumalapú dekódolás bekapcsolására, és adott lesz a lehetőség az üzenetekre és jelekre szimbólum absztrakciós szinten triggerelni is. A 4. ábra egy Agilent Technologies 4000 X sorozatú oszcilloszkóp képernyőjét mutatja, amelyen a beépített oktatási jelcsomag CAN-jelén futó szimbólumalapú triggerelést és dekódolást láthatjuk. A képernyő alsó felén a „Fuel", „Temp" és „Speed" jeleket tartalmazó „EngineData" üzenet ránagyított részletét láthatjuk.

4. ábra. Engedélyezett szimbólumalapú triggerelés és dekódolás a .dbc fájl műszerre feltöltése után

Mint említettük, a .dbc fájlok adott jármű CAN-hálózatára vonatkoznak, és védett szellemi tulajdonnak minősülnek. Mivel az Agilent Technologies 4000 X-sorozatú műszerek beágyazott operációs rendszert futtatnak, a feltöltött .dbc fájlok visszanyerése nem lehetséges, hiszen még az internethez csatlakoztatott oszcilloszkóp esetén sem hozzáférhető a belső központi egység flash-memóriás adattárolója. Továbbá, az oszcilloszkóp alapfunkcióihoz tartozó és a katonai felhasználók igényeit is kielégítő biztonságos törlésfunkcióval a .dbc fájl nyomtalanul és maradéktalanul törölhető.

Összefoglalás

A gépjárműipari fejlesztők számos eszközt használhatnak CAN-buszos rendszereik fejlesztésére és tesztelésére. Az oszcilloszkóp kiváló eszköz a differenciális jelekkel operáló CAN-busz fizikai rétegéhez. A CAN-buszos triggerelést és dekódolást támogató oszcilloszkópok jelentősen felgyorsítják a fejlesztést és hibakeresést is, a CAN-dbc szimbólumalapú dekódolási képességgel kiegészített műszerek pedig még ennél is gyorsabbá és intuitívabbá teszik a munkát azzal, hogy használatával sokkal könnyebbé válik az egyes üzenetek és jeleik elkülönítése és értelmezése. A CAN-dbc szimbólumalapú triggerelést és dekódolást támogató oszcilloszkópok nem képesek arra (és nem is céljuk), hogy teljes egészében kiváltsák a CAN-buszos protokollanalizátorokat, és viszont: a protokollanalizátorok sohasem fogják kiszorítani az oszcilloszkópokat. A CAN-buszos elektronikai rendszereket, vezérlőegységeket fejlesztő mérnökök eszköztárában mindkét műszerfajtának helye van az optimális munkavégzés szempontjából.

5. ábra. Az Agilent Technologies 4000 X-sorozatú oszcilloszkóp

Az Agilent Technologies legújabb megoldása CAN-dbc-támogatással nemrég bemutatkozott InfiniiVision 4000 X oszcilloszkópcsalád (lásd 5. ábra), így immár nemcsak a high-end Infiniium-sorozatú, hanem az InfiniiVision X-sorozatú műszerek felhasználói számára is elérhetővé vált ez a funkcionalitás. A 4000 X-sorozatú oszcilloszkópok lelke a 3000 X-sorozatban már megismert és töretlen népszerűségnek örvendő MegaZoom IV mérési architektúra, amely egyedülálló mérési bizonyosságot ad felhasználóinak a páratlanul nagy hullámforma-frissítési sebességgel. A 12,1 hüvelykes kapacitív érintőkijelzővel rendelkező és InfiniiScan zónás triggerelést is támogató műszer akár 1,5 GHz-es analóg sávszélességgel is rendelhető, opcionális bővítményei között kétcsatornás hullámforma-generátort, 16 csatornás logikai analizátort, számos soros busz támogatását is megtalálhatunk.

A műszerbeszerzésre hosszú távú befektetésként tekintő felhasználók számára páratlan lehetőség, hogy a 2vagy 4-csatornás változatban elérhető, 4000 X-sorozatú oszcilloszkópok minden paramétere bővíthető.

Az Agilent kapcsolódó honlapja

A forgalmazó MEDEXPERT Kft. honlapja

Tudomány / Alapkutatás

tudomany

CAD/CAM

cad

Járműelektronika

jarmuelektronika

Rendezvények / Kiállítások

Mostanában nincsenek események
Nincs megjeleníthető esemény