史巖 中國航空工業(yè)集團(tuán)公司西安航空計算技術(shù)研究所 陜西西安 710065
“物聯(lián)網(wǎng)”、“云計算”是近年來IT領(lǐng)域比較活躍的概念,然而在實際應(yīng)用中還存在一定的問題。例如,物聯(lián)網(wǎng)感知層的數(shù)據(jù)量大而且復(fù)雜,在實時性要求較高的情況下,海量數(shù)據(jù)的過濾、處理、傳輸和應(yīng)用是一個巨大的挑戰(zhàn)。在此背景下,高性能微型化計算機(jī)是未來物聯(lián)網(wǎng)發(fā)展的主要方向,目前微型化計算機(jī)仍以傳統(tǒng)的以太網(wǎng)作為網(wǎng)絡(luò)通信方式,以太網(wǎng)存在部署成本高,靈活性差等缺點。本文提出了一種基于SPI接口的微型化計算機(jī)WIFI模塊設(shè)計方案,完成了系統(tǒng)硬件和軟件設(shè)計,使用無線網(wǎng)絡(luò)通信的方式解決了上述問題。
微型化計算機(jī)模塊由四部分功能單元組成:以太網(wǎng)單元、輸入輸出單元、無線網(wǎng)絡(luò)單元和數(shù)據(jù)處理單元。微型化計算機(jī)模塊通過無線網(wǎng)絡(luò)單元與遠(yuǎn)端微型化計算機(jī)連接,通過以太網(wǎng)接口與骨干網(wǎng)絡(luò)連接。無線網(wǎng)絡(luò)拓?fù)淙鐖D1所示,其中AP為無線接入點,負(fù)責(zé)無線網(wǎng)絡(luò)的創(chuàng)建,訪問控制等;STA為無線站點,連接入AP進(jìn)行數(shù)據(jù)通信。
圖1 微型化計算機(jī)系統(tǒng)網(wǎng)絡(luò)拓?fù)?/p>
無線網(wǎng)絡(luò)單元采用智能化設(shè)計,由WIFI模塊硬件與軟件組成,通過SPI接口與數(shù)據(jù)處理單元進(jìn)行控制命令、無線網(wǎng)絡(luò)數(shù)據(jù)的交換。
微型化計算機(jī)模塊硬件主要由WIFI模塊和數(shù)據(jù)處理模塊兩部分組成,WIFI模塊以CC3200為核心微控制器,包括時鐘電路,F(xiàn)LASH電路,接口電路,射頻電路;數(shù)據(jù)處理模塊以FH8812為核心。微型化計算機(jī)WIFI模塊采用一體化設(shè)計,AP、STA工作模式支持軟件配置。其組成結(jié)構(gòu)如圖2所示。
圖2 微型化計算機(jī)WIFI模塊組成結(jié)構(gòu)
無線網(wǎng)絡(luò)芯片選用TI公司的單芯片無線微控制器,型號為CC3200。CC3200主要由片內(nèi)處理器,網(wǎng)絡(luò)處理器,外部接口,電源管理,系統(tǒng)控制,片內(nèi)存儲器等部分組成。MCU中集成了兩個處理器,ARM Cortex-M4處理器,工作頻率為80MHz,主要負(fù)責(zé)兩部分工作,一部分工作為無線網(wǎng)絡(luò)管理、通信調(diào)度,另一部分工作為與處理器模塊之間通過SPI進(jìn)行控制命令的響應(yīng)及數(shù)據(jù)的收發(fā);WIFI網(wǎng)絡(luò)處理子系統(tǒng)由專用的MCU進(jìn)行管理,集成了無線網(wǎng)絡(luò)協(xié)議棧。CC3200可工作在Station模式、AP模式及WIFI直連模。硬件調(diào)試通過IEEE 1149.1 JTAG接口。
CC3200集成SPI接口,其功能如下:可配置主、從模式;支持DMA;字長8、16或32位;最高20MHz。
SPI接口設(shè)計原理如下:
a)主出從入GSPI_MOSI:主設(shè)備輸出數(shù)據(jù),從設(shè)備輸入數(shù)據(jù);
b)主入從出GSPI_MISO:主設(shè)備輸入數(shù)據(jù),從設(shè)備輸出數(shù)據(jù);
c)串行時鐘GSPI_CLK:主設(shè)備輸出,從設(shè)備輸入,用于同步數(shù)據(jù)位;
d)從設(shè)備選擇GSPI_CS:主設(shè)備輸出,從設(shè)備輸入,低電平有效。
在本設(shè)計中,SPI主為FH8812,SPI從為CC3200。
CC3200的電源管理子系統(tǒng)包含了DC-DC變換器(直流電壓變換器),用于支持不同的電壓或電流為整個系統(tǒng)進(jìn)行供電。該電源管理子系統(tǒng)包含了三種DC-DC變換器:Digital DC-DC:用于向數(shù)字電路供電;ANA1 DC-DC:用于向模擬電路供電;PA DC-DC:用于向射頻功能供電。本設(shè)計中采用3.3V供電,輸入給三個DC-DC,經(jīng)電壓變化分別給CC3200內(nèi)部的數(shù)字、模擬、和射頻功能單元進(jìn)行供電。
圖3 電源設(shè)計示意圖
無線射頻質(zhì)量受電源紋波影響很大,圖3的電源設(shè)計中,C4和C5這兩個去耦電容在布局時應(yīng)盡量靠近電源輸入管腳,同時其接地腳需要通過過孔連接到PCB板的主地層。對于去耦電容C1、C2、C3三個電容的接地是通過過孔,在第二層主地層走回CC3200 芯片下面,再通過過孔連回芯片中間的地焊盤。在表層DC 電流輸入走線和第二層接地走線上下重合,使得開關(guān)電流環(huán)路面積最小。
CC3200需2個獨立的時鐘:
a)慢時鐘使用32.768kHz晶體,用于RTC功能,負(fù)載電容選擇10pF;
b)快時鐘使用40MHz晶振,用于內(nèi)部處理器和WLAN子系統(tǒng),負(fù)載電容6.2pF。
射頻部分采用2.4GHz濾波器,型號為TDK DEA202450BT-1294C1,CC3200的射頻輸出管腳與濾波器的輸入端需使用50Ohm布線,如圖4所示。
圖4 射頻部分參考設(shè)計
本文著重對SPI轉(zhuǎn)WIFI功能軟件進(jìn)行設(shè)計,按照軟件功能可分為兩個部分:模塊資源初始化、基于SPI的WIFI驅(qū)動軟件。
按照微型化計算機(jī)模塊的系統(tǒng)設(shè)計,其數(shù)據(jù)處理模塊與WIFI模塊均為獨立的功能單元,各功能單元的微處理器運行初始化流程。數(shù)據(jù)處理模塊初始化包括處理器初始化、以太網(wǎng)接口初始化、RS232初始化、ADC初始化、SPI主初始化。WIFI模塊初始化包括處理器初始化、GPIO初始化、RS232初始化、SPI從初始化、WIFI網(wǎng)絡(luò)處理器初始化。
數(shù)據(jù)處理模塊與WIFI模塊之間通過SPI接口交聯(lián),驅(qū)動軟件主要包括以下兩種功能:系統(tǒng)控制接口、消息控制接口。
4.2.1 系統(tǒng)控制接口
系統(tǒng)控制接口用于設(shè)置WIFI模塊的設(shè)備管理,模式初始化等,具體包含以下功能。
設(shè)備打開:驅(qū)動程序通過SPI與WIFI模塊握手,若握手成功則說明WIFI模塊工作正常,可響應(yīng)控制命令和消息控制。
設(shè)備關(guān)閉:驅(qū)動程序通過SPI告知WIFI模塊不再響應(yīng)主機(jī)端任何命令。
設(shè)置工作模式:驅(qū)動程序通過SPI設(shè)置WIFI模塊的工作模式,可設(shè)置為AP模式或STA模式。
4.2.2 消息控制接口
數(shù)據(jù)處理模塊軟件通過消息控制接口獲取WIFI模塊上針對本系統(tǒng)的數(shù)據(jù),同時將本系統(tǒng)待發(fā)數(shù)據(jù)通過無線網(wǎng)絡(luò)發(fā)到其他子系統(tǒng)。接口包括:讀新數(shù)據(jù)、寫新數(shù)據(jù)。
微型化計算機(jī)WIFI模塊與數(shù)據(jù)處理模塊使用SIP(System In a Package)技術(shù)實現(xiàn),SIP系統(tǒng)級芯片采用三層封裝形式,WIFI模塊核心處理由其第一層實現(xiàn),SIP芯片體積為15mm×15mm×7.8mm,WIFI模塊功耗為0.45W。
使用兩塊微型化計算機(jī)模塊進(jìn)行SPI轉(zhuǎn)無線網(wǎng)絡(luò)通信傳輸速率測試,在開放環(huán)境下傳輸100MB數(shù)據(jù),測試結(jié)果如下:傳輸距離3.2米,帶寬為10.48Mbps;傳輸距離6.4米,帶寬為10.38Mbps。
設(shè)計并實現(xiàn)了微型化計算機(jī)的WIFI模塊,完成了無線網(wǎng)絡(luò)軟件及相關(guān)驅(qū)動軟件,開展了兩塊微型化計算機(jī)模塊之間的無線通信測試,傳輸速率約為10Mbps。微型化計算機(jī)WIFI模塊的實現(xiàn),為具有高性能的微型化計算機(jī)提供了無線網(wǎng)絡(luò)通信方式,使微型化計算機(jī)在物聯(lián)網(wǎng)及復(fù)雜的工業(yè)控制領(lǐng)域具有更廣闊的使用。