0 引言
由于微電子技術與集成電路技術的進步,使得計算機設備的體積進一步縮小,功耗不斷降低。而且隨著產品體積的日益減小和對應功耗的降低,使得各種移動、便攜式產品越來越廣泛地被應用于人們的日常生活中;但由此產生的網絡連接和信息交換問題也越發突出。現在,各種移動設備間的無線通信產品已經成為眾多廠商正在努力開發的目標。藍牙技術正是在這樣的一種環境下產生的。藍牙技術致力于構建體積小,功耗低,并能夠深度嵌入到其他設備或隨身攜帶的產品;使用藍牙技術可以實時處理數據、語音、圖像,甚至是視頻信息。
2010年7月7日藍牙技術聯盟(Bluetooth SIG)宣布,正式采納藍牙4.0核心規范(Bluetooth Core Specification Version 4.0),并啟動對應的認證計劃。會員廠商可以提交其產品進行測試,通過藍牙4.0后將獲得藍牙4.0標準認證。該技術擁有極低的運行和待機功耗,使用一粒紐扣電池甚至可連續工作數年之久。同時還擁有低成本、跨廠商互操作性、3 ms低延遲、100 m以上超長距離、AES-128加密等諸多特色,可以用于計步器、心律監視器、智能儀表、傳感器物聯網等眾多領域,藍牙技術將在未來的短距離無線通信中發揮巨大作用。
本文就基于嵌入式設備上的藍牙數據傳輸技術,重點研究了藍牙協議體系和應用框架,以及嵌入式藍牙數據傳輸軟件的實現。
1 藍牙協議概述
藍牙協議棧是藍牙通信規范的核心部分,如圖1所示。藍牙協議規定了藍牙設備的定位、之間的互連操作,以及如何建立連接交換數據,從而可以在藍牙設備之間進行無縫交互式應用。藍牙協議采用了網絡通信中常用的分層結構,分別完成數據流的過濾和傳輸、跳頻和數據幀傳輸、連接的建立和釋放、鏈路的控制、數據的拆裝、業務質量(QoS)、協議的復用和分用等功能。藍牙技術的一個主要任務就是能夠使使用相同藍牙協議的本地設備和遠端設備互聯互通,而不需要額外的資源和操作。

從協議的重要性上,藍牙協議體系可以分為4個層次,即核心協議層、串口協議層、電話控制協議層和可選協議層。各個層還包含了各種具體的協議:
(1)核心協議層:邏輯鏈路控制和適配協議(L2CAP)、基帶、鏈路管理協議(LMP)、服務發現協議(SDP);
(2)串口協議層:串口仿真協議(RFCOMM);
(3)電話控制協議層:電話控制二元協議(TCSBinary)與AT-Command規范;
(4)可選協議層:點到點協議(PPP)、對象交換協議(OBEX)、UDP/TCP/IP協議、無線應用環境(WAE)、無線應用協議(WAP)、紅外移動通信(IrMC)、vCard、vCal。
2 藍牙數據傳輸系統設計
2.1 藍牙應用框架
在藍牙協議體系結構的基礎上,藍牙規范還定義了通用的藍牙應用框架。應用框架重點選擇了標準藍牙協議中的消息和操作,描述了完整的藍牙應用操作過程。應用框架的提出大大提高了不同廠家藍牙產品的互操作性,這給用戶帶來了便利。在藍牙通用應用框架中,定義了4個通用框架,它們是實現具體的藍牙應用的規范和基礎。這4個應用框架是:通用訪問框架(Generic Access Profile,GAP)、串口仿真框架(Ser ial Port Proflle,SPP)、服務發現應用框架(Service Discovery Application Profile,SDAP)、通用對象交換框架(Generic Object Exc hange Profile,GOEP)。這4個通用框架之間的關系如圖2所示。

2.2 系統硬件設計
系統的硬件結構示意圖如圖3所示。主控制器采用了三星公司的一款S3C2440微處理器,基于ARM920T內核,采用0.18μm工藝制作CMOS宏單元和存儲單元,同時采用AMBA(Advanced Microcontroller Bus Architecture)新型總線結構,具有低功耗、精簡和出色的全靜態設計,所以特別適合對成本和功耗敏感的應用。除此之外,他還特別為各種外設準備了豐富的中斷控制能力,包括高達60個中斷源(其中,5個定時器,9個UARTs,24個外部中斷,1個看門狗定時器,4個DMA,2個ADC,1個LCD,1個電池故障,1個I2C,2個SPI,1個SDI,2個USB,1個NAND,2個Camera和1個AC97音頻),可以使用電平/邊沿觸發模式進行觸發的外部中斷源,可編程決定的邊沿/電平觸發極性,這些功能為緊急中斷請求提供了快速中斷(FIQ)服務。

藍牙模塊采用了CSR公司的CSR8510,它是CSR8000系列的一款,是全面滿足藍牙v3.0標準的系統,并提供對最新藍牙標準v4.0版本的支持。CSR8000在原CSR7000的架構上增加了藍牙低功耗射頻部分,專門為連接下一代10億個藍牙設備而設計的。另外,增加了數字信號處理器(DSP),為高清語音配備的專用數字音頻信號處理器,可進行片上音頻編碼和噪聲消除。同時對原藍牙射頻和FM部分進行了優化,使藍牙射頻的輸出功率達到了10 dBm,在不需要外接任何PA的情況下,芯片已經可以達到classl的距離,即100~150 m的距離,靈敏度也從原-90 dBm改進到現在的-93 dBm。其FM無需接任何外接天線,僅基于DSP的降噪算法就能使FM接收器實現更好的接收效果
2.3 系統軟件設計
整個藍牙數據傳輸系統的軟件架構如圖4所示,共分為4個大的模塊:

(1)GUI模塊。采用Qt庫實現,完全面向對象設計,界面易擴展,各種功能使用插件的形式完成;主要負責界面各種按鈕的消息捕獲、處理,完成藍牙數據傳輸系統中所有功能窗口的創建、銷毀以及管理,當出現軟件有錯誤發生時,向用戶返回友好的錯誤提示。同時,在進行數據傳輸的時候,可以實時顯示當前數據傳輸的狀態信息。
(2)Adapter Layer,軟件適配層。主要負責向GUI模塊提供底層無關的數據傳輸API接口,與GUI交換數據信息,以及響應用戶在GUI上的操作,控制下層模塊進行實際的執行。
(3)SourceControl模塊。主要負責通過SDAP(服務發現應用框架)發現SDP和連接其他藍牙設備;通過GOBEX(通用對象交換框架)中的OBEX規范與其他的藍牙設備進行信息交換,主要分為PUT和GET操作的控制,以及設備本身的文件操作控制;本模塊還可以進行其他藍牙設備的身份認證和鑒權。
(4)Core Module。主要負責藍牙設備原始數據的緩存,以及調用藍牙芯片進行加密數據的編解碼,并保證實現藍牙數據的實時通信。
3 結語
嵌入式移動設備的飛速發展,使得人們進行無線互聯互通的愿望越發強烈。藍牙4.0技術規范的提出,使其在更低功耗,更大覆蓋范圍,必將成為短距離無線通信的事實標準;相信不久的將來,基于藍牙的無線應用會越來越多。