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