藍(lán)牙作為一種新的短距離無(wú)線通信技術(shù)在當(dāng)今社會(huì)的使用是越來(lái)越高了,其中最為常見的就是藍(lán)牙耳機(jī)。手機(jī)呼叫手機(jī)呼叫免提接聽的功能。在藍(lán)牙Head Set 模型中首先需要明確兩個(gè)角色: 一個(gè)是A G(A udio Gateway) , 他充當(dāng)音頻網(wǎng)關(guān), 既可以作為音頻輸入也可以作為音頻輸出; 另一個(gè)是HS (Head Set) , 即藍(lán)牙耳機(jī), 他是一個(gè)作為藍(lán)牙遠(yuǎn)端音頻輸入與輸出的設(shè)備, 并且提供了一些遠(yuǎn)端控制方式。
1、藍(lán)牙系統(tǒng)的功能模塊
藍(lán)牙系統(tǒng)的基本功能模塊如圖1 所示。他的功能模塊包括天線單元、鏈路控制器、鏈路管理、軟件功能。
111 無(wú)線技術(shù)規(guī)范
藍(lán)牙天線屬于微帶天線, 藍(lán)牙無(wú)線接口是基于常規(guī)無(wú)線發(fā)射功率0 dBm 設(shè)計(jì)的, 符合美國(guó)聯(lián)通訊委員會(huì)(FCC) 的ISM 頻段的規(guī)定。擴(kuò)展頻譜技術(shù)的應(yīng)用使得功率可增至100 dBm, 可滿足不同國(guó)家的需要。在日本、西班牙、法國(guó), 由于當(dāng)?shù)匾?guī)定的頻段相對(duì)較窄, 可用內(nèi)部軟件轉(zhuǎn)換實(shí)現(xiàn)。
112 基帶技術(shù)規(guī)范
基帶描述了設(shè)備的數(shù)字信號(hào)處理部分, 即藍(lán)牙鏈路控制器, 他完成基帶協(xié)議和其他底層的鏈路規(guī)程。主要包括以下幾個(gè)方面:
(1) 網(wǎng)絡(luò)連接的建立
(2) 鏈路類型和分組類型
鏈路類型決定了哪種分組模式能在特定的鏈路上使用, 藍(lán)牙基帶技術(shù)支持2 種鏈路類型: 即同步面向連接類型SCO (主要用于語(yǔ)音) 和異步非連接類型ACL (主要用于分組數(shù)據(jù))。
(3) 糾錯(cuò)
基帶控制器采用3 種糾錯(cuò)方式: 1?3 速率前向糾錯(cuò)編碼(FEC) , 2?3 速率前向糾錯(cuò)編碼(FEC) , 對(duì)數(shù)據(jù)的自動(dòng)請(qǐng)求重傳(ACL )。
(4) 鑒權(quán)和加密
藍(lán)牙基帶部分在物理層為用戶提供保護(hù)和信息保密機(jī)制。鑒權(quán)基于“請(qǐng)求響應(yīng)”運(yùn)算法則。鑒權(quán)是藍(lán)牙系統(tǒng)中的關(guān)鍵部分, 他允許用戶為個(gè)人的藍(lán)牙設(shè)備建立一個(gè)信任域, 比如只允許主人自己的筆記本電腦通過(guò)主人自己的移動(dòng)電話通信。加密被用來(lái)保護(hù)連接的個(gè)人信息。密鑰由程序的高層來(lái)管理。網(wǎng)絡(luò)傳送協(xié)議和應(yīng)用程序可以為用戶提供一個(gè)較強(qiáng)的安全機(jī)制。
2、Head Set 應(yīng)用模型的協(xié)議棧結(jié)構(gòu)
藍(lán)牙的協(xié)議棧采用分層結(jié)構(gòu), 如圖2 所示。
各層功能簡(jiǎn)要介紹如下:
基帶(baseband) 是藍(lán)牙的物理層, 主要負(fù)責(zé)物理信道的編解碼, 底層的定時(shí)控制, 以及在單個(gè)數(shù)據(jù)包傳送期間的鏈路管理等業(yè)務(wù), 在原始的荷載數(shù)據(jù)上增加地址域和控制域, 并進(jìn)行錯(cuò)誤檢測(cè)或糾正。
LC (L ink Cont ro l) 層負(fù)責(zé)在一批數(shù)據(jù)包傳送期間, 響應(yīng)上層LM 命令(如執(zhí)行建立數(shù)據(jù)包的傳輸鏈路, 維持鏈路等功能的LM 命令)。
LM (L inkM anager) 層是藍(lán)牙協(xié)議棧的鏈路管理層協(xié)議, 他負(fù)責(zé)將上層HC I 命令翻譯成基帶能接受的操作, 建立ACL (數(shù)據(jù)) 和SCO (語(yǔ)音) 鏈接, 以及使藍(lán)牙設(shè)備進(jìn)入節(jié)能狀態(tài)的工作模式等。
M E (M anagement Ent ity) 為管理實(shí)體, 他的功能是發(fā)現(xiàn)遠(yuǎn)端設(shè)備并且與他們建立連接, 為需要管理藍(lán)牙微微網(wǎng)的應(yīng)用層和其他系統(tǒng)層提供接口A P I。
SE (SecurityM anager) 和M E 一起工作允許應(yīng)用程序?qū)﹁b權(quán)和加密進(jìn)行設(shè)置, 真正的鑒權(quán)和加密是由硬件來(lái)實(shí)現(xiàn)的。
邏輯鏈路控制協(xié)議(L 2CA P) 采用了信道的概念在藍(lán)牙設(shè)備不同應(yīng)用之間建立不同的路徑, 但他只支持ACL鏈路。主要功能是為高層應(yīng)用層提供協(xié)議復(fù)用, 允許他們共享低層數(shù)據(jù)鏈路。并對(duì)超過(guò)低層支持的大數(shù)據(jù)包進(jìn)行分組和重組操作, 同時(shí)提供了對(duì)上層服務(wù)的質(zhì)量管理。
業(yè)務(wù)搜尋協(xié)議(SDP) 是極其重要的部分, 他提供了一種SDP 客戶向SDP 服務(wù)器查詢關(guān)于服務(wù)信息的方式。服務(wù)器維護(hù)一個(gè)服務(wù)記錄列表, 服務(wù)記錄列表描述與該服務(wù)器有關(guān)的服務(wù)特征。客戶端可以通過(guò)發(fā)送一個(gè)SDP 請(qǐng)求從服務(wù)器記錄中索取服務(wù)信息, 業(yè)務(wù)及業(yè)務(wù)特征, 并在查詢之后建立兩個(gè)或多個(gè)藍(lán)牙設(shè)備間的連接。
RFCOMM 提供串口仿真, 藍(lán)牙的低層負(fù)責(zé)提供無(wú)線的連接方式, 但在此之前已經(jīng)存在很多傳統(tǒng)的應(yīng)用都是基于有線方式開發(fā)的, 藍(lán)牙如果不能解決對(duì)傳統(tǒng)協(xié)議的適配問(wèn)題, 就很難成為一個(gè)廣泛應(yīng)用的標(biāo)準(zhǔn)。為此, 藍(lán)牙制定了像RFCOMM 的適配協(xié)議來(lái)實(shí)現(xiàn)對(duì)傳統(tǒng)應(yīng)用的支持。
Head Set 控制層: 主要是實(shí)現(xiàn)Head Set 的P rofile 定義的功能, 例如對(duì)音頻網(wǎng)關(guān)的M IC (麥克風(fēng)) 的音量控制,對(duì)SPK (揚(yáng)聲器) 的音量控制, SCO 鏈接的建立與釋放,以及音頻轉(zhuǎn)移等。
音頻端口應(yīng)用層: 是一些針對(duì)應(yīng)用的功能, 耳機(jī)應(yīng)用層必須實(shí)現(xiàn)的應(yīng)用特征有:
(1) 接到A G 的呼叫時(shí)能建立音頻鏈接, 通話結(jié)束后能斷開音頻鏈接。
(2) 能發(fā)起對(duì)遠(yuǎn)方的呼叫, 通話結(jié)束后同樣能斷開音頻鏈接。
(3) 音頻鏈接轉(zhuǎn)移。
(4) 對(duì)遠(yuǎn)端A G 的音量控制。
3、Head Set 的建鏈
當(dāng)藍(lán)牙音頻網(wǎng)關(guān)A G 接收到一個(gè)呼叫, 發(fā)起與HS 的鏈接時(shí), 為使應(yīng)用層語(yǔ)音通信可靠, 需要藍(lán)牙協(xié)議棧建立可靠的通信鏈路。根據(jù)藍(lán)牙協(xié)議棧運(yùn)行, 從底層到高層的建鏈一般要經(jīng)過(guò)以下幾個(gè)過(guò)程:
(1) 建立ACL 即基帶層的鏈接;
(2) 建立L 2CA P 層的鏈接;
(3) 進(jìn)行SDP 的查詢過(guò)程;
(4) 建立RFCOMM 層的鏈路;
(5) RFCOMM 鏈路建好后, 將通過(guò)RFCOMM 信道傳輸Head Set 控制層的一些A T 命令;
(6) 建立SCO 鏈接;
(7) 根據(jù)應(yīng)用層的動(dòng)作執(zhí)行藍(lán)牙HS 與A G 之間的音頻通信。
藍(lán)牙協(xié)議棧的建鏈過(guò)程具體討論如下。
3.1 建立ACL 即基帶層的鏈接
A G 接收到一個(gè)呼叫時(shí), 首先建立與HS 之間的ACL鏈接, 此HS 與A G 之間需預(yù)先綁定, 或者把原來(lái)處于休眠狀態(tài)下的HS 喚醒。這是通過(guò)page 進(jìn)程完成的, 在用page 進(jìn)程建立ACL 時(shí), 定義A G 是M aster 角色, 于是A G首先發(fā)起查詢, 通過(guò)查詢A G 獲得HS 的藍(lán)牙地址。然后A G 在應(yīng)用層的驅(qū)動(dòng)下向查詢到的HS 發(fā)起一個(gè)page 進(jìn)程, 當(dāng)接收到HS 返回的應(yīng)答時(shí), 這時(shí)A G 與HS 之間的
ACL 鏈接已經(jīng)成功建立。
一旦ACL 鏈接建立, 他可以被用來(lái)傳送振鈴信號(hào)。振鈴信號(hào)的發(fā)送是通過(guò)A T 命令R IN G 來(lái)完成的。振鈴信號(hào)也可以在SCO 鏈路上發(fā)送。
3.2 建立L 2CA P 層的鏈接
ACL 鏈接好后, 接著建L 2CA P 鏈路。A G 首先在信令信道上發(fā)送一個(gè)鏈接請(qǐng)求信令, 要求建立信道標(biāo)號(hào)為0x0040 的L 2CA P (0x0001~ 0x003F 是協(xié)議保留不可動(dòng)態(tài)分配的, 0x0040~ 0xFFFF 可以自由分配) , 此信道的PSM (協(xié)議服務(wù)復(fù)用) 標(biāo)志0001, 當(dāng)對(duì)方返回鏈接響應(yīng)信號(hào), 表明0x0040 信道已經(jīng)建好。然后對(duì)此信道進(jìn)行配置,配置完信道后, 就可以利用此C ID 為0x0040 的L 2CA P 信道進(jìn)行SDP 查詢了。
3.3 進(jìn)行SDP 的查詢過(guò)程
利用C ID 為0x0040 的L 2CA P 信道進(jìn)行SDP 的查詢過(guò)程, 首先是A G 在此L 2CA P 信道上發(fā)送一個(gè)SDP 查詢包, SDP 查詢包將查詢SDP 服務(wù)器端HS 是否具有所需要的服務(wù)。若查詢成功, 在ACL 鏈路上再建一條標(biāo)號(hào)為0x0041 的L 2CA P 鏈路, 此信道的PSM 為0003, 用來(lái)傳輸RFCOMM 數(shù)據(jù)流的。同時(shí)斷開用作SDP 查詢的標(biāo)號(hào)為0x0040 的L 2CA P 鏈路。
3.4 建立RFCOMM 層的鏈路
當(dāng)C ID 為0x0041 的L 2CA P 信道建好之后, 接著就是RFCOMM 的建鏈過(guò)程, 如圖3 所示。首先建控制信道, 建鏈發(fā)起方A G 在信道上發(fā)送一個(gè)SABM 幀, 即要求建RFCOMM 層上的Channel0, 如果響應(yīng)方HS 希望建立鏈接, 返回一個(gè)UA 幀, 表明已經(jīng)建立好了Channel0 這條RFCOMM 信道。此信道為控制信道, 用來(lái)傳送攜帶控制消息和命令的U IH 幀。如果響應(yīng)方HS 不希望建立鏈接,返回一個(gè)DM 幀。
其次建立數(shù)據(jù)信道, 先是對(duì)數(shù)據(jù)傳送信道的參數(shù)進(jìn)行協(xié)商, 協(xié)商命令PN 參數(shù)包括對(duì)將要建立的信道Channel1的優(yōu)先級(jí), 最大幀長(zhǎng)等, 當(dāng)雙方協(xié)商好后建立傳輸數(shù)據(jù)的信道Channel1。
RFCOMM 層的數(shù)據(jù)信道建好后, 再對(duì)Head Set 控制層的控制命令進(jìn)行傳輸。即在數(shù)據(jù)傳送信道Channel1 上利用U IH 幀傳送A T + CKPD= 200 等命令, 當(dāng)接收到對(duì)方的響應(yīng)OK 之后, 就可以開始建立SCO 鏈接。
3.5 建立SCO 鏈接
初始化時(shí)HC I 發(fā)一個(gè)WR ITE_ VO ICE_ SETT IN G命令, 對(duì)音頻狀態(tài)進(jìn)行設(shè)置, 當(dāng)接收到A G 的建立SCO 鏈接的請(qǐng)求時(shí), 若HS 允許, 發(fā)送一個(gè)接收的HC I 命令, 在命令完成之后, 傳輸音頻信號(hào)的SCO 鏈路就建好了, 此時(shí)就可以進(jìn)行語(yǔ)音通信。
4、應(yīng)用層的狀態(tài)機(jī)設(shè)計(jì)
在協(xié)議棧的通信鏈路建立后, 可以進(jìn)行應(yīng)用層通信。應(yīng)用層有一個(gè)主狀態(tài)機(jī)在運(yùn)行, 如圖4 所示。根據(jù)用戶的動(dòng)作以及A G 發(fā)送的命令, HS 應(yīng)用進(jìn)程將在各狀態(tài)之間跑動(dòng)。
空閑狀態(tài) HS 與A G 之間可能已經(jīng)存在ACL 鏈接,但沒(méi)有RFCOMM 信道建立, 也沒(méi)有音頻信號(hào)的SCO 鏈路存在。當(dāng)A G 響應(yīng)內(nèi)部事件或者用戶請(qǐng)求時(shí), 便發(fā)起鏈接建立的請(qǐng)求, HS 接收到建立鏈接的請(qǐng)求時(shí), HS 與A G開始建ACL , L 2CA P, RFCOMM 鏈路, 建好RFCOMM信道后, A G 發(fā)送一個(gè)或多個(gè)A T + R IN G 的振鈴指示命令, 通知HS 用戶有入呼的音頻鏈接到達(dá)。此時(shí)狀態(tài)將轉(zhuǎn)至來(lái)電振鈴狀態(tài)。
來(lái)電振鈴狀態(tài) 此時(shí)音頻網(wǎng)關(guān)A G 已經(jīng)建立了與HS的ACL 與RFCOMM 信道, 并且HS 已經(jīng)接收到振鈴信號(hào), 這預(yù)示著音頻網(wǎng)關(guān)要求建立SCO 鏈接, 若用戶不對(duì)振鈴做出響應(yīng), 音頻網(wǎng)關(guān)將終止RFCOMM 信道, 狀態(tài)將重新回到空閑狀態(tài), 若用戶按下HS 上的Bluetoo th 鍵, 則表示用戶接受入呼音頻鏈接的請(qǐng)求, 這時(shí)HS 將發(fā)送A T 控制命令A(yù) T+ CKPD 給A G, 這時(shí)兩者之間將建立SCO 鏈
接, 狀態(tài)將轉(zhuǎn)至鏈接狀態(tài)。
呼叫狀態(tài) 當(dāng)HS 用戶按下HS 上的Bluetoo th 鍵, 用戶發(fā)出呼叫音頻網(wǎng)關(guān)的請(qǐng)求, 這時(shí)HS 將先建立ACL 鏈接, 再對(duì)音頻網(wǎng)關(guān)進(jìn)行SDP 查詢。若SDP 查詢成功, HS打開與A G 鏈接的RFCOMM 信道, 并且發(fā)送A T 命令+CKPD 要求建立SCO 的音頻鏈接。當(dāng)SCO 鏈接建立時(shí), 狀態(tài)將轉(zhuǎn)移到連接狀態(tài), 若SCO 鏈接建立失敗, 狀態(tài)將轉(zhuǎn)到空閑狀態(tài)。
鏈接狀態(tài) 鏈接狀態(tài)下, ACL , L 2CA P, RFCOMM都已經(jīng)建立, 而且已經(jīng)執(zhí)行了SDP 查詢, 音頻通話就緒。若用戶對(duì)HS 講話, 語(yǔ)音將通過(guò)SCO 鏈路傳送至A G, 并通過(guò)A G 將語(yǔ)音傳到遠(yuǎn)端。
鏈接斷開狀態(tài) 鏈接斷開可以通過(guò)HS 上的Bluetoo th 鍵完成, 也可以通過(guò)A G 的內(nèi)部事件或用戶干預(yù)觸發(fā)產(chǎn)生。無(wú)論那一種原因引起, 實(shí)質(zhì)上都是A G 鏈路釋放的結(jié)果。如果HS 發(fā)出了斷開鏈接的請(qǐng)求, 并且發(fā)送一個(gè)A T 命令+ CKPD 到音頻網(wǎng)關(guān)要求音頻網(wǎng)關(guān)斷開鏈接, 于是音頻網(wǎng)關(guān)斷開SCO 鏈接和RFCOMM 信道。當(dāng)RFCOMM 斷開時(shí), 狀態(tài)將轉(zhuǎn)換到空閑狀態(tài)。而ACL 鏈接有可能處于斷開狀態(tài)也有可能處于鏈接狀態(tài)。
5、Head Set 的實(shí)現(xiàn)方案
以摩托羅拉藍(lán)牙解決方案為例, 摩托羅拉在先進(jìn)射頻技術(shù)方面很有經(jīng)驗(yàn)。摩托羅拉藍(lán)牙解決方案可利用UART, RS 232, U SB 或SP I 連接主處理器, 而主處理器可通過(guò)這些接口處理藍(lán)牙協(xié)議上的堆棧及主控制器的接口等功能; 而這個(gè)藍(lán)牙解決方案則負(fù)責(zé)執(zhí)行下堆棧(主控制器接口, 鏈路管理程序協(xié)議, 基帶及射頻) 其余的功能。并采用摩托羅拉的MCORETM 32 位精簡(jiǎn)指令集運(yùn)算
(S ISC) 處理器內(nèi)核, 內(nèi)含一個(gè)高度靈活的外圍設(shè)備集, 適用于多種不同的嵌入式藍(lán)牙應(yīng)用方案。圖5 為一個(gè)采用摩托羅拉解決方案用于蜂窩式電話的例子。通用異步收發(fā)器是連接蜂窩式電話基帶處理器與摩托羅拉解決方案的接口, 而SS I 則為語(yǔ)音通訊提供支持。
近年來(lái)移動(dòng)通信、便攜式計(jì)算機(jī)以及因特網(wǎng)的迅速發(fā)展, 使人們對(duì)電話通信以外的各種數(shù)據(jù)信息傳遞的需求日益增長(zhǎng)。“藍(lán)牙”技術(shù)把各種便攜式電腦與蜂窩移動(dòng)電話用無(wú)線電路連接起來(lái), 使計(jì)算機(jī)與通信更加密切結(jié)合起來(lái),使人們能隨時(shí)隨地進(jìn)行數(shù)據(jù)信息的交換與傳輸。
評(píng)論
查看更多