Klik hier voor de Engelse versie van de broncode.

Gebruik een geoptimaliseerde 8-bits microcontroller om het ontwerp van resourcebeperkte apparaten te vereenvoudigen

Door Kenton Williston

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Voor ontwerpers van apparaten met een laag vermogen en beperkte ruimte, zoals elektrisch gereedschap, producten voor persoonlijke hygiëne, speelgoed, huishoudelijke apparaten en verlichtingsregelingen, is een 8-bits microcontroller (MCU) meestal voldoende. Naarmate toepassingen zich ontwikkelen, hebben ze echter een hogere snelheid, krachtigere perifere opties en robuustere softwareontwikkelingstools nodig. Migreren naar een 16-bits of 32-bits alternatief is een optie, maar dit gaat vereist vaak een groter pakket en meer vermogen.

Om deze problemen aan te pakken kunnen ontwerpers gebruik maken van MCU's gebaseerd op de 8051-architectuur die veel van de voordelen van 16-bits en 32-bits processors beschikbaar maken in het 8-bits domein. Ze doen dit in een pakket van slechts 2 x 2 millimeter (mm) en bieden tegelijkertijd een moderne ontwikkelomgeving.

Dit artikel beschrijft kort de 8051-architectuur en de geschiktheid ervan voor toepassingen met beperkte resources. Vervolgens wordt een serie op 8051-gebaseerde MCU's van Silicon Labs geïntroduceerd, waarna de belangrijkste subsystemen worden beschreven en wordt getoond hoe elk van deze systemen kritieke ontwerpuitdagingen aanpakt. Het artikel sluit af met een bespreking van de hardware- en softwareondersteuning.

Waarom de 8051-architectuur gebruiken?

Bij het kiezen van een MCU voor toepassingen met beperkte ruimte bieden 8-bits processors zoals de beproefde 8051 veel voordelen, waaronder een kleine voetafdruk, laag stroomverbruik en een eenvoudig ontwerp. Veel 8051-processors hebben echter relatief eenvoudige on-chip-peripherals, waardoor ze minder geschikt zijn voor specifieke toepassingen. Low-resolution analoog-naar-digitaalomzetters (ADC's) zijn bijvoorbeeld ontoereikend voor toepassingen met hoge precisie, zoals medische apparatuur.

Relatief langzame klokken kunnen ook een probleem zijn. De typische 8051-MCU werkt met klokfrequenties van 8 tot 32 megahertz (MHz) en oudere ontwerpen hebben meerdere klokcycli nodig om instructies te verwerken. Deze lage snelheid kan het vermogen van 8-bits MCU's beperken om real-time bewerkingen zoals een nauwkeurige motorbesturing te ondersteunen.

Ook zijn de traditionele softwareontwikkelomgevingen voor 8051-processors niet afgestemd op de verwachtingen van moderne softwareontwikkelaars. In combinatie met de inherente beperkingen van een 8-bits architectuur kan dit leiden tot traag en frustrerend programmeren.

De beperkingen van traditionele 8-bits processors kunnen ertoe leiden dat ontwikkelaars overwegen om over te stappen op 16- of 32-bits MCU's. Hoewel deze MCU's veel rekenkracht, krachtige peripherals en moderne softwareomgevingen bieden, zijn ze ook relatief groot. Hierdoor is het moeilijker om ze in ontwerpen met beperkte ruimte te integreren, waardoor de ontwikkeling vertraging kan oplopen of het ontwerp groter kan worden.

De toegenomen software en het hogere stroomverbruik die gepaard gaan met 16-bits en 32-bits MCU's kunnen ook leiden tot minder optimale ontwerpen. Deze nadelen zijn vooral problematisch voor de vele toepassingen waarbij geen complexe berekeningen nodig zijn en die dus niet profiteren van de geavanceerde mogelijkheden van deze processors.

De ideale balans van deze afwegingen is aan het begin van een project vaak nog niet duidelijk. Daarnaast kan het veranderen van processors tijdens de ontwerpfase de ontwikkeling vertragen of de grootte of functionaliteit van het product in gevaar brengen. Veel ontwerpen met beperkte ruimte kunnen dus profiteren van een meer capabele op de 8051 gebaseerde MCU die veel van de voordelen van 16-bits en 32-bits processors naar het energiezuinige, compacte 8-bits domein brengt.

EFM8BB50 brengt meer functionaliteit naar 8-bits MCU's

Silicon Labs heeft de EFM8BB50-serie van 8-bits MCU's vervaardigd met het oog op deze overwegingen (afbeelding 1). Deze MCU's bieden verbeterde prestaties, geavanceerde peripherals en een moderne softwareontwikkelomgeving.

Blokschema van de EFM8BB50 MCU van Silicon Labs (klik om te vergroten)Afbeelding 1: Een blokschema van de EFM8BB50 MCU. (Bron afbeelding: Silicon Labs)

Het hart van de MCU is de CIP-51 8051-core, een Silicon Labs implementatie van de 8051-architectuur die is geoptimaliseerd voor hogere prestaties, lager stroomverbruik en verbeterde functionaliteit. De prestaties zijn bijzonder opmerkelijk. In de EFM8BB50 haalt de core snelheden tot 50 MHz en wordt 70% van de instructies in één of twee klokcycli uitgevoerd. Hierdoor presteren de MCU's aanzienlijk beter dan traditionele 8-bits processors, wat ontwikkelaars ruimte biedt voor complexere toepassingen.

De MCU's vallen ook op door hun kleine afmetingen. De 16-pins varianten in deze serie, zoals de EFM8BB50F16G-A-QFN16, zijn verkrijgbaar in pakketten van slechts 2,5 mm x 2,5 mm. De 12-pins versies zoals de EFM8BB50F16G-A-QFN12 zijn zelfs nog kleiner, met afmetingen tot 2 mm x 2 mm.

Ondanks hun kleine afmetingen bevatten de EFM8BB50 MCU's een indrukwekkende reeks functies, waaronder:

  • een 12-bits ADC, essentieel voor toepassingen die nauwkeurige sensorgegevens vereisen
  • een geïntegreerde temperatuursensor waarmee de MCU de interne temperatuur of de omgevingstemperatuur kan controleren zonder dat er externe componenten nodig zijn
  • een driekanaals programmable counter array (PCA) met pulsbreedtemodulatie (PWM) die PWM-signalen kan genereren voor variabele uitgangsregeling in toepassingen zoals motorbesturing en led-dimming
  • een driekanaals PWM-engine met dead-time insertion (DTI) voor extra aansturing van vermogenselektronica, zoals motor drivers of vermogensomzetters

Andere input/outputs (I/O) zijn onder andere diverse seriële communicatie-interfaces, een set 8-bits en 16-bits timers en vier configureerbare logische units. Alle pennen in de MCU-serie zijn geschikt voor 5 volt (V) en de digitale I/O kunnen flexibel worden toegewezen om het beperkte aantal pennen optimaal te benutten.

Geavanceerd energiebeheer

De EFM8BB50 bevat verschillende functies voor energiebeheer voor optimaal stroomverbruik en een langere levensduur van de batterij. Deze zijn onder andere meerdere energiemodi, waaronder een idle-modus die de kloksnelheid van de core verlaagt terwijl de peripherals actief blijven. De stopmodus gaat verder door de core en de meeste peripherals te stoppen terwijl de RAM- en registerinhoud behouden blijft. Sommige peripherals kunnen worden ingesteld om de core vanuit de stopmodus te wekken, wat gunstig is voor event-driven toepassingen die voornamelijk in een spaarstand blijven.

Flexibele klokopties dragen verder bij aan energiebesparing. Een nauwkeurige interne oscillator maakt in veel scenario's externe kristaloscillatoren overbodig, waardoor het totale stroomverbruik daalt. De MCU ondersteunt ook clock gating, waarmee klokken naar verschillende peripherals selectief worden uitgeschakeld, zodat ontwikkelaars de peripherals die niet in gebruik zijn, kunnen uitschakelen.

De peripherals zijn ook ontworpen met het oog op energiezuinigheid. De configureerbare logische unit (CLU) kan eenvoudige logische functies onafhankelijk uitvoeren, waardoor de core minder vaak vanuit een spaarstand wakker hoeft te worden voor eenvoudige taken. Bovendien werkt de energiezuinige UART (LEUART) in energiemodi waarbij de primaire oscillator is uitgeschakeld, waardoor seriële communicatie in energiezuinige toestanden mogelijk is.

Ondersteuning voor intuïtieve softwareontwikkeling

Ontwikkelaars kunnen software bouwen voor de EFM8BB50-serie in de Simplicity Studio Suite van Silicon Labs. Deze omgeving wordt gebruikt voor de 8-bits EFM8BB50, de 32-bits MCU's van het bedrijf en de draadloze systems-on-chip (SoC's). Dit biedt ontwikkelaars een moderne omgeving met de mogelijkheden die ze verwachten van krachtigere processors. Het biedt bijvoorbeeld een energy profileer die in real time energieprofielen van software maakt (afbeelding 2).

Afbeelding van Silicon Labs Simplicity Studio met een energy profiler (klik om te vergroten)Afbeelding 2: Simplicity Studio bevat een energy profileer die in real time energieprofielen van software maakt. (Bron afbeelding: Silicon Labs)

De tools zijn opgebouwd rond een geïntegreerde ontwikkelomgeving (IDE) met code-editors, compilers, debuggers en een user interface (UI) engine om moderne, responsieve interfaces te ontwikkelen. Deze ontwikkelomgeving biedt toegang tot apparaatspecifieke web- en SDK-resources en gespecialiseerde software- en hardwareconfiguratietools.

Simplicity Studio ondersteunt ook de Silicon Labs Secure Vault. De Secure Vault, een zeer geavanceerde beveiligingssuite met PSA-certificeringsniveau 3, stelt ontwerpers in staat om Internet of Things (IoT)-apparaten te harden en hun aanvalsoppervlak te beschermen tegen escalerende cyberbedreigingen. Tegelijkertijd wordt voldaan aan de zich ontwikkelende regelgeving op het gebied van cyberbeveiliging.

Aan de slag met evaluatiekits

Ontwikkelaars die geïnteresseerd zijn in het experimenteren met de EFM8BB50 kunnen de BB50-EK2702A Explorer Kit in afbeelding 3 overwegen. Deze kit met een kleine vormfactor is afgestemd op breadboard-afmetingen voor eenvoudige bevestiging aan prototypesystemen en laboratoriumhardware. De kit heeft een USB-interface, een ingebouwde SEGGER J-Link debugger, een led en een knop voor gebruikersinteractie. De kit wordt volledig ondersteund door de Simplicity Studio Suite en kan worden gebruikt met het hulpprogramma Energy Profiler. Softwarevoorbeelden worden geleverd voor elke peripheral en demo's laten zien hoe de led, knop en UART werken.

Afbeelding van de BB50-EK2702A Explorer Kit van Silicon LabsAfbeelding 3: De BB50-EK2702A Explorer Kit. (Bron afbeelding: Silicon Labs)

De kit bevat een mikroBUS-aansluiting en een Qwiic-connector. Met ondersteuning voor deze hardware add-on kunnen ontwikkelaars snel toepassingen en prototypen maken met behulp van kant-en-klare boards van verschillende leveranciers.

Ontwikkelaars die geïnteresseerd zijn in een uitgebreider startpunt kunnen de BB50-PK5208A Pro Kit in afbeelding 4 gebruiken. Deze kit is ontworpen voor diepgaande evaluatie en testen en bevat sensoren en peripherals die veel van de mogelijkheden van de MCU demonstreren.

Afbeelding van de Silicon Labs BB50-PK5208A Pro KitAfbeelding 4: De BB50-PK5208A Pro Kit voor diepgaande evaluatie en testen. (Bron afbeelding: Silicon Labs)

De Pro Kit bevat USB-connectiviteit, een ultra-low-power 128 x 128 pixel geheugen-lcd, een analoge joystick in acht richtingen, een led en een gebruikersdrukknop. Het bevat ook de Si7021-sensor van Silicon Labs voor relatieve vochtigheid en temperatuur evenals meerdere voedingsbronnen, waaronder USB en een knoopcelbatterij.

Voor uitbreiding biedt het bord een 20-pins header van 2,54 mm. Het biedt ook breakout pads voor directe toegang tot I/O-pinnen. De Pro Kit ondersteunt, net als de Explorer Kit, de Energy Profiler en wordt geleverd met softwarevoorbeelden voor elke peripheral.

EFM8BB50 debugger-opties

Silicon Labs biedt meerdere debuggers om de MCU's te ondersteunen. Voor algemene debugging biedt het bedrijf de DEBUGADPTR1-USB, een 8-bits USB debug-adapter met een eenvoudige 10-polige connector.

Meer gespecialiseerde mogelijkheden zijn beschikbaar met de SI-DBG1015A Simplicity Link Debugger. Deze wordt aangesloten op de Mini Simplicity Interface die bij beide bovengenoemde kits wordt meegeleverd. Naast de basisfunctionaliteit biedt Simplicity Link extra mogelijkheden, waaronder een SEGGER J-Link debugger, een packet trace interface, een virtuele COM-poort en breakout pads voor het eenvoudig meten van individuele signalen.

Conclusie

Moderne 8051-MCU's zoals de EFM8BB50 brengen functies die normaal geassocieerd worden met 16-bits en 32-bits units naar het 8-bits domein. Dankzij de hoge kloksnelheden, krachtige peripherals en robuuste softwareontwikkelomgeving biedt deze MCU-serie ontwikkelaars de juiste mix van mogelijkheden voor een toenemend aantal toepassingen met beperkte ruimte en laag vermogen, maar waarvoor grotere prestaties en flexibiliteit vereist zijn.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Image of Kenton Williston

Kenton Williston

Kenton Williston received his B.S. in Electrical Engineering in 2000 and started his career as processor benchmark analyst. Since then he worked as an editor with the EE Times group and helped launch and lead multiple publications and conferences serving the electronics industry.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey