USB i en batteridriven IoT-värld
Under det senaste decenniet har USB-standarden (Universal Serial Bus) kommit att bli det mest populära gränssnittet bland konstruktörer av industri- och konsumentprodukter när det gäller att uppnå konnektivitet med andra applikationer. Bland orsakerna finns att standarden är lättanvänd, robust och klarar plug-and-play. Alf Petter Syvertsen från Silicon Labs visar här hur standarden kan användas också i extremt energisnåla tillämpningar.
USB har uppnått sitt främsta mål, att göra det enklare för kunderna att styra periferienheter och överföra data. Med mer än tre miljarder USB-enheter levererade till marknaden är USB inte bara det snabbast växande gränssnittet bland konsumentapplikationer, utan det har också uppnått en avsevärd tillväxt på industriella marknader.
Men USBs lättanvändbarhet, plug-and-play-funktionalitet och robusthet är inte något som den som konstruerar embedded-lösningar får helt gratis, speciellt inte om de konstruerar effektkänsliga och batteridrivna uppkopplade produkter för Internet of Things. För små, bärbara apparater gäller att om man lägger till USB som kommunikationsgränssnitt så minst fördubblar man strömförbrukningen, vilket leder till att apparaterna kräver större batterier än man ursprungligen tänkt sig.
Att uppgradera från ett traditionellt, seriellt kommunikationsgränssnitt till det populära USB-gränssnittet lägger ofta omöjliga restriktioner på energibudgeten. Ofta måste utvecklaren välja mellan att fördubbla batteristorleken och därmed öka produktens kostnad – vilket gör den mindre attraktiv – eller att avstå från välbehövliga, produktsärskiljande egenskaper.
Låt oss ta en titt på hur USB-standarden har utvecklats, från drömmen om att standardisera alla PC-anslutningar till att bli en state-of-the-art-teknologi som gör det möjligt för t o m små batteridrivna enheter för Internet of Things att kommunicera med vad som helst.
Kort bakgrund till USB
Den som i slutet av 90-talet tog en titt på baksidan av en PC märkte genast vilken mängd av standarder det fanns för anslutning av olika slags hårdvara till datorn. Här fanns bl a 5-pins DIN och PS/2, serieport och parallellport och kanske en SCSI-port eller två, och om man var spelare hade man nog en spelport på ljudkortet.
De som ursprungligen utvecklade USB insåg vilket fragmenterad situation detta var, och 1995 började man skapa en gemensam M2M-standard (machine-to-machine) som skulle ersätta alla andra standarder. När USB i började användas slutet av 90-talet handlade det mest om att lägga till ytterligare en kontakt på PCn. Men i början av 2000-talet ökade användningen snabbt, och efter en serie uppdateringar är USB idag en av de mest populära M2M-gränssnitten.
Vilken framgång USB-standarden blivit framgår tydligt om du tittar på din bärbara dator eller mobiltelefon. Din smartphone har bara en enda kontakt: USB. Och om du köpt din bärbara dator efter 2010 har den troligen bara USB-kontakter, förutom kontakterna för bildskärm och nätverk. Dessutom kommunicerar ritplattor, tangentbord och andra periferienheter som används med dagens bärbara datorer och surfplattor med huvudprocessorn via USB.
USB-standarden delar upp anslutningstopologin i USB-enheter (devices) och USB-värdar (hosts). USB-värden är den maskin som initierar kommunikationen och tillhandahåller effekt. På ditt skrivbord är det vanligen en bärbar dator eller en bordsdator. USB-enheten är den enhet som är ansluten till värden och bara svarar på allt som värden ber om. På ditt skrivbord kan detta vara en mus och ett tangentbord.
Det coola med en USB-kontakt är att den också tillhandahåller effekt till de anslutna enheterna, så det krävs inte något externt spänningsaggregat till din mus eller externa hårddisk. USB-standarden specificerar att värden skall kunna ge åtminstone 100 mA till enheten, och om vi har tur kan det finnas hela 500 mA att tillgå.
Dessa krav kommer från den ursprungliga USB-standarden. Då var värden alltid en PC, och den var som regel ansluten till elnätet. Strömkraven har effektivt satt stopp för utvecklingen av USB för lågeffektsapplikationer. Men vad händer när detta beprövade M2M-gränssnitt möter dagens batteridrivna värld för IoT? Vad händer om även värden är en bärbar enhet?
Påverkan på dagens USB-hårdvara
I samband med dagens bärbara apparater förekommer ofta uttrycket ”effektbudget”. Denna budget dikterar hur mycket energi enheten får förbruka, och den baseras på batteristorleken och den nödvändiga batterilivslängden. En applikation som har ett batteri på 250 mAh och som kräver två dygns driftstid (48 timmar) har t ex en effektbudget på omkring 5 mA. Denna effektbudget måste distribueras över allt konstruktören vill att enheten skall göra, från sensorns avläsning och databearbetning till kommunikation och drivning av displayen.
Under de två, tre senaste decennierna såg vi MCU-kretsarna bli mindre och batterierna bättre, vilket medförde en explosion av bärbara elektroniska enheter – alltifrån vindmätare och oscilloskop till digitala alkotestare och fjärrkontroller.
Men i och med introduktionen av smarta mobiler med quad-core gigahertz-processorer ser vi nu att allt fler mobila enheter introduceras som tillbehör till dessa smartphones, eftersom tillverkaren av enheterna inte längre behöver bry sig om bearbetningskraft och användargränssnitt. Denna marknadstrend driver på ett ökande antal prisbilliga tillbehör. Ett exempel är den av Kickstarter uppbackade vindmätaren Vaavud. Mätaren använder gränssnittet HiJack, ett ”uppkommet” gränssnitt som fungerar med enkla apparater men som är långt från optimalt.
För att kunna konstruera en bärbar enhet som är verkligt universell och användarvänlig behöver man välja ett mer passande M2M-gränssnitt – som USB. Genom att välja USB gör man också att de prylar man konstruerar blir värd-oberoende, vilket betyder att det inte längre spelar någon roll om man ansluter dem till en Mac, en Windows-mobil eller en Android-surfplatta.
Men tänk oss nu att vi vill ansluta alla dessa extra prylar via USB till våra batteridrivna ”följeslagare”. Då blir plötsligt något som man aldrig tog hänsyn till i den ursprungliga USB-specifikationen – nämligen effektförbrukningen – en huvudfaktor som måste beaktas vid valet av USB-baserad lösning. Man vill ju inte slösa bort den värdefulla batterilivslängden hos en surfplatta eller bärbar dator bara på att kommunicera med olika anslutna enheter. Och man vill ju knappast konstruera ett enkelt externt tillbehör till en smartphone som snabbt skulle tömma telefonens batteri.
Genom att välja rätt typ av USB-hårdvara kan man utveckla apparater med mycket lägre energikrav, eftersom ett universellt M2M-gränssnitt ger oss möjlighet att ta bort nästan alla externa komponenter.
USB-teknologi för den batteridrivna världen
För att förstå hur USB-teknologin skall kunna förbättras när det gäller effektförbrukning, men samtidigt behålla sin lättanvändbarhet och plug-and-play-funktionalitet, måste vi först ta en snabb titt på hur USB-kommunikation fungerar. Generellt sett kan bara USB-värden initiera dataöverföringar. Även när ingen trafik pågår sänder värden ”keep-alive”-meddelanden till anslutna USB-enheter varje millisekund.
Om någon enhet har data att överföra kommer den att svara. Under detta aktiva läge kan enheten dra upp till 100 mA ström, och värden förväntar sig att den skall svara omedelbart på varje förfrågan. När värden slutar sända dessa keep-alive-meddelanden under 3 ms skall USB-enheten gå ned i ett viloläge och omedelbart minska strömförbrukningen till under 3 mA.
I detta viloläge kan större delen av USB-enheten stängas av, och vanligen kan man stänga av de mest effekthungriga delarna av PHYn. Även om 3 mA viloström inte utgör något problem för en modern CPU finns det ändå ingen anledning att låta den vara så hög. MCU-kretsar med väl genomtänkta energisparlägen skall kunna klara sig med mindre än 3 µA i detta läge, inklusive PHYns strömförbrukning.
Men även i aktivt läge kan, t ex vid USB-kommunikation med ett vanligt tangentbord, detta aktiva läge vara ganska inaktivt. Under större delen av tiden väntar ju enheten bara på att värden skall sända data. Men när värden ber om ett svar från enheten måste svaret komma omedelbart. Detta är orsaken till att de flesta implementeringar låter USB-periferienheter köra med 48 MHz hela tiden, så att de kan uppnå tillräckligt korta svarstider. I detta speciella exempel går linjerna på tomgång under 97 procent av tiden, trots att vi är numrerade och aktiva.
USB-implemeteringar som optimerats för batteridrivna applikationer är anpassade till denna effekthantering, och de bestämmer exakt när klockan måste vara igång och hur länge, och vilka andra delar av USB som kan stängas av. Silicon Labs har nu två patenterade lösningar där vi har tagit hänsyn till synpunkter från tillverkare och kunder för att göra USB-konnektivitet verkligt användbar i dagens batteridrivna IoT-värld.
Fig 1. Busstrafiken för ett tangentbord. När LEM-signalen (low-energy mode) är aktiv är de effekthungriga delarna av USB-gränssnittet avaktiverade.
Energieffektiv kommunikation, även i aktivt läge, åstadkoms genom att vi använder USB-oscillatorer som inte kräver några kristaller och att vi kopplar bort den effekthungriga delen av USB-konnektivitet mellan paketen, som visas i fig 1. Denna innovativa ansats reducerar i hög grad effektförbrukningen på systemnivå, och möjliggör sant universella M2M-gränssnitt som uppvisar exceptionell energieffektivitet.
Fig 2. En typisk USB-transceiver stannar i ”mottagningsläge” under tomgång och slösar bort 3-5 mA. Med LEM-metoder kan sändaren behållas kvar i ett lågströmsläge som liknar tomgång.
Naturligtvis måste lågenergi-USB implementeras så att lösningarna blir osynliga för utvecklare och användare. Vad man kommer att märka är en avsevärt minskad effektförbrukning tack vare LEM-lägen (low-energy mode), som visas i fig 2. När denna teknologi kombineras med andra utrymmes- och kostnadsbesparande funktioner, som kristallfria USB-implementeringar och klockåtervinning, kan utvecklarna få uppleva universella M2M-gränssnitt med ultralåg effektförbrukning och utan behov av ytterligare externa komponenter.
Sammanfattning
USB-gränssnittet har utvecklats från en enkel önskan att minska mängden kablar kring en vanlig bords-PC till att bli defacto-standarden för anslutning av konsumentprodukter. Den snabba ökningen av antalet portabla apparater med USB har tvingat fram nya konstruktionskrav för integrerade USB-periferienheter.
Ny, intelligent USB-hårdvara har möjliggjort minskade kostnader, minskad effektförbrukning och utökad batterilivslängd. När allt detta kombineras med kristallfri USB-teknologi blir det möjligt för den brett utbredda USB-standarden att göra så att alla uppkopplade apparater blir smarta och energivänliga.
Alf Petter Syvertsen, 32-bit MCU Product Manager, Silicon Labs
Filed under: Mikroprocessorer