蓝芽无线电话系统与服务搜寻协定实作


    

    藍芽無線電話系統與服務搜尋協定實作

    指導老師:侯廷昭

    參賽隊員:許宏凱 張逸豪 施富仁 賴振德

    國立中正學電機工程研究


    摘:

    Bluetooth 發展解決許短距離無線連結需求 Bluetooth 相關產品陸續推出時卻技術為複雜相關技術背景知識求目前尚無產品問世領域 — Bluetooth Telephony專題中們開發出先進 藍芽無線電話系統〞完全實現 Bluetooth Telephony 功

    專題中軟體部份們時發展Bluetooth 協定堆疊中幾個核心技術: TCS (Telephony Control Protocol Specification) 協定 SDP (Service Discovery Protocol) 協定 SDAP (Service Discovery Application Profile) L2CAP (Logic Link Control and Adaptation Protocol) 協定外為彌補 Bluetooth 規格未定義詳盡方們系統程式發展中創造新輔助函式系統程式完整正常運作

    專題中硬體部份們採取行製作數位語音電路作為日後繼續發展項應基礎這個電路們稱為 Bluetooth Phone Emulation Board們運 PCM Codec 晶片SLIC (Subscriber Line Interface Circuit) 晶片來完成電路並整合 Bluetooth Module 於們將電路與般市售線電話搭配實現藍芽無線電話系統功

    關鍵詞:藍芽無線電話系統BluetoothTCSSDPL2CAPPCMSLIC


    前言

    Bluetooth 發展解決許短距離無線連結需求目前 Bluetooth Special Interest Group (SIG) 廠商陸續推出式 Bluetooth 產品 Bluetooth 種應技術中Bluetooth Telephony 技術為複雜相關技術背景知識求目前尚無產品問世們題 — 藍芽無線電話系統〞 完全實現 Bluetooth Telephony 功項應需結合 Telecommunication Data communicationEmbedded System語音與數據整合等項技術

    於 Bluetooth network 中台 Bluetooth 設備皆移動 piconet 中提供服務隨時這局部傳統網路環境具明顯差異為夠解決這部份問題Bluetooth 制定個獨特協定 - 服務搜尋協定〔SDP〕 SDP 讓個應程式隨時時找目前 piconet 中提供服務設備服務特性於 SDP Bluetooth協定中極為重 服務搜尋協定 (Service Discovery Protocol) 實作〞們次競賽中題

    們專題技術創新局部更簡潔更為快速程式碼實現複雜 Telecommuni cation Signaling 功程式語法們傳統實現 Q931 Finite State Machine 方法更為精簡並達成相目們創造新輔助函式 Bluetooth protocol 缺乏處更為完備SDP 局部們建符合 SDP 環境資料庫與搜尋方式讓 SDP 讀寫搜尋資料庫夠更為快速們將 Bluetooth protocol stack 實現成 Embedded system module隨時需抽換們資源限情形般市售電話來實現無線手機雛型這種方式時讓般市售電話機接們藍芽無線通訊裝置馬具無線電話與對講機功們 Ericsson Bluetooth Module功全建立Piconet 情形設計新方法完成 WUG Group 建立與 Fast InterMember Access應創新局部透過 Bluetooth Gateway 先進 Signaling 程序們建立起對通話連線選擇時獨立通話沒數量限制這目前家無線電話無法做

    藍芽無線電話系統與搜尋服務協定實作成果第五節將會做更詳細說明

    二研究目

    於 Bluetooth 技術具受方限制穿透障礙物具傳統電話更傳輸量更方面應更快傳輸速率等優點時 Bluetooth 第個將通訊資訊消費性電子產品這三類廠商結合起技術者Bluetooth 提出後世界廠致並相繼参加聯盟更況臺灣廠商消費性產品著強競爭力們認為 Bluetooth個非常適合台灣研究領域們希協助廠商進行先期研究開發並作為們助力

    專題題目選取方面們發現般辦公室環境中通常線電話作為電話分機需量佈線工程許昂貴交換機設備線電話於必須固接於處具攜性常會發生電話某分機卻找常需轉接數次找通話對象情形

    目前市面販售家庭無線電話容易受雜訊干擾並無加密機制竊聽危險般無線電話子機數目限制於廠牌母機無法者將帶場與廠牌無線母機通話

    發展 Bluetooth 技術構想與解決述問題想法們研發出這套系統 〞藍芽無線電話系統〞藍芽服務搜尋協定〞〔SDP〕們根據 Bluetooth 規格書中Cordless Telephony Profile Intercom Profile Service Discovery Application Profile來規劃們系統

    們將 Bluetooth 規格書中 TCS Profile 加延伸加強 TCS 功開發藍芽為無線傳輸媒介無線電話系統這樣無線電話系統裝設於辦公環境中取代行年線電話分機系統節省佈線經費維護複雜度時於 Bluetooth 技術公開性廠牌無線子機無線母機間互通將成為

    藉 TCS 中 Group Management 功藍芽無線電話系統辦公室分機隨身攜帶隨著者移動参加 Bluetooth Gateway 群組中達成分機攜性

    般無線電話應外藍芽無線電話系統支援無線子機間互相通話對講機功透過 Bluetooth Gateway 先進 Signaling 程序們建立起無限對通話連線沒數量限制

    專題發展藍芽無線電話系統與服務搜尋協定將來與 PDA 型無線裝置整合發展出整合語音通訊資料傳遞資訊家電控制功無線視訊電話系統假设將們開發藍芽無線電話系統與行動電話系統整合起更發展出結合行動電話室內無線電話對講機功於身三電話


    三原理與分析

    1 TCS結構圖

    Bluetooth 協定架構中Bluetooth 無線電話系統核心局部做 TCS Binary 〔Bluetooth Telephony Control protocol Specification Binary〕根據 ITUT Q931 制定出來與 Q931 TCS 並沒利者網路端來作區別發話端 〔Outgoing side〕 與受話端 〔Incoming side〕 表示圖31示TCS 位於 L2CAP 層利 L2CAP 傳送訊息建立連結

    圖31 TCS within the Bluetooth stack

    TCS功:

    Call Control 〔CC〕:利 signaling 方式建立釋放 Bluetooth 機器間語音數據通道

    Group Management 〔GM〕:利 signaling 方式減輕理 Bluetooth 機器需負擔


    11 CALL CONTROL 〔CC〕

    Call Control 目利訊息傳遞建立釋放兩個藍芽裝置間語音資料通道﹔包含兩種程序通話建立程序 〔CALL ESTABLISHMENT〕通話程序 〔CALL CLEARING〕

    CALL ESTABLISHMENT

    通話求

    發話端〔Outgoing side〕傳送SETUP訊號給受話端〔Incoming side〕來啟動整個通話建立〔call establishment〕程序

    發話端傳送 SETUP MESSAGE 後發話端CC 狀態機進入 Call initiated 狀態受話端接收SETUP MESSAGE受話端CC狀態機會進入Call Present 狀態

    受話端傳送 CONNECT 訊息來告訴發話端呼電話已接通並停止鈴聲開始計時 〔T313計時器〕發話端收受話端傳來 CONNECT 訊息後會停止計時並完成 SCO ACL Link 兩端連接後傳送 CONNECT ACKNOWLEDGE 表示已建立起資料傳送連結進入Active狀態受話端收這個訊息後立停止 T313 計時器並進入Active狀態後兩端傳送資料假T313 計時器逾時則發話端會啟動啟動 Call Clearing 程序


    圖32 整個通話建立訊息傳遞流程

    CALL CLEARING

    發話端結束通話時會傳送 DISCONNECT 訊息結束與受話端間語音資料通道進入 Disconnect Request 狀態受話端進入Disconnect Indication 狀態

    DISCONNECT 訊息告訴受話端結束彼間通訊假设彼通訊已經結束則受話端傳送 RELEASE 訊息給發話端會進入 Release Request 狀態發話端收 RELEASE 訊息後釋放通道並傳送 RELEASE COMPLETE訊息回 Null 狀態受話端收 RELEASE COMPLETE 訊息後回 Null狀態


    圖33通話程序訊息傳遞流程

    12 GROUP MANAGEMENT 〔GM〕

    121 Wireless User Group

    GM 協定中台支援 TCS Bluetooth 裝置組成個WUG中台裝置作為 WUG master裝置則為 WUG member

    個 WUG 中成員擁 WUG member WUG master 裝置資訊WUG master 會藉Configuration Distribution 將這資訊送給 WUG member

    122 概觀

    Group Management 功分成三個程序分別為 Obtain access rightsConfiguration distribution Fast intermember access功建立並維護Wireless User Group (WUG) 成員資訊

    1221 Obtain Access Rights

    經 Obtain Access Rights 程序後台裝置具位於個WUG 中裝置提供電話服務權利

    圖34 Obtain Access Rights Message Flow

    1222 Configuration Distribution

    當 WUG 中狀況改變 〔例裝置参加退出WUG 結構改變〕 必通知 WUG 中 member 時會進行 Configuration Distribution 程序

    圖35 Configuration Distribution Message Flow
    1123 Fast InterMember Access

    當兩台 WUG member WUG 中處於狀況中台 WUG member 利 Fast InterMember Access 程序取台間連接 Fast InterMember Access 程序中發話端會取受話端 clock 資訊時強迫受話端進入 Page Scan 模式並持續段特定時間

    圖36 Fast InterMember Access Message Flow

    2 Service Discovery Protocol〔SDP〕

    SDP 架構流程運 Client–Server 模式運作果 Bluetooth 設備欲 piconet 中提供服務話必須具備 SDP Server 機制必須注意台 Bluetooth 設備無論少種服務項目個 SDP Server

    SDP Server 提供服務項目資訊儲存 SDP Server Service Record 中個服務項目會儲存個別 Service Record 中並個唯 Service Record handle對應圖37中個 Service Record均包含 SDP Server 提供中種 Service 全部 attribute經 Service Record 將個服務項目特性描述清楚 Service Record 中個 Service Attribute 均分為兩個部份 Attribute ID來區分 Service Attribute 功經過對便知 Attribute Value存放內容形式

    圖37 Service Record and Service Attribute

    個服務項目均許 Service Class 組成 Service Class 中分為 superclass subclass 兩部份subclass 會保存 superclass 全部attribute 並會外定義新 attribute SDP 中個 Service Class 個 UUID 〔Universally Unique Identifier〕 代表 Service Class這 UUID attribute ID 為0x0001 Service Attribute 中

    SDP 中 UUID 128 bit 組成數值為增進程式效UUID 16bit 32bit 數值代表 16bit 32bit UUID 組成方法個Bluetooth Base UUID加 32bit 16bit 數值組成組成方式為:

    128_bit_value16_bit_value * 296 + BT_Base_UUID

    128_bit_value32_bit_value * 296 + BT_Base_UUID

    Base UUID 0000000000001000700700805F9B34FB

    當 SDP Client 層 Application 求尋找某 Service 時會發出SDP_ServiceSearch Request PDU SDP Server尋找中個參數特別 UUID 組成 Service search pattern當 SDP Server 收 PDU 後會個 Service Record 中 attribute 裡面 UUID 進行對果 Service search pattern 中 UUID 完全符合 Service Record 時 SDP Server 會將符合條件 Service Record 中 ServiceRecordHandle 放入 SDP_Service SearchResponse PDU 內傳回給 SDP Client接著SDP Client 端會針對中個 Service Record 發出 SDP_ServiceAttributeRequest PDU進步 SDP Server 端查詢需 attribute外SDP 將 ServiceSearch Pattern 找 Attribute ID 直接放入 SDP_ServiceSearchAttributeRequest PDU 送SDP Server利這種做法節省次封包需傳送時間需經過次查詢後 SDP Server 會將前面提兩步驟做完傳回個 SDP_ServiceAttributeResponse PDU直接 SDP Server 求符合 Service Record 方法外SDP Client 藉 Browsing 方式 SDP Server 查詢 SDP Server 提供服務項目 SDP Client 經 Browsing 後表31資料經表31便 SDP Client 組成圖38架構

    表31 Browse Table


    圖38 Browse Hierarchy

    3 Logical Link Control and Adaptation Protocol〔L2CAP〕

    31 L2CAP簡介

    The Logical Link Control and Adaptation Layer Protocol 簡稱 L2CAP歸屬於Bluetooth Protocol Stack中資料鍊結層 (Data Link Layer)功提供層Protocols兩種 Data Services ConnectionOriented〞 Connectionless外L2CAP具 Protocols MultiplexingSegmentation and ReassemblyQuality of ServiceGroup Management功

    32 L2CAP層功介紹

    321 Protocol Multiplexing

    Bluetooth 規範中允許個層Protocol時運作兩個藍芽裝置間條 ACL LinkL2CAP必須具 Protocols Multiplexing 力並辨別出層資料封包

    L2CAP層於規範中定義三種類型Logical channel分別為 ConnectionOrientedConnectionlessSignaling中前兩種Channel 建立必須先經過Signaling動作來完成Connectionless Channel提供Point to MultiPoint連結ConnectionOriented Channel 則提供 Point to Point 連結

    322 Segmentation and Reassembly

    規範中規定L2CAP層接收層封包為64K BytesBaseband接收來L2CAP層封包341BytesL2CAP層必須對層較封包做切割動作符合Baseband傳送封包樣 L2CAP 層必須具備將個 Baseband 封包重組還原力圖39為L2CAP 層進行封包切割與重組示意圖果 L2CAP 層與 Baseband 間Host Controller Interface 〔HCI〕 Protocol 存時封包切割與重組工作將 HCI 來執行
    圖39 Segmentation and Reassembly
    service示意圖

    33 State Machine

    圖310示為 L2CAP 層與層 Event 與 Action 關係示意圖圖中符號 L2CA_ 表示層Protocol與 L2CAP 層間訊息互動符號 LP_ 表示L2CAP 層與層 Protocol 間訊息互動符號 L2CAP_ 表示Peer to Peer間訊息互動從層 Protocol 收訊息稱作Request 相對應回應 Confirm 從層 Protocol 訊息稱作 Indication 相對應回應則稱為 ResponseL2CAP與層彼間訊息溝通經序列RequestIndicationResponse Confirm 動作來完成


    圖310 L2CAP Layer Interactions

    為簡單 State Machine 例子說明L2CAP層根據 Event Channel State 來觸發相關 Action 並後進行 State 轉換
    圖311 Message Sequence Chart Of Basic Operation
    四軟硬體系統

    1 軟體架構

    圖41示為專題中Bluetooth軟體局部架構中 TCS SDP L2CAP 功已於第三章中描述(LMP Baseband Bluetooth module 硬體韌體來實現)


    圖41 Bluetooth protocol stack

    們圖41中部份間介面分別說明:

    介面 (A): TCS Profile 中電話應層 (Telephony Application) 與底層 (Baseband) 間存著提供數位語音傳送路徑 (speech path) TCS 中 CC透過介面控制該語音路徑連接與中斷

    介面 (B): 介面TCS 夠利L2CAP提供非連結導通道點對點 (pointtomultipoint)傳送 signaling 訊息Gateway (GW) 透過介面傳送TCS 廣播訊息 Terminal (TL) 透過介面接收該訊息

    介面 (C): 介面TCS夠透過L2CAP連結導通道點對點 (pointtopoint) 傳送signaling訊息

    介面 (D): 介面 TCS 中 CC 夠直接控制 LMP 建立釋放 SCO link

    介面 (E): 介面TCS中GM啟始keyhandling時夠LMP功

    介面 (F): L2CAP與LMP間介面

    介面 (G): 介面GM夠直接控制LCBaseband並Baseband中 inquiry paging pairing 等動作

    專題中們透過 HCI 與Bluetooth Module溝通 (D)(E)(F)(G) 等介面實現們透過HCI間接對 LMPBaseband控制指令方式來達成程式實作 Bluetooth 協定堆疊中層協定間們函式呼與傳回值作為介面並完整定義層間需提供服務回應需傳遞變數這種作法們夠開發軟體時夠讓層專注於功實現正確性時並帶來模組化便利性讓們相介面開發新程式碼免牽髮動全身危險加快測試整合進度

    軟體開發過程中為讓層 TCS SDP層 L2CAP 分開獨立發展們規劃兩個方案直接 Bluetooth module 配合軟體開發利軟體模擬資料傳送動作利 Socket 作為傳送資料通道進行開發這兩種方式優缺點:軟體方面假设 Socket 方式模擬層傳送資料動作防止部份開發需 Bluetooth Module 造成硬體缺乏困擾讓層協定獨力發展發生問題流程驗證時減少變數將來整合時必須將軟體模擬局部改為於真正硬體架構這需花太時間假设直接 Bluetooth module 發展則未來需面對更改架構問題相對沒軟體模擬方法優點們操作經驗中次測試時 Bluetooth module 進行硬體初始動作這個動作將會軟體模擬花費將十秒時間這點將造成開發員困擾較這兩種方式優缺點後們決定選擇軟體模擬方式先進行開發等開發完成後時與硬體整合進行完整測試動作這們預期樣減少困擾時讓開發速度加快

    們將 Bluetooth 協定堆疊 Linux Kernel Module 方式實現 Linux OS 並整合進 Embedded Linux Kernel 中於 Linux Kernel Mode 中錯相當困難稍慎會造成系統當機們將發展過程分為兩個階段初期 Linux User Mode 發展系統成熟後將 Protocol 改寫為 Kernel Module外整合 Embedded Linux System 原藍芽無線電話系統為嵌入式系統們必須將 Linux 作業系統核心做量修改與微化便嵌入式系統中與硬體整合

    外於 Bluetooth Core Specification 並沒針對介面詳加定義第四章中描述程式架構標準流程外局部們行發展輔助函式與實作技巧方法

    11 Group Management 〔GM〕

    們程式實作將 WUG master 與 WUG member 分別撰寫流程圖分別圖42圖43示於動作分為参加 WUG 進行 Fast InterMember Access 流程兩部份

    参加 WUG 部份分為處理 Bluetooth裝置参加 WUG 動作進行 WUG member資料更新兩步驟首先假设WUG master 收 ACCESS_RIGHTS_REQUEST 訊息後會呼 access_rights_request_server() 判斷否讓提出求 Bluetooth 裝置参加 WUG假设允許則送出 ACCESS_RIGHTS_ACCEPT 訊息否則送出 ACCESS_RIGHTS_REJECT 訊息當Bluetooth 裝置成功参加 WUG後代表 WUG 資料已經更動 WUG master 會進行 Configuration Distribution 動作對台 WUG member 送出INFO_SUGGEST 訊息藉將目前 WUG member 資料進行更新

    執行 Fast InterMember Access 動作時假设 WUG master 收 LISTEN_REQUEST 訊息會先判斷Incoming 端否為 WUG member假设則將 LISTEN_SUGGEST 訊息送給Incoming 端代表 WUG member 通話否則送出 LISTEN REJECT 給 Outgoing 端時將拒絕原併送出當Incoming 端收LISTEN_SUGGEST 訊息後假设力 Outgoing 端通話便送出LISTEN ACCEPT 訊息否則送出 LISTEN REJECT 訊息WUG master 收 Outgoing 端送出訊息後會將訊息轉送給 Incoming 端



    圖42 TCS WUG Master 流程圖


    圖43 TCS WUG Member 流程圖


    12 Call Control 〔CC〕

    Call Control entity 種 Finite State Machine 機制 Finite State Machine 事件發生時會身狀態 〔CC State〕 發生事件 (Event)來決定該做動作假寫 C code 時單純switch來判斷會需兩層swtich第層判斷種message第二層判斷state種方法造成debug困難程式碼會變非常複雜

    們將 CC 狀態會發生事件互相配對個二維陣列來記載狀態與事件組合應動作們稱二維陣列為狀態表

    狀態表處: 1 清楚解整個 Finite State Machine 動作流程 2 錯容易 3 據實際需求輕易增加修改程式碼

    藉圖44程式查出應該呼函式處理發生事件

    圖44 State Table

    動作代碼與函式間對應們 Action Vector 來完成 Action Vector 個維陣列中元素皆為指函式指標 (pointer)存放著函式位址動作代碼為陣列 index查出動作代碼對應函式位址並呼動作代碼對應函式這種實作方式 Specification 面沒提卻必須們稱為輔助函式

    圖45 Action Vector

    流程圖說明狀態事件組合 CC 動作圖46為通話建立程序經過流程圖47為中斷通話經過流程圖48則 timeout 發生時應作處理

    圖46 通話建立程序經過流程

    圖47 中斷通話經過流程
    圖48 timeout 發生時應作處理
    13 L2CAP

    131 CLOSED State

    圖49示當層與L2CAP層溝通時必需 L2CA_init事件參數 (Protocol Service MultiplexerPSM與 Return_ADDR) 告知 L2CAP 層作為後區別回傳層據果L2CAP層收層 L2CA_ ConnectReq 事件時會先判斷參數 PSM與 Bluetooth Device Address (BD_ADDR) 否正確接著確認 Baseband ACL Link 否存果ACL Link已存則L2CAP層建立Logical Channel時儲存相關參數接著進行 L2CAP_ConnectReq 動作始動RTX計數器確認傳送狀況進入W4_L2CAP_ CONNECT_RSP State這種實作方式為新增輔助函式


    圖49 CLOSED State流程圖

    圖410示果收層LP_ConnectInd事件L2CAP層會判斷BD_ADDR否正確果正確則回應LP_ConnectRsp動作層回CLOSED State假设L2CAP層收層LP_Connect_Cfm 事件首先會先判斷Status參數否成功接著進行L2CAP_ConnectReq動作起始RTX計數器進入W4_L2CAP_CONNECT_RSP State否則L2CA_ConnectCfm告知層無法建立Channel並回CLOSED State假设收Peer端L2CAP_ConnectReq事件L2CAP層會儲存相關參數產生對應於Peer端CID值接著會進行 L2CA_ConnectInd動作告知層連線狀態CID值進入W4_L2CA_ CONNECT_RSP State

    圖410 CLOSED State流程圖 (續圖 49)

    132 W4_L2CA_CONNECT_RSP

    圖411示L2CAP 收層L2CA_ConnectRsp 事件並藉判斷 Response參數來進行L2CAP_ConnectRsp動作進入CONFIG State傳送L2CAP_ConnectRsp告知Peer端失敗原CID進入CLOSED State


    圖411 W4_L2CA_CONNECT_RSP State流程圖

    133 W4_L2CAP_CONNECT_RSP State

    圖412示假设收 Peer 端送L2CAP_ConnectRsp 事件L2CAP 層會先終止RTX 計數器然後判斷 Result 參數結果果為Pending則傳送 L2CA_ConnectPnd 通知層並啟動 ERTX 計數器回W4_L2CAP_CONNECT_RSP State果成功則傳送L2CA_ConnectCfm層告知建立連線狀態CID值進入CONFIG State果失敗則傳送L2CA_ConnectCfm層告知層失敗原進入CLOSED State

    圖412 W4_L2CAP_CONNECT_RSP State流程圖


    135 OPEN State

    圖415示假设收層L2CA_DataWrite事件時進行L2CAP_Data動作將資料傳送Peer端假设收Peer端送L2CAP_Data事件時會將收資料利L2CA_DataRead傳送層假设收層L2CA_DisconnectReq 事件求中止通道會進行 L2CAP_DisconnectReq 動作將訊息傳遞 Peer 端時起動 RTX Timer 並進入 W4_L2CAP_DISCONNECT_RSP Sate假设收Peer端送L2CAP_DisconnectReq事件則利L2CAP_DisconnectInd通知層告知Peer端求中斷通道進入W4_L2CA_DISCONNECT_RSP State

    圖415 OPEN State流程圖

    136 W4_L2CA_DISCONNECT_RSP

    圖416示假设收層L2CA_DisconnectRsp 事件時會進行 L2CAP_DisconnectRsp動作並欲中止 CID 接著進入 CLOSED State

    圖416 (W4_L2CAPW4_L2CA) _DISCONNECT_RSP State流程圖

    137 W4_L2CAP_DISCONNECT_RSP State

    圖416示假设收Peer端L2CAP_DisconnectRsp事件時會先中止RTX Timer然後進行 L2CA_DisconnectCfm 動作通知層通道中斷成功時 L2CAP 層會將 CID 給釋放掉進入 CLOSED State

    14 服務搜尋協定 (Service Discovery Protocol)

    專題重點 Service Discovery Protocol (SDP) 實現關於SDP實作 Bluetooth 規格書中定義 Service Discovery Application Profile (SDAP)架構圖417示們根據架構進行程式設計與撰寫們將圖417中 BT_module_Cntrl 部份包含應程式裡應程式經 HCI控制 Baseband 執行 Inquiry 等動作找尋附 Bluetooth 裝置

    圖417 SDAP 架構圖

    當個 Bluetooth 裝置 (圖417中LocDev ) 欲查詢周遭 Bluetooth 裝置 (圖417中 RemDev ) 否提供某特定服務時 LocDev 應程式會呼 SDP 局部程式 SDP Client 身份發出 Request 給 RemDev RemDev SDP Server Request Service Record 資料庫中搜尋隨後發出 Response 將搜尋結果傳回 SDP 根協定時序圖圖417示

    圖417 SDP 根 Message Sequence Chart

    個 Bluetooth 裝置時扮演 SDP Client SDP Server 角色們圖418方式規劃撰寫程式

    圖418 SDP 程式規劃

    141 SDP Server 實現

    們將 SDP Service Record 資料庫鏈結串列方式來實現種方式處簡單記憶體理較靈活雖然資料搜尋速度資料格式 (二元樹 Hash Table 等) SDP Server 通常需維護龐 Service Record 資料庫考量程式實現便利性複雜度們選擇較簡易單鏈結串列來進行 Service Record 資料庫實現

    SDP Server 僅負責收 Request 時搜尋資料庫產生 Response圖419示為們撰寫 SDP Server 程式流程圖

    圖419 SDP Server 收 Request 時處理方式


    142 SDP Client 實現

    當層應程式搜尋詢問某項服務屬性時會呼 SDP Client 局部程式發出 Request SDP Server 查詢當 Server 回應 Response 時 SDP Client 需將中記載項服務屬性等進行整理並送相對應應程式

    為支援個應程式時 SDP 服務查詢功們利 SDP 協定中次查詢TransactionID特性建立起應程式與TransactionID對應表當應程式呼 SDP Client 發出 Request 時將應程式PID 對應 TransactionID 填入表收 Response 時找次查詢對應應程式

    圖420圖421為們撰寫 SDP Client 程式流程圖


    圖420 SDP Client 發出 Request 程式流程圖


    圖421 SDP Client 收 Response 時處理方式

    143 SDP Browsing 實現

    當 SDP Client 欲瀏覽 SDP Server 提供服務時藉 Browsing 功取 SDP Server Service Record 資料庫內容於功 Specification 完全沒定義完成實作方法完全們行輔助函式研發

    SDP Client Browsing 功時首先會送出內含 ServiceSearchAttributeRequest 訊息封包封包中包含ServiceSearchPattern AttributeIDList 兩種參數中 ServiceSearchPattern 這參數欄位填入 BrowseGroupDescriptorServiceClassID 作為搜尋目標 AttributeIDList 中填入BrowseGroupList GroupID 兩種 AttributeID藉獲 SDP Server GroupDescriptor 資料

    SDP Client接著會繼續搜尋 GroupDescriptor Service Records藉著送出 ServiceSearchAttributeRequest訊息並訊息 ServiceSearchPattern 欄位中放入欲搜尋 GroupDescriptor GroupIDAttributeIDList 欄位放入 BrowseGroupList 這為們搜尋對象屬於特定 Group Service Records將 BrowseGroupList 填入 AttributeIDList 欄位將屬於該 Group Service Record 通通找出

    於 Browsing 第次詢問動作中們會個 GroupID 搜尋個 Group Service 需經過屡次完成圖422示為們設計 SDP Browsing 程式流程
    圖422 SDP Browsing 程式流程圖


    2 硬體系統架構

    專題硬體分為兩種裝置:藍芽無線電話Gateway藍芽無線電話分機兩者皆支援 Bluetooth SDP 功中Gateway 負責理 Wireless User Group 〔WUG〕無線電話分機参加 WUG 成為成員参加 WUG 後分機透過 Bluetooth TCS Profile 中 GM 局部定義 Fast InterMember Access程序與分機藍芽無線傳輸直接通話圖423為專題硬體局部示意圖包含部藍芽無線電話Gateway兩部藍芽無線電話分機


    圖423 System Infrastructure topology

    們 TwoCPU解決方案來實現藍芽無線通訊功: Host PC 執行 Bluetooth 協定程式 Bluetooth Module 執行 LMPBaseBand 等功們採 Ericsson 公司開發出 Bluetooth Application Kit 模組完成述功模組提供 UART 介面 (Serial Port) USB 介面供控制並提供組 PCM 信號介面

    們將 Bluetooth Module 電話語音介面整合於行設計電路板實作藍芽無線電話分機藍芽協定程式應程式 Linux 台開發於工業級電腦執行透過電腦 Serial Port傳送 HCI Command Bluetooth Module 進行控制

    專題中硬體關鍵局部為行製作電路們稱為 〞Bluetooth Phone Emulation Board〞功方塊圖圖424示們 PCM Codec Subscriber Line Interface Circuit (SLIC) 晶片設計出電話語音介面提供 RJ11 插座般家電話夠直接將電話線接變成藍芽無線話機

    圖424Bluetooth Phone Emulation Board功方塊圖

    通話中中方者對著電話機話筒講話產生語音訊號們電話語音介面將類語音訊號電話回路中取出送入 PCM Codec 進行取樣量化編碼成為數位語音資料PCM Codec 輸出數位資料串流經 PCM 介面送入 Bluetooth Module透過藍芽無線傳輸達通話方當對方透過藍芽模組接收數位 PCM 資料串流後電話語音介面中 PCM Codec 解出類語音訊號 SLIC 將訊號載於電話線後傳話機呈現於聽筒

    們National Semiconductor 公司 TP3070 COMBO II Programmable PCM CODECFilter作為們 PCM Codec晶片需先透過提供 Control Port將晶片內控制暫存器填入需設定值 (: 工作時脈頻率 PCM 介面 Channel TimeSlot 等)方正確工作們工業級電腦 Parallel Port 與晶片 Control Port 連接撰寫程式 Parallel Port 產生控制信號存取晶片內暫存器進行設定

    SLIC 功提供電話公司局端般戶線路介面提供戶端饋電振鈴訊號並將類語音訊號載於電話線路目前已許晶片設計公司將 SLIC 做成現成晶片們採 Ericsson 公司 PBL 386211

    般市售電話機提供聽筒麥克風鍵等裝置控制透過 SLIC 提供介面般電話與們 Bluetooth Phone Emulation Board 連接便項現成功這種方式時讓般市售電話機接們藍芽無線通訊裝置馬具無線電話與對講機功


    3 Piconet 建立

    於 Ericsson Bluetooth Module 支援建立Piconet 功為解決問題規格書中訂定Intercom正常程序外們還設計解決問題機制

    為 Ericsson Bluetooth Module 無法讓 Gateway 與兩台 Member 時建立連線 Gateway 完成與某個 Member訊息交換後們需先將 Physical ACL Link 中斷 Gateway 與個 Member 建立連線並進行步動作


    圖425 参加 WUG更新 WUG 資訊時切換情形


    圖426 Fast InterMember Access 時切換情形

    們IntercomMessage Sequence Chart來說明們解決方法例當Member 1回 應 Gateway Info Accept 後正常程序Member 2直接與 Gateway 進行連線於硬體限制Gateway 必須先將與 Member 1 間 Physical ACL Link 中斷Member 2與Gateway建立連線理當Gateway回應Member 2 ACCESS RIGHTS ACCEPT後需中斷與Member 2間Physical Link與Member 1進行連線建立接來進行 INFO Suggest 動作類似動作 Member 1與Member 2皆已完成與Gateway間訊息交換後結束


    五實驗結果與較

    1 協定程式執行畫面

    11 SDP 部份們先展示 Service Search 實驗結果:

    - 當 SDP Server 收 SDP Client 送來 ServiceSearchRequest 訊息後會根據尋找 Pattern 〔為搜尋BrowseGroupDescriptorServiceClassID UUID〕資料庫中進行搜尋搜尋完成會將結果傳回 SDP Client

    - SDP Client 經 SDP Server 傳回結果知三個 ServiceRecordHandle 符合找條件接來根據搜尋 ServiceRecordHandle 尋找 Service Attribute

    SDP Server
    SDP Client
    圖 51

    - SDP Server 會根據 SDP Client 搜尋某 ServiceRecordHandle 找 AttributeID 資料庫中搜尋並將結果回傳 SDP Client

    - SDP Client回傳結果中找 ServiceRecord AttributID 內容結果中對 ServiceRecordHandle 為 0x25436543 ServiceRecord 搜尋 0x0005 0x0200 AttributeID結果中知 0x0005 0x0200 中內容為 0x00001002 0x01029999

    SDP Server
    SDP Client
    圖 52

    12 接來展示 Browsing 部份實驗結果:

    - 第次執行 Browsing 動作後SDP Server 將 GroupDescriptor 資料傳回 SDP Clent 結果中知 SDP TCSBin L2CAP 三個 Group

    - 第二次執行 Browsing 動作並發出封包中参加 SDP GroupID 後結果SDP 中知 SDAP 這個 Service

    - 第三次執行 Browsing 動作並發出封包中参加 TCSBin GroupID 後結果TCSBin 中知 Cordless Intercom 兩個 Service

    - 第四次執行 Browsing 動作並發出封包中参加 L2CAP GroupID 後結果於 L2CAP 尚未提供 Service L2CAP Group 無資料顯示

    第次

    第二次


    第三次


    第四次

    圖 53

    13 TCSBin 部份們先展示 Group Management 實驗結果:

    - 圖 54 為参加兩台 WUG member 後 WUG master 儲存資料資料將藉送出 INFO SUGGEST 訊息時讓 WUG member 將儲存關於WUG 資料進行更新 當 WUG membser 完成資料更新後會收 INFO ACCEPT 訊息當 WUG member 收 INFO SUGGEST 時會將儲存關於WUG 資料進行更新完成後會送出 INFO ACCEPT 訊息給 WUG master


    圖 54

    14 接來 CC 部份實驗結果:

    發話端 (outgoing side)

    - 傳送SETUP訊息給受話端CC (Call Control) 狀態為 call initialed 狀態



    - 收ALERTING訊息CC (Call Control) 狀態為 call delivered狀態



    - 建立SCO連線



    - 收CONNECT訊息傳送CONNECT ACKNOWLEDGE訊息CC (Call Control) 狀態為 active狀態後通話



    受話端 (incoming side)

    - 受話端收TCSSETUP訊息改變 CC (Call Control) 狀態為 call present 狀態開始電話設備響鈴傳送ALERTING訊息後 cc (Call Control) 狀態為 call received 狀態等者起電話 ( 接受電話 )


    - 發話端建立起 SCO 連線



    - 假者起電話CC (Call Control)會傳送 connect 訊息給發話端 CC (Call Control) 狀態為connection request狀態



    - 收 CONNECT_ACKNOWLEDGE 訊息 CC (Call Control) 狀態為 active 狀態開始通話



    15 L2CAP部份

    L2CAP 局部程式執行畫面

    - TL端建立Logical Channel




    - GW端 建立Logical Channel



    結果們確認 SDPTCSL2CAP 等協定堆疊均執行無誤






    2 硬體電路測試結果
    Bluetooth Phone Emulation Board



    Bluetooth module
    SLIC
    PCM Codec


    Telephone Application 藉 SDPTCSL2CAP等協定建立 SCO 連線後兩台藍芽無線電話分機藉 Phone Emulation Board將類語音轉為數位 PCM 訊號經 Bluetooth module 作溝通

    們 Bluetooth module 提供 PCM clock sync作為 PCM codec 需 BitClock (BCLK) FrameSync (FS)測試結果PCM codec 編成 PCM 數位語音訊號成功 Bluetooth module 接收並透過 SCO 連線傳送個 Bluetooth module 後解回類語音訊號們實對著話筒講話夠端聽筒清楚聽語音這證明們硬體設計正確運作正常整個軟硬體系統夠順利配合


    六結論

    們 藍芽無線電話系統 完全實現 Bluetooth Telephony 功項應結合 Telecommunication Data communicationEmbedded System語音與數據整合等項技術

    Bluetooth 協定堆疊中們時發展核心技術中 TCS (Telephony Control Protocol Specification) 協定SDP (Service Discovery Protocol) 協定SDAP (Service Discovery Application Profile) L2CAP (Logic Link Control and Adaptation Protocol) 協定外為彌補 Bluetooth 規格未定義詳盡方們系統程式發展中創造新輔助函式系統程式完整正常運作

    們藍芽無線電話系統辦公室分機隨身攜帶隨著者移動参加 Bluetooth Gateway 群組中夠達成分機攜性會發生線分機系統中常找情況般無線電話應外 藍芽無線電話系統支援無線子機間互相通話對講機功

    技術創新局部們更簡潔更為快速程式碼實現複雜Telecommunication Signaling 功程式語法們傳統實現Q931 Finite State Machine 方法更為精簡並達成相目們創造新輔助程式 Bluetooth protocol 缺乏處更為完備SDP 局部們建符合 SDP 環境資料庫與搜尋方式讓 SDP 讀寫搜尋資料庫夠更為快速專題中軟體部份們將 Bluetooth 協定堆疊 Linux Kernel Module 方式實現 Linux OS 並成果整合進 Embedded Linux Kernel 中隨時需抽換硬體部份資源限情形們運 PCM Codec 晶片SLIC (Subscriber Line Interface Circuit) 晶片來完成 Phone Emulation Circuit般市售電話來實現無線手機雛形並整合 Bluetooth Module 於這種方式時讓般市售電話機接們藍芽無線通訊裝置馬具無線電話與對講機功們 Ericsson Bluetooth Module功全建立Piconet 情形設計新方法完成 WUG Group 建立與 Fast InterMember Access應創新局部透過 Bluetooth Gateway 先進 Signaling 程序們建立起對通話端選擇時獨立通話沒數量限制這目前家無線電話無法做這們專題創新

    機手者將擁功強電話存取資訊家電中樞型語音結合資料處理裝置們希藉開發專題中系統厚植國 Bluetooth 技術研發力並協助國廠商提升競爭力


    七參考文獻

    [1] Bluetooth Core Protocol Specification 10b
    [2] Bluetooth Profile Specification 10b
    [3] International Telecommunication Union ITUT Recommendation Q931
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 24 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    蓝幽灵营销系统优化咨询服务报告

    蓝幽灵集团营销系统优化咨询效劳报告蓝幽灵集团营销系统化咨询效劳报告前言为全面协助江苏蓝幽灵集团〔以下简称蓝幽灵〕的营销系统建设工作,2007年5月12日至5月16日,雷霆专案小组一行5人,对江...

    6个月前   
    111    0

    蓝图青春赞歌_IT蓝图纪实

    蓝图青春赞歌_IT蓝图纪实 “为了IT蓝图,我们全心全意;为了蓝图,我们奋战到底”这句话也许早已成为我们中行员工的共同信念。 在IT蓝图投产的岁月里凝聚了我行员工无数的辛勤和汗水,我行员工...

    13年前   
    12969    0

    银行IT蓝图投产纪实

    银行IT蓝图投产纪实难忘的日子——中国银行辽宁省分行IT蓝图投产纪实2010年10月7日上午10时,伴着国庆欢乐的气氛,从总行IT蓝图投产指挥中心传来了一个振奋人心的消息:京、津、辽三行IT蓝...

    8年前   
    361    0

    应用系统制作合同

    应用系统制作合同  甲方:_____________  乙方:_____________  甲方委托乙方制作_____________购物网站_____________一案,乙方已完成事项之委...

    10年前   
    585    0

    强化服务意识 坐实服务活动

    强化服务意识 坐实服务活动 ------------杜木桥小学基层服务型党组织建设活动简讯 为了深入贯彻党的十八大提出的“以服务群众、做群众工作为主要任务,加强基层服务型党组织建设”要求 ...

    9年前   
    6848    0

    建筑模型制作实训报告

    建筑模型制作实训报告 一、实训目的   这次制作模型实训的主要目的是通过资料查找,动手操作方式来加强我们学生对建筑空间的认识以及建筑模型的制作能力;同时通过这次建筑初步实训,进一步的培养...

    13年前   
    24666    0

    基于蓝牙的考勤系统

     基于蓝牙的考勤系统-用户界面设计 基于蓝牙的考勤系统 摘 要随着教育的普及,大学生的数量也越来越多。不同于初高中的管理,大学更偏向于自主学习。且高校流行选分制度班级流动性...

    2年前   
    503    0

    Webform实训报告 网上花店系统

     Webform实训     网上花店      组    长        姜雪           组    员 米硕 李斌 辛港 李宇飞  班    级       09高...

    12年前   
    11931    0

    舞伴配对系统实训报告

    舞伴配对系统本题目设计目的是训练本人的基本编程能力,了解数据结构C++实现系统的开发流程,掌握数据结构和熟悉C++语言的面向对象各种基本操作。本程序中涉及结构体、单链表、类等方面的知识。通过本...

    3年前   
    745    0

    蓝芒CDN管理系统:传统CDN技术的创新-管理系统解决方案

    蓝芒CDN管理系统:传统CDN技术的创新-管理系统解决方案  随着CDN产业的兴起,提供CDN服务的运营商也越来越多。但是,他们大都只是提供一种CDN产品,如果要运行该项业务,需聘请专业人员通...

    8年前   
    467    0

    用labview制作学生成绩管理系统

    托嘉分馅榨压拉娩科拉债缘三圭莲川棵寇昏屿隙像胁檄仑桨什套迁映剑额砧谣万累内戒睛郎帆获晰来伸泊逾妈颤豫兼抠朵圣选挂仕暗徒昌睫励械挽地赡得此题甩荒据埔派烁伴争踢教嚣竹怨抉考秸膜叁他昏净私掉企敛适捶...

    2年前   
    466    0

    常见病中医协定方

    常见病中医协定方(一) 1、      咳嗽(支气管炎)     咳而无痰,无发热或低热—桑杏散(桑叶、杏仁、沙参、川贝)     咳嗽日久,喉痒无痰或咳痰不爽,无发热—止嗽散(百部、桔...

    11年前   
    11695    0

    渣土运输公司合作协定

    渣土运输公司合作协定           为进一步加强渣土运输企业管理,规范渣土营运秩序,加强行业自律,经寿县金福公司、**淮公司、**公司、天顺公司等四家渣土营运企业充分协商,联合设立...

    10年前   
    9265    0

    联社服务三农纪实

    根植农村大地  谱写壮丽诗篇 ——**联社服务“三农”纪实   **县慕禹乡百花村3组村民冯胜利、冯长江、冯先林兄弟三人计划看准市场,准备大力发展生猪养殖,但因启动资金不足而犯愁。正当这...

    11年前   
    10979    0

    党课:以“严真细实快”作风力推蓝图落地

    同志们:事业成败,关键在人。习近平总书记高度重视作风建设,指出“作风建设永远在路上,任何时候都不能松懈”,强调“风险越大、挑战越多、任务越重,越要加强党的作风建设,以好的作风振奋精

    2年前   
    467    0

    IT信息系统服务合同

    IT信息系统服务合同  甲方:_________  乙方:_________  甲乙双方本着平等互利的原则,通过友好协商,达成i/t信息系统服务关系,特订立本合同。  一、甲乙双方关系  甲方...

    11年前   
    745    0

    实训7 操作系统安装和磁盘管理实训报告

    实训7 操作系统安装和磁盘管理实训报告实训内容安装操作系统,利用操作系统自带工具进行磁盘分区、格式化。实训要求1. 熟悉操作系统安装方法2. 熟练利用操作系统自带工具进行磁盘分区和格式化3.了...

    4年前   
    1085    0

    实训11 微机软件系统的维护实训报告

    实训11 微机软件系统的维护实训报告实训内容操作系统维护工具的使用。注册表的维护。Windows优化大师软件的使用。实训要求1.掌握系统维护工具的使用并对微机系统进行优化操作2.掌握注册表维护...

    4年前   
    1084    0

    实训10 微机硬件系统的维护实训报告

    实训内容 拆卸主机,并对其各主要部件进行清洁和维护。常用外设的清洁和维护。实训要求 1.了解微机硬件系统维护的基础知识,掌握主机硬件的维护方法。2.掌握常用外部设备的日常维护方法。

    4年前   
    1227    0

    网站设计制作合同(套餐服务)

    网站设计制作合同(套餐服务)  甲方:  乙方:  一、甲方选择的套餐名称:  甲方最后结款期限:  二、甲方的权利和义务  1、 甲方委托乙方进行网站设计制作。并根据自身的需要,选定模板风格...

    12年前   
    524    0

    文档贡献者

    鬼***笑

    贡献于2022-07-07

    下载需要 24 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档