Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> BlueTooth: 藍牙協議棧的原理和結構

BlueTooth: 藍牙協議棧的原理和結構

編輯:關於Android編程

藍牙,這個已經不是什麼新鮮的技術了,相信大多數人都是了解的。那麼對於這方面,我們可以在嵌入式操作中進行一下實現。在藍牙系統中,為了支持不同應用,需要使用多個協議,這些協議按層次組合在一起,構成了藍牙協議棧.藍牙協議棧是藍牙技術的核心組成部分,它能使設備之間互相定位並建立連接,通過這個連接,設備間能通過各種各樣的應用程序進行交互和數據交換

1、藍牙協議棧體系結構

藍牙技術規范的目的是使符合該規范的各種應用之間能夠實現互操作.互操作的遠端設備需要使用相同的協議棧,不同的應用需要不同的協議棧.並不是任何應用都必須使用全部協議,而是可以只使用其中的一層或多層.但是,所有的應用都要使用藍牙技術規范中的數據鏈路層和物理層.

設計藍牙協議棧的主要原則是盡可能地利用現有的各種高層協議,保證現有協議與藍牙技術的融合以及各種應用之間的互通性以及充分利用兼容藍牙技術規范的軟硬件系統.藍牙技術規范的的開放性保證了設備制造商可自由地選用其專利協議或常用的公共協議,在藍牙技術規范基礎上開發新的應用.藍牙技術規范包括Core和Profiles兩大部分.Core是藍牙的核心,主要定義藍牙的技術細節;Profiles部分定義了在藍牙的各種應用中的協議棧組成,並定義了相應的實現協議棧.

按照各層協議在整個藍牙協議體系中所處的位置,藍牙協議可分為底層協議、中間層協議和高層協議三大類.

2、藍牙底層協議

藍牙底層協議實現藍牙信息數據流的傳輸鏈路,是藍牙協議體系的基礎,它包括射頻協議、基帶協議和鏈路管理協議.

(1)射頻協議(Radio Frequency Protocol)

藍牙射頻協議處於藍牙協議棧的最底層,主要包括頻段與信道安排、發射機特性和接收機特性等,用於規范物理層無線傳輸技術,實現空中數據的收發.藍牙工作在2.4GHz ISM頻段,此頻段在大多數國家無須申須運營許可,使得藍牙設備可工作於任何不同的地區.

信道安排上,系統采用跳頻擴頻技術,抗干擾能力強、保密性好.藍牙SIG制定了兩套跳頻方案,其一是分配79個跳頻信道,每個頻道的帶寬為1MHz,其二是23信道的分配方案,1.2版本以後的藍牙規范目前已經不再推薦使用第二套方案.

(2)基帶協{,S((Base Band Protocol)

基帶層在藍牙協議棧中位於藍牙射頻層之上,同射頻層一起構成了藍牙的物理層.

基帶層的主要功能包括:鏈路控制,比如承載鏈路連接和功率控制這類鏈路級路由;管理物理鏈路,SCO鏈路和ACL鏈路;定義基帶分組格式和分組類型,其中SCO分組有HVl、HV2、HV3和DV等類型,而ACL分組有DMl、DHl、DM3、DH3、DM5、DH5、AUXl等類型;流量控制,通過STOP和GO指令來實現;采用13比例前向糾錯碼、23比例前向糾錯碼以及數據的自動重復請求ARQ(Automatic Repeat Request)方案實現糾錯功能;另外還有處理數據包、尋呼、查詢接入和查詢藍牙設備等功能.

(3)鏈路管理協議(Link Manager Protocol,LMP)

鏈路管理協議(LMP)是在藍牙協議棧中的一個數據鏈路層協議.LMP執行鏈路設置、認證、鏈路配置和其它協議:鏈路管理器發現其它遠程鏈路管理器(LM)並與它們通過鏈路管理協議(LMP)進行通信.

3、藍牙中間層協議

藍牙中間層協議完成數據幀的分解與重組、服務質量控制、組提取等功能,為上層應用提供服務,並提供與底層協議的接口,此部分包括主機控制器接口協議、邏輯鏈路控制與適配協議、串口仿真協議、電話控制協議和服務發現協議.

(1)主機控制器接口協議(Host Controller Interface Protocol,HCI)

藍牙HCI是位於藍牙系統的邏輯鏈路控制與適配協議層和鏈路管理協議層之間的一層協議.HCI為上層協議提供了進入鏈路管理器的統一接口和進入基帶的統一方式.在HCI的主機和HCI主機控制器之間會存在若干傳輸層,這些傳輸層是透明的,只需完成傳輸數據的任務,不必清楚數據的具體格式.藍牙的SIG規定了四種與硬件連接的物理總線方式,即四種HCI傳輸層:USB、RS232、UART和PC卡

(2)邏輯鏈路控制與適配協議(Logical Link Control and AdaptationProtocol,L2CAP)

邏輯鏈路控制與適配層協議(L2CAP)是藍牙系統中的核心協議,它是基帶的高層協議,可以認為它與鏈路管理協議(LMP)並行工作.L2CAP為高層提供數據服務,允許高層和應用層協議收發大小為64 KB的L2CAP數據包.L2CAP只支持基帶面向無連接的異步傳輸(ACE),不支持面向連接的同步傳輸(sco).L2CAP采用了多路技術、分割和重組技術、組提取技術,主要提供協議復用、分段和重組、認證服務質量、組管理等功能.

(3)串口仿真協議(RFCOMM)

串口仿真協議在藍牙協議棧中位於L2CAP協議層和應用層協議層之間,基於ETSI標准TS 07.10,在L2CAP協議層之上實現了仿真9針RS232串口的功能,可實現設備間的串行通信,從而對現有使用串行線接口的應用提供了支持.

(4)電話控制協議(Telephony Control Protocol Spectocol,TCS)

電話控制協議位於藍牙協議棧的L2CAP層之上,包括電話控制規范二進制(TCS BIN)協議和一套電話控制命令(AT Commands).其中,TCS BIN定義了在藍牙設備間建立話音和數據呼叫所需的呼叫控制信令;AT Commands則是一套可在多使用模式下用於控制移動電話和調制解調器的命令,它SIG在ITU.TQ.931的基礎上開發而成.TCS層不僅支持電話功能(包括呼叫控制和分組管理),同樣可以用來建立數據

呼叫,呼叫的內容在L2CAP上以標准數據包形式運載.

(5)服務發現協議(Service Discovery Protocol,SDP)

服務發現協議(SDP)是藍牙技術框架中至關重要的一層,它是所有應用模型的基礎.任何一個藍牙應用模型的實現都是利用某些服務的結果.在藍牙無線通信系統中,建立在藍牙鏈路上的任何兩個或多個設備隨時都有可能開始通信,僅僅是靜態設置是不夠的.藍牙服務發現協議就確定了這些業務位置的動態方式,可

以動態地查詢到設備信息和服務類型,從而建立起一條對應所需要服務的通信信道.

4 、藍牙高層協議

藍牙高層協議包括對象交換協議、無線應用協議和音頻協議.

(1)對象交換協議(Object Exchange Protocol,OBEX)

OBEX是由紅外數據協會(IrDA)制定用於紅外數據鏈路上數據對象交換的會話層協議.藍牙SIG采納了該協議,使得原來基於紅外鏈路的OBEX應用有可能方便地移植到藍牙上或在兩者之間進行切換.OBEX是一種高效的二進制協議,采用簡單和自發的方式來交換對象.它提供的功能類似於帥協議,在假定傳輸層可靠的基礎上,采用客戶機.服務器模 式.它只定義傳輸對象,而不指定特定的傳輸數據類型,可以是從文件到商業電子賀卡、從命令到數據庫等任何類型,從而具有很好的平台獨立性.

(2)無線應用協議(Wireless Application Protocol,WAP)

無線應用協議(WAP)由無線應用協議論壇制定,是由移動電話類的設備使用的無線網絡定義的協議.WAP融合了各種廣域無線網絡技術,其目的是將互聯網內容和電話債券的業務傳送到數字蜂窩電話和其他無線終端上.選用WAP可以充分利用為無線應用環境開發的高層應用軟件.

(3)音頻協議(Audio)

藍牙音頻(Audio)是通過在基帶上直接傳輸SCO分組實現的,目前藍牙SIG並沒有以規范的形式給出此部分.雖然嚴格意義上來講它並不是藍牙協議規范的一部分,但也可以視為藍牙協議體系中的一個直接面向應用的層次.


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved