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