Korlátozott erőforrásokkal rendelkező eszközök tervezése 8 bites mikrovezérlőkkel
A helyszűkében lévő és korlátozott erőforrásokkal rendelkező eszközök, például villamos kéziszerszámok, személyi higiéniai termékek, játékok, háztartási eszközök és világításvezérlők tervezői számára hagyományosan elegendő egy 8 bites mikrovezérlő. A készülékek fejlődésével azonban egyre nagyobb sebességre, nagyobb teljesítményű perifériákra és hatékonyabb szoftverfejlesztő eszközökre van szükség. A 16 vagy 32 bites mikrovezérlőkre való áttérés segíthet, de ennek gyakran nagyobb tokméret és nagyobb fogyasztás az ára.
Ezen problémák megoldására a tervezők kihasználhatják a 8051-es architektúrán alapuló mikrovezérlők adottságait, amelyek a 16 és 32 bites processzorok számos előnyét átültetik a 8 bites eszközök világába. Mindehhez a tokméretük mindössze 2 × 2 mm, korszerű fejlesztési környezetet kínálnak.
Ez a cikk röviden ismerteti a 8051-es architektúrát és annak alkalmasságát a korlátozott erőforrásokkal rendelkező készülékekbe. Ezután bemutatja a Silicon Labs 8051-es alapú mikrovezérlő-termékcsaládját és ezek főbb alrendszereit, majd egyenként leírja, hogy hogyan oldják meg a tervezéssel kapcsolatos fontosabb problémákat. A cikk a hardver- és szoftvertámogatás megtárgyalásával zárul.
Miért érdemes a 8051-es architektúrát használni?
Amikor egy nagyon helyszűkében lévő készülékhez választunk mikrovezérlőt, a 8 bites processzorok, például a jól bevált 8051-es számos előnyt kínálnak, beleértve a kis alapterületet, a kis fogyasztást és az egyszerű kialakítást. Sok 8051-es processzor viszonylag egyszerű perifériákkal van ellátva, ami azonban korlátozza az alkalmasságukat egyes felhasználási módokra. A kis felbontású analóg–digitális átalakítók (ADC) például nem elegendők a nagy pontosságú készülékekhez, egyebek mellett egyes gyógyászati berendezésekhez sem. A viszonylag alacsony órajelek szintén problémát jelenthetnek. A jellegzetes 8051-es mikrovezérlők 8 MHz és 32 MHz közötti órajelfrekvencián működnek, és a régebbi eszközök több órajelciklust is igényelnek az utasítások feldolgozásához. Ez a kis sebesség korlátozhatja a 8 bites mikrovezérlők alkalmasságát a valós idejű műveletek, például a pontos motorvezérlés támogatására.
A 8051-es processzorokhoz készült hagyományos szoftverfejlesztő környezetek nem felelnek meg napjaink szoftverfejlesztői elvárásainak. A 8 bites architektúrából fakadó belső korlátokkal együtt ez lassú és a fejlesztők kedvét szegő kódolási folyamatot eredményezhet. A hagyományos 8 bites processzorok korlátjai arra késztethetik a fejlesztőket, hogy fontolóra vegyék a 16 vagy 32 bites mikrovezérlőkre való áttérést. Bár ezek a mikrovezérlők bőséges számítási teljesítményt, nagy teljesítményű perifériákat és korszerű szoftverkörnyezetet kínálnak, egyúttal viszonylag nagy méretűek is, ami megnehezíti a beépítésüket a helyszűkében lévő készülékekbe, és késedelmet okozhat a fejlesztésben, vagy növelheti a készülék méretét.
A 16 és 32 bites mikrovezérlőkhöz kapcsolódó nagyobb kódméret és fogyasztás szintén az optimálisnál kedvezőtlenebb készülékeket eredményezhet. Ezek a hátrányok különösen azon készülékek esetében jelentenek gondot, amelyek nem használnak bonyolult matematikai számításokat, és emiatt nem élvezik ezen processzorok fejlett képességeit.
A vállalható kompromisszumok ideális egyensúlya a projekt kezdetén nem feltétlenül nyilvánvaló, emellett a tervezési folyamat közepén végzett processzorcsere késleltetheti a fejlesztést, illetve megeshet, hogy a terméket vagy csak nagyobb méretben lehet elkészíteni, vagy nem az előre eltervezett funkciókkal. Számos helyszűkében lévő készüléknek javára válhat egy 8051-alapú, de nagyobb teljesítményű mikrovezérlő, amely a 16 és 32 bites processzorok számos előnyét ülteti át a kis fogyasztású, kis méretű 8 bites processzorok világába.
Az EFM8BB50 több funkcióval látja el a 8 bites mikrovezérlőket
A Silicon Labs ezen szempontok figyelembevételével fejlesztette ki a 8 bites EFM8BB50 mikrovezérlő-termékcsaládot (1. ábra). Ezek a mikrovezérlők nagyobb teljesítményt, fejlett perifériákat és korszerű szoftverfejlesztő környezetet kínálnak.
1. ábra Az EFM8BB50 mikrovezérlő blokkvázlata (Kép: Silicon Labs)
A mikrovezérlő szíve a CIP-51 8051-es processzormag, a 8051-es architektúrának a Silicon Labs által nagyobb teljesítményre, kisebb fogyasztásra és több funkcióra optimalizált változata. A teljesítménye különösen szembeötlő. Az EFM8BB50 mikrovezérlőben a mag akár 50 MHz-es sebességet is elér, és az utasítások 70%-át egy vagy két órajelciklus alatt végrehajtja. Ezáltal ezeknek a mikrovezérlőknek a teljesítménye lényegesen nagyobb, mint a hagyományos 8 bites processzoroké, ami nagyobb mozgásteret kínál a fejlesztők számára összetettebb készülékek fejlesztésére.
Ezek a mikrovezérlők a parányi méreteik miatt is figyelemre méltóak. A termékcsalád 16 lábú változatai – például az EFM8BB50F16G-A-QFN16 – már 2,5 × 2,5 mm méretű tokozásban is kaphatók. A 12 lábú változatok – például az EFM8BB50F16G-A-QFN12 – még kisebbek, 2 × 2 mm tokméretűek.
Apró méreteik ellenére az EFM8BB50 mikrovezérlők lenyűgöző funkciókkal vannak ellátva, többek között a következőkkel:
- 12 bites analóg–digitális átalakító (ADC), amely elengedhetetlen a pontos érzékelőadatokat igénylő felhasználási területekre;
- beépített hőérzékelő, amely lehetővé teszi a mikrovezérlő számára, hogy külső alkatrészek nélkül ellenőrizze saját belső hőmérsékletét és a környezeti hőmérsékletet;
- háromcsatornás programozható számlálótömb (PCA, programmable counter array) impulzusszélesség-modulációval (PWM), amely képes PWM jeleket előállítani a változó kimenőjelű vezérléshez olyan felhasználási területek számára, mint a villanymotor-vezérlés és a LED-ek fényerő-szabályozása;
- háromcsatornás PWM-mag holtidő-beillesztéssel (DTI, dead-time insertion) a teljesítményelektronika, például a villanymotor-vezérlők vagy az áramátalakítók pontosabb vezérléséhez.
Az egyéb be- és kimenetek (I/O) között számos soros kommunikációs csatlakozó, több 8 és 16 bites időzítő, valamint négy általános célú beállítható logikai egység található. A mikrovezérlő-termékcsalád minden lába 5 V kezelésére képes, és a digitális be- és kimenetek rugalmasan hozzájuk rendelhetők, hogy a lehető legtöbbet lehessen kihozni a korlátozott számú lábból.
Fejlett energiagazdálkodás
Az EFM8BB50 több energiagazdálkodási funkciót is tartalmaz a fogyasztás optimalizálása és az elem vagy akkumulátor üzemidejének meghosszabbítása érdekében. Ezek közé tartozik a többféle energiafelhasználási mód, köztük egy tétlenségi (Idle) üzemmóddal, amely csökkenti a processzormag órajelét, miközben a perifériák aktívak maradnak. A leállító (Stop) üzemmód még tovább megy, leállítja a processzormagot és a legtöbb perifériát, de közben megőrzi a RAM és a regiszterek tartalmát. Egyes perifériák beállíthatók úgy, hogy a processzormagot felébresszék a leállító üzemmódból, ami az olyan eseményvezérelt alkalmazások esetében előnyös, amelyek túlnyomórészt kis fogyasztású állapotban maradnak.
A rugalmas órajel-beállítási lehetőségek szintén segítik az energiatakarékosságot. A nagyon pontos belső oszcillátor számos esetben kiküszöböli a külső kristályoszcillátorok szükségességét, csökkentve ezzel az összfogyasztást. A mikrovezérlő lehetőséget ad az órajelkapuzásra is, amelynek segítségével egyenként választhatóan letiltható a különböző perifériák órajele, lehetővé téve a fejlesztők számára, hogy a nem használt perifériákat kikapcsolják.
A perifériákat is a hatásfokot szem előtt tartva tervezték. A legfigyelemreméltóbb, hogy a beállítható logikai egység (CLU, Configurable Logic Unit) képes önállóan elvégezni egyszerű logikai funkciókat, csökkentve ezzel annak szükségességét, hogy a processzormagot egyszerű feladatokhoz fel kelljen ébreszteni a kis fogyasztású üzemmódból. Ezenkívül a kis fogyasztású UART (LEUART, Low Energy UART) képes olyan áramellátási üzemmódokban is működni, ahol az elsődleges oszcillátor le van tiltva, ami lehetővé teszi a kis fogyasztású üzemállapotban végzett soros kommunikációt.
Az egyszerű szoftverfejlesztés támogatása
A fejlesztők az EFM8BB50 mikrovezérlő-termékcsaládhoz a Silicon Labs Simplicity Studio Suite programcsomagjával készíthetnek szoftvereket. Ezt a fejlesztőkörnyezetet használják: a 8 bites EFM8BB50, a vállalat 32 bites mikrovezérlői és a vezeték nélküli egylapkás rendszerek (SoC) is. Ennek eredményeképpen a fejlesztők egy korszerű fejlesztőkörnyezetet kapnak, olyan funkciókkal, amilyeneket csak a nagyobb teljesítményű processzoroktól várna el az ember. Ez a fejlesztőkörnyezet többek közt olyan energiaprofil-készítőt is kínál, amely a kód fogyasztási profiljának valós idejű megjelenítését teszi lehetővé (2. ábra).
2. ábra A Simplicity Studio tartalmaz egy energiaprofil-készítőt is, amely a kód fogyasztási profiljának valós idejű megjelenítését teszi lehetővé (Kép: Silicon Labs)
Az eszközök egy beépített fejlesztőkörnyezet (IDE) köré épülnek, amely ágazati szabványú kódszerkesztőket, fordítóprogramokat, hibakeresőket, valamint a korszerű, visszajelzést adó kezelőfelületek fejlesztéséhez hasznos felhasználóifelület-motort is tartalmaz. Ez a fejlesztőkörnyezet hozzáférést biztosít az eszközfüggő webes és SDK (szoftverfejlesztő készletekben lévő) erőforrásokhoz, valamint az egyedi szoftver- és hardverbeállító eszközökhöz.
A Simplicity Studio támogatja a Silicon Labs Secure Vault csomagot is. A Secure Vault egy rendkívül fejlett, 3. szintű PSA-tanúsítvánnyal rendelkező biztonsági csomag, amely lehetővé teszi a tervezők számára, hogy erősebb védelemmel lássák el a dolgok internetére (IoT) kapcsolódó eszközöket, és megvédjék azok támadható felületeit az egyre több és komolyabb kiberfenyegetéstől, és egyúttal a folyamatosan fejlesztett kiberbiztonsági szabályozásoknak is megfelelővé tegyék ezeket az eszközöket.
Gyors ismerkedés a mikrovezérlővel fejlesztőkártyák segítségével
Az EFM8BB50 mikrovezérlővel kísérletezni kívánó fejlesztők fontolóra vehetik a 3. ábrán látható BB50-EK2702A Explorer Kit fejlesztőkártya használatát. Ennek a kis méretű kártyának a méretei megegyeznek a szabványos próbapanelmérettel, hogy könnyen csatlakoztatni lehessen a rendszerprototípusokhoz és a laboratóriumi hardverekhez. Található rajta USB-csatlakozó, beépített SEGGER J-Link hibakereső, LED és a felhasználói beavatkozás érdekében egy gomb is. A kártyát teljes mértékben támogatja a Simplicity Studio Suite, és az Energy Profiler segédprogrammal is használható. Minden perifériához tartozik mintaszoftver, LED, gomb, és az UART használatát pedig bemutatószoftverekkel lehet gyakorolni.
3. ábra A BB50-EK2702A Explorer Kit fejlesztőkártya (Kép: Silicon Labs)
A kártyán található egy mikroBUS aljzat és egy Qwiic csatlakozó is. Ez a kiegészítő hardveres támogatás lehetővé teszi a fejlesztők számára, hogy gyorsan hozzanak létre készülékprototípusokat készen kapható, különböző gyártók által gyártott egyéb kártyákat felhasználva.
A szélesebb körű kiindulási alapot kereső fejlesztők használhatják a 4. ábrán látható BB50-PK5208A Pro Kit fejlesztőkártyát. Ez a mélyreható értékelésre és tesztelésre tervezett fejlesztőkártya olyan érzékelőket és perifériákat tartalmaz, amelyek a mikrovezérlő számos képességét bemutatják.
4. ábra A mélyreható értékelésre és tesztelésre szánt BB50-PK5208A Pro Kit fejlesztőkártya (Kép: Silicon Labs)
A Pro Kit fejlesztőkártyán található USB-csatlakozó, egy nagyon kis fogyasztású, 128 × 128 képpontos memóriakijelző LCD, egy nyolc mozgásirányú analóg botkormány, egy LED és egy felhasználó által használható nyomógomb. Emellett helyet kapott még rajta egy Silicon Labs Si7021 relatív páratartalom- és hőmérséklet-érzékelő, valamint többféle áramforrás, többek közt áramellátó (USB-PD) USB-csatlakozó és gombelem is. A bővítéshez egy 20 érintkezős, 2,54 mm osztástávolságú csatlakozó áll rendelkezésre. Emellett a be- és kimeneti lábakhoz való közvetlen hozzáférésre szolgáló kivezetések is vannak a kártyán. Az Explorer Kit fejlesztőkártyához hasonlóan a Pro Kit is támogatja az Energy Profiler segédprogramot, és itt is minden perifériához tartozik mintaszoftver.
Az EFM8BB50 hibakeresési lehetőségei
A Silicon Labs többféle hibakereső programot bocsát rendelkezésre mikrovezérlői támogatásra. Általános célú hibakereséshez a vállalat a DEBUGADPTR1-USB jelű eszközt kínálja. Ez egy 8 bites USB-csatlakozós hibakereső adapter egy egyszerű 10 érintkezős csatlakozóval ellátva.
Az SI-DBG1015A Simplicity Link Debugger egyedibb képességekkel rendelkezik, amelyet a fent említett, mindkét kártyán megtalálható Mini Simplicity csatlakozóhoz kell csatlakoztatni. A Simplicity Link az alapvető funkciókon kívül további képességeket is kínál, beleértve a SEGGER J-Link hibakeresőt, egy csomagkövető illesztőfelületet, egy virtuális COM portot és az egyes jelek egyszerű szondázását lehetővé tevő kivezetéseket.
Összegzés
A korszerű 8051-es mikrovezérlők, mint az EFM8BB50 is, a jellemzően 16 és 32 bites eszközökkel társított funkciókat helyezik át a 8 bites eszközök világába. A magas órajelekkel, nagy teljesítményű perifériákkal és hatékony szoftverfejlesztő környezettel ez a mikrovezérlő-termékcsalád a képességek megfelelő kombinációját kínálja a fejlesztők számára egyre több olyan felhasználási területhez, ahol korlátozott a hely és a rendelkezésre álló energia, de nagyobb teljesítményre és rugalmasságra van szükség.
Szerző: Rolf Horn – Alkalmazástechnikai mérnök, DigiKey
DigiKey
www.digikey.hu
Angol/német nyelvű kapcsolat
Rolf Horn
Applications Engineer
DigiKey Germany
Tel.: +49 89 2444 8 x 16817
E-mail: