郭曉光 馮思奇



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