藍牙協議棧的原理和應用設計
藍牙技術發展的時間比較長了,對于這部分的應用也非常廣泛。那么今天我們就來講解一下藍牙協議棧在嵌入式方面的一些應用。藍牙技術是一種無線數據與數字通信開放性規范.它以低成本、近距離無線連接為基礎,為固定與移動設備建立了一種完整通信方式和技術.藍牙技術實質是建立通用無線接口及其控制軟件標準,使移動通信與計算機網絡之間能實現無縫連接,由此,為不同廠家生產便攜式設備提供了近距離(10m~100m)范圍內互操作通道.在工業控制系統和許多應用領域,隨著電子技術發展,目前控制器和傳感器已經實現了智能化.在一般傳感器或測試儀表中,大量使用CPU 控制下數字化技術,因此,許多控制系統或傳感器系統已經實現了數字化傳輸.如果在數字化控制系統和傳感器中嵌入藍牙技術,則可以實現系統數據和控制命令無線傳輸,這對于許多應用領域都是十分重要.
1 藍牙協議棧
藍牙技術規范1.0 版本作了如下規定.
① 藍牙工作在全球通用2.4GHz ISM(Industrial ,Scientific and Medical)免付費、免申請無線電頻段.
② 采用快速確認和跳頻技術,以確保鏈路穩定.
③ 采用二進制調頻(FM)技術跳頻收發器,抑制干擾和防止衰落.
④ 采用前向糾錯(FEC)技術,抑制長距離鏈路隨機噪聲.
⑤ 數據傳輸速率為1Mb/s .
⑥ 采用時分雙工傳輸,其基帶協議是電路交換和分組交換結合.
⑦ 一個跳頻頻率發送一個同步分組,每個分組占用一個時隙,也可擴展到5個時隙.
⑧ 支持一個異步數據通道,或3個并發同步語音通道,或一個同時傳送異步數據和同步語音通道.每一個語音通道支持64Kbps 同步話音.異步通道支持最大速率為721Kbps 、反向應答速率為57.6Kbps 非對稱連接,或者是432.6bps 對稱連接.
目前,工作在2.4GHz 頻段上無線局域網技術中,除了藍牙技術外,還有IEEE802.11、HomeRF 和紅外技術.總來說,IEEE802.11 比較適合于辦公室無線網絡,HomeRF 適用于家庭中移動數據、語音設備等與主機之間通信,而藍牙技術則可以應用于任何允許無線方式替代線纜場合.
在實際應用中,藍牙技術應用一般采用嵌入式技術.在應用系統中嵌入藍牙協議棧,可為系統提供一個透明無線網絡通信層.

藍牙技術協議棧設計只有符合藍牙技術規范要求,才能實現不同廠家產品無縫對接.藍牙技術規范(specification)包括協議(protocol)和應用規范(profile)兩個部分.完整藍牙協議棧如圖1所示.
協議規范中定義了各功能元素工作方式,提供了藍牙技術實現中功能元素間橫向體系結構.應用規范則介紹了實現特定應用模型,描述了各層協議間協同機制,從而提供了技術實現縱向體系結構.
藍牙協議包括核心協議層、替代電纜協議層、電話控制協議層和選用協議層.
① 核心協議.核心協議包括基帶協議、鏈路管理協議(LMP)、邏輯鏈路控制和適配協議(L2CAP)、服務發現協議(SDP).
② 替代電纜協議.替代電纜協議包括串行電路仿真協議(RFCOMM),用于實現數據轉換.
③ 電話替代協議.本協議包括二元電話控制規范(TCS Binary)與AT-命令(AT-command).用于提供音頻通信處理規范和相應控制命令.
④ 選用協議.選用協議與用戶應用有關,包括點到點協議(PPP)、用戶數據報/傳輸控制協議/互聯網協議(UDP 和TCP/IP)、目標交換協議(OBEX)、無線應用協議(WAP)、無線應用環境(WAE)、vCard 、vCal 、紅外移動通信(IrMC).選用協議層具體內容由應用系統根據需要選擇.
除了以上協議層外,藍牙協議棧中還應包括二個接口:一個是主機控制接口(HCI),用來為基帶控制器、鏈路控制器以及訪問硬件狀態和控制寄存器等提供了命令接口;另一個是與基帶處理部分直接相連音頻接口,用以傳遞音頻數據.
在藍牙協議棧中,HCI 以上部分通常用軟件實現,包括邏輯鏈路控制和適配協議L2CAP、串行仿真RFCOMM 、鏈路管理協議(LMP )、電話替代協議和選用協議;而HCI以下部分則用硬件實現,包括基帶協議和鏈路管理協議(LMP),這部分也叫作藍牙協議體系結構中底層硬件模塊.#p#
2 核心藍牙協議棧硬件電路結構
底層模塊是藍牙技術核心模塊,主要由射頻(RF)單元電路、基帶層(base band)電路和鏈路管理層(LMP,Link Manger Protocol)電路組成.
(1)射頻(RF)單元
RF單元電路為藍牙技術提供了通信中物理層,也叫作藍牙收發器.通過2.4GHz 微波,實現數據流過濾和傳輸.藍牙協議提供了有關藍牙收發器各項技術指標.
(2)基帶層電路
基帶層提供了基帶數字信號處理硬件,其功能是提供鏈路控制,因此也叫作基帶及鏈路控制層電路.通過基帶層電路,可以建立藍牙通信網絡中物理鏈路,從而形成微微網(piconet).基帶層中有兩種物理鏈路,一種是面向連接同步鏈路(SCO),另一種是異步無連接鏈路(ACL).此外,基帶層還可為語音和數據分組提供不同水平前向糾錯(FEC)或循環冗余度校驗(CRC)處理,并可對數據進行加密.同時,基帶層電路還為不同類型數據(包括傳輸信息數據、鏈路管理和控制信息)提供特定信道.
(3)鏈路管理層(LMP)電路
鏈路管理層電路也叫作鏈路管理器電路,功能是提供鏈路管理通信協議.鏈路管理協議用來對鏈路進行設置和控制,并負責建立和撤銷各藍牙設備間連接、功率控制以及認證和加密,同時還控制藍牙設備工作狀態(保持hold 、休眠park 、呼吸sniff 和活動active ).鏈路管理層主要功能由軟件完成,鏈路管理器電路提供運行于藍牙設備處理器中軟件.鏈路管理器之間通信協議稱為鏈路管理協議(LMP).
藍牙技術整體框架以HCI(Host Controller Interface)為界,區分為硬件模塊以及上層軟件協議兩部分.
藍牙技術標準中,選擇了USB、UART 或是RS232 作為硬件模塊與主機間接口.當藍牙模塊以USB、UART或RS232中任何一個接口與主機連接時,HCI 接口上層通信協議由主機負責處理,而HCI 接口下層通信協議則由模塊內基帶層芯片與RF 芯片負責.
根據藍牙標準,藍牙系統基本組成包括天線、收發器、基帶控制器.由此可知,在天線、RF收法器和基帶控制器支持下,藍牙系統組成可以十分靈活,即可實現多種不同實現方案.

嵌入式藍牙系統是將RF和基帶部分集成在一塊芯片上,單芯片藍牙硬件模塊結構如圖2所示.在嵌入式藍牙器件中,硬件結構可分為鏈路管理器、鏈路控制器與RF模塊3部分,負責處理LMP層、基帶層與RF層協議.鏈路管理器內包含處理器(CPU)、內存等組件.鏈路管理器與基帶層芯片合稱為鏈路控制器.RF模塊內含RF射頻發射組件,與主機相連接接口位于鏈路控制器上.
在嵌入式方案中,藍牙協議上層軟件協議也全部固化在芯片中,芯片通過USB或UART接口與應用系統相連接.由于片內嵌入了CPU,所以,嵌入式藍牙系統實際上是一個智能終端,適合于任何具有CPU器件系統.例如,智能傳感器中,只要增加一個單芯片藍牙器件,就可以組成一個以藍牙為通信方式傳感器.
由圖2可知,它由微處理器(CPU)、無線收發器(RF)、基帶控制器(BB)、閃存(Flash程序存儲器)、通用異步收發器UART(Universal Asynchronous Receiver Transmitter)、通用串行接口USB(Universal Serial Bus)及藍牙測試模塊組成.其中藍牙基帶控制器是藍牙硬件模塊關鍵模塊.其主要功能是在微處理器控制下,實現藍牙基帶部分所有實時處理功能,包括負責對接收bit流進行符號定時提取和恢復;分組頭及凈荷循環冗余度校驗(CRC),分組頭及凈荷前向糾錯碼FEC處理,加密和解密處理等,且能提供從基帶控制器到其它芯片接口等.CPU一般采用RISC結構嵌入式微處理器,如ARM7TDMI微處理器,才能足對藍牙核心協議高速處理和大量數據bit流處理.Flash存儲器用于存放基帶和鏈路管理層中所有協議軟件.SRAM作為CPU 運行空間,在工作時把Flash中軟件調入SRAM中處理.射頻收發器負責接收或發送高頻通信信號.UART和USB接口提供到HCI主機控制器接口傳輸層物理連接,是上層協議與藍牙硬件模塊進行通信通道.藍牙測試模塊主要提供無線層和基帶層認證和一致性規范,同時還管理產品生產和售后測試,為可選模塊.



















