新型無線 MCU 與模組如何促成連線式 IoT 應用

作者:歐洲編輯群

資料提供者:DigiKey 歐洲編輯群

所有的物聯網 (IoT) 架構商業模型皆需可靠且安全的無線通訊,包含眾多的邊緣節點到雲端架構分析和控制應用。 開發人員享有多種 MCU 開發平台和工具鏈,足以設計微控制器架構的感測器和致動器。 以往,佈建無線通訊並不容易。 礙於區域性法規要求的無線許可、須使用或自行打造通過驗證的無線通訊協定堆疊,再加上 RF 裝置的複雜性,因此設計工程師通常會採用預先許可的無線模組,如此就無需面臨打造離散式設計的挑戰。

新型無線 MCU 與模組同時滿足 IoT 邊緣節點和感測器的無線連線以及相對較低的運算能力需求,因此無需額外的 MCU 主機。 這些無主機(即獨立式)的裝置與模組不僅能加速,更可簡化整個設計流程, 但享有適合的模組仍無法滿足開發人員的需求。 在目前的產品開發環境中,嵌入式工程師沒時間從頭學習模組的完整功能。 軟體驅動程式、程式碼片段以及評估平台的可用性,逐漸變得和裝置功能一樣重要。 開發人員越快達到裝置的雲端通訊能力,就越有可能打入市場並在商業上取得成功。

Texas InstrumentsCC3200 SimpleLink™ 系列元件,就是滿足各項條件的無線 MCU 範例之一。 SimpleLink 裝置具有更加完整的生態系統加以輔助,包含評估板、程式碼範例和完整的 SDK。 CC3200 提供多種封裝尺寸,整合了 80 MHz 的 ARM® Cortex®-M4 應用微控制器,以及 802.11 b/g/n Wi-Fi 網路處理器子系統。 這個第二子系統有其專用的 ARM MCU 核心,可完全解除應用 MCU 的 Wi-Fi 通訊堆疊負擔。

Texas Instruments 的 CC3200 硬體概覽方塊圖

圖 1:CC3200 硬體概覽方塊圖。

CC3200 針對電池式 IoT 設計進行最佳化,具有電池管理等其他多種功能以及完整的周邊介面組,包含 GPIO、UART、SPI、PWM 和四通道 12 位元 ADC。 主要功能組合如圖 1 所示。 CC3200 具有 256 kB RAM、硬體式 256 位元加密引擎,可快速進行 AES、DES 與 3DES 加密,並具備 SHA2 與 MD5 驗證功能。 內建電源管理子系統和整合式 DC-DC 轉換器,因此不只能夠接受多種電源電壓,還能控制低功耗模式;在最低功耗下能讓裝置進入休眠模式並讓 RTC 持續運作。 在此模式下,耗電量低於 4 μA。

Texas Instruments 的 CC3200 嵌入式軟體概覽圖

圖 2:CC3200 嵌入式軟體概覽。

圖 2 顯示了 CC3200 的另一個層面,即該裝置的嵌入式軟體功能。 Wi-Fi 子系統支援基地台、存取點以及 Wi-Fi Direct 模式,並具備 WPA2 個人與企業級安全性和 WPS 2.0。 晶片上內嵌 TCP/IP、TLS/SSL 和 HTTP 伺服器堆疊。

圖 3 顯示了 CC3200 的完整功能,重點包括 GPIO 和周邊介面、電源管理,以及相對較少的額外必要被動元件。

Texas Instruments 的 CC3200 功能方塊圖(按一下查看完整尺寸)

圖 3:CC3200 功能方塊圖。

在您研究此元件的引腳多工能力時,便能瞭解 CC3200 背後的設計概念。 引腳多工是一種將眾多周邊介面功能納入盡可能最小封裝中的常見方式,能將周邊裝置組對應至特定的引腳。 引腳多工是透過硬體組態與暫存器控制的組合達成。 TI 的 CC3200 規格書詳述此流程以及可用的對應選項。 為了協助設計流程,TI 針對多種使用情況製作建議的引腳多工組態表(圖 4)。 這個方法有助於讓多種應用的設計及早成形,充分運用周邊裝置組合與可用的引腳配置。

CC3200 建議的引腳配置組合使用 - 範例(1)
<e>  居家保全高階玩具 Wi-Fi 音訊和工業 感測器標籤 居家保全玩具 Wi-Fi 音訊和工業 Wi-Fi 遙控,含 7x7 鍵盤及音訊 感測器門鎖火災警報玩具(不含攝影機) 工業家用電器 工業家用電器智慧插頭 工業家用電器 GPIO
外部 32 kHz(2) 外部 32 kHz(2) <e>  <e>  <e>  <e>  <e>  <e>  <e>  外部 TCXO 40 MHz(-40 至 85°C <e> 
攝影機 + I2S(Tx 或 Rx)+ I2C + SPI + SWD + UART-Tx +(應用程式記錄器)2 GPIO + 1 PWM + *4 重疊休眠喚醒 I2S(Tx 或 Rx)+ 單通道 ADC + 1x 4 線 UART + 1x 雙線 UART + 1 位元 SD 卡 + SPI + I2C + SWD + 3 GPIO + 1 PWM + 1 GPIO(含休眠喚醒) I2S(Tx 或 Rx)+ 雙通道 ADC + 雙線 UART + SPI + I2C + SWD + 2 PMW + 6 GPIO + 3 GPIO(含休眠喚醒) 攝影機 + I2S(Tx 或 RX)+ I2C + SWD + UART-Tx +(應用程式記錄器)4 GPIO + 1 PWM + *4 重疊休眠喚醒 I2S(Tx 與 Rx)+ 單通道 ADC + 2x 雙線 UART + 1 位元 SD 卡 + SPI + I2C + SWD + 4 GPIO + 1 PWM + 1 GPIO(含休眠喚醒) I2S(Tx 與 Rx)+ 單通道 ADC + UART(僅 Tx)I2C + SWD + 15 GPIO + 1 PWM + 1 GPIO(含休眠喚醒) I2S(Tx 與 Rx)+ 雙通道 ADC + 雙線 UART + SPI + I2C + 3 PMW + 3 GPIO(含休眠喚醒)+ 5 GPIO SWD + 四通道 ADC + 1x 四線 UART + 1x 雙線 UART + SPI + I2C + SWD + 1 PWM + 6 GPIO + 1 GPIO(為外部 40 MHz TCXO 啟用休眠喚醒) 三通道 ADC + 雙線 UART + SPI + I2C + SWD + 3 PWM + 9 GPIO + 2 GPIO(含休眠喚醒) 雙通道 ADC + 雙線 UART + I2C + SWD + 3 PWM + 11 GPIO + 5 GPIO(含休眠喚醒) <e> 
引腳編號 引腳配置 #11 引腳配置 #10 引腳配置 #9 引腳配置 #8 引腳配置 #7 引腳配置 #6 引腳配置 #5 引腳配置 #4 引腳配置 #3 引腳配置 #2 引腳配置 #1

圖 4:CC3200 建議的引腳多工組態。

若您希望將 CC3200 元件整合到您的應用中,有幾種開發選項可供選擇。 除了自行針對應用設計專屬 PCB 外,您還能選擇使用 CC3200 模組,其中含有屏蔽式 CC3200、支援的被動元件、晶體及晶片天線,皆納入到僅 20.5 x 17.5 x 1.5 mm 的小型模組尺寸中。

CC3200 LaunchPad XL 評估板(圖 5)能協助製作 CC3200 模組的原型。 此板評估能透過 USB 直接連接 PC,並具有 JTAG 模擬功能,可進行快閃記憶體編程,更具有一些使用者 LED、按鈕、一個加速計及一個溫度感測器。

Texas Instruments 的 CC3200 LaunchPad XL 評估板圖片

圖 5:CC3200 LaunchPad XL 評估板。

TI 提供許多專用於 SimpleLink 系列的資源,包含產品頁面軟體開發 Wiki,以及專供雲端生態系統合作夥伴使用的頁面。 SimpleLink SDK 可從 Wiki 下載,並提供多種範例應用、應用程式原始碼和技術資訊。 TI 建議搭配業界推崇的 IDE 環境一同使用 SDK,包括 TI 自行提供的 Code Composer Studio 與 IAR Workbench。 評估板也隨附標頭檔,並提供 GCC make 指令碼與其他函式庫函數。 程式碼範例提供完善的說明,並針對應用程式、主要的可設定參數以及操作方法提供書面說明。 每個範例都隨附一組完整的原始碼與標頭檔,以 C 語言提供。其中一個範例指出,CC3200 與 openweathermap.org 網站進行通訊,要索取一個指定城市的詳細天氣資訊,然後將其顯示於連線的超級終端機上。 輸出項目如圖 6 所示。

CC3200 的 Get Weather 應用程式示意圖

圖 6:CC3200 的 Get Weather 應用程式輸出。

其他程式碼範例則涵蓋 MQTT 用戶端/伺服器應用的實作、電子郵件展示,以及充分運用休眠模式的感測器架構設計。

雖然 CC3200 SDK 中提供的應用範例著重於 C/C++ 的使用,但還有其他許多選擇。 其中一種替代方案是 MicroPython。 MicroPython 以 Python 3 直譯式程式語言為基礎,是 Kickstarter 專案成功募資的成果,針對微控制器應用進行最佳化。 MicroPython 的網路就緒版本完整支援 CC3200 元件,並可從該網站下載。

以 CC3200 SimpleLink 佈建 Wi-Fi 通訊和應用處理器的方式,已獲得物聯網市場的廣泛支持。 以 IBM 產品為例,能利用 MQTT 將 CC3200 LaunchPad 連線到 IBM 的 Watson IoT Foundation Platform。 其他雲端平台生態系統合作夥伴包含 Temboo 與 Xively。

另一個預先認證的獨立式 Wi-Fi 模組系列是 Silicon LabsBluegiga WF121 系列(圖 7)。 如同 CC3200,此系列具有兩個主要元件,即應用微控制器(採用 Microchip 的 PIC32 系列 32 位元微控制器,運作頻率為 80 MHZ),以及 2.4 GHz 的 802.11 b/g/n 規格無線電。 如需此系列的詳細說明以及參考指南與應用範例,請參閱此處。 <e> 

Silicon Labs 的 Bluegiga WF121 圖片

圖 7:Silicon Labs 的 Bluegiga WF121。

主機與無線收發器之間的通訊是經由 UART、USB 或 SPL 進行,如圖 8 所示。 此圖也說明了軟體架構。 除了能使用 BGLib ANSI C 主機函式庫針對微控制器進行程式編程,也可使用 Bluegiga 的指令碼語言 BGScript。 這種語言以 BASIC 樣式的編程結構為基礎,讓您以簡單易學的方式建立相當複雜且功能強大的應用程式。 這種語言提供許多命令與功能,讓您設定與管理無線鏈路、安全性、資料移轉,以及與可用周邊、GPIO、SPI、I2C 之間的互動。

Silicon Labs 的 Bluegiga 軟體環境示意圖

圖 8:Bluegiga 軟體環境。

BGScript 也能用於整個獨立式 Bluegiga 模組系列,包含提供藍牙連線能力的模組。 圖 9 是讀取模組 ADC 的簡短 BGScript 程式碼範例。

讀取 ADC 的 BGScript 範例圖片

圖 9:讀取 ADC 的 BGScript 範例。

Bluegiga DKWF121 評估板能使用 WF121 模組製作 Wi-Fi 獨立設計的原型。 此評估板具有所有可用的模組引腳配置,因此能輕易連接至試驗設計。 所有 GPIO 引腳都置於大型原型製作區域周圍的墊片上。 DigiKey 網站的線上目錄頁面相當實用,提供 DKWF121 的所有入門資訊。

如前文所述,Bluegiga 系列也包含獨立式藍牙模組,例如 BLE113。 使用 BGScript 的應用開發主要是針對以電池驅動的小型應用及配件,能讓您以極為便利的簡易方式建立連結並傳輸資料。 Bluegiga 產品系列受到廣大物聯網開發人員與專業創客社群的大力支持,更催生出一些能支援其他開發語言的函式庫,例如 Node.js 用的 bglib,以及 Python 用的 bgapi_py。 圖 10 顯示出使用 Node.js 函式庫將輸入的藍牙資料解析為各個變數是相當簡單的作業。

解析藍牙輸入資料的圖片

圖 10:在 Bluegiga BLE113 模組上使用 Node.js BGLib 函式庫解析藍牙輸入資料。

使用預先認證的無線模組能大幅加快物聯網應用的設計速度,但使用獨立式無線模組能進一步簡化整體設計流程,並減少整體 BOM。 研究此作法時,建議嵌入式工程師除了審查硬體的功能外,也要注意軟體工具的數量、程式語言的彈性以及可用的應用範例。 透過此作法,就可讓獨立式物聯網裝置快速上市,節省寶貴的設計資源及預算。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

歐洲編輯群

關於出版者

DigiKey 歐洲編輯群