Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Brug en optimeret 8-bit mikrocontroller til at forenkle designet af ressourcebegrænsede enheder

Af Kenton Williston

Bidraget af DigiKeys nordamerikanske redaktører

For designere af strøm- og pladsbegrænsede enheder som elværktøj, personlige hygiejneprodukter, legetøj, apparater og lysstyring har en 8-bit mikrocontrollerenhed (MCU) traditionelt været tilstrækkeligt. Men efterhånden som applikationerne udvikler sig, kræver de højere hastigheder, kraftigere periferiudstyr og mere robuste softwareudviklingsværktøjer. At migrere til et 16-bit eller 32-bit alternativ kan hjælpe, men ofte på bekostning af en større pakkestørrelse og behov for mere effekt.

For at løse disse problemer kan designere drage fordel af MCU'er baseret på 8051-arkitekturen, der bringer mange af fordelene ved 16-bit- og 32-bit-processorer til 8-bit-domænet. Det gør de i en pakke, der er så lille som 2 x 2 millimeter (mm), samtidig med at de tilbyder et moderne udviklingsmiljø.

Denne artikel beskriver kort 8051-arkitekturen og dens egnethed til ressourcebegrænsede anvendelser. Derefter introducerer den en familie af 8051-baserede MCU'er fra Silicon Labs, beskriver de vigtigste undersystemer og viser, hvordan de hver især løser kritiske designudfordringer. Artiklen afsluttes med en diskussion af hardware- og softwaresupport.

Hvorfor bruge 8051-arkitekturen?

Når man vælger en MCU til en anvendelse med meget begrænset plads, giver 8-bit processorer som den veletablerede 8051 mange fordele, herunder et lille fodaftryk, lavt strømforbrug og et enkelt design. Mange 8051-processorer har dog relativt simple periferienheder, hvilket begrænser deres egnethed til specifikke brugsscenarier. For eksempel er analog-til-digital-konvertere (ADC'er) med lav opløsning utilstrækkelige til applikationer med høj præcision som f.eks. medicinsk udstyr.

Relativt langsomme clockfrekvenser kan også være et problem. Den typiske 8051 MCU arbejder med clockfrekvenser på 8 megahertz (MHz) til 32 MHz, og ældre design kræver flere clockcyklusser for at behandle instruktioner. Denne lave hastighed kan begrænse 8-bit MCU'ers evne til at understøtte realtidsoperationer som f.eks. præcis motorstyring.

De traditionelle softwareudviklingsmiljøer til 8051-processorer er heller ikke afstemt med moderne softwareudvikleres forventninger. Kombineret med de indbyggede begrænsninger i en 8-bit arkitektur kan det føre til en langsom og frustrerende kodningsproces.

Begrænsningerne ved traditionelle 8-bit processorer kan få udviklere til at overveje at gå over til 16-bit eller 32-bit MCU'er. Selvom disse MCU'er tilbyder rigelig computerkraft, højtydende periferiudstyr og moderne softwaremiljøer, er de også relativt store. Det gør det mere udfordrende at integrere dem i design med begrænset plads, hvilket kan forsinke udviklingen eller øge designstørrelsen.

Den øgede kodestørrelse og strømforbrug, der er forbundet med 16-bit og 32-bit MCU'er, kan også føre til suboptimale designs. Disse ulemper er især problematiske for de mange applikationer, der ikke kræver kompleks matematik og derfor ikke drager fordel af disse processorers avancerede evner.

Den ideelle balance mellem disse afvejninger er måske ikke tydelig i starten af et projekt, og at skifte processor midt i designet kan forsinke udviklingen eller kompromittere produktets størrelse eller funktionalitet. Derfor kan mange design med begrænset plads drage fordel af en mere kapabel 8051-baseret MCU, der bringer mange af fordelene ved 16-bit og 32-bit processorer til det kompakte 8-bit domæne med lavt strømforbrug.

EFM8BB50 giver større funktionalitet til 8-bit MCU'er

Silicon Labs har bygget EFM8BB50-familien af 8-bit MCU'er med disse overvejelser i tankerne (figur 1). Disse MCU'er tilbyder forbedret ydeevne, avancerede periferienheder og et moderne softwareudviklingsmiljø.

Blokdiagram af Silicon Labs EFM8BB50 MCU (klik for at forstørre)Figur 1: Her ses et blokdiagram over EFM8BB50-MCU. (Billedkilde: Silicon Labs)

MCU'ens hjerte er CIP-51-8051-kernen, en Silicon Labs-implementering af 8051-arkitekturen, der er optimeret til øget ydelse, reduceret strømforbrug og forbedret funktionalitet. Forestillingen er særligt bemærkelsesværdig. I EFM8BB50 opnår kernen hastigheder på op til 50 MHz, og 70 % af instruktionerne udføres på en eller to clockcyklusser. Det giver MCU'erne en betydeligt højere ydeevne end traditionelle 8-bit processorer, hvilket giver udviklerne plads til mere komplekse applikationer.

MCU'erne er også bemærkelsesværdige på grund af deres små dimensioner. Familiens varianter med 16 ben, såsom EFM8BB50F16G-A-QFN16, fås i pakker, der er så små som 2,5 mm x 2,5 mm. De versioner med 12 ben, såsom EFM8BB50F16G-A-QFN12 er endnu mindre med pakkestørrelser ned til 2 mm x 2 mm.

På trods af sine ganske små dimensioner er EFM8BB50-MCU'erne spækket med en imponerende række funktioner, herunder bl.a.:

  • En 12-bit ADC, som er afgørende for anvendelser, der kræver nøjagtige sensordata.
  • En integreret temperatursensor, der gør det muligt for MCU'en at overvåge sin interne temperatur eller omgivelsestemperatur uden behov for eksterne komponenter.
  • Et trekanals programmerbart tællerarray (PCA) med pulsbreddemodulation (PWM), der kan generere PWM-signaler til variabel udgangsstyring i applikationer som motorstyring og LED-dæmpning.
  • En trekanals PWM-motor med dødtidsindsættelse (DTI) til yderligere styring af effektelektronik, såsom motordrivere eller effektkonvertere

Andre indgang/udgang (input/output - I/O) omfatter en række serielle kommunikationsgrænseflader, et sæt 8-bit og 16-bit timere og fire konfigurerbare logiske enheder. Alle ben i MCU-familien er 5 volt-kompatible, og de digitale I/O kan tildeles fleksibelt for at få mest muligt ud af det begrænsede antal ben.

Avanceret strømstyring

EFM8BB50 har flere energistyringsfunktioner, der optimerer strømforbruget og forlænger batterilevetiden. Disse starter med flere strømtilstande, herunder en tomgangstilstand (Idle Mode), der sænker kernens clockhastighed, mens periferienhederne forbliver aktive. Stop-tilstanden går videre ved at stoppe kernen og de fleste perifere enheder, mens RAM- og registerindholdet bevares. Nogle perifere enheder kan indstilles til at vække kernen fra Stop Mode, hvilket er en fordel for hændelsesstyrede anvendelser, der hovedsageligt forbliver i en tilstand med lavt strømforbrug.

Fleksible clocking-muligheder hjælper yderligere med at spare på strømmen. En intern præcisionsoscillator eliminerer behovet for eksterne krystaloscillatorer i mange scenarier, hvilket reducerer det samlede strømforbrug. MCU'en understøtter også ’clock-gating’, som selektivt deaktiverer clocks til forskellige periferienheder, så udviklere kan slukke for dem, der ikke er i brug.

Periferienhederne er også designet med energieffektivitet for øje. Mest bemærkelsesværdigt er det, den konfigurerbare logisk enhed (Configurable Logic Unit/CLU) kan udføre simple logikfunktioner uafhængigt af hinanden, hvilket reducerer behovet for, at kernen vågner op fra strømbesparende tilstande til simple opgaver. Derudover kan lavenergi UART (Low Energy UART: LEUART) fungere i strømtilstande, hvor den primære oscillator er deaktiveret, hvilket giver mulighed for seriel kommunikation i strømbesparende tilstande.

Støtte til intuitiv softwareudvikling

Udviklere kan bygge software til EFM8BB50-familien i Silicon Labs' Simplicity Studio Suite. Dette miljø bruges til 8-bit EFM8BB50, virksomhedens 32-bit MCU'er og deres trådløse systemer på chip (systems on chip/SoC'er). Resultatet er, at udviklerne får et moderne miljø med de funktioner, de ville forvente af kraftigere processorer. For eksempel tilbyder den en energiprofiler, der giver strømprofilering af kode i realtid (figur 2).

Billede af Silicon Labs Simplicity Studio inklusiv energiprofileringsfunktion (klik for at forstørre)Figur 2: Simplicity Studio inkluderer en energiprofileringsfunktion, der beregner kodes energiprofil i realtid. (Billedkilde: Silicon Labs)

Værktøjerne er bygget op omkring et integreret udviklingsmiljø (integrated development environment/IDE) med industri-standard kodeeditorer, kompilatorer, debuggere og en brugergrænseflade (user interface/UI) til at udvikle moderne responsive grænseflader. Dette udviklingsmiljø giver adgang til enhedsspecifikke web- og SDK-ressourcer samt specialiserede værktøj til software- og hardwarekonfiguration.

Simplicity Studio understøtter også Silicon Labs Secure Vault. Secure Vault er en meget avanceret sikkerhedspakke med PSA-certificeringsniveau 3, som gør det muligt for designere at hærde Internet-of-Things (IoT)-enheder og beskytte deres angrebsflade mod eskalerende cybertrusler, samtidig med at de tilpasser sig de nye cybersikkerhedsregler.

Kom hurtigt i gang med evalueringssæt

Udviklere, der er interesserede i at eksperimentere med EFM8BB50, kan overveje BB50-EK2702A Explorer Kit (undersøgelseskit), der er vist i figur 3. Dette sæt med en lille formfaktor er tilpasset brødbræt-dimensioner, så det er nemt at montere på prototypesystemer og laboratoriehardware. Den har en USB-grænseflade, et indbygget SEGGER J-Link debugger, en LED og en knap til brugerinteraktion. Sættet understøttes fuldt ud af Simplicity Studio Suite og kan bruges sammen med Energy Profiler-værktøjet. Der er softwareeksempler til alle perifere enheder, og demoer træner LED, knap og UART.

Billede af Silicon Labs BB50-EK2702A-Explorer KitFigur 3: Det viste er BB50-EK2702A-Explorer Kit. (Billedkilde: Silicon Labs)

Sættet indeholder et mikroBUS-sokkel og en Qwiic-konnektor. Denne understøttelse af hardware-tilføjelse giver udviklere mulighed for hurtigt at skabe og prototype applikationer ved hjælp af standardkort fra forskellige leverandører.

Udviklere, der er interesseret i et mere omfattende udgangspunkt, kan bruge BB50-PK5208A Pro Kit, der er vist i figur 4. Dette kit er designet til dybdegående evaluering og test og indeholder sensorer og perifere enheder, der demonstrerer mange af MCU'ens funktioner.

Billede af Silicon Labs BB50-PK5208A Pro KitFigur 4: Her ses BB50-PK5208A Pro Kit til dybdegående evaluering og test. (Billedkilde: Silicon Labs)

Pro Kit inkluderer USB-konnektivitet, en 128 x 128-pixel- hukommelses-LCD med ultralavt strømforbrug, et analogt joystick med otte retninger, en LED og en trykknap til brugeren. Den har også Silicon Labs' Si7021 relativfugtigheds- og temperatursensor og flere strømkilder, herunder USB og et knapcellebatteri.

Til udvidelse har kortet en 2,54 mm header med 20 ben. Den har også ”breakout-pads” til direkte adgang til indgangs-/udgangs (I/O)-stik/O-stik. Ligesom Explorer Kit understøtter Pro Kit Energy Profiler og leveres med softwareeksempler til alle periferienheder.

EFM8BB50 debugger-muligheder

Silicon Labs tilbyder flere debuggere til understøttelse af deres MCU'er. Til generel debugging tilbyder virksomheden DEBUGADPTR1-USB, en 8-bit USB debug-adapter med et enkelt konnektor med 10 ben.

Mere specialiserede funktioner er tilgængelige fra SI-DBG1015A Simplicity Link Debugger. Den forbindes til Mini-Simplicity-grænseflade, der følger med begge ovennævnte sæt. Ud over de grundlæggende funktionalitet tilbyder Simplicity-Link yderligere muligheder, herunder en SEGGER J-Link debugger, et pakkesporingsgrænseflade (packet trace interface), en virtuel COM-port og ”breakout pads” til nem sondering af individuelle signaler.

Konklusion

Moderne 8051 MCU'er som EFM8BB50 tilbyder funktioner, der typisk forbindes med 16-bit og 32-bit enheder, til 8-bit domænet. Med sine hurtige clockhastigheder, højtydende periferienheder og robust softwareudviklingsmiljø giver denne MCU-familie udviklere den rette blanding af muligheder til et stigende antal applikationer, hvor plads og strøm er begrænset, men hvor der kræves større ydeevne 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 denne forfatter

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.

Om udgiveren

DigiKeys nordamerikanske redaktører