Hur kan du implementera fast LoRa-programvara trådlöst (FOTA) med minimal effektförbrukning

Av Bill Giovino

Bidraget med av DigiKeys nordamerikanska redaktörer

Under oktober 2018 lanserade LoRa Alliance specifikationer som standardiserade trådlösa uppdateringar av fast programvara (FOTA) för IoT-slutpunkter. Det här är goda nyheter för LoRa-nätverk, men det innebär en utmaning för tillverkare av IoT LoRa-slutpunkter med låg effekt som använder Flash-mikrostyrenheter.

Jämfört med läsning innebär skrivning till mikrostyrenheternas flashminne en tillfällig, men dramatisk ökning av mikrostyrenhetens strömförbrukning. Det kräver även att man använder en större spänningsregulator för att hantera den ökade effekten.

Ingen av dem är önskvärda, men den här artikeln beskriver hur en mikrokontroller med FRAM kan användas som en lågeffektmetod för att skriva fast programvara. Tillsammans med en ny LoRa-transceiver bildar kombinationen en lösning med lägre effekt för FOTA jämfört med den traditionella flash-mikrokontrollermetoden.

Vad är LoRa?

Med tingens internet (IoT) är ett av målen att skicka data trådlöst med så låg effektförbrukning som möjligt. Konstruktörer av batteridrivna sensortillämpningar har varit särskilt intresserade av att skicka lågeffektsensordata trådlöst många kilometer samtidigt som batteriets effektförbrukning minimeras. Av de befintliga lösningarna är Bluetooth och Zigbee utformade för kortdistanstillämpningar och mobildata är relativt effekttunga. LoRa är en populär lösning på det här problemet.

LoRa är en förkortning för long range (lång räckvidd). LoRa trådlöst nätverk har utvecklats för långdistansöverföring av icke-realtidsdata med låg datahastighet och låg effekt. Datahastigheten är mellan 0,3 kilobit/sekund (kbit/s) och 5,5 kbit/s vilket gör den lämplig för periodiska sensordataöverföringar. Medan LoRa-specifikationerna beskriver modulerings- och de elektriska egenskaperna hos nätverket beskriver LoRaWAN (omfattande datanätverk) protokollen och dataformatet i ett LoRa-nätverk.

LoRa-signalering liknar FM i det att det modulerar en signal genom att ändra dess frekvens. Medan en korrekt modulerad FM-signal ändrar frekvens omedelbart ökar eller minskar en LoRa-modulerad signal långsamt frekvens över tid. Den här gradvisa ökningen eller minskningen i frekvens kallas chirp och metoden kallas chirp-modulering. Frekvensens ändringstakt över tid kallas "chirpiness".

LoRaWAN-nätverk arrangeras alltid i stjärntopologi och signalerings- och åtkomstprotokollet utformas för att använda minimal effekt och minimerar signalkollisioner för flera ändpunkter. Varje LoRaWAN-ändpunkt skickar sina data till en gateway som överför data till ett annat nätverk som Ethernet eller Wi-Fi. Normalt tar gatewayen emot alla LoRaWAN-data och överför dem via nätverket till en central dator för lagring eller ytterligare behandling.

Räckvidden för trådlös kommunikation beror på miljön. I större städer kan de förväntade LoRaWAN-sändräckvidden vara från 1,6 till 4,8 kilometer. På landsbygden kan räckvidden vara 4,8 till 27 kilometer och dataöverföringar med fri sikt kan nå upp till 209 km. I ett fall kunde en LoRaWAN-ändpunkt i en väderballong sända data till en gateway på marken på 697 km avstånd med endast 25 milliwatt (mW) sändarkraft.

Varje LoRa-ändpunkt har tre avsnitt:

  1. En eller flera sensorer som samlar in data
  2. En mikrokontroller
  3. Ett Semtech LoRa-radiochip

Sensorerna är anledningen till slutpunkten. LoRa-sensortillämpningar kan inkludera temperatur- och fuktövervakning, vätskenivåövervakning för vatten och bränsle samt luft- och vätsketryck. Dessa typer av sensorer samlar in statiska data som inte ändras snabbt över tid och som därför kan överföras trådlöst vid endast 5,5 kbit/s utan påverkan på tillämpningen.

Radiochippet och antennen kommunicerar direkt via LoRa-nätverket. Semtech är företaget som äger patenten till LoRa överföringstekniken. Idag använder alla LoRa-radioenheter antingen Semtechs radiochip eller så använder de radiomoduler som har Semtechs radiochip inuti.

Semtech SX1262IMLTRT LoRa-radiotransceiver är utformad för batteridrivna LoRa-tillämpningar och uppfyller LoRaWAN-radiosändningsstandarden (figur 1). När data sänds eller tas emot förbrukar den endast 4,2 milliampere (mA) med en RF-uteffekt på +22 dBm. En version med lägre effekt, SX1261, har en RF-uteffekt på +15 dBm. Båda är halvduplexsändtagare som arbetar i sub-GHz-området och hanterar konstanta kuvertmoduleringsscheman som LoRa, såväl som frequency shift keying (FSK). Både DC-DC buck-omvandlare och linjär LDO-reglering tillhandahålls på kortet.

Schema över Semtech SX1262IMLTRT och SX1261 fristående havduplexradio

Figur 1: Semtech SX1262IMLTRT och SX1261 är fristående halvduplexradioenheter för LoRa-tillämpningar som innefattar både en DC-DC buck-omvandlare och linjär LDO-reglering på kortet. (Bildkälla: Semtech)

Välja en mikrokontroller för en LoRaWAN-slutpunkt

Mikrokontrollern i en LoRaWAN-slutpunkt läser av och behandlar sensordata och samverkar även med SX1262 för att sända the data via nätverket. Mikrokontrollern måste ha tillräckligt minne för SX1262-drivkretsarna, sensordrivkretsarna och tillämpningskoden. Kraven på en mikrokontroller i en LoRaWAN-slutpunkt som använder Semtech SX1262-radiochippet visas i tabell 1.

Krav på LoRaWAN-mikrokontroller Minimikrav Rekommenderade krav
Flashminne 128 kbyte 256 kbyte eller mer
RAM 8 kbyte 16 kbyte eller mer
AES-128-kryptering Fast programvarurutin Maskinvarublock (krävs för flersändningsnedlänkar)
Realtidsklocka (RTC) med upplösning på 1 millisekund Krävs inte om en intern timer används som tidsbas Krävs för uppdateringar av fast programvara OTA, flersändning och synkronisering av nätverksklocka
Externa brytarstift för SX126x-genererade avbrott Två IRQ-stift: BUSY och ett programmerbart IRQ (DIO1) Fyra IRQ-stift: BUSY och tre programmerbara IRQ (DIO1:3)
SPI-gränssnitt för SX126x Krävs: SCK, MOSI, MISO, CS Krävs: SCK, MOSI, MISO, CS
IEEE 64 bitars EUI-generering Krävs, fast programvarurutin Krävs, fast programvarurutin eller maskinvarublock
Mikrokontroller CPU 8-bitars 16-bitars eller 32-bitars

Tabell 1: Minimikraven för en mikrokontroller visas för en enkel LoRaWAN-slutpunkt som samlar in och sänder sensordata med minimal bearbetning. För mer komplexa slutpunkter ger de rekommenderade kraven ett mer robust system. (Tabellkälla: Semtech)

Enligt tabellen kan minimikraven för en grundläggande fristående LoRaWAN-slutpunkt implementeras på en 8-bitars mikrokontroller. Det kan vara en enkel LoRaWAN-slutpunkt med låg effekt som endast tillfälligtvis behöver sända råsensordata tillbaka till en gateway.

Om slutpunkten dock hanterar mycket trafik eller måste utföra bearbetning av sensordata ska de rekommenderade kraven i tabell 1 följas. I takt med att minnes- och bearbetningskraften ökar i en LoRaWAN-slutpunkt ökar även slutpunktens effektförbrukning, vilket kräver ett batteri med högre kapacitet. Detta motsäger konstruktionsavsikten med LoRaWAN när det gäller IoT-slutpunkter med låg effekt.

När du konstruerar en LoRaWAN-slutpunkt är det viktigt att fokusera på att det är ett lågeffektsystem och att inte låta funktionsinflation komplicera systemet och därigenom förbruka mer energi än nödvändigt. När en mikrokontroller ska väljas för en LoRaWAN-slutpunkt är det viktigt att se till att hålla klockningshastighet och minnesstorlek så låga som möjligt eftersom dessa parametrar även påverkar effektförbrukningen.

Uppdatera fast programvara för mikrokontrollern i en LoRaWAN-slutpunkt

I oktober 2018 standardiserade LoRa Alliance hur fast programvara uppdateras trådlöst (FUOTA) för LoRa-slutpunkter för alla LoRa-nätverk. De nya standarderna möjliggör nätverkstäckande klocksynkronisering som dramatiskt minskar antalet förlorade datapaket. Det standardiserar även flersändningar, vilket är nödvändigt när du skickar samma uppdatering av fast programvara till flera slutpunkter. Både klocksynkronisering och flersändningar kräver en exakt tidsbas, vilket innebär att alla LoRa-slutpunkter måste ha mikrostyrenheter som har en RTC-precision ned till en millisekund.

Att uppdatera den fasta programvaran i LoRaWAN-slutpunkter är en viktig funktion, men det medför ett nytt problem. Att uppdatera fast programvara på fältet innebär att omprogrammera mikrokontrollerns programminne, vilket är normalt är icke-flyktigt flashminne. Programmering av flashminne kräver att 10 volt eller mer tillförs minnescellen. Det kräver en större spänningsregulator och relaterade kretsar för att programmera flashminnet. Eftersom uppdateringar av fast programvara i vissa nätverkssystem endast kan ske några gånger per år är det en investering som ökar kostnaden och förbrukar mer kortutrymme ineffektivt.

Ett alternativ till en mikrokontroller med flashminne är en mikrokontroller med ferroelektriskt RAM-minne (FRAM). FRAM-minne kräver endast 1,5 volt för att programmera en cell. Ett bra exempel som uppfyller de rekommenderade kraven för en LoRaWAN-nod är den MSP430FR6047 FRAM-baserade mikrokontrollern på 16 bitar från Texas Instruments. Den har 256 kbyte FRAM-programminne och en RTC med kalender- och larmfunktioner. Ett krypteringsblock stödjer AES-128 och AES-256. Det har stöd för upp till fyra SPI-portar är har ett väl tilltaget antal externa brytaringångar för att stödja de fyra som krävs av Semtech SX1262, vilket gör samverkan mellan de två enheterna mycket enkelt. Dessutom kan generering av IEEE 64-bitars utökad unik identifierare (EUI) enkelt implementeras i fast programvara (figur 2).

Schema över Texas Instruments MSP430FR6047 (klicka för att förstora)

Figur 2: MSP430FR6047 har 256 kbyte FRAM, 8 kbyte SRAM och ett brett urval av kringutrustning för sensorbaserade tillämpningar. (Bildkälla: Texas Instruments)

MSP430FR6047 är utformad för batteridrivna smarta mätare och har integrerad ultraljudsavkänningsutrustning som ger högprecisionsvkänning av vattenflöde och vätskenivåavkänning. Dessa avancerade funktioner kan enkelt anpassas för många olika sensortillämpningar.

Trots att MSP430FR6047 endast har 8 kbyte RAM istället för de rekommenderade 16 kbyte behöver det inte vara ett problem i en LoRaWAN-sensorslutpunkt om komplex sensorfusionsbearbetning inte krävs. MSP430FR6047 har dessutom en hög grad av integrering som förbättrar prestandan samtidigt som det sparar minne och utrymme på kortet. En analog front-end för tillämpningar inom utraljudsavkänning inkluderar en programmerbar pulsgenerator, en 12-bitars analog-till-digitalomvandlare (ADC) och en programmerbar förstärkare. Alla dessa är mycket användbara vid insamling av data från analoga sensorer.

MSP430FR6047 har en 32-bitars maskinvarumultiplikator och en signalbehandlingskärna med lågenergiaccelerator (LEA) som kan utföra 256-punkters FFT-beräkningar oberoende av MSP430-kärnan. LEA accelererar signalbehandlingen för lågeffekttillämpningar och utökar batterilivslängden.

MSP430FR6047 har mycket låg effekt, till och med när det gäller 8-bitars- och 16-bitars mikrostyrenheter som redan är lågeffektenheter. Med MSP430 16-bitars kärna och kringutrustning igång förbrukar den endast 120 mikroampere per megahertz (µA/MHz). Standbyläge med RTC igång förbrukar endast 450 nanoampere (nA). Mikrokontrollern har ett avstängningsläge so endast förbrukar 30 nA, men som också stänger av realtidsklockan (RTC), så läget rekommenderas inte för en LoRaWAN-slutpunkt.

Konstruktion med FRAM för FUOTA

För utveckling av fast programvara för MSP430FR6047 är utvecklingskortet EVM430-FR6047 tillgängligt. Det är USB-drivet och innehåller all maskinvara som krävs för att utvärdera MSP430 i en tillämpning. Utvärderingskortet har kontakter för BoosterPack™-moduler för att lägga till ytterligare funktion till kortet. Ytterligare stift är tillgängliga på kortet för anslutning av sensorer.

Bild av Texas Instruments EVM430-FR6047 utvärderingskort

Figur 3: Texas Instruments EVM430-FR6047 utvärderingskort för MSP430FR6047 har en LCD-display och ger åtkomst till alla stift på MSP430FR6047. (Bildkälla: Texas Instruments)

För utvärdering och utveckling av SX1262 tillhandahåller Semtech SX1262MB2CAS LoRa MBED-sköld (figur 4).

Bild på Semtech MBED-sköld för SX1262

Figur 4: Semtech MBED-skölden för SX1262 är ett enkelt utvärderingskort som innehåller SX1262 RF-transceivern. (Bildkälla: Semtech)

MSP430 BoosterPack-kontakterna tillhandahåller alla nödvändiga signaler för att MSP430 ska kunna samverka med Semtech SX1262 MBED-skölden. BoosterPack-kontakten har de nödvändiga fyra SPI-stiften samt tre extra GPIO-stift som kan konfigureras som avfrågade insignaler till MSP430 eller som externa avbrott. Om ännu ett externt avbrott krävs är fyra av stiften på BoosterPack anslutna till en av MSP430 UART-enheterna. Dessa UART-stift kan konfigureras antingen som GPIO eller externa avbrott för MBED-skölden. Trots att BoosterPack- och MBED-skölden inte är fysiskt stiftkompatibla kan de enkelt byglas för att tillhandahålla de nödvändiga anslutningarna mellan MSP430 och SX1262.

Dessutom tillhandahåller Texas Instruments Code Composer Studio™ en integrerad utvecklingsmiljö (IDE) med stöd för att skriva och felsöka MSP430-kod.

Slutsatser

LoRa har blivit en populär standard för att överföra IoT-sensordata. Standarden har utökats för att innefatta FUOTA och för med sig nya utmaningar för lång batterilivslängd. Genom att välja FRAM-baserade mikrostyrenheter istället för flashminne kan konstruktörerna avsevärt minska effektbehovet för att skriva dessa uppdateringar till enhetsminnet.

Som visats blir valet av mikrostyrenheter ännu viktigare för att minimera batteriurladdningen samtidigt som tillräcklig behandlingskraft finns för tillämpningen.

 
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