Skip to main content

A több csomópontos CAN-rendszer teljesítményének validálása

Megjelent: 2023. május 11.

Arrow lidEz a cikk ismerteti a helyes rendszerszintű tesztelési megközelítést a CAN (controller area network) adó-vevő értékeléséhez. Megmagyarázza, hogy miért jobb ez a megközelítés, bemutatva, hogyan lehet elkerülni a tényleges adatátviteli problémákat az adatátvitel során az egyik CAN-csomópontról a másikra egy több CAN-csomópontból álló rendszerben. A cikk elolvasása után az olvasó jobban megértheti a CAN-rendszert, és képes lesz kiválasztani a megfelelő CAN-adó-vevőt az adott több csomópontos CAN-rendszerhez.

 

A CAN (vezérlőterületi hálózat) egy robusztus kommunikációs szabvány, amely lehetővé teszi, hogy különböző érzékelők, gépek vagy vezérlők kommunikáljanak egymással. A CAN-interfész népszerű az ipari és az otthoni automatizálásban, valamint az autókban, mivel robusztusabb és hatékonyan kezeli a busz-versengést.
A hagyományos CAN2.0 8 bájtos hasznos terhelést nyújt, és legfeljebb 2 Mbps adatátviteli sebességet támogat. Néha azonban a 2 Mbps adatátviteli sebesség nem elegendő a kritikus kommunikációs eseményekhez, ezért a CAN.org új kommunikációs protokollt, a CAN-FD-t fejlesztette ki, amely lehetővé teszi a nagy adatátviteli sebességű, akár 10 Mbps-os kommunikációt.

 

A CAN-FD rugalmas adatátviteli sebesség

Az elsődleges különbség a hagyományos CAN és a CAN-FD között a rugalmas adatkezelés (FD-flexible data). A CAN-FD-ben az adatátviteli sebesség (azaz a másodpercenként továbbított bitek száma) 5× gyorsabb, mint a klasszikus CAN-ben (10 Mbps csak a hasznos adatforgalom esetében; az arbitrációs bitsebesség a kompatibilitás érdekében továbbra is 1 Mbps-ra van korlátozva). A CAN-FD-ben az üzenet hasznos terhelési mérete 64 bájtra nőtt a hagyományos CAN 8 bájtos méretéről.
A CAN-FD használatával az érzékelők nagyobb vagy kisebb hasznos terheléssel változtathatják az adatátviteli sebességet. A gyorsabb adatátviteli sebesség és a nagyobb hasznos terhelés számos rendszerszintű üzemeltetési előnyt eredményez a hagyományos CAN-hez képest egy modern gyárban.

 

CAN-kommunikáció – az alapok

Amint az az 1. ábrán látható a CAN-kommunikáció két főegységből áll: (a) a CAN-vezérlő és b) a CAN-adó-vevő.
A CAN-vezérlő kezeli a CAN-kommunikáció adatkapcsolati rétegét, míg a CAN-vevő a fizikai réteget. A CAN-adó-vevő fizikai rétegét a későbbiekben tekintjük át.

 

AD CAN rendszer 1ábra

1. ábra Egyetlen CAN-csomópont

 
A CAN-protokollban a logikai 0-t domináns bitnek, az 1 logikai bitet pedig recesszív bitnek nevezik. Mivel a CAN egy differenciális protokoll, a CANH és a CANL közötti feszültségkülönbség határozza meg az átvitt és a fogadott jelek logikai szintjét. Ha a CANH-CANL feszültség nagyobb, mint 1,5 V, akkor a CAN-vevő az adott bitet 0 logikai bitként azonosítja. Ha viszont a CANH-CANL feszültség kisebb, mint 200 mV, a CAN-vevő az adott bitet 1 logikai értékként azonosítja. A 2. ábra a digitális logikai 1 és logikai 0 bitek folyamatos átvitelét mutatja a CAN-adó-vevő TXD (transmitted data) kivezetésén és az ezzel egyenértékű CAN-buszszinteket a CANH és CANL kivezetéseken. A CANH és CANL feszültségek közötti különbség alapján a vevő visszacsatolja a jelet az RXD (received data) kivezetésen.

 

AD CAN rendszer 2ábra

2. ábra A CAN-protokoll fizikai rétege

 
A CAN-adatkapcsolati réteg az adatkeretet fogalmazza meg ennek a bitfolyamnak a vezérelt továbbításához (az adatkeret tartalmazza az alkalmazások számára a hasznos információt). Segít a hibaérzékelésben és a buszkonfliktusok feloldásában is. A 3. ábra egy szabványos CAN-keretformátumot mutat.

 

AD CAN rendszer 3ábra

3. ábra A CAN-protokoll adatkapcsolati rétege

 
Minden csomópont az adatkeretet a keret kezdetével (SOF) indítja el, amely az első domináns bit. A 11 bites azonosító az egyes csomópontok egyedi címe. Az IDE (identifier extension) jelzi a keret formátumát. A logikai 0 ebben a bitmezőben a szabványos CAN-formátumot, míg a logikai 1 ebben a bitmezőben a kiterjesztett CAN-formátumot jelzi. Az r0 egy foglalt bit. A DLC (data length code) mező az átadandó adatbájtok számát jelzi. A szabványos CAN2.0 keretben legfeljebb 8 bájtot lehet átvinni. A fogadó csomópont az adatkeretet a buszon domináns bit küldésével nyugtázza. Végül a keret vége (EOF) egy recesszív bit, amely egy adatkeret végét jelzi.
A CAN-adó-vevő kiválasztásakor az ügyfelek legtöbbször úgy értékelik a CAN-adó-vevőt, hogy a CAN adó-vevő TXD kivezetésén egy bitfolyamot küldenek a funkciógenerátoron keresztül. Bár ez a módszer tökéletesen alkalmas egy egy csomópontú CAN kiértékelésére, hibásnak tűnik egy több csomópontú, nagy távolságban lévő CAN-rendszer fejlesztése során. Ezért az új CAN-vezérlő és adó-vevő tesztelése szükséges a rendszerhez megfelelő CAN-adó-vevő kiválasztásához. Mi az oka ennek a módszertannak?

 

Az arbitrációs módszertan

A rendszerszintű tesztelési megközelítés elsődleges oka a CAN-protokoll arbitrációs funkciója. Ha két csomópont egyszerre próbálja elfoglalni a buszt, akkor a hozzáférés egy roncsolásmentes, bitsebességes arbitrációval valósul meg. Az a csomópont, amelyik az első azonosító bitet nullaként küldi (domináns) – míg a többi csomópont egy egyest küld (recesszív) – megtartja az irányítást a CAN-busz felett, és folytatja az üzenet befejezéséig. A 4. ábra a két csomópont közötti döntési sémát mutatja.

 

AD CAN rendszer 4ábra

4. ábra A CAN-döntés egy 2 csomópontos rendszerben

 
A 4. ábrán az 1. és a 2. csomópont a CAN-buszon keresztül kapcsolódik egymáshoz. Tehát a CANH és CANL jelek mindkét csomópont számára közösek. A TXD1 és az RXD1 az 1. csomópont, míg a TXD2 és az RXD2 a 2. csomópont jelei. Amint látható, az 1. csomópont és a 2. csomópont első három bitje megegyezik: 1, 0 és 1, illetve a 2. csomópont negyedik bitje 1, míg az 1. csomóponté 0. Mivel az 1. csomópont domináns bit, megnyeri az arbitrációt, és folytatja a teljes üzenet küldését. Az üzenetet a 2. csomópont nyugtázza. Miután az 1. csomópont befejezte az adást, a 2. csomópont megkezdi az üzenet küldését. Az 1. csomópont nyugtázza ezt az üzenetet.
Minden csomópont egyedi azonosítóval rendelkezik. Így ezt a 11 bites azonosítót használják az arbitrációs folyamatban. Ezeket a biteket a vezérlő olvassa vissza az üzenetküldés prioritásának azonosítására. A CAN-FD-ben az arbitrációs bitsebesség az adat­bitsebességgel megegyező vagy attól eltérő lehet. A CAN2.0-ban mind az arbitráció, mind az adatbitráta megegyezik.
A régi CAN2.0-rendszerekben a gyorsabb adatátvitel érdekében a bitsebességet néha megemelik a szabványos CAN2.0 által ajánlott 1 Mbps-ról. A CAN-FD rendszerekben az arbitrációs bitsebesség 1 Mbps adatátviteli sebességre van korlátozva, az adat­bitsebesség pedig akár 10 Mbps is lehet. Az arbitrációs fázis során, amely magában foglalja a 11 bites azonosítót és a SOF bitet, minden átvitt bitet visszaolvasnak a szinkronizáláshoz.
A CAN-csomópontok a CAN-buszon megfigyelt élekre szinkronizálódnak, de a jelek terjedési ideje a buszvonalon fáziseltolódást okoz a csomópontok között. A CAN nem-destruktív arbit­rá­ciós mechanizmusa a médiahozzáférés szabályozásához megköveteli, hogy a két csomópont közötti fáziseltolódás kisebb legyen, mint egy bitidő fele. A névleges bitidőnek ez az alsó határa meghatározza a névleges bitsebesség és a buszhossz felső határát, így az RXD felfutási és lefutási ideje, a CAN-adó-vevő hurok késleltetése, valamint a kábel kerül a képbe. Nagyobb bitsebességnél, például 10 Mbps-nál a terjedési késleltetésnek és a felfutási/lefutási időnek 50 ns-nál kisebbnek kell lennie.
Így a CAN-FD-ben az arbitrációs bitsebesség 1 Mbps-ra korlátozódik, ami nagyobb mozgásteret biztosít a sok lehetséges csomópont szinkronizálásához. A CAN-FD azonban új, és még nem minden CAN-rendszerben van bevezetve. Egyes esetekben a CAN-FD vezérlő nem áll rendelkezésre, vagy a rendszer költséges kiegészítőjének tekintik, ezért az ügyfelek a szabványos CAN-vezérlőkkel folytatják. Ezekben a rendszerekben a CAN-csomó­pontoknak nagyobb bitsebességgel (>2 Mbps) kell kommunikálniuk a kritikus szenzorinformációk és a csomópontok közötti, esetleg rövidebb kábelhossz miatt. Ilyen esetekben a felfutási/lefutási idő szimmetriája és az adó-vevő terjedési késleltetése korlátozhatja a megengedett adatkommunikáció felső határát.

 

A CAN-adó-vevőhöz rendszerszintű tesztelés szükséges

Nézzünk egy példát a MAX33012E CAN-adó-vevőre, amelyet 20 m-es kábellel 13,3 Mbps sebességig teszteltek. Amint az 5. ábrán látható, a TXD2 bitszélesség 75 ns (ami 13,3 Mbps-nak felel meg), az RXD2 bitszélesség pedig 72 ns. Mivel a vezérlő a TXD bitszélesség 80%-án vesz mintát, a minimális RXD bitszélesség – beleértve a felfutási/lefutási időt és a szükséges RXD hurokkésleltetését – 60 ns. Az 5. ábrán látható, hogy a fogadott bitszélesség 72 ns, így a MAX33012E teljesíti a feltételt, és elég robusztus ahhoz, hogy nagyobb bitsebességeknél is működjön. Ebben a helyzetben a CAN-vezérlő nem észlel hibát, és folytatja az adatkommunikációt.

 

AD CAN rendszer 5ábra

5. ábra Egy MAX33012E CAN-adatátvitel

 
A 6. ábra egy versenytárs alkatrész oszcilloszkópos felvételét mutatja, amelyet szintén 13,3 Mbps sebességgel teszteltek. Ezzel az alkatrésszel az átvitt bitszélesség 75 ns volt (ami 13,3 Mbps-nak felel meg), a fogadott bitszélesség pedig az átvitt bitszélesség kevesebb mint 80%-a volt (48 ns), így az arbitrációs fázisú bitátvitel meghiúsult, ami kommunikációs hibához vezetett, és végül a rendszer leállt.

 

AD CAN rendszer 6ábra

6. ábra Egy versenytárs CAN-adatátvitele

 
Az ilyen típusú adatátviteli hibák csak teljes rendszerszintű teszteléssel fedezhetők fel, amely több CAN-vezérlőt, CAN- adó-vevőt és hosszú kábelt foglal magában.

 

Következtetés

A CAN-adó-vevő rendszerszintű tesztelése segít feltárni a rendszer lehetséges jövőbeli adatátviteli problémáit. Ezek a problémák elkerülhetők a CAN-adó-vevő CAN-vezérlővel és a szükséges időzítési és feszültségspecifikációknak megfelelő kábellel történő kiértékelésével. A CAN-rendszer robusztussága a CAN-rendszer minden egyes alkotóelemének összesített teljesítménye. Ha csak egy egységet, azaz a CAN-adó-vevőt értékeli, az nem adhat pontos képet a rendszer működőképességéről. A rendszer előzetes validálásának elvégzése sokkal költséghatékonyabb, mint a hibás rendszer cseréje. Ezért erősen javasoljuk a rendszerszintű tesztelést a CAN-vezérlő kiválasztása előtt.

 

A szerzőről

Madhura Tapse 2016-ban csatlakozott a Maxim Integrated céghez (ma az Analog Devices része) műszaki munkatársként, és különböző termékcsaládokon dolgozott, például felügyeleti, teljesítményfigyelő, interfész és ATE integrált áramkörökön. A Maximhoz való csatlakozása előtt Madhura a Cypress Semiconductorsnál dolgozott alkalmazástechnikai mérnökként. A Pune-i Egyetemen szerzett villamosmérnöki alapdiplomát, a Bombay-i Indian Institute of Technology-n pedig biomérnöki mesterszakos diplomát.

További műszaki és kereskedelmi információkat az Analog Devices hivatalos hazai forgalmazójától, az Arrow Electronics Hungary-től kaphatnak.

Szerző: Madhura Tapse – Műszaki munkatárs, Analog Devices

 

Arrow Electronics Hungary
1138 Budapest, Váci út 140.
Bihari Tamás,
Senior Field Application Engineer

E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
Tel.: +36 30 748 0457
www.arrow.com

 

#7f4e9f