Konstruera bärbar teknik som alltid är på: del 1 – Optimera microcontrollern

Av Bill Giovino

Bidraget med av DigiKeys nordamerikanska redaktörer

Redaktörens anmärkning: Det här är del 1 i en serie med tre delar om att konstruera batteridriven bärbar elektronik som alltid är på, med fokus på tre områden där du kan optimera effekten. Del 1 beskriver hur du konfigurerar microcontrollern för att utöka batterilivslängden och minska antalet laddningar. Del 2 undersöker hur batteriet bäst kan underhållas för att utöka tiden mellan laddningar. Del 3 undersöker trådlösa nätverk för bärbar teknik samt hur trådlösa anslutningar kan hållas medan batteriurladdningen minimeras.

I takt med att batteridriven bärbar teknik blir allt populärare lägger tillverkare av bärbara enheter till högre funktionalitet för att hålla sig konkurrenskraftiga. Detta är särskilt tydligt för träningsklockor som används ständigt av konsumenterna. De är alltid påslagna och användarna efterfrågar ständigt nya funktioner och förbättrad prestanda.

Ökad funktionalitet kräver dock ofta en mer kraftfull microcontroller för att styra och övervaka klockans funktioner. Det har nackdelen att det förkortar batteriets livslängd genom att det kräver tätare laddning av batteriet, vilket försämrar användarupplevelsen.

Den här artikeln diskuterar de unika behoven för microcontrollers i bärbar teknik som alltid är på. Den förklarar hur du konfigurerar en microcontroller för en bärbar enhet som alltid är på, inklusive lågeffektlägen och autonom kringutrustning. Därefter tittar vi på en 16-bitars microcontroller från Texas Instruments och en 32-bitars microcontroller från Maxim Integrated och visar hur deras nyckelfunktioner kan användas för att underlätta en bärbar design.

Unika behov för microcontrollers i bärbar teknik som alltid är på

För bärbar teknik kan lång batterilivslängd mellan laddningar vara den viktigaste funktionen för slutanvändaren. Trots att webbrecensioner kan hylla precisionen och funktionerna hos en bärbar produkt kan tiden mellan laddningar vara skillnaden mellan besvikelsen i en recension med en stjärna och glädjen i en recension med fem stjärnor.

Dålig batterilivslängd har större betydelse än bara att laddningar krävs ofta. Laddningsbara litiumbatterier förlorar kapacitet med täta laddningar, vilket gör det svårare att behålla batterihälsan med tiden. Batterier för bärbar teknik diskuteras i del 2 i den här serien.

Även om anslutningsdonet som används för laddningen ofta är robust, tål det ett begränsat antal isättningar och urkopplingar, så varje laddning leder till slitage.

Bärbar teknik har andra strömbehov än andra konsumentenheter eftersom den alltid är på vilket kräver att microcontrollern alltid har ström. Normalt finns det även en BLE-anslutning (Bluetooth Low Energy) som alltid måste vara beredd och tillgänglig att kommunicera med en tillhörande mobil enhet. Observera att trådlös anslutning för bärbar teknik diskuteras i del 3 i denna serie.

Trots att den bärbara enheten kan synkronisera sina data med den mobila enheten när en anslutning är tillgänglig måste den även tillåta fristående drift utan mobilanslutningen i timmar eller dagar, beroende på avsedd användning.

Huvudsyftet med en bärbar enhet som en smartklocka, utöver att visa tiden, är att konstant övervaka och logga indata från externa sensorer som är anslutna till serieportar som I2C och SPI. Detta kan inkludera specialiserade accelerometrar som kan räkna steg för en stegräknare, en GPS-radio för positionsspårning och navigationsfunktioner samt en pulsmätare. De flesta av dessa sensorer kan slås på och av individuellt av användaren, men en bra tekniker ska utforma systemet för de mest krävande situationerna där alla sensorer är på.

De data som samlas in av sensorerna måste ständigt loggas. I många IoT- eller konsumentmobilenheter sparas loggade sensordata i permanentminne som flash eller EEPROM. Dock drar en skrivning till flash eller EEPROM mycket ström vilket snabbt kan tömma det lilla batteriet i en bärbar enhet. En bättre lösning är att lagra sensordata i SRAM.

Att skriva till SRAM förbrukar mycket mindre ström än att skriva till permanentminne. Eftersom microcontrollern alltid är på, övervakas SRAM-sensordata ständigt och är säkra om inte den bärbara enheten stängs av eller om användaren inte laddar batteriet så att det töms. Lagrade sensordata överförs trådlöst och lagras i en mobil enhet, så till och med när den är avstängd förloras inga sensordata.

En viktig funktion för att minimera strömförlust i microcontrollern är autonoma kringenheter. Exakt hur autonoma varierar beroende på microcontrollerns produktfamilj. En annan vanlig funktion för att spara ström är att inaktivera strömmen till kringenheter som inte används, oberoende av resten av microcontrollern, genom att sätta eller rensa en bit i ett strömregister.

Styrenhetens lågeffektslägen för bärbar utrustning

När man förstått de unika behoven för en microcontroller i en bärbar enhet som alltid är på, är det viktigt att avgöra vad lågeffektlägena ska göra, inklusive vilka som är användbara och vilka som inte är det.

Det lägsta effektläget för en bärbar enhet är förstås när den är avstängd. De flesta bärbara enheter slås på och stängs av genom att hålla in en programvarustyrd momentär tryckknapp under en specificerad tid, vilket hindrar oavsiktliga strömsekvenser. Detta är överlägset en mekanisk strömställare, som inte bara är mindre kostnadseffektivt utan även kan utlösas oavsiktligt. Teknikern ska dock anta att användaren sällan stänger av sin enhet, så den bärbara enheten ska utformas med två antaganden som kan verka motstridiga: att enheten aldrig ska stängas av och att den också ibland stängs av.

Normalt styr ett strömhanteringschip laddningen av batteriet och sekvenserar strömmen på och av till microcontrollern och sensorerna. Strömhantering diskuteras i del 2 i den här serien. När ett strömhanteringschip stänger av den bärbara enheten avskärmas huvudströmmen till microcontrollern med undantag för separat ström till realtidsklockan (RTC). Detta kräver en microcontroller som kan fungera med extern ström till CPU, RAM och de flesta kringenheter inaktiverade med endast RTC igång.

Det är nödvändigt att ha microcontrollerns RTC igång medan den bärbara enheten stängs av för att hålla rätt tid, så microcontrollern ska ha ett separat strömstift för RTC:n som alltid har ström. En RTC klockas av en lågfrekvensoscillator på 32,768 kilohertz (kHz) som bara förbrukar några nanoampere. En smartklocka som tappar tiden när den stängs av skulle inte göra användare nöjda, vilket innebär att lågeffektslägen som inaktiverar RTC inte är tillämpbara för bärbar teknik.

Processorn kan inaktiveras för att spara ström, liksom eventuella oanvända kringenheter. RAM-innehållet måste alltid underhållas, vilket även gör alla lågeffektslägen som inaktiverar hela RAM-matrisen oanvändbara för bärbar teknik.

Konfigurera microcontrollern

Et bra exempel på en microcontroller som är optimerad för bärbar utrustning är Texas Instruments MSP430FR2676TPTR 16 megahertz (MHz) microcontroller med ferroelektriskt FRAM-minne (figur 1). Den ingår i Texas Instruments MSP430FR2676 16-bit MSP430™ CapTIvate™-microcontrollers med kapacitiv beröringsavkänning, som innehåller en kringenhet med låg effekt som kan känna av beröring genom tjockt glas. Glasskärmarna på bärbara enheter måste vara tjocka och hållbara för att stå emot påfrestningarna vid regelbunden användning, vilket gör CapTIvate-tekniken tillämplig för bärbar teknik med pekskärm.

Diagram över Texas Instruments MSP430FR2676TPTR 16-bitars FRAM-microcontroller med ultralåg effekt (klicka för att förstora)Figur 1: Texas Instruments MSP430FR2676TPTR 16-bitars FRAM-microcontroller med ultralåg effekt har ett stort urval av kringutrustning och kan styra en enkel kringenhet med ett minimum av externa delar (Bildkälla: Texas Instruments)

MSP430FR2676TPTR har 64 kilobyte Texas Instruments FRAM-programminne (ferroelectric random access memory) för att uppnå högre läs-/skrivprestanda vid lägre effekt än flash-microcontrollers. Den har 8 kbyte SRAM och en fullständig uppsättning av kringenheter inklusive I2C, SPI och en UART för anslutning till sensorer. En 32 x 32 maskinvarumultiplikator påskyndar multiplicering och sänker effektförbrukningen.

RTC:n på MSP430FR2676TPTR kan konfigureras till att väcka microcontrollern i intervall från mikrosekunder till timmar. Det är användbart för att väcka processorn så att den kan utföra uppgifter som att periodvis behandla sensordata och skicka dem trådlöst till en mobil enhet.

Oscillator- och klocksystemet på MSP430FR2676TPTR är utformat för lägre systemkostnad och ger låg effektförbrukning. Microcontrollern har stöd för fyra internt genererade klockkällor och två externa klockkällor med hög precision. Dessa oscillatorer och klockor kan aktiveras och inaktiveras under fast programvarukontroll beroende på valt lågeffektsläge och fast programvarukonfiguration. För att köra kringenheter har MSP430FR2676TPTR två klockor: en snabb subsystem-masterklocka (SMCLK) som kan köras lika snabbt som systemets klockfrekvens och en långsam 40 kHz extraklocka (ACLK).

Förutom aktivt läge, där processorn och allt annat är aktiverat, stödjer MSP430FR2676TPTR konfigurerbara och komplexa lågeffektslägen. Eventuella on-chip-kringenheter som är aktiva i ett särskilt MSP430-lågeffektsläge kan stängas av med fast programvara. Detta möjliggör egenutformade lågeffektkonfigurationer. För en bärbar MSP430FR2676TPTR-enhet är följande lågeffektlägen (LPMx) tillämpliga:

  • LPM0 tillåter allt utom processorn att köras. Det är användbart när autonoma kringenheter behöver vara aktiva och köras med full hastighet utan processorinblandning.
  • LPM3 inaktiverar processorn, höghastighetsoscillatorn och SMCLK. Alla aktiverade kringenheter kan köras från den strömbesparande 40 kHz ACLK. Det här är användbart när den bärbara enheten är inaktiverad utan knapptryckningar. Seriella kringenheter som I2C och SPI kan köras autonomt för att samla in sensordata medan DMA (direct memory access) överför data till RAM. RTC kan aktivera enheten så att den kan utföra nödvändiga uppgifter.
  • LPM4 stänger av allt utom RTC. SRAM stängs av. Det är användbart när användaren stänger av den bärbara enheten.

MSP430FR2676TPTR kan användas från 1,8 till 3,6 volt, vilket gör den lämplig för användning med 3,6-volts litiumbatterier. Med RTC:n igång och minimal kringutrustning kan microcontrollern förbruka mindre än 5 mikroampere (µA). Med huvudoscillatorn igång förbrukar MSP430FR2676TPTR 135 µA/MHz (typiskt).

För en bärbar enhet med högre prestanda har Maxim Integrated MAX32660GWE 32-bitars-microcontrollern (figur 2). Den baseras på Arm® Cortex®-M4-kärna med flytpunktsenhet (FPU). MAX32660 har 256 kbyte flashminne och 96 kbyte SRAM. SRAM är indelat i fyra sektorer. En sektor kan aktiveras för läsning/skrivning, aktivera lätt viloläge för att inaktivera läsning/skrivning samtidigt som innehållet behålls för att spara ström eller helt inaktiveras för att avlägsna strömtillförseln från den sektorn.

Diagram över Maxim Integrated MAX32660Figur 2: Maxim Integrated MAX32660 är särskilt utformad för bärbar elektronik som alltid är på. För att spara ström minimerar den antalet kringenheter till endast dem som krävs för att ansluta till externa sensorer i en bärbar tillämpning. (Bildkälla: Maxim Integrated)

MAX32660 kan köras med upp till 96 MHz och med alla kringenheter aktiverade förbrukar den bara 85 µA/MHz. För att minimera strömförbrukningen och minska paketstorleken har den ett minimalt antal kringenheter som används för bärbara enheter inklusive två SPI:er, två I2C:er och två UART:er.

Den har stöd för två interna oscillatorer: en 96 MHz intern höghastighetsoscillator som kan inaktiveras med fast programvara och en 8 KHz ringoscillator med låg effekt som alltid är på oavsett lågeffektläge. En 32,768 kHz oscillator använder en extern kristall och används för RTC. Alla dessa tre oscillatorer kan användas för att klocka CPU och kringutrustning.

Alla kringenheter kan stängas av med den fasta programvaran. Dessutom kan den fasta programvaran inaktivera klockan till den aktuella kringenheten, vilket sparar värdefulla nanoampere.

Enligt kraven för bärbara enheter är RTC alltid på i alla lågeffektslägen om den inte medvetet inaktiverats med den fasta programvaran i aktivt läge. RTC och klockan finns i en separat sektion som kallas Alltid på-domänen. Den här domänen är isolerad från resten av microcontrollern, vilket säkerställer att RTC inte berörs vid fel i den fasta programvaran eller manipulering.

Utöver aktivt läge har MAX32660 stöd för tre lågeffektslägen som är särskilt anpassade för bärbar elektronik:

  • I insomningsläge är CPU:n av medan alla aktiverade kringenheter kan köras autonomt. Det kan vara användbart när den bärbara enheten är i viloläge och sensordata loggas och sparas med DMA. Alla aktiverade kringenheter kan väcka CPU:n till aktivt läge.
  • I djupsömnsläge avskiljs alla interna klockor till CPU:n och kringenheterna med undantag för 32,768 kHz-klockan till RTC. Fast programvara kan konfigurera den interna 96 MHz-klockan att automatiskt stängas av när djupsömnsläget aktiveras. Allt RAM-innehåll behålls inklusive data-SRAM och alla kringutrustningsregister. Det är användbart för en bärbar enhet som kräver mjukt av-läge, där den bärbara enheten stängs av för att spara ström, men måste startas om där den slutade när den slås på igen.
  • Backup-läge är det lägsta effektläget. Klockor och ström till CPU:n och kringenheterna är avskilda med undantag för RTC. Som standard inaktiveras all ström till SRAM. Det är användbart när användaren stänger av den bärbara enheten utan SRAM-lagring för att spara ström. Dock kan det här läget alternativt hålla en valfri av de fyra SRAM-sektorerna i lätt sovläge för att behålla minnesinnehållet. Det är användbart för en bärbar enhet som måste hålla ett minimalt läge med en liten extra strömförbrukning.

MAX32660 kräver mellan 1,71 och 3,63 volt, vilket tillåter den att köras från 3,6 volts litiumbatterier. Microcontrollern har även en egen strömhanteringsenhet som minskar stiftantalet genom att eliminera den externa komponenten. Den har även batterimätstöd som övervakar det externa batteriet och tillhandahåller en exakt avläsning av batteriets laddningsstatus, som kan visas på den bärbara enhetens användargränssnitt.

Slutsats

Bärbar elektronik som alltid är på innebär unika utmaningar för konstruktörer. Även när en bärbar enhet verkar vara avstängd förbrukar den fortfarande en viss mängd ström. Som har visats kan dock konstruktörerna lägga till funktioner i sina konstruktioner och använda de konfigurerbara lågeffektslägena för att behålla och förlänga batterilivslängden.

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 Bill Giovino

Bill Giovino

Bill Giovino arbetar som elektronikingenjör och har kandidatexamen i elektroteknik från Syracuse University. Han är en av få personer som med framgång har bytt karriär från konstruktör via fältapplikationsingenjör till att arbeta med marknadsföring av teknik.

I mer än 25 år har Bill arbetat med att marknadsföra ny teknik för en publik både med och utan tekniska kunskaper för många företag (bland dem kan nämnas STMicroelectronics, Intel och Maxim Integrated). På STMicroelectronics var Bill en av de drivande personerna i att leda företagets framgångar på den nya branschen för mikrostyrenheter. På Infineon drev Bill konstruktionen av prisvinnande mikrostyrenheter för bilindustrin i USA. I sin roll som marknadsföringskonsult för CPU Technologies har Bill hjälpt många företag att omvandla mindre framgångsrika produkter till framgångshistorier.

Bill var tidig med att använda sakernas internet, bland annat genom att placera den första kompletta TCP/IP-stacken på en mikrostyrenhet. Bill tror mycket på att försäljning ska bedrivas genom utbildning och att det är allt viktigare med tydlig, välskriven kommunikation för att marknadsföra produkter online. Han är moderator för den populära gruppen Linkedin Semiconductor Sales & Marketing och kan allt om B2E.

Om utgivaren

DigiKeys nordamerikanska redaktörer