Laagvermogen always-on wearables ontwerpen - Deel 3 - De draadloze Bluetooth-connectiviteit optimaliseren
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2019-10-10
Opmerking van de editor: Dit is deel 3 van een driedelige serie over het ontwerpen van elektronische laagvermogen always-on wearables. In elk van de delen wordt een onderwerp behandeld met betrekking tot het optimaliseren van het opgenomen vermogen. In deel 1 werd besproken hoe de microcontroller kan worden geconfigureerd om de accu zo lang mogelijk mee te laten gaan en het aantal keren opladen te beperken. In deel 2 werd bekeken hoe de acculading veilig kan worden behouden om de tijd tot het opladen zo lang mogelijk te maken. Hier in deel 3 wordt het gebruik van draadloze netwerken voor wearables besproken en hoe de draadloze connectiviteit kan worden geoptimaliseerd voor een laag vermogen.
Wearables verleggen de grenzen van ontwerpers wat optimale benutting van ruimte en laag vermogen betreft. Iedere vierkante millimeter is belangrijk en iedere verspilde milliampère draagt bij aan een kortere levensduur van de accu, wat onverbiddelijk tot een slechte gebruikerservaring leidt. Eén van de grootste accuverbruikers in een wearable is de draadloze interface, maar er komen steeds meer oplossingen die helpen om dat verbruik te beperken.
In dit artikel wordt besproken hoe draadloze verbindingen werken voor een wearable en hoe de draadloze interface moet worden geconfigureerd om zo min mogelijk accuvermogen te verbruiken. Daarna worden draadloze chips van Dialog Semiconductor onderzocht en wordt uitgelegd hoe Bluetooth-verbindingen moeten worden geconfigureerd voor wearables.
Draadloze communicatie in wearables voor de consument
Wearables voor consumenten worden gewoonlijk verbonden met een mobiel apparaat waarop een app draait die door de fabrikant is ontworpen. Hoewel wearables onafhankelijk van een verbonden mobiel apparaat kunnen werken, is het gebruikelijk om met vastgestelde intervallen te synchroniseren met het mobiele apparaat wanneer dat binnen bereik is. Dit synchroniseren hoeft niet in real-time te gebeuren en die factor is van kritiek belang voor het optimaliseren van het verbruik.
Een fitness-wearable synchroniseert bijvoorbeeld gegevens met de app, zoals een overzicht van de hartslag, het aantal stappen en de afstand over tijd. Zelfs als de gebruiker aan het sporten is, hoeven deze gegevens niet real-time te zijn. Een update-interval van één tot vijf seconden kan aanvaardbaar zijn en vaak kan het interval door de gebruiker zelf worden geconfigureerd. De wearable ontvangt ook meldingen van het mobiele apparaat, zoals inkomende gesprekken en tekstberichten. Deze meldingen zijn on-demand en komen alleen binnen als dat nodig is.
Er zijn veel draadloze interfaces die ontwerpers kunnen gebruiken met een wearable, maar wat de interoperabiliteit betreft, kunnen er maar weinig de concurrentie aan met Bluetooth, wat een directe verbinding biedt tussen de wearable en het mobiele apparaat. Ook wifi kan worden gebruikt om de wearable met internet te verbinden wanneer het mobiele toestel buiten bereik is. De wearable kan dan worden geconfigureerd voor verbinding met een openbaar of een ander netwerk waar het apparaat toegangsrechten voor heeft. Dan kunnen er in twee richtingen gegevens worden uitgewisseld. Gegevens kunnen bijvoorbeeld vanaf de wearable via het wifi-netwerk worden overgedragen naar de cloud van de fabrikant van de wearable, waarna ze via het mobiele netwerk naar het mobiele toestel kunnen worden gestuurd. Tegelijkertijd kan het mobiele toestel de wearable updaten over relevante plaatselijke omstandigheden en met e-mail- of tekstberichten.
Omdat wearables niet vaak wifi hebben, vanwege het extra vermogen en de extra kosten ervan, en omdat wearables vrijwel altijd in de buurt van het mobiele toestel zijn waar ze mee zijn gekoppeld, zal dit artikel gericht zijn op Bluetooth.
Bluetooth voor wearables
Bluetooth is oorspronkelijk ontworpen voor peer-to-peer verbindingen voor het streamen van gegevens met een snelheid van 1 tot 3 megabit per seconde (Mbit/s). Deze originele Bluetooth-specificaties zijn vandaag de dag bekend als Bluetooth 3.0 of Bluetooth Classic. Terwijl deze vroege versies van Bluetooth nuttig waren voor het streamen van audio- en multimediabestanden, had hun ontwerp te veel vermogen nodig voor intermitterende besturingssignalen met een lage datasnelheid en laag vermogen en voor sensorgegevens. Voor die toepassingen werd Bluetooth 4.0 ontwikkeld.
Bluetooth 4.0 is nu algemeen bekend als Bluetooth Low Energy (LE) en kan gegevens zo langzaam als 125 kilobit per seconde (Kbit/s) overdragen. Daarnaast brengen Bluetooth LE-chips het grootste gedeelte van hun tijd door in de slaapstand, waarin ze een minimum aan vermogen verbruiken totdat ze nodig zijn. Dit is perfect voor een laagvermogen wearable met een kleine accu.
Om een Bluetooth LE-radio te implementeren in een wearable, kan een ontwikkelaar een microcontroller met geïntegreerde radio of een externe radio gebruiken. De systeemvereisten bepalen wat de optie met het laagste vermogen is.
Als de Bluetooth LE-radio bijvoorbeeld als randapparaat is geïntegreerd in de microcontroller, kan dat waardevolle printplaatruimte besparen. Daarvoor moet de microcontroller echter wel minstens gedeeltelijk zijn gevoed om het radio-randapparaat te laten werken.
De Bluetooth LE-radio kan ook extern aan de microcontroller zijn. Hoewel daar extra printplaatruimte voor nodig is, is het voordeel dat alleen de radiochip actief hoeft te zijn, terwijl de microcontroller in een laagvermogensstand staat. Dit heeft nog het extra voordeel van een modulaire benadering van het wearable ontwerp. Hierdoor kan de host-microcontroller worden vervangen door een krachtiger exemplaar in een nieuwe versie, terwijl de Bluetooth LE-radiochip gelijk blijft. Dit kan ook de designcyclus versnellen, omdat de Bluetooth-radio en stack niet in de microcontroller gecodeerd te hoeven worden.
Een externe Bluetooth-chip gebruiken
Een externe Bluetooth-chip voor een wearable moet een eenvoudige interface met de microcontroller hebben die niet te veel energieverbruik vereist en moet de microcontroller ook kunnen wekken uit een slaapstand. Een toestel dat geschikt is voor wearables, is de DA14585 Bluetooth SoC van Dialog Semiconductor die te zien is op Afbeelding 1.
De DA14585 is gebaseerd op een Arm® Cortex®-M0 kern die 128 kilobyte (Kbyte) in de fabriek geprogrammeerde ROM heeft. Hij bevat ook een eenmalig programmeerbaar (one-time programmable (OTP)) geheugen van 64 Kbyte voor persoonlijke aanpassingen. Dat maakt de ontwikkeling van aangepaste Bluetooth toepassingsfirmware voor de DA14585 mogelijk. Deze firmware heeft ook toegang tot de extra on-chip randapparatuur, zoals:
- Een vierkanaals 10-bits analoog-naar-digitaal converter (ADC) die kan worden gebruikt voor het monitoren van de accu.
- Er kan een kwadratuurdecoder worden gebruikt als interface met een drie-assig human interface device (HID), zoals een stappenteller met richting
- Er kan een toetsenbordcontroller worden gebruikt voor verbinding met en debouncing van drukknoppen
Afbeelding 1: De DA14585 van Dialog Semiconductor is een complete Bluetooth SoC-oplossing met een volledige Bluetooth 5.0 stack, een 2,4 gigahertz (GHz) radio-transceiver en aanvullende hardware voor het aanpassen van een Bluetooth-randapparaat. (Bron afbeelding: Dialog Semiconductor)
De DA14585 bevat ook een 2,4 GHz-transceiver, een basebandprocessor en een geschikte Bluetooth LE 5.0 stack om de tijd te beperken die een ontwerper moet besteden aan het leren van alle nuances van Bluetooth-halfgeleiderontwerpen. De oplossing ondersteunt tot acht gelijktijdige Bluetooth LE-verbindingen, hoewel een wearable er gewoonlijk maar één nodig heeft.
De chip kan verbinding maken met een microcontroller via een UART-, SPI- of I2C-interface. Hoewel het apparaat standaard firmware bevat voor hostcommunicatie, ondersteunt Dialog aanpassing van hostcommunicatie door de ontwerper met het on-chip OTP, voor een efficiënter ontwerp van het wearable-systeem. UART's ondersteunen datasnelheden tot 1 Mbit/s met hardware-stroomregeling, zodat de hostmicrocontroller een compatibele UART-interface moet ondersteunen.
De DA14585 is ook klein. Hij zit in een 34-pins WLCSP die maar 5 millimeter (mm) x 5 mm groot is, waardoor hij een minimale voetafdruk op de printplaat heeft. Zijn profiel is 0,9 mm, waardoor hij geschikt is voor ultradunne wearables.
De Bluetooth LE-kern en stack zijn volledig compatibel met Bluetooth-specificatie v5.0 (Afbeelding 2). Een voordeel om de stack in de DA14585 te hebben in plaats van de microcontroller, is dat wanneer de Bluetooth-specificatie wordt bijgewerkt, Dialog gewoonweg de stack in de DA14585 kan updaten. De wearable werkt net als tevoren, terwijl de ontwikkelaar de optie heeft om de applicatie-firmware van de hostmicrocontroller bij te werken om gebruik te kunnen maken van eventuele veranderingen in de specificaties.
Afbeelding 2: De DA14585 van Dialog Semiconductor heeft een minimum aantal externe componenten nodig. De DA14585 heeft een complete Bluetooth v5.0-kern en radio zodat de ontwikkelaar zich niet hoeft te verdiepen in de details van het bouwen van een Bluetooth-halfgeleideroplossing. (Bron afbeelding: Dialog Semiconductor)
Voor de Bluetooth-radio zijn enkele externe componenten nodig. De radio ondersteunt alle Bluetooth-apparaatklassen en -pakkettypes. Daarnaast kan de radio ook worden uitgeschakeld om energie te besparen. Hij wordt door de Cortex-M0-kern gezien als een AHB-bus randapparaat.
Dialog Semiconductor heeft ook de DA14586, die dezelfde ROM, OTP en randapparaatinstelling heeft als de DA14585, maar met toevoeging van 2 Mbit flashgeheugen. Hoewel flashgeheugen vaak kan worden geprogrammeerd en OTP maar éénmaal, verbruikt OTP aanzienlijk minder energie vergeleken met flash. De DA14585 werkt bovendien met 0,9 tot 3,6 volt, terwijl de DA14586 1,8 tot 3,3 volt nodig heeft.
Een laagvermogen Bluetooth-wearable implementeren
De Bluetooth-kern van de DA14585 heeft twee bedrijfsmodi: actief en diepe slaap. In de actieve modus zendt en ontvangt de radio over de draadloze Bluetooth-verbinding; de diepe-slaapmodus schakelt de kern uit en kan optioneel ook het vermogen van de radio af halen. Omdat een wearable op zijn best een bijna realtime-apparaat is, kunnen de kern en de radio worden geprogrammeerd voor een periodieke slaap- en wekgebeurtenis, om energie te sparen.
De Bluetooth-kern kan bijvoorbeeld worden geprogrammeerd om voor een bepaalde tijd in Diepe Slaap te gaan, dan wakker te worden in actief, berichten of meldingen te beheren naar of over de gebruiker (zoals e-mails, hartslag-updates) en weer terug te keren in diepe slaap. De periode van deze cyclus kan door de ontwikkelaar worden ingesteld. Hoe langer de kern in diepe slaap is, hoe meer accuvermogen er wordt bespaard; als de diepe slaap echter te lang duurt, kan dit vertraagde Bluetooth-berichten tot gevolg hebben. De kern kan zo worden geprogrammeerd dat hij langer in de actieve modus blijft, om latentie en responsietijden te verminderen, maar daarbij wordt wel meer energie verbruikt. De ontwikkelaar moet experimenteren met verschillende diepe slaap- en actieve-modusperioden om het verbruik versus de responsietijd te optimaliseren voor de beste gebruikerservaring.
De hoofd Arm Cortex-M0-processor voor de DA14585 ondersteunt vier vermogensmodi: actief, slaap, verlengde slaap en diepe slaap. Deze vermogensmodi moeten niet worden verward met de vermogensmodi van de Bluetooth-kern. De Bluetooth-kern kan in de actieve modus staan, terwijl de Arm-kern en randapparatuur in hun eigen verlengde-slaapmodus zijn.
- In de actieve modus zijn de Arm-kern en de randapparatuur allemaal gevoed en actief. Dit is de modus waarin de DA14585 staat tijdens een actieve Bluetooth-gegevensverbinding. In de actieve modus, met de DA14585 gevoed met 3 volt, verbruikt het apparaat 5,3 milliampère (mA) tijdens het ontvangen en 4,9 mA tijdens het zenden.
- In de slaapmodus is de Arm-kern inactief, maar blijft de status behouden. Dit bespaart energie wanneer de Bluetooth actief is en de Arm-kern wacht totdat de overdracht is voltooid zodat hij kan reageren op de gegevens. De stroomafname in de slaapmodus varieert afhankelijk van welke randapparatuur actief is.
- In de verlengde-slaapmodus is de Arm-kern inactief, samen met bepaalde randapparaten. Deze modus kan worden gebruikt om energie te besparen wanneer de Bluetooth-kern in zijn eigen diepe-slaapmodus is en ook tijdens lange perioden dat de Bluetooth inactief is. Het randapparaat en de host-interface kunnen actief zijn en beide kunnen ze de Arm-kern wekken met een interrupt bij gedetecteerde activiteit. Deze modus verbruikt een minimale hoeveelheid energie. In verlengde slaap verbruikt de DA14585 3,3 microampère (µA) met behoud van 64 Kbyte RAM.
- De laagste vermogensmodus voor de Arm en randapparatuur is de diepe-slaapmodus. Deze schakelt alles uit, inclusief de Bluetooth-radio. Dit kan nuttig zijn als de gebruiker beslist om Bluetooth uit te schakelen en er geen randapparaten van de DA14585 nodig zijn. In diepe slaap kan de DA14585 zo weinig als 610 nanoampère (nA) verbruiken, of 1,4 µA als er 16 Kbyte RAM behouden moet blijven.
In de basiswerking zou de Bluetooth-kern van de op DA14585 gebaseerde wearable het grootste gedeelte van de tijd doorbrengen in de diepe-slaapmodus, terwijl de Arm in de slaap- of de verlengde-slaapmodus staat. De Bluetooth-kern wordt dan regelmatig met een geprogrammeerd interval gewekt in de actieve modus om te controleren of er draadloze gegevens zijn, terwijl de Arm-kern wordt gewekt tot de actieve modus en de gegevens communiceert met de hostmicrocontroller. Wanneer de overdracht voltooid is, gaat de Bluetooth-kern in diepe slaap, terwijl de Arm-kern in de slaap- of verlengde-slaapmodus gaat. Dit levert een actieve en betrouwbare verbinding op met het mobiele apparaat, terwijl er toch vermogen wordt bespaard.
Aan de slag met de DA14585
Om aan de slag te gaan met de DA14585, heeft Dialog voor de DA14585-00ATDEVKT-B Bluetooth DA14585 basis-ontwikkelingskit gezorgd (Afbeelding 3).
Afbeelding 3: Het DA14585 basis-evaluatiebord van Dialog Semiconductor wordt met een pc verbonden via een USB-interface en bevat alles wat een ontwikkelaar nodig heeft om microcontrollerdrivers en applicatie-firmware voor het apparaat te testen en te debuggen. (Bron afbeelding: Dialog Semiconductor)
De DA14585 basis-ontwikkelingskit ondersteunt volledige debugging via een USB-interface. Hij wordt bestuurd door een hostmicrocontroller van Microchip Technology die extern flashprogrammageheugen gebruikt. Applicatie-firmware voor de microcontroller kan in het flashgeheugen worden geladen via de USB-interface. De ontwikkelaar kan de voorbeeldprogramma's uit de kit laden en ze gebruiken als interface met een ander Bluetooth-apparaat, zoals een pc. Daarna kan de eigen firmware van de ontwikkelaar worden geladen en debugged.
Conclusie
Ontwerpers van wearable apparaten moeten optimaliseren voor een minimaal energieverbruik voor de beste gebruikerservaring, terwijl ze ook rekening houden met ontwikkelingstijd en -kosten. Een draadloze interface kan een groot deel van het vermogensbudget opmaken, maar dit kan sterk worden gematigd via een zorgvuldige selectie en implementatie van de interface.
Zoals is getoond, kan het gebruik van een externe Bluetooth-chip met een hostmicrocontroller de ontwikkelingstijd versnellen, zodat ontwikkelaars een wearable kunnen creëren zonder vanuit het niets een Bluetooth-interface te ontwerpen. Door een juist gebruik van de beschikbare laagvermogenmodi kan de accu langer meegaan terwijl een betrouwbare werking gegarandeerd blijft.
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.



