Bluetooth協(xié)議
一、射頻及基帶部分
Bluetooth設(shè)備工作在2.4GHz的ISM(Industrial,Science and Medicine)頻段,在北美和歐洲為2400~2483.5MHz,使用79個(gè)頻道,載頻為2402+kMHz(k=0,1…,22)。無(wú)論是79個(gè)頻道還是23個(gè)頻道,頻道間隔均為1MHz,采用時(shí)分雙工(TDD,TimeDivision Duplex)方式。調(diào)制方式為BT=0.5的GFSK,調(diào)制指數(shù)為0.28~0.35,最大發(fā)射功率分為三個(gè)等級(jí),分別是:100mW(20dBm),2.5mW(4dBm)和1mW(0dBm),在4~20dBm范圍內(nèi)要求采用功率控制,因此,Bluetooth設(shè)備間的有效通信距離大約為10~100米。
Bluetooth的基帶符號(hào)速率為1Mb/s,采用數(shù)據(jù)包的形式按時(shí)隙傳送,每時(shí)隙長(zhǎng)0.625ūs,不排除將來(lái)采用更高的符號(hào)速率。Bluetooth系統(tǒng)支持實(shí)時(shí)的同步面向連接傳輸和非實(shí)時(shí)的異步面向非連接傳輸,分別成為SCO鏈路(Synchronous Ccnnection-Oriented Link)和ACL鏈路(Asynchronous Connection-Less Link),前者只要傳送語(yǔ)音等實(shí)時(shí)性強(qiáng)的信息,在規(guī)定的時(shí)隙傳輸,后者則以數(shù)據(jù)為主,可在任意時(shí)隙傳輸。但當(dāng)ACL傳輸占用SCO的預(yù)留時(shí)隙,一旦系統(tǒng)需要SCO傳輸,ACL則自動(dòng)讓出這些時(shí)隙以保證SCO的實(shí)時(shí)性。數(shù)據(jù)包被分成3大類:鏈路控制包、SCO包和ACL包。已定義了4鐘鏈路控制數(shù)據(jù)包,后兩者最多可分別定義12種,目前已定義了4種和7種,即共定義了15種。大多數(shù)數(shù)據(jù)包只占用1個(gè)時(shí)隙,但有些包占用3個(gè)或5個(gè)時(shí)隙。
Bluetooth支持64kb/s的實(shí)時(shí)語(yǔ)音傳輸和各種速率的數(shù)據(jù)傳輸,語(yǔ)音編碼采用對(duì)數(shù)PCM或連續(xù)可變斜率增量調(diào)制(CVSD,Continuous Variable Slope Delta Modulation)。語(yǔ)音和數(shù)據(jù)可單獨(dú)或者同時(shí)傳輸。當(dāng)僅傳輸語(yǔ)音時(shí),Bluetooth設(shè)備最多可同時(shí)支持3路全雙工的語(yǔ)音通信;當(dāng)語(yǔ)音和數(shù)據(jù)同時(shí)傳輸或僅傳輸數(shù)據(jù)時(shí),Bluetooth設(shè)備支持433.9kb/s的對(duì)稱全雙工通信或723.2/57.6kb/s的非對(duì)稱雙工通信,另外,采用CRC(Cyclic Redundancy Check)、FEC(Forward Error Correction)及ARQ(Automatic Repeat Request),保證了通信的可靠性。
跳頻是Bluetooth使用的關(guān)鍵技術(shù)之一,對(duì)應(yīng)于單時(shí)隙包,Bluetooth的跳頻速率為1600跳每秒;對(duì)應(yīng)于多時(shí)隙包,跳頻速率有所降低;但在建鏈?zhǔn)牵ò▽ず艉筒樵儯﹦t提高為3200跳每秒。使用這樣高的跳頻速率,Bluetooth系統(tǒng)具有足夠高的抗干擾能力。
跳頻序列受控于Bluetooth 48-bit設(shè)備地址碼(BD——ADDR)中的28-bit和28-bit的時(shí)鐘,采用以多級(jí)碟形運(yùn)算為核心的映射方案。該跳頻方案和其他方案相比,具有硬件設(shè)備簡(jiǎn)單、性能優(yōu)越、便于79/23頻段兩種系統(tǒng)的兼容以及各種狀態(tài)的跳頻序列使用統(tǒng)一的電路來(lái)實(shí)現(xiàn)等特點(diǎn)。
二、組網(wǎng)技術(shù)
Bluetooth根據(jù)網(wǎng)絡(luò)的概念提供點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)的無(wú)線鏈接,在任意一個(gè)有效通信范圍呢,所有設(shè)備的地位都是平等的。首先提出通信要求的設(shè)備稱為主設(shè)備(Master),被動(dòng)進(jìn)行通信的設(shè)備稱為從設(shè)備(Slave)。利用TDMA,一個(gè)Master最多可同時(shí)與7個(gè)Slave進(jìn)行通信并和多個(gè)Slave(最多可超過(guò)200個(gè))保持同步但不通信。一個(gè)Master和一個(gè)以上的Slave構(gòu)成的網(wǎng)絡(luò)稱為Bluetooth的主從網(wǎng)絡(luò)(Piconet)。若兩個(gè)以上的Piconet之間存在著設(shè)備間的通信,則構(gòu)成了Bluetooth的分散網(wǎng)絡(luò)(Scatternet)。基于TDMA原理和Bluetooth設(shè)備的平等性,任意Bluetooth設(shè)備在Piconet和Scatternet中,既可作Master,又可作Slave,還可同時(shí)既是Master又是Slave。因此,在Bluetooth中沒(méi)有基站的概念。另外,所有設(shè)備都是可移動(dòng)的。
Bluetooth的基本出發(fā)點(diǎn)是可使其設(shè)備能夠在全球范圍內(nèi)應(yīng)用于任意的小范圍通信。任一Bluetooth設(shè)備,都可根據(jù)IEEE 802標(biāo)準(zhǔn)得到一個(gè)唯一的48-bie的BD_ADDR,它是一個(gè)公開(kāi)的地址碼,可以通過(guò)人工或自動(dòng)進(jìn)行查詢。在BD_ADDR基礎(chǔ)上,使用一些性能良好的算法可獲得各種保密和安全碼,從而保證了設(shè)備識(shí)別碼(ID,Identification)在全球的唯一性,以及通信過(guò)程中設(shè)備的鑒權(quán)和通信的安全保密。
三、Bluetooth的協(xié)議體系結(jié)構(gòu)
和許多的通信系統(tǒng)一樣,Bluetooth的通信協(xié)議采用層次結(jié)構(gòu)。其地層為各類應(yīng)用所通用,高層則視具體應(yīng)用而有所不同,大體上分為計(jì)算機(jī)背景和非計(jì)算機(jī)背景兩種方式,前者通過(guò)主機(jī)控制接口(HCI,Host Controller Interface)實(shí)現(xiàn)高、低層的聯(lián)接,后者則不需用HCI。層次結(jié)構(gòu)使其設(shè)備具有最大可能的通用性和靈活性。根據(jù)通信協(xié)議,各種Bluetooth設(shè)備無(wú)論在任何地方,都可以通過(guò)人工或自動(dòng)查詢來(lái)發(fā)現(xiàn)其他Bluetooth設(shè)備,從而構(gòu)成Piconet或Scatternet,實(shí)現(xiàn)系統(tǒng)提供的各種功能,使用起來(lái)十分方便。
藍(lán)牙協(xié)議棧
藍(lán)牙協(xié)議體系中的協(xié)議啊系統(tǒng)軟件的功能分為四層:
核心協(xié)議:BaseBand、LMP、L2CAP、SDP;
電纜代協(xié)議:RFCOMM;
電話傳輸控制協(xié)議:TCSBinary、AT命令集;
可選協(xié)議:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrDA、WAE;
基帶(BaseBand)協(xié)議描述了完成地層鏈路建立維護(hù)和執(zhí)行基帶協(xié)議的鏈路控制器的規(guī)范;鏈路管理協(xié)議(Link Manager Protocol)定義了鏈路的建立與控制的規(guī)范,在接收側(cè)信號(hào)由解釋及過(guò)濾;邏輯鏈路控制與適配協(xié)議(Logical Link Control and Adaptation Protocol)支持高層協(xié)議復(fù)用、數(shù)據(jù)包分段重組、QoS信息服務(wù)并獲得相應(yīng)的信息;RFCOMM是ETSITS07.10的子集,提供L2CAP之上的串口防真;TCSBinary定義了在藍(lán)牙設(shè)備間建立語(yǔ)音與數(shù)據(jù)呼叫控制信令;其他的一些協(xié)議都是已有的其他組織的協(xié)議。
除上述協(xié)議層外,規(guī)范還定義了主機(jī)控制接口(HCI),它為基帶控制器、連接管理器、硬件狀態(tài)和控制寄存器提供命令接口,用以想設(shè)備供應(yīng)商提供像USB和UART(通用異步收發(fā)器)的通用接口。絕大多數(shù)藍(lán)牙設(shè)備都需要核心協(xié)議(加上無(wú)線部分),而其他協(xié)議則根據(jù)應(yīng)用的需要而定。
四、應(yīng)用模型
Profiles部分規(guī)定不同藍(lán)牙應(yīng)用所需的協(xié)議,整個(gè)Profiles部分涉及了從耳機(jī)到局域網(wǎng)接入點(diǎn)等多種應(yīng)用。對(duì)于每一個(gè)應(yīng)用,應(yīng)用模型給出其協(xié)議棧結(jié)構(gòu),并針對(duì)每一層具體規(guī)定一些必須實(shí)現(xiàn)的內(nèi)容,諸如消息序列、功能集以及空中接口。依據(jù)應(yīng)用模型實(shí)現(xiàn)應(yīng)用,有利于不同廠家設(shè)備之間的互通性。
例如應(yīng)用模型的第一個(gè)是一般接入應(yīng)用模型,這個(gè)模型定義了用于發(fā)現(xiàn)藍(lán)牙設(shè)備的過(guò)程、用于鏈接管理的過(guò)程、使用不同安全級(jí)別的過(guò)程,并描述了用戶界面層次上參數(shù)的表示格式。模型首先給出了協(xié)議棧結(jié)構(gòu),而后分別描述了藍(lán)牙地址、藍(lán)牙設(shè)備類型、藍(lán)牙PIN碼在用戶層面的表示格式,同時(shí)就認(rèn)證等安全方面的內(nèi)容給出流程圖,最后描述設(shè)備發(fā)現(xiàn)及鏈路維護(hù)的消息序列,依照這個(gè)模型實(shí)現(xiàn)的設(shè)備互相可以發(fā)現(xiàn)對(duì)方并根據(jù)用戶需求建立鏈路。
Bluetooth的四種應(yīng)用模式
(1)通用訪問(wèn)應(yīng)用(GAP)模式:定義了兩個(gè)藍(lán)牙單元如何互發(fā)現(xiàn)和建立連接,它是用來(lái)處理連接設(shè)備之間的相互發(fā)現(xiàn)和建立連接的。它保證兩個(gè)藍(lán)牙設(shè)備,不管是哪一家廠商的產(chǎn)品,都能夠發(fā)現(xiàn)設(shè)備支持何種應(yīng)用,并能夠交換信息。
(2)服務(wù)發(fā)現(xiàn)應(yīng)用(SDAP)模式:定義了發(fā)現(xiàn)注冊(cè)在其他藍(lán)牙設(shè)備中的服務(wù)的過(guò)程,并且可以獲得與這些服務(wù)相關(guān)的信息。
(3)串口應(yīng)用(SPP)模式:定義了在兩個(gè)藍(lán)牙設(shè)備間基于RFCOMM建立虛擬的串口連接的過(guò)程和要求。
(4)通用對(duì)象交換應(yīng)用(GOEP)模式:定義了處理對(duì)象交換的協(xié)議和步驟,文件傳輸應(yīng)用和同步應(yīng)用都是基于這一應(yīng)用的,筆記本電腦、PDA、移動(dòng)電話是這一應(yīng)用模式的典型應(yīng)用。
Bluetooth的協(xié)議標(biāo)準(zhǔn)
藍(lán)牙規(guī)范(Specification of the Bluetooth System)就是藍(lán)牙無(wú)線通信協(xié)議標(biāo)準(zhǔn),它規(guī)定了藍(lán)牙應(yīng)用產(chǎn)品應(yīng)遵循的標(biāo)準(zhǔn)和需要達(dá)到的要求,有SIG頒布.
藍(lán)牙規(guī)范包括核心協(xié)議(Core)與應(yīng)用框架(Profiles)兩個(gè)文件。協(xié)議規(guī)范部分定義了藍(lán)牙的各層通信協(xié)議,應(yīng)用框架指出了如何采用這些協(xié)議實(shí)現(xiàn)具體的應(yīng)用產(chǎn)品。藍(lán)牙協(xié)議規(guī)范遵循開(kāi)放系統(tǒng)互連參考模型(Open System Interconnetion/Referenced Model, OSI/RM),從低到高地定義了藍(lán)牙協(xié)議堆棧的各個(gè)層次。
按照藍(lán)牙協(xié)議的邏輯功能,協(xié)議堆棧由下至上分為3個(gè)部分:傳輸協(xié)議、中介協(xié)議和應(yīng)用協(xié)議。其功能簡(jiǎn)介如下。
1 .傳輸協(xié)議
負(fù)責(zé)藍(lán)牙設(shè)備間相互確認(rèn)對(duì)方的位置,以及建立和管理藍(lán)牙設(shè)備間的物理和邏輯鏈路。這一部分又進(jìn)一步分為低層傳輸協(xié)議和高層傳輸協(xié)議。低層傳輸協(xié)議側(cè)重于語(yǔ)音與數(shù)據(jù)無(wú)線傳輸?shù)奈锢韺?shí)現(xiàn)以及藍(lán)牙設(shè)備的物理和邏輯鏈路。低層傳輸協(xié)議包括藍(lán)牙的射頻(Radio)部分、基帶與鏈路管理協(xié)議(Baseband && Link Manager Protocol, LMP)。高層傳輸協(xié)議包括邏輯鏈路控制的物理實(shí)現(xiàn)以及藍(lán)牙設(shè)備間的連接于組網(wǎng)。高層傳輸協(xié)議包括邏輯鏈路控制與適配協(xié)議(Logical Link Control and Adaptation Protocol, L2CAP)和主機(jī)控制器接口(Host Controller Interface, HCI)。這部分為高層應(yīng)用程序屏蔽了諸如跳頻序列選擇等低層傳輸操作,并為高層應(yīng)用傳輸提供了更加有效和更有利于實(shí)現(xiàn)的數(shù)據(jù)分組格式。
2 .中介協(xié)議
為高層應(yīng)用協(xié)議或程序在藍(lán)牙邏輯鏈路上工作提供了必要的支持,為應(yīng)用曾提供了各種不同的標(biāo)準(zhǔn)接口。這部分協(xié)議包括以下幾部分。
(1). 串口仿真協(xié)議(RFCOMM)
基于歐洲電信標(biāo)準(zhǔn)化協(xié)會(huì)(European Telecommunication Standardization Institute, ETSI)的TS07.10標(biāo)準(zhǔn)制定。該協(xié)議用于模擬串行接口環(huán)境,使得基于串口的傳統(tǒng)應(yīng)用僅作少量的修改或者不做任何修改可以直接在該層上運(yùn)行。
(2). 服務(wù)發(fā)現(xiàn)協(xié)議(Service Didcovery Protocol,SDP)
為實(shí)現(xiàn)藍(lán)牙設(shè)備之間相互查詢及訪問(wèn)對(duì)方提供的服務(wù)。
(3). IrDA(Infrared Data Association)互操作協(xié)議
藍(lán)牙規(guī)范采用了IrDA的對(duì)象交換協(xié)議(OBEX),使得傳統(tǒng)的基于紅外技術(shù)的對(duì)象(如電子名片(vCard)和電子日歷(vCal)等)交換應(yīng)用同樣可以運(yùn)行在藍(lán)牙無(wú)線接口之上。
網(wǎng)絡(luò)訪問(wèn)協(xié)議:該部分協(xié)議包括點(diǎn)對(duì)點(diǎn)協(xié)議(Point to Point Protocol, PPP)、網(wǎng)際協(xié)議(Internet Protocol, IP)、傳輸控制協(xié)議(Transfer Control Protocol, TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol, UDP)等,用于實(shí)現(xiàn)藍(lán)牙設(shè)備的撥號(hào)上網(wǎng),或通過(guò)網(wǎng)絡(luò)接入點(diǎn)訪問(wèn)Internet 和本地局域網(wǎng)。
(4). 電話控制協(xié)議
該協(xié)議包括TCS、AT指令集和音頻。電話控制協(xié)議性能(Telephone Control Protocol Specification,TCS)是基于國(guó)際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門(International Telecommunication Union-Telecommunication,ITU-T)的Q.931標(biāo)準(zhǔn)制定的,用于支持電話功能;藍(lán)牙直接在基帶上處理音頻信號(hào)(主要指數(shù)字語(yǔ)音信號(hào)),采用SCO鏈路傳輸語(yǔ)音,可以實(shí)現(xiàn)頭戴式耳機(jī)和無(wú)繩電話等的應(yīng)用。
3 .應(yīng)用協(xié)議
是指那些位于藍(lán)牙協(xié)議堆棧之上的應(yīng)用軟件和其中所涉及的協(xié)議,包括開(kāi)發(fā)驅(qū)動(dòng)各種諸如撥號(hào)上網(wǎng)和通信等功能的藍(lán)牙應(yīng)用程序。藍(lán)牙規(guī)范提供了傳輸層及中介層定義和應(yīng)用框架,在傳輸層及中介層之上,不同的藍(lán)牙設(shè)備必須采用統(tǒng)一符合藍(lán)牙規(guī)范的形式;而在應(yīng)用層上,完全由開(kāi)發(fā)人員自主實(shí)現(xiàn)。事實(shí)上,許多傳統(tǒng)的應(yīng)用都可以幾乎不用修改就在藍(lán)牙協(xié)議堆棧之上運(yùn)行,如基于串口和OBEX協(xié)議的應(yīng)用。通常藍(lán)牙技術(shù)應(yīng)用程序接口(Application Programming Interface,API)函數(shù)的開(kāi)發(fā)由開(kāi)發(fā)工具的設(shè)計(jì)人員來(lái)完成,這樣有利于藍(lán)牙技術(shù)與各類應(yīng)用的緊密結(jié)合。
聯(lián)系客服