摘要:本文對藍牙協(xié)議一致性測試方案進行了介紹,同時介紹了IVT公司的藍牙測試儀的工作流程。
關鍵詞:藍牙協(xié)議 測試儀 Blue Unit L2CAP SDP 被測對象 一致性測試
1 藍牙協(xié)議概述
藍牙技術規(guī)范(Specification)包括協(xié)議(Protocol)和應用規(guī)范(Profile)兩個部分。協(xié)議定義了各功能元素(如串口仿真協(xié)議(RFCOMM)、邏輯鏈路控制和適配協(xié)議(L2CAP)等各自的工作方式,而應用規(guī)范則闡述了為了實現(xiàn)一個特定的應用模型(Usage model),各層協(xié)議間和運轉協(xié)同機制。顯然,Protocol是一種橫向體系結構,而Profile是一種縱向體系結構。較典型的Profile有撥號網絡(Dial-up Networking)、耳機(Headset)、局域網訪問(LAN Access)和文件傳輸(File Transfer)等,它們分別對應一種應用模型。
整個藍牙協(xié)議體系結構可分為底層硬件模塊、中間協(xié)議層(軟件模塊)和高端應用層三大部分。圖1中所示的鏈路管理層(LM)、基帶層(BB)和射頻層(RF)屬于藍牙的硬件模塊。RF層通過2.4GHz無需授權的ISM頻段的微波,實現(xiàn)數(shù)據(jù)位流的過濾和傳輸,它主要定義了藍牙收發(fā)器在此頻帶正常工作所滿足的要求。BB層負責跳頻和藍牙數(shù)據(jù)及信息幀的傳輸。LM層負責連接的建立和拆除以及鏈路的安全機制。它們?yōu)樯蠈榆浖K提供了不同的訪問人口,但是兩個藍牙設備之間的消息和數(shù)據(jù)傳遞必須通過藍牙主機控制器接口(HCI)的解釋才能進行。也就是說,HCI是藍牙協(xié)議中軟硬件之間的接口,它提供了一個調用下層BB、LM狀態(tài)和控制寄存器等硬件的統(tǒng)一命令接口。HCI層以上的協(xié)議實體運行在主機上,而HCI以下的功能由藍牙設備來完成,二者之間通過一個對兩端透明的傳輸層進行交互。
中間協(xié)議層包括邏輯鏈路控制和適配協(xié)議(L2CAP,Logical Link Control and Adaptation Protocol)、服務發(fā)現(xiàn)協(xié)議(SDP,Service Discovery Protocol)、串口仿真協(xié)議(RFCOMM)和電信通信協(xié)議(TCS,Telephone control Protocol)。L2CAP完成數(shù)據(jù)拆裝、服務質量控制和協(xié)議復用等功能,是其他上層協(xié)議實現(xiàn)的基礎,因此也是藍牙協(xié)議棧的核心部分。SDP為上層應用程序提供一種機制來發(fā)現(xiàn)網絡中可用的服務及其特性。RFCOMM依據(jù)ETSI標準TS07.10在L2CAP上仿真9針RS232串口的功能。TCS提供藍牙設備間話音和數(shù)據(jù)的呼叫控制信令。
在藍牙協(xié)議棧的最上部是高端應用層(Applications),它對應于各種應用模型的profile。
2 藍牙協(xié)議測試背景
2.1 藍牙測試背景
藍牙組織成員為證明自己的產品達到了藍牙組織加入?yún)f(xié)定的要求,符合藍牙規(guī)范,必須通過藍牙認證。藍牙認證設置的目的在于保護藍牙無線互連技術的一致性,同時盡可能降低對產品開發(fā)商的要求。
任何一個生產或銷售藍牙設備的公司必須首先簽署藍牙協(xié)定以成為藍牙組織成員,然后證明自己的產品符合藍牙系統(tǒng)規(guī)范(包括一致性要求)。在成功通過藍牙認證之后,產品方案被列入合格產品目錄。產品必須完全通過藍牙認證,否則不享有藍牙組織協(xié)定所賦予的權利。
藍牙設備測試規(guī)范包括一系列為驗證藍牙設備而設計的測試。藍牙設備應對藍牙設備測試規(guī)范中所有的藍牙設備測試案例逐一進行驗證。
所謂測試案例是與被測試協(xié)議的一個特定特征相關的一個特定測試單元。每個測試案例都有一個特定的測試目的,運行后都對所得到的測試結果進行判斷。例如為測試傳輸層和建鏈(Connection establishment)而設計一個測試案例,其測試目的為“測試傳輸層建鏈”,執(zhí)行這個測試案例可能得到的結果為成功、失敗或者不確定。
測試案例一般由三部分組成:初始化部分(Preamble)、測試體(Test Body)和重置部分(Postamble)。
在藍牙設備認證測試中,射頻(Radio Frequency)、藍牙協(xié)議一致性、profile一致性和profile互聯(lián)測試所使用的方法是不同的。
*射頻測試案例可以混合使用標準測試設備和特殊藍牙測試設備來執(zhí)行。如果有一個可用的參考測試系統(tǒng),藍牙協(xié)議一致性的測試案例可以使用它來執(zhí)行。否則一致性測試只能通過其他方法進行。組織成員自由選擇合適的測試設備來運行所需的測試。
*為加強低層互聯(lián)的可靠性,首先應進行藍牙協(xié)議互聯(lián)藍牙協(xié)議互聯(lián)測試。使用設計好的測試產品(一般稱為藍牙設備)來進行測試。
*Profile一致性測試用來決定藍牙產品是否符合藍牙規(guī)范。
*Profile互聯(lián)測試幫助確定支持同一Profile的產品是否如預料那樣支持互聯(lián)。當設備特別是不同廠家設備之間進行實際通信的時候,互聯(lián)測試有可能發(fā)現(xiàn)原先不太明顯的問題。
2.2一致性測試
協(xié)議一致性測試和協(xié)議校驗的目標是很容易混淆的。協(xié)議一致性測試用于檢查給定的一種協(xié)議的實現(xiàn)實體是否與協(xié)議的內在動工規(guī)范要求相一致。協(xié)議校驗用來檢查協(xié)議規(guī)范本身在邏輯上是否可靠的。如果協(xié)議規(guī)范存在設計錯誤,絕對符合規(guī)范要求的協(xié)議實現(xiàn)雖然存在同樣的邏輯錯誤,但能夠通過一致性測試;如果它不存在同樣的錯誤,就無法通過一致性測試。只有實現(xiàn)實體和規(guī)范要求不一致時一致性測試才會失敗。相反,協(xié)議的可靠性驗證應該檢測出設計上的錯誤。
給定一個例如有限狀態(tài)機形式的參考協(xié)議規(guī)范和一個未知的實現(xiàn)實體。對所有實際應用來說,協(xié)議實現(xiàn)實體相當于一個具有有限輸入輸出的黑箱。我們只能通過提供一系列的輸入信號(消息),觀察輸出的結果信號來驗證它。處于驗證下的實現(xiàn)實體,通常稱為被校驗對象(IUT),只有當所有觀察到的輸出與形式規(guī)范所描述相一致時方可通過校驗。一組用于按這種方法驗證協(xié)議實現(xiàn)的輸入序列集稱為一致性測試案例包。
這里有兩個主要的問題解決:
。1)找到一種通用有效的方法為一種給定的協(xié)議實現(xiàn)實體生成一個一致性測試案例包。
。2)找到一種方法把測試安全應用在協(xié)議實現(xiàn)實體上進行測試。
第二個問題看起來比較簡單。IUT可以是協(xié)議棧結構中單獨的一層,具有與相鄰層間的兩個接口。為了測試它,需要一個高層測試儀和一個低層測試儀和一些系統(tǒng)方法來同步它們之間的流程。當IUT和測試儀在物理上相互隔離時也存在復雜的影響因素。測試儀可能只能通過遠程網絡連接來訪問IUT,并且無法絕對可靠的提供輸入以及從IUT獲得輸出。
通信系統(tǒng)設計要保持一定的標準后為稱為一致性測試。
在OSI系統(tǒng)模型定義后幾年中,ISO(國際標準化組織)開始著手制定一致性測試的方法和框架。一個專門委員會接手了標準化中最困難的任務之一,發(fā)展出ISO用于定義一致性測試框架和方法的一系列標準,以及一種描述抽象測試集的語言。
提倡的一種解決方法是為每一種協(xié)議或協(xié)議集(profile)發(fā)展一種抽象的測試集,并使之標準化。發(fā)展商要以一系列稱為PICS或PIXTT文檔的形式說明自己產品的實現(xiàn)途徑。一致性測試中心(也稱為測試實驗室)負責被測對象的一致性驗證。中心首先選出刊登特定對象的測試案例,給測試案例賦值,最后得到抽象測試集的一個物理實現(xiàn)。目前,一致性測試是世界范圍內最為廣泛的軟件測試活動。
3 藍牙協(xié)議一致性測試
3.1 藍牙設備(Blue。眨睿椋簦y試結構
在藍牙設備測試中,我們采用的基準設備(BU)是Ericsson或Nokia提供的模塊。被測對象(IUT)是其他公司的模塊。兩者之間以測試儀相連接。測試儀發(fā)送命令和數(shù)據(jù)到這兩個模塊(BU和IUT),也從這兩個模塊接收時間和數(shù)據(jù)。測試系統(tǒng)主要有四個組成部分:
*主機A
主機A控制基準設備(BU)。主機A向BU發(fā)送命令和數(shù)據(jù),同時接收用來驗證測試案例的時間和數(shù)據(jù)。
*HC/LM-A。拢
。龋茫蹋停痢。拢帐莵碜訣ricsson或Nokia的藍牙硬件,作為測試參考設備;鶞剩˙U)執(zhí)行主機A發(fā)出的不同命令,對相應事件應該能夠做出正確反應。
*主機B
主機B控制被測試設備(IUT)。主機B向被測設備(IUT)發(fā)送命令和數(shù)據(jù),接收用來驗證測試安全的事件和數(shù)據(jù)。
*HC/LM-B IUT
HC/LM -B IUT是來自其他公司的被測硬件。IUT執(zhí)行主機B發(fā)送的命令,對相應的事件和數(shù)據(jù)包做出反應。
測試儀使用兩種物理層傳輸層作為TCI-HCI接口。也就是說,藍牙設備可以通過物理總線(USB或者UART接口)和測試儀連接。PCO1和PCO2作為它的控制和觀察點。PCO1作為低層測試儀(LT)的控制觀察點。POC2作為高層測試儀(UT)的控制觀察點。由于測試儀不能觀察空中接口(即兩個藍牙硬件之間的無線空中接口),捕獲LM數(shù)據(jù)包,在HC/LM-A BU和HC/LM -B IUT之間不存在控制觀察點(PCO)
3.2藍牙協(xié)議棧L2CAP一致性測試結構
我們對L2CAP(logical link control and adaptation protocol)的致性測試結構進行說明。測試結構共有三個主要組成部分:一致性測試儀、測試控制軟件(TC)和被測對象(IUT)。在一致性測試儀和被測對象之間有兩個接口:通過藍牙發(fā)射裝置的空中接口和測試控制接口(TCI)。TCI的推薦物理傳輸層是HCI的指定傳輸層之一:USB、RS232或UART。通過TCI發(fā)送消息時,L2CAP事件和命令的原語必須轉換成與HCI事件和命令同樣格式的消息發(fā)送。
。1)一致性測試
測試儀包括高層測試儀和低層測試儀。使用圖2中的PCO1(Point of Control Observation)和PCO2作為它的高層及低層測試儀的觀察和控制點。高層測試儀發(fā)送L2CAP命令給被測對象,通過TCI從被測對象得到事件。高層測試儀包括一個TCI-L2CAP驅動程序和一個物理總線驅動程序。低層測試儀處理被測對象發(fā)來的L2CAP數(shù)據(jù)包。測試儀中的L2CAP數(shù)據(jù)包等同于被測對象中的L2CAP數(shù)據(jù)包。
(2)測試控制軟件
測試控制軟件由三部分組成:物理總線、TCI-L2CAP固件和適配器。生產商把產品送去測試時必須同時提供測試控制軟件。測試控制軟件的功能就是使接口(該接口與實現(xiàn)相關的)適配TCI-L2CAP接口。物理總線發(fā)送數(shù)據(jù)到高層測試儀,并從高層測試儀接收數(shù)據(jù)。TCI-L2Cap固件對數(shù)據(jù)進行編碼解碼。適配器適配IUT的L2CAP接口,該接口是與實現(xiàn)相關的(implementation-dependent)。
。3)IUT(被測對象)
IUT(被測對象)可以是藍牙主協(xié)議棧的任何軟件實現(xiàn),當然,軟件中必須包括正在測試的L2CAP層。
3.3藍牙協(xié)議棧SDP一致性測試結構
我們對SDP的一致性測試結構進行說明。到目前為止,SDP的測試結構并沒有在測試規(guī)范中明確確定。但是根據(jù)藍牙規(guī)范中的測試案例,這里不需要高層測試儀測試SDP的上層接口。測試系統(tǒng)共有兩個主要組成部分:低層測試儀和被測對象(IUT)。
。1)低層測試儀
在SDP一致性測試系統(tǒng)中,低層測試儀作為SDP客戶端,發(fā)送一個在測試案例中規(guī)定的SDP請求數(shù)據(jù)包(Request PDU),然后驗證被測系統(tǒng)(IUT)是否做出正確反應。
。2)IUT(被測對象)
IUT(被測對象)可以是藍牙主協(xié)議棧的任何軟件實現(xiàn),當然,軟件中必須包括正在測試的SDP層。在SDP一致性測試系統(tǒng)中,IUT作為SDP服務器端,對收到的測試儀發(fā)來的SDP請求數(shù)據(jù)包做出響應,產生相應的事件。
3.4協(xié)議一致性測試儀設置
IVT藍牙測試儀運行于Window98環(huán)境下帶有USB和UART接口的PC機上。我們需要把藍牙硬件(愛立信啟動工具包)與PC機相連,建立與被測對象(在另一PC機上)之間的空中接口。通過使用的UART的TCI-L2CAP接口建立被測對象和高層測試儀之間的物理連接。
開始測試前,我們需要啟動藍牙測試儀和被測對象,分別設置藍牙硬件、藍牙測試儀的物理總線及被測對象,然后運行測試案例。
3.5協(xié)議一致性測試報告
對每個測試案例,藍牙測試儀會生成兩個測試報告文件。一個是jpg文件,在消息序列表中顯示測試交互隊列,另一個是log文件,在PCO中顯示位串和解碼信息。
4 結束語
藍牙是目前風靡世界的新一代無線通信技術,其設計目的在于在固定設備和移動設備之間實現(xiàn)結構簡單,強壯性好,低能耗,低成本的無線連接。作者參加開發(fā)的IVT公司藍牙測試儀是當前國內不多見的具有世界領先水平的產品。本文對藍牙測試的背景及藍牙一致性測試流程進行了一一介紹。
摘自《電信科學》2001.5