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