本文將介紹如何使用配備 FRAM 的微控制器作為低功耗方式來寫入固件。與傳統(tǒng)的閃存微控制器方法相比,通過與新 LoRa 收發(fā)器配合使用,新組合可形成針對 FOTA 的低功耗解決方案。
LoRa 是什么?
隨著物聯(lián)網(wǎng) (IoT) 的興起,其中一個目標(biāo)是使用盡可能少的功率對數(shù)據(jù)進(jìn)行無線傳輸。電池供電型傳感器應(yīng)用的設(shè)計(jì)人員在最大限度地減少電池電量使用的同時,特別關(guān)注在數(shù)英里內(nèi)無線發(fā)送低速傳感器數(shù)據(jù)。在現(xiàn)有解決方案中,藍(lán)牙和 Zigbee 專為短距離應(yīng)用而設(shè)計(jì),而蜂窩數(shù)據(jù)的功率相對較大。LoRa 已經(jīng)發(fā)展成為解決這一問題的常用解決方案。
LoRa 是遠(yuǎn)程 (long range) 英文的縮寫。LoRa 無線網(wǎng)絡(luò)專為非實(shí)時數(shù)據(jù)的低速率、低功耗、遠(yuǎn)程傳輸而開發(fā)。數(shù)據(jù)速率介于 0.3 千位元/秒 (Kb/s) 和 5.5 Kb/s 之間,適合定期傳輸傳感器數(shù)據(jù)。雖然 LoRa 規(guī)范說明了網(wǎng)絡(luò)的調(diào)制和電氣特性,但 LoRaWAN(廣域網(wǎng))說明了 LoRa 網(wǎng)絡(luò)的協(xié)議和數(shù)據(jù)格式。
LoRa 信號發(fā)送類似于 FM 調(diào)頻,也是通過改變頻率來調(diào)制信號。但是,正確調(diào)制的 FM 信號可瞬時改變頻率,而 LoRa 調(diào)制信號需要一段時間才能緩慢地提高或降低頻率。這種頻率的逐漸提高或降低稱為啁啾,這種方法稱為啁啾調(diào)制。頻率隨時間的變化率稱為“啁啾率”。
LoRaWAN 網(wǎng)絡(luò)始終以星形拓?fù)浣Y(jié)構(gòu)排列,信號發(fā)送和訪問協(xié)議的設(shè)計(jì)目的是使用最小功率,并最大限度地減少多個端點(diǎn)的信號沖突。每個 LoRaWAN 端點(diǎn)會將其數(shù)據(jù)發(fā)送到一個網(wǎng)關(guān),該網(wǎng)關(guān)可將數(shù)據(jù)傳輸?shù)搅硪粋€網(wǎng)絡(luò),如以太網(wǎng)或 Wi-Fi。一般來說,網(wǎng)關(guān)可接收 LoRaWAN 的所有數(shù)據(jù),并可通過網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)街醒胗?jì)算機(jī)進(jìn)行存儲或進(jìn)一步處理。
任何無線通信的范圍都取決于環(huán)境。在市郊和市中心,LoRaWAN 的傳輸距離預(yù)計(jì)在 1 - 3 英里之間。農(nóng)村地區(qū)的傳輸距離可達(dá) 3 - 9 英里,直接視距的數(shù)據(jù)傳輸最高可達(dá) 131 英里。在某個案例中,氣象氣球中的一個 LoRaWAN 端點(diǎn)僅使用 25 毫瓦 (mW) 的發(fā)射功率,就可將數(shù)據(jù)傳輸?shù)?436 英里外的地面網(wǎng)關(guān)。
每個 LoRa 端點(diǎn)都有以下三種器件:
一個或多個用于收集數(shù)據(jù)的傳感器
一個微控制器
一塊 Semtech LoRa 無線電芯片
傳感器是端點(diǎn)的主要設(shè)備。LoRa 傳感器應(yīng)用可包括溫度和濕度監(jiān)測、水和燃料的液位監(jiān)測,以及空氣和液體壓力。這些類型的傳感器收集的是靜態(tài)數(shù)據(jù),這種數(shù)據(jù)不會隨時間的推移而快速變化,因此可以僅以 5.5 Kb/s 的速度進(jìn)行無線傳輸,而不會對應(yīng)用產(chǎn)生任何影響。
無線電芯片和天線通過 LoRa 網(wǎng)絡(luò)直接通信。Semtech 是一家擁有 LoRa 傳輸方案專利的公司。目前,所有 LoRa 無線電都使用 Semtech 的無線電芯片,或者使用含有此芯片的無線電模塊。
Semtech SX1262IMLTRT LoRa 無線電收發(fā)器專為電池供電型 LoRa 應(yīng)用而設(shè)計(jì),且符合 LoRaWAN 無線電傳輸標(biāo)準(zhǔn)(圖 1)。發(fā)送或接收數(shù)據(jù)時,該收發(fā)器僅消耗 4.2 毫安 (mA) 電流,射頻輸出功率為 +22 dBm。SX1261 是功耗更低的收發(fā)器,其射頻輸出功率僅為 +15 dBm。這兩款收發(fā)器均屬于半雙工收發(fā)器,在次 GHz 頻率范圍內(nèi)運(yùn)行,可處理恒定包絡(luò)調(diào)制方案,例如 LoRa 和頻移鍵控 (FSK)。電路板上均配備 DC-DC 降壓轉(zhuǎn)換器和線性 LDO 穩(wěn)壓器。
圖 1:Semtech 的 SX1262IMLTRT 和 SX1261 是針對 LoRa 應(yīng)用的自足式半雙工無線電,電路板上均配備 DC-DC 降壓轉(zhuǎn)換器和線性 LDO 穩(wěn)壓器。(圖片來源:Semtech)
為 LoRaWAN 端點(diǎn)選擇微控制器
LoRaWAN 端點(diǎn)中的微控制器可以讀取并處理傳感器數(shù)據(jù),并且與 SX1262 相連,以通過網(wǎng)絡(luò)傳輸數(shù)據(jù)。該微控制器必須有足夠內(nèi)存,以滿足 SX1262 驅(qū)動程序、傳感器驅(qū)動程序和應(yīng)用程序代碼的需要。表 1 顯示的是對使用 Semtech SX1262 無線電芯片的 LoRaWAN 端點(diǎn)中微控制器的要求。
表 1:表中顯示的微控制器最低要求是針對簡單 LoRaWAN 端點(diǎn)而言的,此類端點(diǎn)需要以最少的處理量來收集和傳輸傳感器數(shù)據(jù)。對于較復(fù)雜的端點(diǎn),建議要求提供了更強(qiáng)大的系統(tǒng)。(表格來源:Semtech)
根據(jù)此表格,使用一個 8 位微控制器,即可滿足基本的獨(dú)立 LoRaWAN 端點(diǎn)的最低要求。這可能是一個簡單的低功耗 LoRaWAN 端點(diǎn),只需要偶爾將原始傳感器數(shù)據(jù)傳回網(wǎng)關(guān)。
不過,如果端點(diǎn)要處理大量流量,或者必須對傳感器數(shù)據(jù)執(zhí)行某些處理,則應(yīng)遵循表 1 中的建議要求。當(dāng)然,隨著 LoRaWAN 端點(diǎn)中存儲器容量和處理功率的增加,端點(diǎn)的功耗也會隨之增加,從而需要具有更多容量的電池,這與 LoRaWAN 針對低功耗物聯(lián)網(wǎng)端點(diǎn)的設(shè)計(jì)意圖相矛盾。
設(shè)計(jì) LoRaWAN 端點(diǎn)時,重點(diǎn)關(guān)注以下事實(shí)非常重要:端點(diǎn)是個低功耗系統(tǒng),不允許發(fā)生特征蠕變,否則會使系統(tǒng)復(fù)雜化,并最終導(dǎo)致消耗的功率超出必要的水平。在為 LoRaWAN 端點(diǎn)選擇微控制器時應(yīng)時刻注意,盡量降低時鐘速度和存儲器大小,因?yàn)檫@些因素也會影響功耗。
更新 LoRaWAN 端點(diǎn)中的微控制器固件
2018 年 10 月,LoRa 聯(lián)盟就如何對所有 LoRa 網(wǎng)絡(luò)的 LoRa 端點(diǎn)進(jìn)行固件空中升級 (FUOTA) 的標(biāo)準(zhǔn)作出了規(guī)定。新標(biāo)準(zhǔn)規(guī)定了網(wǎng)絡(luò)范圍的時鐘同步,大幅減少了丟失數(shù)據(jù)包的數(shù)量,并且規(guī)定了多播傳輸標(biāo)準(zhǔn),這種通信方式是在將相同的固件更新傳輸?shù)蕉鄠€端點(diǎn)時必須使用的方式。由于時鐘同步和多播傳輸都需要精確時基,因此所有 LoRa 端點(diǎn)的微控制器都必須配有一個精確到 1 毫秒的 RTC。
雖然更新 LoRaWAN 端點(diǎn)中的固件是一項(xiàng)重要功能,但也帶來了新問題。在現(xiàn)場更新固件意味著,需要對微控制器的程序存儲器(通常是非易失性閃存)進(jìn)行重新編程。對閃存進(jìn)行編程需要向存儲單元施加 10 伏或更高的電壓,因此,需要有更大的穩(wěn)壓器及相關(guān)電路才能實(shí)現(xiàn)閃存編程。由于某些聯(lián)網(wǎng)系統(tǒng)中的固件每年可能只需要更新幾次,因此這算是一項(xiàng)投資,會增加成本并低效地使用了額外的電路板空間。
有一種辦法可以替代帶有閃存的微控制器,就是使用配有鐵電隨機(jī)存取存儲器 (FRAM) 的微控制器。FRAM 存儲器只需要 1.5 伏電壓,即可對存儲單元進(jìn)行編程。可以滿足 LoRaWAN 節(jié)點(diǎn)建議要求的很好示例是:Texas Instruments 基于 FRAM 的 16 位 MSP430FR6047 微控制器。該控制器配有 256 KB 的 FRAM 程序存儲器以及一個帶日歷和警報功能的 RTC,并帶一個支持 AES-128 和 AES-256 的加密塊。MSP430FR6047 支持多達(dá)四個 SPI 端口,并具有足夠的外部中斷輸入,以支持 Semtech SX1262 所需的四個輸入,從而使得兩個器件的連接非常容易。此外,IEEE 64 位擴(kuò)展唯一標(biāo)識符 (EUI) 生成可以在固件中輕松實(shí)現(xiàn)(圖 2)。
圖 2:MSP430FR6047 配有 256 KB FRAM、8 KB SRAM 以及適合基于傳感器應(yīng)用的各種外設(shè)。(圖片來源:Texas Instruments)
MSP430FR6047 專為電池供電型智能電表設(shè)計(jì),具有集成的超聲波檢測外設(shè),可提供高精度的水流量檢測和液位檢測。這些高級功能可輕松適應(yīng)許多不同的傳感器應(yīng)用。
雖然 MSP430FR6047 只有 8 KB RAM 而不是建議的 16 KB,但如果不需要復(fù)雜的傳感器融合處理,這在 LoRaWAN 傳感器端點(diǎn)中也許算不上問題。此外,MSP430FR6047 具有高集成度特點(diǎn),可在提高性能的同時可節(jié)省存儲器和電路板空間。針對超聲波檢測應(yīng)用的模擬前端包括了一個可編程脈沖發(fā)生器、一個 12 位模數(shù)轉(zhuǎn)換器 (ADC) 以及一個可編程增益放大器,所有這些器件在從模擬傳感器收集數(shù)據(jù)時都非常有用。
MSP430FR6047 配有一個 32 位硬件乘法器以及一個低功耗加速器 (LEA) 信號處理內(nèi)核,能夠獨(dú)立于 MSP430 內(nèi)核執(zhí)行 256 點(diǎn) FFT 計(jì)算。LEA 可加速低功耗應(yīng)用的信號處理,從而延長電池壽命。
MSP430FR6047 具有極低功耗,即使在 8 位和 16 位微控制器(已經(jīng)是低功耗器件)的環(huán)境中也是如此。在運(yùn)行 MSP430 16 位內(nèi)核和外設(shè)的情況下,該微控制器的電流消耗只有 120 微安每兆赫 (μA/MHz)。在 RTC 運(yùn)行的待機(jī)模式下僅消耗 450 納安 (nA) 電流。此微控制器還具有僅耗電 30 nA 的關(guān)斷模式,但關(guān)斷模式需要關(guān)閉實(shí)時時鐘 (RTC),因此不建議對 LoRaWAN 端點(diǎn)使用關(guān)斷模式。
使用 FRAM 進(jìn)行 FUOTA 設(shè)計(jì)
對于 MSP430FR6047 固件開發(fā),可以使用 EVM430-FR6047 評估板。該評估板采用 USB 供電,含有評估應(yīng)用中 MSP430 所需的所有硬件,并且配有用于 BoosterPack? 模塊的連接器,可為此電路板添加其他功能。該電路板上還有用于連接傳感器的其他引腳。
圖 3:Texas Instruments 用于 MSP430FR6047 的 EVM430-FR6047 評估板配有 LCD 顯示屏,且可訪問 MSP430FR6047 上的所有引腳。(圖片來源:Texas Instruments)
為評估和開發(fā) SX1262,Semtech 提供了 SX1262MB2CAS LoRa MBED 盾板(圖 4)。
圖 4:用于 SX1262 的 Semtech MBED 盾板是一塊包含 SX1262 射頻收發(fā)器的簡單評估板。(圖片來源:Semtech)
MSP430 BoosterPack 連接器提供了將 MSP430 連接到 Semtech SX1262 MBED 盾板所需的所有必要信號。BoosterPack 連接器具有四個必要的 SPI 引腳,以及三個額外的 GPIO 引腳,這些引腳既可配置為 MSP430 的輪詢輸入,也可配置為外部中斷。如果還需要一個外部中斷,則可將 BoosterPack 連接器上的四個引腳連接到其中一個 MSP430 UART。這些 UART 引腳可配置為 GPIO 或 MBED 盾板的外部中斷。雖然 BoosterPack 和 MBED 盾板物理引腳不兼容,但它們可以很容易進(jìn)行跳線連接,從而實(shí)現(xiàn) MSP430 和 SX1262 之間的必要連接。
此外,Texas Instruments 還提供 Code Composer Studio?,這是一種支持 MSP430 代碼編寫和調(diào)試的 IDE。
總結(jié)
LoRa 已經(jīng)成為傳輸物聯(lián)網(wǎng)傳感器數(shù)據(jù)的流行標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)已經(jīng)擴(kuò)展納入 FUOTA,為長電池壽命帶來了新挑戰(zhàn)。通過選擇基于 FRAM(而不是基于閃存)的微控制器,設(shè)計(jì)人員可以大幅降低將這些設(shè)備存儲器的更新寫入所需的功率。
此外,如上所示,選擇微控制器變得愈發(fā)重要,不但要為應(yīng)用提供足夠的處理能力,還要盡量減少電池消耗。
評論