郭曉光 馮思奇



摘 要:針對(duì)國(guó)內(nèi)外一些可穿戴式智能設(shè)備的無(wú)線(xiàn)傳感節(jié)點(diǎn)的設(shè)計(jì)方案,有一些是基于集成了無(wú)線(xiàn)傳輸協(xié)議的控制器,它們有數(shù)字處理能力有限,硬件系統(tǒng)固定,缺乏單元靈活性,特別不利于多路參數(shù)并行處理的問(wèn)題,設(shè)計(jì)了一種基于藍(lán)牙4.0的低功耗無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。使用了基于藍(lán)牙4.0技術(shù)的CC2540芯片和Xilinx公司的低功耗FPGA芯片,并結(jié)合手機(jī)應(yīng)用程序完成了系統(tǒng)設(shè)計(jì)。并且在硬件設(shè)計(jì)和軟件設(shè)計(jì)上注意降低整個(gè)系統(tǒng)的功耗。測(cè)試結(jié)果表明,系統(tǒng)在低功耗設(shè)計(jì)的基礎(chǔ)上,可以準(zhǔn)確地將數(shù)據(jù)通過(guò)藍(lán)牙發(fā)送出去。該系統(tǒng)具有低功耗、低成本、開(kāi)發(fā)難度小等特點(diǎn),可適用于可穿戴式智能設(shè)備等領(lǐng)域。
關(guān)鍵詞:CC2540;藍(lán)牙4.0;BLE;FPGA
引言
隨著互聯(lián)網(wǎng)的發(fā)展、技術(shù)進(jìn)步和高性能低功耗處理芯片的推出等,一些穿戴式智能設(shè)備已經(jīng)從概念化走向商用化[1],而一些穿戴式智能設(shè)備本質(zhì)就是帶三軸、六軸加速度傳感器或心率傳感器的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。微電子技術(shù)的快速發(fā)展,使FPGA芯片在成本、集成度和功耗等方面已能滿(mǎn)足社會(huì)發(fā)展各個(gè)方面的需求。特別是基于FPGA的SOC概念,結(jié)合了硬件軟件協(xié)同工作的優(yōu)點(diǎn),實(shí)現(xiàn)上層任務(wù)和底層硬件的有機(jī)融合。可以預(yù)見(jiàn),在提高無(wú)線(xiàn)傳感網(wǎng)絡(luò)節(jié)點(diǎn)的智能程度和靈活程度上,F(xiàn)PGA擁有廣闊應(yīng)用場(chǎng)景。藍(lán)牙無(wú)線(xiàn)技術(shù)[2]是使用范圍最廣泛的全球短距離無(wú)線(xiàn)標(biāo)準(zhǔn)之一。新的藍(lán)牙4.0版本它在繼承了藍(lán)牙技術(shù)在無(wú)線(xiàn)連接上的固有優(yōu)勢(shì)的同時(shí),增加了高速藍(lán)牙和低功耗藍(lán)牙的特點(diǎn)[3],并且隨著支持藍(lán)牙4.0的智能手機(jī)的不斷推出,藍(lán)牙4.0技術(shù)的優(yōu)勢(shì)使其能夠很好的滿(mǎn)足可穿戴式智能設(shè)備的應(yīng)用要求。結(jié)合FPGA和藍(lán)牙低功耗兩種技術(shù)的優(yōu)點(diǎn),文章介紹了一種以FPGA為控制器的SOPC嵌入式系統(tǒng),使用基于藍(lán)牙4.0技術(shù)的CC2540芯片回傳數(shù)據(jù)的無(wú)線(xiàn)傳感器節(jié)點(diǎn)。該系統(tǒng)功耗低、使用方便、通用性強(qiáng),能滿(mǎn)足可穿戴式智能化設(shè)備和數(shù)據(jù)無(wú)線(xiàn)傳輸?shù)葟V泛的應(yīng)用要求。
1 系統(tǒng)總體方案設(shè)計(jì)
本設(shè)計(jì)選擇了FPGA嵌入式系統(tǒng)驅(qū)動(dòng)藍(lán)牙協(xié)議棧芯片CC2540。不僅開(kāi)發(fā)簡(jiǎn)單、開(kāi)發(fā)成本低、通用性強(qiáng),而且運(yùn)用FPGA嵌入式開(kāi)發(fā)系統(tǒng)可更多地節(jié)約FPGA中的工作資源,可適用于大多數(shù)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的接口模塊。傳感器節(jié)點(diǎn)的硬件結(jié)構(gòu)框圖如圖1所示。
被采集物理量通過(guò)數(shù)字傳感器或者模擬傳感器和模數(shù)轉(zhuǎn)換模塊處理之后,轉(zhuǎn)變?yōu)閿?shù)字信號(hào)量,F(xiàn)PGA直接獲取到這些數(shù)字信號(hào)量,并進(jìn)行處理之后傳輸給藍(lán)牙模塊,藍(lán)牙模塊將這些數(shù)據(jù)發(fā)送至智能手機(jī)或帶藍(lán)牙接收端的接收設(shè)備。
2 硬件設(shè)計(jì)
2.1 總控芯片選型
本設(shè)計(jì)選用了Xilinx公司的第六代Spartan系列的XC6SLX9作為主控芯片。此系列FPGA是低風(fēng)險(xiǎn)、低成本和低功耗的最佳平衡,與前幾代器件相比,不僅功耗降低42%,同時(shí)性能提高12%。XC6SLX9的工作電壓為3.3V低電壓,有9152個(gè)邏輯單元、集成式PCI Express模塊、高級(jí)儲(chǔ)存器支持250MHz DSP Slice和3.125Gbps低功耗收發(fā)器。它能夠很好地滿(mǎn)足本設(shè)計(jì)的要求。
2.2 無(wú)線(xiàn)傳輸模塊設(shè)計(jì)
本設(shè)計(jì)的無(wú)線(xiàn)傳輸模塊的電路設(shè)計(jì)使用基于藍(lán)牙4.0技術(shù)的CC2540[4]芯片。CC2540是TI公司推出的完全兼容藍(lán)牙4.0低功耗BLE協(xié)議棧的SOC芯片,CC2540有超低功耗的睡眠模式和運(yùn)行模式,并且兩種模式的互相轉(zhuǎn)化可以進(jìn)一步實(shí)現(xiàn)超低功耗,這使CC2540可以很好地適用于低功耗系統(tǒng)。它的工作電壓為3.3V低電壓,在發(fā)送模式下電流損耗為19.6mA,待機(jī)模式下電流僅為0.4μA。具體的無(wú)線(xiàn)傳輸模塊原理圖如圖2所示。
在實(shí)際電路設(shè)計(jì)中可通過(guò)CC2540芯片管腳40連接一個(gè)1pF的電容實(shí)現(xiàn)。在兩個(gè)時(shí)鐘電路中,其中一個(gè)時(shí)鐘電路用一個(gè)工作頻率為32.768kHz的石英晶振和兩個(gè)均為15pF的電容實(shí)現(xiàn),石英晶振接芯片管腳33和32,另一個(gè)時(shí)鐘電路由一個(gè)工作頻率為32 MHz的石英晶振和兩均為12pF的電容實(shí)現(xiàn),32MHz的石英晶振接芯片管腳22和23。RF_N和RF_P這兩個(gè)為射頻天線(xiàn)接口,接天線(xiàn)及巴倫匹配電路。巴倫匹配電路能使得單極天線(xiàn)接收的信號(hào)轉(zhuǎn)為雙路差分信號(hào)時(shí),維持天線(xiàn)的輻射效率,這部分的結(jié)構(gòu)好壞對(duì)通信距離,系統(tǒng)功耗都有較大的影響。
3 軟件設(shè)計(jì)
3.1 BLE協(xié)議棧
系統(tǒng)中的無(wú)線(xiàn)設(shè)備之間的互聯(lián)和無(wú)線(xiàn)數(shù)據(jù)的傳輸是通過(guò)CC2540芯片所具有的藍(lán)牙4.0 BLE協(xié)議實(shí)現(xiàn)的。藍(lán)牙4.0 BLE協(xié)議棧包含了藍(lán)牙4.0 BLE協(xié)議所規(guī)定的基本功能,協(xié)議棧是以函數(shù)形式來(lái)實(shí)現(xiàn)這些基本功能的,為了方便管理函數(shù)集,藍(lán)牙4.0 BLE協(xié)議棧內(nèi)加入了一個(gè)叫做OSAL(操作系統(tǒng)抽象層)的小操作系統(tǒng)。藍(lán)牙4.0 BLE協(xié)議棧以及所有的應(yīng)用程序都是建立在OSAL基礎(chǔ)上的。OSAL是一種支持多任務(wù)運(yùn)行的系統(tǒng)資源分配機(jī)制,OSAL負(fù)責(zé)調(diào)度各個(gè)任務(wù)的運(yùn)行,如果有事件發(fā)生了,則會(huì)調(diào)用相應(yīng)的事件處理函數(shù)來(lái)處理。
3.2 FPGA與CC2540
XC6SLX9作為主控芯片通過(guò)ISE14.2軟件套裝中的EDK軟件完成了嵌入式系統(tǒng)外設(shè)的系統(tǒng)架構(gòu)的設(shè)計(jì),并且在ISE14.2軟件套裝中的SDK軟件設(shè)計(jì)工具中完成了與CC2540的數(shù)據(jù)接收與發(fā)送的C語(yǔ)言編程。
在對(duì)芯片CC2540編程時(shí),需要先使用IAR軟件把程序燒錄到CC2540芯片中。在程序燒入后,將藍(lán)牙模塊接到FPGA開(kāi)發(fā)板的串口上。由于CC2540作為MCU和數(shù)據(jù)傳輸兩個(gè)功能的使用對(duì)于狀態(tài)的控制需要特別安排,以免出現(xiàn)錯(cuò)誤。配置XC6SLX9和CC2540后得到狀態(tài)轉(zhuǎn)換方式,狀態(tài)轉(zhuǎn)換圖如圖3所示。
CC2540在接通電源后便處于待機(jī)狀態(tài),等待FPGA發(fā)送指令或者數(shù)據(jù)。接收到指令之后,CC2540執(zhí)行相應(yīng)的操作,便又返回待機(jī)狀態(tài),接收到數(shù)據(jù)之后,CC2540便將接收到的數(shù)據(jù)通過(guò)藍(lán)牙發(fā)送出去。然后繼續(xù)進(jìn)入待機(jī)狀態(tài)。總之,CC2540在非工作狀態(tài)下一直處于超低功耗待機(jī)狀態(tài)。
4 實(shí)驗(yàn)結(jié)果分析
目前有很多設(shè)備開(kāi)始支持藍(lán)牙4.0技術(shù),如移動(dòng)電話(huà)、PC、平板計(jì)算機(jī)等。本測(cè)試是以支持藍(lán)牙4.0的iPhone 5s為例,通過(guò)在iPhone 5s上運(yùn)行的lightblue APP,讓手機(jī)能夠接收到該節(jié)點(diǎn)采集到的MPU6050六軸加速度數(shù)字傳感器的數(shù)據(jù),lightblue軟件可以接收數(shù)據(jù)并以十六進(jìn)制,八進(jìn)制,二進(jìn)制以及UTF-8形式顯示。圖4中(a)圖為數(shù)據(jù)顯示選擇界面,(b)圖為數(shù)據(jù)的十六進(jìn)制顯示界面。
如圖5所示為支持藍(lán)牙4.0的安卓手機(jī)上運(yùn)行的APP,測(cè)試過(guò)程是通過(guò)手機(jī)APP發(fā)送數(shù)據(jù),然后藍(lán)牙模塊可以接受到數(shù)據(jù)并且通過(guò)串口工具在電腦的串口助手軟件上顯示出來(lái)。(a)圖為安卓手機(jī)APP發(fā)送數(shù)據(jù)界面,(b)圖為串口工具顯示界面。
5 總結(jié)與展望
文章設(shè)計(jì)了一種以FPGA為控制器,以藍(lán)牙4.0技術(shù)為無(wú)線(xiàn)通信方式的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn),該設(shè)計(jì)具有低功耗、低成本、開(kāi)發(fā)難度小、擴(kuò)展性強(qiáng)、節(jié)點(diǎn)組網(wǎng)簡(jiǎn)單和適用范圍廣等特點(diǎn)。對(duì)整個(gè)節(jié)點(diǎn)的硬件和軟件低功耗設(shè)計(jì),使本設(shè)計(jì)有很好的低功耗特性,增強(qiáng)了節(jié)點(diǎn)的使用壽命。本設(shè)計(jì)在低功耗的特點(diǎn)下能夠準(zhǔn)確地發(fā)送數(shù)據(jù)。并且隨著iPhone系列手機(jī)和各種國(guó)產(chǎn)智能手機(jī)以及平板電腦開(kāi)始支持藍(lán)牙4.0技術(shù),使本設(shè)計(jì)有了更廣泛的適用范圍。
參考文獻(xiàn)
[1]金純,賈珍梅,劉魯云,等.基于CC2540的超低功耗藍(lán)牙模塊的設(shè)計(jì)[J].電視技術(shù),2014,39(1):60-64.
[2]孫利民,李建中,陳渝.無(wú)線(xiàn)傳感網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[3]歐陽(yáng)駿,陳子龍,黃寧淋.藍(lán)牙4.0BLE開(kāi)發(fā)完全手冊(cè)[M].北京:化學(xué)工業(yè)出版社,2013.
[4]TI.2.4GHz Bluetooth low energy System-on-Chip[EB/OL].[2014-04-08].http//www.ci.com.En/produce/en/CC2540.
[5]盧浩昌.基于FPGA的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)低功耗節(jié)點(diǎn)設(shè)計(jì)及實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(xué),2012.
作者簡(jiǎn)介:郭曉光(1990-),男,山西長(zhǎng)治人,碩士研究生,研究方向?yàn)槌暉o(wú)損檢測(cè)及信號(hào)與信息處理。