從大量的邊緣節點,到云端分析和控制應用,任何基于物聯網 (IoT) 的業務模型都依賴可靠、安全的無線通信。 在面對基于微控制器的傳感器和致動器設計時,開發人員可以使用許多現成的 MCU 開發平臺和工具鏈。 在過去,提供無線通信很難實現。 由于區域性的無線監管認可要求,使用或建立自己的驗證型無線協議堆棧的需要,以及完全射頻的復雜性,設計工程師經常會采用預批準的無線模塊,而不是要挑戰性地構建分立的設計。
新一代無線 MCU 和模塊可以滿足物聯網邊緣節點和傳感器的無線連接和相對較低的計算需求,而且不需要額外的 MCU 主機。 這些無主機或單機式器件和模塊加快并簡化了整個設計過程。 然而,問題并不僅僅是要有能夠滿足開發人員需求的合適模塊可用。 在當今的產品開發環境下,嵌入式工程師沒有時間從頭開始了解模塊的完整功能。 而且,軟件驅動程序、代碼片段和評估平臺的可獲得性正慢慢變得與器件的功能同樣重要。 開發人員越快實現器件與云的通信,就越可能將器件投入市場并獲得商業上的成功。
其中一個成功的無線 MCU 實例就是 Texas Instruments 的 CC3200 SimpleLink? 系列。 SimpleLink 系列是一個由評估板、代碼實例和 SDK 組成的完整生態系統。 CC3200 提供多種封裝尺寸,集成了 ARM? Cortex?-M4 應用微控制器(運行頻率為 80 MHz)與 802.11 b/g/n Wi-Fi 網絡處理器子系統。 這種次級子系統具有自己專用的 ARM MCU 內核,可從應用 MCU 卸除所有 Wi-Fi 通信堆棧。
圖 1:CC3200 硬件概覽框圖。
CC3200 針對基于電池的物聯網設計進行了優化,包含許多其他功能,例如電池管理功能和一整套外設接口,包括 GPIO、UART、SPI、PWM 和 4 通道 12 位 ADC。 主要功能集如圖 1 所示。 CC3200 除了帶有 256 kB RAM,還具有一個 256 位硬件加密引擎,用于快速 AES、DES 和 3DES 加密以及 SHA2 和 MD5 驗證。 通過其自身的電源管理子系統及集成的 DC-DC 轉換器,它不僅能夠適用廣泛的電壓范圍,而且還能夠具有低功耗模式;最低功耗模式使器件進入休眠模式,而 RTC 仍然運行。 在此模式下,所需電流小于 4 μA。
圖 2:CC3200 嵌入式軟件概覽。
圖 2 顯示了 CC3200 的另一面,即器件嵌入式軟件功能。 Wi-Fi 子系統支持 Station、Access Point 和 Wi-Fi Direct 模式以及 WPA2 Personal 和 Enterprise 安全和 WPS 2.0。 片上嵌入了 TCP/IP、TLS/SSL 和 HTTP 服務器堆棧。
圖 3 全面展示了 CC3200 的功能,重點顯示了 GPIO 和外設接口、電源管理以及相對少量且必需的附加無源元件。
圖 3:CC3200 功能框圖。
當您研究器件的引腳復用功能時,就會理解 CC3200 的設計思想。 針腳復用是比較流行的在最小封裝尺寸內納入大量外設接口功能的做法,它允許將外設集映射到特定引腳。 通過硬件配置和寄存器控制組合可以實現引腳復用。 此過程的完整信息和映射選項均可從 TI CC3200 規格書中找到。 為了幫助進行設計,TI 創建了一個針對各種不同應用案例的推薦引腳復用配置表(圖 4)。 此方法在廣泛的應用初期階段有助于使設計成型,從而充分利用外設集和可用的引腳分配。
CC3200 推薦引腳分配分組使用 - 實例(1)家用安全高端玩具Wi-Fi 語音 ++ 工業傳感器標簽家用安全玩具Wi-Fi 語音 ++ 工業Wi-Fi 遙控,帶 7x7 小鍵盤和語音傳感器門鎖火警玩具,帶或不帶攝像頭工業家電工業家電智能插頭工業家電GPIO外部 32 kHz(2)外部 32 kHz(2)
外部 TCXO 40 MHz(-40 至 85°C)
攝像頭 + I2S (Tx 或 Rx) + I2C + SPI + SWD + UART-Tx + (App Logger) 2 GPIO + 1 PWM + *4 層覆蓋從 Hib 喚醒I2S(Tx 或 Rx)+ 1 Ch ADC + 1x 4 線 UART + 1x 2 線 UART + 1bit SD Card + SPI + I2C + SWD + 3 GPIO + 1 PWM + 1 GPIO,帶從 Hib 喚醒I2S(Tx 或 Rx)+ 2 Ch ADC + 2 線 UART + SPI + I2C + SWD + 2 PMW + 6 GPIO + 3 GPIO,帶從 Hib 喚醒Cam + I2S(Tx 或 Rx)+ I2C + SWD + UART-Tx + (App Logger) 4 GPIO + 1PWM + *4 層覆蓋從 Hib 喚醒I2S(Tx 和 Rx)+ 1 Ch ADC + 2x 2 線 UART + 1bit SD Card + SPI + I2C + SWD + 4 GPIO + 1 PWM + 1 GPIO ,帶從 Hib 喚醒I2S(Tx 和 Rx)+ 1 Ch ADC + UART(僅 Tx)I2C + SWD + 15 GPIO + 1 PWM + 1 GPIO ,帶從 Hib 喚醒I2S(Tx 和 Rx)+ 2 Ch ADC + 2 線 UART + SPI + I2C + 3 PMW + 3 GPIO,帶從 Hib 喚醒 + 5 GPIO SWD +4 Ch ADC + 1x 4線 UART + 1x 2線 UART + SPI + I2C + SWD + 1 PWM + 6 GPIO + 1 GPIO ,帶從 Hib 喚醒(針對外部 40 MHz TCXO)3 Ch ADC + 2 線 UART + SPI + I2C + SWD + 3 PWM + 9 GPIO + 2 GPIO,帶從 Hib 喚醒2 Ch ADC + 2 線 UART + I2C + SWD + 3 PWM + 11 GPIO + 5 GPIO,帶從 Hib 喚醒
引腳編號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 模塊進行原型開發時,CC3200 LaunchPad XL 評估板(圖 5)很有幫助。 該評估板提供了用戶 LED、按鈕、加速計和溫度傳感器等多種器件選擇,通過 USB 可以直接連接到 PC,配套 JTAG 仿真功能可進行 Flash 編程。
圖 5:CC3200 LaunchPad XL 評估板。
TI 包含許多 SimpleLink 系列專用資源,包括產品頁、軟件開發 Wiki 以及專門面向云生態系統合作伙伴的頁面。 SimpleLink SDK 可以從 Wiki 下載,它提供了許多實例應用、應用源代碼和技術信息。 TI 推薦了許多受行業喜愛的 IDE,可與 SDK 一起使用,其中包括其 Code Composer Studio 和 IAR Workbench 工作臺。 也提供了 Include 和 header 文件,以及 GCC make 腳本和其他庫功能。 代碼實例文檔說明十分詳細,并提供應用書面描述、關鍵可配置參數及其運行方式。 對于每個實例,包含了全套 C 語言源代碼和 header 文件。其中一個實例展示了 CC3200 與站點“openweathermap.org”進行通信,以請求某一城市的天氣情況,并將其顯示在連接的超級終端上。 圖 6 可看到這一輸出。
圖 6:CC3200 獲取天氣應用輸出。
其他代碼實例包括 MQTT 客戶端/服務器應用的實現、電子郵件演示和充分利用休眠模式的基于傳感器的設計。
雖然 CC3200 SDK 中提供的應用實例專注于 C/C++ 的使用,但也有許多其它選擇。 其中一個就是 MicroPython。 MicroPython 基于 Python 3 解釋性編程語言,是一次成功資助 Kickstarter 活動的成果,是專門針對微控制器而優化的語言。 MicroPython 的網絡就緒型版本完全支持 CC3200 器件,并且可以從其網站下載。
提供 Wi-Fi 通信功能的 CC3200 SimpleLink 方法和應用處理器已在物聯網市場獲得廣泛支持。 IBM 的一個例子就是通過使用 MQTT 將 CC3200 LaunchPad 連接到 IBM Watson 物聯網基礎平臺。 其它云平臺生態系統合作伙伴包括 Temboo 和 Xively。
另一個預認證型獨立式 Wi-Fi 模塊系列就是來自 Silicon Labs 的 Bluegiga WF121 系列(圖 7)。 與 CC3200 一樣,它包含兩個主要元器件,一個使用 Microchip PIC32 系列 32 位微控制器、運行頻率為 80 MHz 的應用微控制器和一個符合 2.4 GHz 802.11 b/g/n 規范的無線電。 該系列的詳細信息以及參考指南和應用實例可以在這里找到。
圖 7:Silicon Labs Bluegiga WF121。
主機與無線收發器之間的通信通過 UART、USB 或 SPI 進行,如圖 8 所示。 這也顯示了軟件架構。 既然可以使用 BGLib ANSI C 主機庫為微控制器進行應用編程,那么也可以使用 Bluegiga 的腳本語言 BGScript。 此語言基于 BASIC 形式的編程結構,提供了一種簡易的方法來學習如何創建較為復雜、強大的應用。 此語言提供了命令和函數,用于設置和管理無線鏈接、安全、數據傳輸以及與可用外設、GPIO、SPI、I2C 等設備進行交互。
圖 8:Bluegiga 軟件環境。
BGScript 還可在完全獨立的 Bluegiga 系列模塊之間使用,包括那些提供藍牙連接的模塊。 圖 9 展示了一段簡短的讀取模塊 ADC 的 BGScript 代碼實例。
圖 9:讀取 ADC 的 BGScript 實例
Bluegiga DKWF121 是一個用于 Wi-Fi 獨立設計原型開發的評估板,使用了 WF121 模塊。 該評估板包含了該模塊的所有可用引腳分配,使之易于連接到試驗設計。 所有 GPIO 引腳都安排在圍繞一個大的原型開發區域的焊盤上。 Digi-Key 網站上有一個有用的在線目錄頁,其中提供了有關 DKWF121 的所有使用入門信息。
如前所述,Bluegiga 系列還包含獨立的藍牙模塊,如 BLE113。 使用 BGScript 的應用開發目標針對小型電池供電型應用和配件,提供了一種極其方便且易于使用的方法來建立鏈路并傳輸數據。 Bluegiga 產品系列得到了廣大的物聯網開發人員和專業創客社區的極力支持,這也使得有些程序庫開始支持其他開發語言(例如用于 Node.js 的 bglib 和用于 Python 的 bgapi_py)。 圖 10 展示了使用 Node.js 庫將輸入的藍牙數據解析為其獨立變量的簡易性。
圖 10:在 Bluegiga BLE113 模塊上使用 Node.js BGLib 庫解析藍牙輸入數據。
使用預認證無線模塊大大加快了物聯網應用的設計速度,而使用獨立無線模塊則進一步簡化了整個設計過程同時減少了整體 BOM 成本。 研究此方法時,建議嵌入式工程師不僅要考慮硬件功能,還要考慮軟件工具的數量、編程語言的靈活性以及可獲得的應用實例數。 采用此方法,獨立的物聯網器件可快速投入市場,節省了昂貴的設計資源和預算。
-
傳感器
+關注
關注
2548文章
50698瀏覽量
752051 -
物聯網
+關注
關注
2903文章
44284瀏覽量
371329 -
simplelink
+關注
關注
1文章
104瀏覽量
23614 -
CC3200
+關注
關注
8文章
65瀏覽量
33443 -
邊緣節點
+關注
關注
0文章
13瀏覽量
7637
發布評論請先 登錄
相關推薦
評論