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