Skip to main content

Egyszerűbb automotív CAN-alkalmazások

Megjelent: 2019. október 09.

microchip lidAz autóipar minden egyes gépkocsi előállításakor sok kilogrammnyi rezet takarít meg azzal, hogy a vezérlőkapcsolók és fogyasztók, az érzékelők és beavatkozók közvetlen összehuzalozása helyett hálózati kommunikációt alkalmaz. Ezek egyik legnépszerűbbje a kimondottan a járműgyártás és az ipari alkalmazások szempontjait figyelembe véve tervezett és szabványosított CAN-busz. A cikk rámutat, hogy a korszerű mikrovezérlőkkel és a CAN-kommunikációval költséghatékony megoldásokat találhat a tervező.

 

Az 1980-as évek közepén az automotív ipar igényeit szem előtt tartva hozták létre a CAN (Controller Area Network) protokollt azzal a – ma is változatlan –szándékkal, hogy csökkentsék a járművek egyre növekvő belső adatátviteli igényeit kiszolgáló kábelezésének bonyolultságát, súlyát, mennyiségét és költségeit.
A CAN előnyeit aztán felismerték és ki is használták a gyártásautomatizálás és az orvostechnikai alkalmazások fejlesztői, és mindezt olyan alaposan, hogy ma már évente több mint egymilliárd CAN-csomópont anyagszükségletét elégítik ki az alkatrészgyártók. Ehhez hasonló adatot látunk az évente értékesített mikrovezérlők (MCU-k) számában is. Ez a két statisztikai adat bizonyos mértékű átfedést is tartalmaz, amely a jövőben minden bizonnyal jelentősen tovább növekszik.

 

microchip

1. ábra  Egy rendszerben több különböző CAN-alrendszer létezhet egymás mellett, amely még rugalmasabbá teszi a CAN-busz használatát

 

A CAN egyre jobban igazodik a gépkocsigyártók igényeihez

A hagyományos CAN-kommunikáció az eseményvezérelt szisztémát követi, amely lehetővé teszi, hogy a mikrovezérlők és az alkalmazásorientált céláramkörök (Application Specific Integrated Circuit – ASIC) közvetlenül, rendszervezérlő (hoszt) számítógép nélkül is kommunikálhassanak egymással. A félvezetőgyártók által kidolgozott automotív célú integrált rendszerelemekbe épített CAN-kommunikáció egyaránt fokozza azok költséghatékonyságát és egymás közötti kompatibilitását. Ezért a korai 2000-es évektől kezdve a 8 bites MCU-knak is gyakori beépített szolgáltatása a CAN-protokoll. Azóta (2015-ben) a 8 bites mikrovezérlőkben (is) megjelent egy új rendszerkoncepció, amely „magfüggetlen perifériákat” (azaz az MCU processzorától – a konfiguráció beállítását, az adatok átadását és/vagy elvételét kivéve – lényegében függetlenül működő, tipikus rendszerfunkciókat megvalósító részegységeket – A szerk. megj.) tartalmaz (Core Independent Peripheral – CIP), számos rendszerfunkció, egyebek közt a CAN-kommunikáció megvalósítására.
A költséghatékonyságán kívül a CAN-kommunikáció sikere az alábbi tulajdonságainak is köszönhető:
• biztonságos, robusztus működés,
• megbízható adatátvitel,
• aránylag egyszerű megvalósítás.

Nem meglepő módon a 8 bites mikrovezérlők költséghatékonysága is hasonló tulajdonságokkal egészül ki, így a 8 bites MCU-k és a CAN természetes kombinációt alkotnak számos automotív hálózati kommunikációs igény kielégítésére.
Az évek során a CAN képessé vált arra is, hogy többféle vezérlési rendszer követelményeihez igazodjék. Ahogy az automotív hálózatokban is megjelent az igény az időzítéssel indított, hibatűrő és egyvezetékes alkalmazások megvalósítására éppúgy, mint a rugalmasan változó adatsebességű (Flexible Data rate – FD) CAN-adatátvitelre, a CAN specifikációi is kibővültek. Az 1. táblázat számos változást mutat be, amelyek a rendszer 30 évvel ezelőtti bevezetése óta jelentek meg.

 

microchip tablazat

1. táblázat  A CAN specifikáció alkalmazkodása az automotív igények változásához


A járműtervezők a költségek csökkentése érdekében – a hálózatba kapcsolt érzékelőktől és beavatkozóktól az autó kényelmi berendezéseiig – széles körben kezdték használni a helyi összekötő „minihálózatokat” (Local Interface Network – LIN) is. A LIN viszont – a CAN-hálózattal ellentétben – egyvezetékes, hierarchikus (master-slave) elvű hálózat, amely mind a hardver, mind a szoftver területén eltér a CAN-rendszertől.
Néhány újszerű automotív CAN-alkalmazás már az autó használati jogosultságának kezelésére, az akkumulátor töltésének és kisütésének figyelésére és az alrendszerek diagnosztikájára is kiterjed. Ezek és más rendszerkövetelmények – különösen azok, amelyek adatokat vesznek át más CAN-alrendszerektől – egyre fokozzák az érdeklődést a CAN-képességekkel ellátott 8 bites MCU-k iránt. Az 1. ábra azt szemlélteti, milyen egyszerű egy újabb 8  bites MCU/CAN-kombinációból álló csomópontot egy meglevő CAN-hálózatba illeszteni.

 

CAN-kommunikáció költséghatékony megvalósítása CAN-interfészes, 8 bites MCU-val

Míg a CAN-buszra csatlakozás képessége a minimális igény, amire a rendszertervezőnek szüksége lehet, további – más rendszerkövetelményeket kielégítő – perifériák jelenléte is egyszerűsítheti a tervező dolgát. Ilyen rendszerfeladat lehet egy vagy több – vezérlési célú – paraméter érzékelése, egy motor megforgatása, egy mágnestekercs aktiválása vagy más hasonló funkció ellátása.
A CIP-megközelítés egyszerűsíti a szoftvermegoldást, és gyorsabb válaszidőt eredményez akár még alacsonyabb – és ezzel együtt kisebb energiafogyasztással járó – órajelsebességnél is. Példa erre a Microchip PIC18K83 MCU-család beépített CIP-funkcióinak felsorolása (a CAN-funkción kívül):

  • intelligens analóg funkciók (például szenzorinterfészek céljára),

  • hullámforma-generálás,

  • időzítés és mérés,

  • logikai és matematikai feldolgozás,

  • biztonság és felügyelet,

  • kommunikáció,

  • energiatakarékossági és más, rugalmas rendszerfunkciók.

 

microchip2

2. ábra  A PIC18K83-család magfüggetlen perifériái számos különböző rendszerfunkcióra kínálnak megoldást

 

 

E kategóriákon belül a célorientált perifériák a következők:

  • ciklikus redundanciaellenőrzés (CRC) memóriafelügyelettel a nem törlődő memória integritásának biztosításához,

  • közvetlen memóriahozzáférés (DMA) a memória és a peifériák közti adatátvitel megvalósítására a CPU igénybevétele nélkül,

  • „ablakolt” programfutás-ellenőrző időzítő ((Windowed Watchdog Timer – WWDT) a téves programfutás esetén szükséges rendszer-újraindítás időzítéséhez,

  • 12 bites analóg/digitális átalakító számító funkcióval (Analog-to-Digital Converter with Computation – ADC2) az analóg jelek automatikus analíziséhez a valós idejű rendszerválaszidők megvalósításához,

  • komplementer hullámforma-generátor (Complementary Waveform Generator – CWG) a motorvezérlésekhez szükséges szinkronizált kapcsolójelek magas hatásfokú előállításához.

Ráadásul a CAN2.0B-szabványra alkalmas, integrált CAN-vezérlő teljes mértékben „visszafelé kompatibilis” a korábbi CAN-szabványokkal (CAN1.2 és CAN2.0A). Az MCU-család tagjaiba beépítették a particionált memóriahozzáférés (Memory Access Partition – MAP) -funkciót is, amely megkönnyíti a tervezőnek az adatvédelem és a biztonságos rendszerbetöltés megvalósítását. Az eszközspecifikus információk tárolóterülete (Device Information Area – DIA) elkülönített memóriahelyet biztosít a gyárilag programozott, egyedi eszközazonosító és a perifériák kalibrációs adatai tárolásához.
Mivel a CAN-hálózati csomópontok elsődleges funkciója a kommunikáció, a 8 bites mikrovezérlők fejlett soros kommunikációs képességekkel (Universal Asynchronous Receiver/Transmitter – UART) vannak felszerelve az aszinkron és LIN-protokollok támogatásához éppúgy, mint a nagyobb sebességű, „pont-pont közötti” I2C és SPI soros kommunikációs protokollok kezeléséhez.
A 2. ábrán azt mutatjuk be, milyen sajátos rendszerkövetelmények kielégítésére alkalmas a PIC18K83 MCU-családban ma elérhető 15-féle magfüggetlen periféria. A múltbeli 8 bites mikrovezérlőkben ezek a csipre integrált szerkezetek nem voltak „kitalálva”, még kevésbé megvalósítva, viszont a jelenkor nyolcbitesei ezekkel kiegészítve egészen más színvonalon teljesítik a tervezők elvárásait, és olyan feladatok megvalósítására is alkalmasak, amire az egy évtizeddel korábbi típusoknál gondolni sem lehetett.
Egy 8 bites MCU programozása könnyű és egyszerű, ráadásul a beépített CAN-funkció és a CIP-ek képességeire támaszkodva még könnyebb. Mivel ezzel elegendő számítási teljesítmény marad szabadon az alkalmazás számára, különösen a távoli csomópontok esetében, ezek a 8 bites mikrovezérlők versenyképes alternatívái lehetnek akár a 16 biteseknek is, amelyek költségesebbek, és nehezebben programozhatók. A CIP-ek segítségével még több számítási teljesítmény áll rendelkezésre, amely tovább bővíti a 8 bites MCU-kkal is megoldható alkalmazások körét.
A magas fokon konfigurálható, csipre integrált hardvermodulok hatékonyabban és a processzorfoglaltságtól függetlenül, determinisztikusan képesek az ismétlődő beágyazott folyamatok kezelésére. Éppen a CAN CIP-funkció determinisztikus működésének köszönhető, hogy a processzormag foglaltságától függetlenül akkor is fennmarad a kommunikációs képesség, ha a processzor valamilyen hurokban várakozik, amely közben nem tudna kezelni egy szoftveresen megoldott CAN-kommunikációt.
A legújabb 8 bites MCU-k, amelyek CAN-interfészt és más CIP-funkciókat is tartalmaznak, több rugalmasság és választási lehetőség áll a hálózattervező rendelkezésére a CAN- és LIN-kommunikáció kezeléséhez. Valójában az a helyzet, hogy néhány tipikus mikrovezérlős LIN-alkalmazás potenciális CAN-alkalmazásnak tekinthető. Például ha a modulnak a hálózat más részeiből származó adatokat – például a jármű sebességét – is figyelembe kell vennie, a CAN tűnik jobb megoldásnak, de legalábbis megfontolást érdemel, hogy a LIN helyett alkalmazzuk. Ez rendkívül hasznos lehet például egy ablaktörlő vezérlésénél, amelynek működési gyakoriságát a jármű menetsebességéhez kívánjuk igazítani. Ha ugyanis eleve a CAN-megoldást választjuk, megtakaríthatunk egy átjárót (gateway-t) a CAN- és a LIN-hálózat között. Ráadásul a rendszerszintű CIP-ekkel elkerülhető egy vagy két feladatspecifikus céláramkör (ASIC) alkalmazása – mint az a 2. ábrán is látható.
Ugyanazt a PWM-et és komplementer hullámforma-generátort használták évekkel ezelőtt arra, hogy meglehetősen összetett, több színű „hangulatvilágítást” valósítsanak meg az autók utasterében. Ennek a világításnak a meghajtói LIN-csatlakozással kommunikáltak, elsősorban azért, mert a mikrovezérlőkben nem állt rendelkezésre CAN-kommunikációs interfész. Most azonban egy költséghatékony, CAN-csatolóval is rendelkező, 8 bites MCU funkcionalitásainak kombinálásával rugalmasabb és egyszerűbb alternatíva kínálkozik ennek megvalósítására.
Míg a ma piacon levő 8 bites mikrovezérlők többsége erősen támaszkodik a perifériás funkcióknak a processzormag általi közvetlen vezérlésére, a magfüggetlenül, önállóan működni képes CIP-ek segítségével megvalósított rendszerfunkciók a CPU alacsonyabb terhelésével is megoldhatók, így a szabadon maradt számítási teljesítménnyel más rendszerfunkciók, például különféle szenzorok precíziós illesztése, nagy teljesítményű ledmeghajtók és/vagy figyelemre méltóan összetett motorvezérlések megvalósítására nyílik lehetőség.
Annak eldöntésére, hogy ezek vagy más lehetőségek megfelelők-e egy sajátos hálózati igény kielégítésére, különféle fejlesztőeszközök állnak rendelkezésre. Ilyen például az MPLAB® Code Configurator (MCC) nevű ingyen elérhető szoftverkiegészítés, amely grafikus interfészül szolgál a perifériák és funkciók alkalmazásfüggő konfigurálásához. Ezzel az eszközzel a rendszertervező mérnökök könnyen elvégezhetik a hardveralapú perifériamodulok beállításait ahelyett, hogy összetett szoftverrutinokat kellene írniuk az egyes specifikus feladatok megoldására és ellenőrizniük azok hibátlanságát.

 

Fejlesszünk bátran a CAN-ra alapozva

Az automotív és ipari alkalmazások tervezői többféle kommunikációs buszarchitektúra közül választhatnak. Mivel célszerű széles körben elfogadott hálózati rendszert választani, és bizonyára gyakran merül fel az igény egy létező hálózat kiegészítésére új vezérlőkkel és/vagy beavatkozókkal, továbbá egy bőséges funkcióválasztékú mikrovezérlővel számos rendszerfunkció megoldható, a CAN busz kitűnő választásnak tűnik. A magfüggetlen perifériák segítségével a 8 bites MCU+CAN eszközcsalád még a költségérzékeny alkalmazásokban is könnyedén teszi lehetővé CAN-hálózat bővítését új csomópontokkal.
Az új, 8 bites MCU/CAN+CIP eszközök azokat a rohamosan bővülő automotív hálózati alkalmazásokat célozzák meg, amelyek rugalmasan alakítható, egyszerű, megbízható és robusztus adatátvitelt, továbbá megnövelt teljesítményt igényelnek, és rendszertámogatást képesek nyújtani a jogosultságkezeléshez, az akkumulátor töltési és karbantartási funkcióihoz, valamint a diagnosztikai egységek megvalósításához.

 

További források:

PIC18K83 termékcsalád: http://www.microchip.com/promo/pic18f-k83
MPLAB Code Configurator (MCC): http://www.microchip.com/mplab/mplab-code-configurator

 

Szerző: Edwin Romero – Microchip Technology, Inc.

 

www.microchip.com

 

még több Microchip