Témakör:
Teljesítmény, integráció, kommunikáció
Megjelent: 2014. augusztus 06.
Ha – az alkalmazási területtől függetlenül – csak egy jellemzővel szeretnénk meghatározni a korszerű MCU-k legfontosabb tulajdonságát, az a „válaszkészség” lenne. Az „azonnali” válasz természetesen elérhetetlen vágyálom, ezért a „válaszkészség” ma a mikrovezérlőknek azt a képességét jelenti, amellyel gyorsan, fenntartható sebességgel képesek reagálni a környezet eseményeire.
Mindegyikben jobb az új Microchip PIC32-család
Egy mikroprocesszor válaszidejének rövidítése leggyakrabban az általa végrehajtott szoftver hatékonyságának javításával érhető el. Ennek elméleti határait az adott processzortípus által másodpercenként végrehajtható utasítások száma jelöli ki. Ezt leggyakrabban a MIPS[1]-értékkel fejezik ki, amelynek folyamatos növelése régóta a mikroprocesszorok fejlesztésének fontos hajtóereje. Jó néhány ismert módszer létezik annak a teljesítménymutatónak a növelésére, amelyet a Dhrystone MIPS[2] (DMIPS) mutatószámmal fejezünk ki. A nagy teljesítményű PIC32 mikrovezérlő-család új tagja, a PIC32MZ az architektúrafejlesztő Imagination Technologies cég által tervezett processzormagra épül, amely számos teljesítményjavító technológia sikeres kombinációját felhasználva elődeinél háromszor nagyobb teljesítményre képes.
A processzormag
A PIC32MZ a nemrég bejelentett MIPS microAptiv™-processzormagra épül, amely DSP-kiterjesztéseket is tartalmaz, utasításkészlete a microMIPS-architektúrát követve 32 és 16 bites utasítások kombinációjával a memóriából csaknem teljes sebességgel futtatható. Ráadásul a teljes MCU órajele akár 200 MHz is lehet, amelyek együttesen 330 DMIPS teljesítményt eredményeznek, a PIC32MX-család képességeit háromszorosan felülmúlva.
A microAptiv DSP-kiterjesztések 159 új utasítása egy gépi ciklus alatti hozzáférést enged a mikroarchitektúra elemeihez. Ezzel felgyorsíthatók a digitális jelfeldolgozás műveletei, amelyeket például tipikusan a „szorzás/összeadás-típusú” algoritmusok valósítanak meg. Ez azt jelenti, hogy a DSP-algoritmusok végrehajtásához akár 75%-kal is kevesebb gépi ciklusra van szükség, mint az előző, PIC32MX-generációnál. A PIC32MZ az első típuscsalád, amely a microAptiv-processzormagra épül, amely – mint már említettük – 16 bites microMIPS-utasításokat is képes végrehajtani. Ez jelentősen tömörebb, kevesebb programmemóriát igénylő programok készítésére ad lehetőséget: a kódsűrűség 30%-kal nagyobb a PIC32MX-szel elérhető értéknél.
A PIC32MZ magasabb – akár 200 MHz-es – órajelről is képes működni, amely kétszerese a PIC32MX órajelsebességének. Ezek a javított paraméterek együtt háromszoros teljesítménynövelést eredményeznek a „nyers erő” tekintetében, és ez képessé teszi a PIC32MZ-t arra, hogy gyorsabb válaszidőt igénylő alkalmazásokat is futtasson, még az eddig megszokottaknál összetettebb szoftverek esetén is.
Beágyazott kapcsolatkezelésre tervezték
A PIC32MZ-ben integrált kivitelben található az Ethernet 10/100 MAC[3]- és PHY[4]-réteg és ezenkívül is bármelyik korábbi PIC-eszköznél több soros kommunikációs csatornát kezelhet. Ezek a jellemzők – a többféle kommunikációs protokollt egyszerre futtatni képes, nagyteljesítményű processzormaggal együtt – ezt a 32 bites mikrovezérlőt a beágyazott kommunikációs alkalmazások leghatékonyabbjává teszik. A PIC-mikrovezérlők között az új család abban is első. hogy integráltan tartalmaz egy nagysebességű USB MAC/PHY-vezérlőt, ezenkívül pedig kettős CAN-portjával is tovább erősíti a PIC32MZ kommunikációs képességeit.
A mai alkalmazások egymással kommunikáló vezérlői közt különleges fontosságot kapott a biztonság. A PIC32MZ-t is ellátták néhány olyan tulajdonsággal, amelyek a beágyazott rendszereket biztonságosabbá tehetik. Ezek között említhetünk egy teljes képességű hardveres titkosítóegységet beépített véletlenszám-generátorral, amely a nagy adatsávszélességű, titkosított adatátvitel (titkosítás, titkosított információ visszakódolása és a hozzáférésvédelem (autentikáció) protokolljainak (pl. AES, 3DES, SHA, MD5 és HMAC) kezelését gyorsítja és könnyíti meg.
Memóriakezelési újdonságok
A PIC32MZ – a nagyteljesítményű processzormagon és a kommunikációra „kihegyezett” perifériakészleten kívül is – két olyan további innovatív megoldást is tartalmaz, amelyeket a korábbi PIC-mikrovezérlőkben nem lehetett megtalálni, de mindkettő a végfelhasználói alkalmazások és a mindennapi gyakorlat igényeihez igazodik. Mindkét megoldást a fejlettebb memóriarendszerek iránti igény hívta életre.
Az eredeti berendezéseket gyártó (OEM) vállalatok egyre nagyobb többsége ismeri fel annak szükségességét, hogy a beágyazott rendszereket vezérlő szoftvert a felhasználás helyén, az alkalmazási környezetben lehessen frissíteni. Ahelyett, hogy ezeket a kérdéseket a végtermékfejlesztők „asztalára tolnák”, az olyan gyártók, mint a Microchip egyenesen „nekimennek” a problémának – maguk kínálnak megoldást azáltal, hogy innovatív ötleteket valósítanak meg a helyszíni szoftverfrissítésre. A PIC32MZ-ben elsők között valósul meg ez a törekvés a Dual Panel Flash Memory szolgáltatás formájában, amely lehetővé teszi, hogy a teljes szoftverfrissítést a készülék működése közben, teljes sebességű programvégrehajtás mellett lehessen elvégezni. Ezt azzal érik el, hogy a beágyazott flash-memóriát két fizikailag és logikailag különválasztott tömbre, ún. panelre osztják. Mindegyik memóriapanelnek saját töltésszivattyús segédfeszültség-előállító rendszere és önálló programozó áramköre van. Ez teszi lehetővé, hogy az egyik panel lényegében „tükörmemóriaként” működik, amelybe zavartalanul tölthető be a legfrissebb programváltozat, miközben a „főmemóriának” tekintett másik panelből fut a még érvényes előző változat. A megfelelő pillanatban a „tükörmemória-panel” a frissített szoftverváltozatot futtató főmemóriává lép elő. Mivel mindkét panel egymástól lényegében függetlenül működik, lehetséges, hogy az egyik panelt teljes sebességű programvégrehajtásra használja a rendszer, miközben a másik panelen – a „háttérben” – a futó program megszakítása nélkül folyhat a következő programváltozat feltöltése. Amikor ez a folyamat befejeződött, az új változat betöltődött és befejeződött a betöltés hibátlanságának ellenőrzése, az egész processzort újra kell indítani ahhoz, hogy a programvégrehajtás az újonnan programozott memóriapanelről kezdődjön.
Ez a szolgáltatás lehetővé teszi, hogy egy sor szoftvereredetű szervizproblémát a helyszínen lehessen megoldani anélkül, hogy a beágyazott rendszert a programfrissítés idejére le kelljen állítani. Ennek az innovációnak az előnyei jóval túlmutatnak a közvetlen előnyökön; minimálisra csökken a szervízkiszállások száma, a működésnek a frissítés miatti leállítása teljesen elkerülhető, és a szoftverváltozat frissítésével elhárítható működési hibákat csaknem „valós időben”, leállás és lényeges szolgáltatáskiesés nélkül lehet javítani.
A másik innováció, amellyel a memóriainterfészt kívánták hatékonyabbá tenni, az SQI-port beépítése. Az SQI (Serial Quad Interface) egy nagysebességű memóriainterfész-protokoll, amely – ellentétben az adatátvitelre mindössze egy vezetéket használó SPI- és az I2C-interfészekkel – négyvezetékes kivitelű. Az SQI-interfész multiplexelt módon, négybites egységekben egyidejűleg fér hozzá az SQI-kompatibilis memóriaeszközökhoz, de eközben megőrzi az SPI-kompatibilitását is.
PIC32MZ-ben használt microAptiv processzormagban egy memóriamenedzsment-egység (Memory Management Unit – MMU), ezenkívül utasítás- és adatelővételi gyorsítómemória (cache) – típustól függően – legfeljebb 2048 kB flash- és legfeljebb 512 kB SRAM-memória is helyet kapott az egymástól függetlenül és egyidejűleg futó memóriaigényes feladatok: a többféle kommunikációs protokollverem, a hangfeldolgozás vagy a grafikus megjelenítés támogatására. Az utóbbi például – külső grafikus csipek felhasználása nélkül – akár WQVGA-megjelenítéshez is elegendő.
Tervezési támogatás
Amint láttuk, a PIC32MZ-családot a jó minőségű grafikus megjelenítést, rövidebb valósidejű reakcióidőt és megnövelt biztonságot igénylő, felsőkategóriás kommunikációs alkalmazásokhoz tervezték. Az ilyen alkalmazások kidolgozásához olyan fejlesztőeszközöket is a tervezők rendelkezésére bocsát a Microchip, amelyek teljes hozzáférést engednek a fejlett perifériákhoz és a titkosítóegységhez (az utóbbi természetesen a típuscsalád azon tagjainál, amelyekben jelen van az opcionális titkosítóhardver). Ezeket az eszközöket egészíti ki a Multimedia Expansion Board II, a Starter Kit adapter és a Plug-In Module, amely az Explore 16 moduláris fejlesztőeszközt támogatja.
Összefoglalás
A PIC32MZ, a Microchip 32 bites MCU-családja új tagjának fejlesztésekor a nagy teljesítmény, a komunikációs képesség és az adatbiztonság volt a három legfontosabb szempont, amely a beágyazott eszközök új szintre emelését tette lehetővé. A háromszorosára növelt „nyers” hardverteljesítmény, a 159 DSP-utasítással kiegészített utasításkészlet és az innovatív memória-alrendszer miatt a PIC32MZ-t túlzás nélkül nevezhetjük a beágyazott eszközök új generációjának.
(Megjegyzés: A Microchip név és logó, valamint a PIC a Microchip Technology Inc. az USA-ban és más országokban bejegyzett védjegyei. A többi említett védjegy a megfelelő cég tulajdona.)
Szerző: Bill Hutchings, vezető termékmenedzser – Microchip Technology
www.microchip.com
Még több Microchip
[1] A MIPS (Million Instructions Per Second – millió utasítás/s) paramétert gyakran nevezik – tévesen – a számítási teljesítmény mértékének. Valójában ennek csak egyik összetevőjét, az utasítás-végrehajtás sebességét fejezi ki. – A ford. megj.
[2] A fixpontos aritmetikát használó programok számítási teljesítményének mérésére 1984-ben kifejlesztett, tipikus(nak tekintett) utasításmixből „de facto” szabvány szerint összeállított (benchmark) program végehajtási időiből számított, MIPS-ben kifejezett érték. – A ford. megj.
[3] MAC (Media Access Control) a hálózati interfészen belül a közeghozzáférést logikai szinten vezérlő réteg.
[4] PHY (Physical Layer) a hálózati interfész „legalsó” rétege, amely a hálózati adatok továbbításához szükséges „közeghez” (például kábelhez) való közvetlen fizikai hozzáférésért felelős.