Bruke en optimalisert 8-bits mikrokontroller til å forenkle konstruksjonen av ressursbegrensede enheter

Av Kenton Williston

Bidrag fra DigiKeys nordamerikanske redaktører

For konstruktører av strømbegrensede og plassbegrensede enheter som elektroverktøy, personlige hygieneprodukter, leker, apparater og belysningsstyringer, har en 8-bits mikrokontroller (MCU – microcontroller unit) vanligvis vært tilstrekkelig. Etter hvert som konstruksjoner utvikler seg, kreves imidlertid høyere hastighet, kraftigere tilleggsutstyr og mer robuste programvareutviklingsverktøy. Overføring til et 16-bits eller 32-bits alternativ kan hjelpe, men ofte på bekostning av en større kapslingsstørrelse og mer kraft.

For å løse disse problemene, kan konstruktører dra nytte av mikrokontrollere basert på 8051-arkitekturen, som bringer mange av fordelene fra 16-bits og 32-bits prosessorer, til domenet for 8 bits. De gjør dette i en kapsling som er så liten som 2 x 2 millimeter (mm), samtidig som de tilbyr et moderne utviklingsmiljø.

Denne artikkelen beskriver kort 8051-arkitekturen og dens egnethet for ressursbegrensede konstruksjoner. Den introduserer deretter en familie av 8051-baserte mikrokontrollere fra Silicon Labs, beskriver store delsystemer og viser hvordan hver av disse håndterer kritiske konstruksjonsutfordringer. Artikkelen avslutter med å ta for seg maskinvare- og programvarestøtte.

Derfor bør du bruke 8051-arkitekturen

Når du velger en mikrokontroller for en svært plassbegrenset konstruksjon, tilbyr 8-bits prosessorer som den veletablerte 8051 mange fordeler, for eksempel lite format, lavt strømforbruk og enkel konstruksjon. Mange 8051-prosessorer har imidlertid relativt enkle eksterne enheter, noe som begrenser egnetheten deres for bestemte brukstilfeller. For eksempel er lavoppløselige A-D-omformere (ADC – analog-to-digital converter) utilstrekkelige for konstruksjoner med høy presisjon, for eksempel medisinsk utstyr.

Relativt trege klokker kan også være et problem. Den typiske 8051 mikrokontrolleren er virksom ved klokkefrekvenser på mellom 8 megahertz (MHz) og 32 MHz, og eldre konstruksjoner krever flere klokkesykluser for å prosessere instruksjoner. Denne lave hastigheten kan begrense muligheten for 8-bits mikrokontrollere å støtte sanntidsoperasjoner, for eksempel nøyaktig motorstyring.

De tradisjonelle programvareutviklingsmiljøene for 8051-prosessorer tilfredsstiller ikke forventningene til moderne programvareutviklere. Når dette kombineres med de iboende begrensningene i en 8-bits arkitektur, kan resultatet være en langsom, frustrerende kodeprosess.

Begrensningene forbundet med tradisjonelle 8-bits prosessorer kan føre til at utviklere vil vurdere å migrere til 16-bits eller 32-bits mikrokontrollere. Selv om disse mikrokontrollerne tilbyr rikelig med datakraft, eksterne enheter med høy ytelse og moderne programvaremiljøer, er de også relativt store. Dette gjør det mer utfordrende å integrere dem i plassbegrensede konstruksjoner, noe som kan forsinke utviklingen eller øke størrelsen på konstruksjonen.

Den økte kodestørrelsen og strømforbruket forbundet med 16-bits og 32-bits mikrokontrollere kan også føre til suboptimale konstruksjoner. Disse ulempene er spesielt problematiske for de mange konstruksjonene som ikke involverer kompleks matematikk og dermed ikke drar nytte av de avanserte egenskapene til disse prosessorene.

Den ideelle balansen mellom disse avveiningene er kanskje ikke tydelig i starten av et prosjekt, og utbytting av prosessorer midt i konstruksjonsprosessen kan forsinke utviklingen eller kompromittere produktets størrelse eller funksjonalitet. Dermed kan mange plassbegrensede konstruksjoner dra nytte av en mer kapabel 8051-basert mikrokontroller, som bringer mange av fordelene fra 16-bits og 32-bits prosessorer til domenet for kompakte 8-bits mikrokontrollere med lav effekt.

EFM8BB50 leverer bredere funksjonalitet til 8-bits mikrokontrollere

Silicon Labs bygde EFM8BB50-familien av 8-bits mikrokontrollere, der de tok hensyn til disse faktorene (figur 1). Disse mikrokontrollerne tilbyr forbedret ytelse, avansert periferiutstyr og et moderne programvareutviklingsmiljø.

Blokkskjema over Silicon Labs sin EFM8BB50-mikrokontroller (klikk for å forstørre)Figur 1: Her vises blokkskjema for EFM8BB50-mikrokontrolleren. (Bildekilde: Silicon Labs)

Hjertet i mikrokontrolleren er CIP-51 8051-kjernen, en Silicon Labs-implementering av 8051-arkitekturen som er optimalisert for økt ytelse, redusert strømforbruk og forbedret funksjonalitet. Ytelsen er spesielt verd å legge merke til. I EFM8BB50 oppnår kjernen hastigheter på opptil 50 MHz, og 70 % av instruksjonene utføres i løpet av én eller to klokkesykluser. Dette gir mikrokontrollerne betydelig høyere ytelse enn tradisjonelle 8-bits prosessorer, noe som gir utviklere takhøyde for mer komplekse konstruksjoner.

Mikrokontrollerne er også kjent for sine miniatyrstørrelser. De 16-pinners variantene av familien, slik som EFM8BB50F16G-A-QFN16, er tilgjengelige i kapslinger så små som 2,5 mm x 2,5 mm. 12-pinners versjonene som EFM8BB50F16G-A-QFN12 er enda mindre, med kapslingsstørrelser ned til 2 mm x 2 mm.

Til tross for de små målene, er EFM8BB50-mikrokontrollerne fullpakket med et imponerende utvalg av funksjoner, deriblant:

  • En 12-bits A-D-omformer (ADC), som er viktig for konstruksjoner som krever nøyaktig sensordata.
  • En integrert temperatursensor som gjør det mulig for mikrokontrolleren å overvåke den interne temperaturen eller omgivelsestemperaturen, uten at det er behov for eksterne komponenter.
  • En trekanals programmerbar tellermatrise (PCA – programmable counter array) med pulsbreddemodulasjon (PWM – pulse-width modulation) som kan generere PWM-signaler for variabel utgangsstyring i konstruksjoner for motorstyring og lysdiodedimming.
  • En trekanals PWM-motor med dødtidsinnsetting (DTI – dead-time insertion) for ekstra styring av kraftelektronikk, for eksempel motordrivere eller strømomformere.

Andre innganger/utganger (I/O – input/output) inkluderer en rekke serielle kommunikasjonsgrensesnitt, et sett med 8-bits og 16-bits timere og fire konfigurerbare logiske enheter. Alle pinnene i mikrokontrollerfamilien er kompatible med 5 volt, og den digitale I/O-en kan tilordnes fleksibelt for å få mest mulig ut av det begrensede pinneantallet.

Avansert strømstyring

EFM8BB50 har flere energistyringsfunksjoner for å optimalisere strømforbruket og forlenge batterilevetiden. Disse starter med flere strømmoduser, deriblant en tomgangsmodus som reduserer kjernens klokkehastighet, samtidig som periferiutstyr holdes aktivt. Stopp-modusen går enda lengre ved å stanse kjernen og mesteparten av periferiutstyret, samtidig som RAM- og registerinnholdet bevares. Noe periferiutstyr kan konfigureres til å vekke kjernen fra stopp-modus, noe som er gunstig for hendelsesdrevne konstruksjoner som hovedsakelig holdes i en tilstand med lavt strømforbruk.

Fleksible klokkealternativer bidrar til økt strømsparing. En presis intern oscillator eliminerer behovet for eksterne krystalloscillatorer i mange scenarier, noe som reduserer det totale strømforbruket. Mikrokontrolleren støtter også klokkestyringspuls, som selektivt deaktiverer klokker til diverse periferiutstyr, slik at utviklere kan slå av de som ikke er i bruk.

Periferiutstyret er også konstruert med tanke på energieffektivitet. Den konfigurerbare logikkenheten (CLU – Configurable Logic Unit) kan utføre enkle logiske funksjoner uavhengig av hverandre, noe som reduserer kjernens behov for å våkne fra moduser med lavt strømforbruk for enkle oppgaver. I tillegg kan lavenergi-UART (LEUART) fungere i strømmoduser der hovedoscillatoren er deaktivert, noe som gir mulighet for seriell kommunikasjon i lavenergitilstander.

Støtte for intuitiv programvareutvikling

Utviklere kan bygge programvare for EFM8BB50-familien i Silicon Labs-pakken Simplicity Studio Suite. Dette miljøet brukes for 8-bits EFM8BB50, selskapets 32-bits mikrokontrollere, og dets trådløse system-on-chip (SoC). Som et resultat får utviklere et moderne miljø med funksjonene de forventer for kraftigere prosessorer. For eksempel tilbyr den en energiprofilerer som gir effektprofilering av kode i sanntid (figur 2).

Bilde av Silicon Labs Simplicity Studio inkluderer en energiprofilerer (klikk for å forstørre)Figur 2: Simplicity Studio inkluderer en energiprofil som gir strømprofilering av kode i sanntid. (Bildekilde: Silicon Labs)

Verktøyene er bygget rundt et integrert utviklingsmiljø (IDE – integrated development environment) med bransjestandardiserte kodeeditorer, kompilatorer, feilsøkere og en brukergrensesnittmotor (UI engine) for å utvikle moderne, responsive grensesnitt. Dette utviklingsmiljøet gir tilgang til enhetsspesifikke web- og SDK-ressurser, samt spesialiserte konfigurasjonsverktøy for programvare og maskinvare.

Simplicity Studio støtter også Silicon Labs Secure Vault. Secure Vault er en svært avansert sikkerhetspakke med PSA-sertifiseringsnivå 3, som gjør det mulig for konstruktører å gjøre tingenes Internett (IoT)-enheter mer robuste og beskytte angrepsoverflaten mot eskalerende cybertrusler, samtidig som de samsvarer med stadig nye regler for cybersikkerhet.

Få en rask start med evalueringssett

Utviklere som er interessert i å eksperimentere med EFM8BB50, kan velge å bruke BB50-EK2702A Explorer Kit, som vises i figur 3. Dette settet med liten formfaktor er justert med mål for koblingsbrett for å gi enkel tilkobling til prototypesystemer og laboratorieutstyr. Den har et USB-grensesnitt, en integrert SEGGER J-Link-feilsøker, en lysdiode og en knapp for brukerinteraksjon. Settet støttes fullt ut av Simplicity Studio Suite, og det kan brukes med Energy Profiler-verktøyet. Programvareeksempler gis for alle periferienheter, og demoer anvender lysdioden, knappen og UART-en.

Bilde av utforskersettet BB50-EK2702A Explorer KitFigur 3: Her vises utforskersettet BB50-EK2702A Explorer Kit. (Bildekilde: Silicon Labs)

Settet inneholder et mikroBUS-uttak og en Qwiic-kontakt. Denne utstyrstilleggsstøtten gjør det mulig for utviklere å raskt lage og prototype konstruksjoner ved hjelp av hyllevare-kort fra ulike leverandører.

Utviklere som er interessert i et mer omfattende utgangspunkt, kan bruke settet BB50-PK5208A Pro Kit, som vises på figur 4. Dette settet er utviklet for grundig evaluering og testing, og inneholder sensorer og periferienheter som demonstrerer mange av mikrokontrollerens funksjoner.

Bilde av Silicon Labs BB50-PK5208A Pro KitFigur 4: Her vises BB50-PK5208A Pro Kit, som er utviklet for grundig evaluering og testing. (Bildekilde: Silicon Labs)

Pro Kit inkluderer USB-konnektivitet, en LCD med ultralavt strømforbruk på 128 x 128 piksler, en åtte-retnings analog joystick, en lysdiode og en brukertrykknapp. Den har også en Silicon Labs Si7021-sensor for relativ fuktighet og temperatur, og flere strømkilder, inkludert USB og et myntcellebatteri.

For utvidelse tilbyr kortet en 20-pinners pinnelist på 2,54 mm. Den har også utvendige kontakter for direkte tilgang til I/O-pinner. Pro Kit, i likhet med Explorer Kit, støtter Energy Profiler, og leveres med programvareeksempler for alle periferienheter.

EFM8BB50-feilsøkeralternativer

Silicon Labs tilbyr flere feilsøkere for å støtte mikrokontrollerne sine. For generell feilsøking tilbyr selskapet DEBUGADPTR1-USB, en 8-bits USB-feilsøkingsadapter med en enkel 10-pinners kontakt.

Mer spesialiserte funksjoner er tilgjengelige fra feilsøkeren SI-DBG1015A Simplicity Link Debugger. Dette kobles til grensesnittet Mini Simplicity Interface, som er inkludert på begge settene nevnt ovenfor. I tillegg til den grunnleggende funksjonaliteten, tilbyr Simplicity Link flere funksjoner, deriblant en SEGGER J-Link-feilsøker, et pakkesporingsgrensesnitt, en virtuell COM-port og utvendige kontakter for enkel probetesting av individuelle signaler.

Konklusjon

Moderne 8051-mikrokontrollere, slik som EFM8BB50, bringer funksjoner som vanligvis er forbundet med 16-bits og 32-bits enheter, til 8-bits domenet. Med høye klokkehastigheter, periferiutstyr med høy ytelse og et robust programvareutviklingsmiljø, tilbyr denne mikrokontrollerserien den rette blandingen av funksjoner for et økende antall bruksområder der plass og strøm er begrenset, men der det også kreves høyere ytelse og fleksibilitet.

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.

Om skribenten

Image of Kenton Williston

Kenton Williston

Kenton Williston tok sin bachelorgrad i elektroteknikk i 2000 og startet sin karriere som benchmarkanalytiker for prosessorer. Siden da har han jobbet som redaktør i EE Times-gruppen og bidratt til å lansere og lede flere publikasjoner og konferanser innen elektronikkbransjen.

Om denne utgiveren

DigiKeys nordamerikanske redaktører