摘要:本文系統(tǒng)的闡述了藍(lán)牙測試模式建立和測試方案,分析了藍(lán)牙協(xié)議測試的統(tǒng)一接口----測試控制接口,對L2CAP一致性測試結(jié)構(gòu)進(jìn)行了分析和論述。
關(guān)鍵詞:測試模式 測試控制接口(TCI) 測試系統(tǒng)(STU) 被測對象(IUT) 一致性測試
一、引言
目前世界上已經(jīng)發(fā)布的藍(lán)牙設(shè)備有近500種。按照SIG的要求,任何一個生產(chǎn)或銷售藍(lán)牙設(shè)備的公司必須首先簽署藍(lán)牙協(xié)議成為藍(lán)牙組織成員,然后證明自己的產(chǎn)品符合藍(lán)牙系統(tǒng)規(guī)范(包括一致性要求)。其產(chǎn)品必須按藍(lán)牙設(shè)備測試規(guī)范逐一進(jìn)行驗(yàn)證,列入合格產(chǎn)品,才能享有藍(lán)牙組織協(xié)定所賦予的權(quán)利。因此,對藍(lán)牙設(shè)備進(jìn)行測試成為產(chǎn)品走向市場必不可少的一步,本文論述了藍(lán)牙設(shè)備底層硬件模塊功能的測試以及藍(lán)牙協(xié)議的一致性測試。
二、藍(lán)牙的測試模式
藍(lán)牙技術(shù)規(guī)范(Specification)包括協(xié)議和應(yīng)用規(guī)范兩個部分。協(xié)議定義了各功能元素(如串口仿真協(xié)議、服務(wù)發(fā)現(xiàn)協(xié)議等)的工作方式,應(yīng)用規(guī)范則闡述了為實(shí)現(xiàn)特定的應(yīng)用模式,各層協(xié)議間的運(yùn)轉(zhuǎn)協(xié)同機(jī)制。整個藍(lán)牙協(xié)議體系結(jié)構(gòu)可分為底層硬件模塊、中間協(xié)議層軟件模塊和高端應(yīng)用層。底層硬件部分包括無線跳頻(RF)、基帶(BB)和鏈路管理層(LM),中間協(xié)議層包括邏輯鏈路控制和適應(yīng)協(xié)議(L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串口仿真協(xié)議RFCOMM和電話通信協(xié)議(TCS),在藍(lán)牙協(xié)議棧的最上部是各種高層應(yīng)用框架(Profiles)。本部分涉及的是底層硬件模塊功能的測試,主要通過建立測試模式完成無線基帶層的驗(yàn)證或兼容性測試。系統(tǒng)組成如圖1所示。
1.藍(lán)牙設(shè)備測試模式的建立
模式的建立需要測試設(shè)備(TESTER)和被測試設(shè)備(DUT)組成一個微微網(wǎng),其中TESTER作為主設(shè)備,對測試過程有完全控制權(quán),DUT作為從設(shè)備可以是藍(lán)牙發(fā)送設(shè)備,也可以是藍(lán)牙接收設(shè)備。除此之外,還可以在TESTER上使用附加的測量設(shè)備。
測試使用無線接口在本地執(zhí)行激活操作或者是用軟件(或硬件)接口在本地執(zhí)行激活操作。當(dāng)使用無線接口在本地執(zhí)行激活操作時,通過TESTER發(fā)出LMP(鏈路管理協(xié)議)指令,命令DUT進(jìn)入測試模式,在接收到激活指令后,DUT將返回LMP-Ac-cepted指令,終止所有標(biāo)準(zhǔn)操作,然后進(jìn)入測試模式;若DUT未能完成本地激活,將返回LMP-Not-Accepted指令。當(dāng)使用軟件(或硬件)接口在本地執(zhí)行激活操作時,通過DUT執(zhí)行尋呼(Page)掃描和查詢(Inquiry)掃描,直到建立與TESTER的連接為止。
測試通過使用LMP指令的空中接口完成對測試的控制操作,DUT的硬件接口可以存在,但不受標(biāo)準(zhǔn)化管理。若藍(lán)牙設(shè)備不在測試模式下,將拒絕使用這些指令,DUT返回LMP-Not-Accepted指令。若處在測試模式中,當(dāng)收到控制指令后,DUT將返回LMP-Accepted指令?刂颇J较略试S出現(xiàn)處理功率控制和LMP指令,并且用標(biāo)準(zhǔn)程序測試可調(diào)功率控制?梢杂肔MP-Detach指令或在建立“退出測試模式”的測試方案中發(fā)出的LMP-Test-Control指令命令DUT脫離測試模式。
2.藍(lán)牙設(shè)備的測試方案
。1)發(fā)送端測試
在TESTER和DUT組成的微微網(wǎng)中,DUT按從單元的發(fā)送定時周期性的發(fā)送測試分組,當(dāng)主單元發(fā)送首個POLL分組時,發(fā)送端測試開始工作。測試設(shè)備以其TX時隙(控制指令或POLL分組)執(zhí)行發(fā)送操作。主單元輪詢間隔是預(yù)先定義的固定值,即使從單元沒有接受到分組,正在測試的設(shè)備也能按照正常定時進(jìn)行數(shù)據(jù)發(fā)送。以下介紹幾個概念:
1)測試包格式:TESTER定義了分組格式、分組類型和有效負(fù)載長度。有效負(fù)載長度符合基帶規(guī)范的要求。在發(fā)送機(jī)測試模式里,只能用沒有FEC(前向糾錯碼)的分組,包括HV3、DH1、DH3、DH5、AUX1分組。
2)偽隨機(jī)序列:傳輸分組時,使用統(tǒng)一的PRBS-9序列作為偽隨機(jī)序列,移位寄存器級數(shù)為9,偽隨機(jī)序列長度為29-1=511位。最長的零序列為8。
3)傳輸參數(shù)控制:在進(jìn)行發(fā)送測試時,要對以下參數(shù)進(jìn)行適當(dāng)?shù)奈恢茫哼f減跳頻模式在完整的頻率范圍上支持快速無線測試,它使用五種可執(zhí)行的時序跳頻(使用信道0、23、46、69、93)。
4)傳輸參數(shù)控制:在進(jìn)行發(fā)送測試時,要對以下參數(shù)進(jìn)行適當(dāng)?shù)脑O(shè)置:
*位模式:連續(xù)0、連續(xù)1、交替1010、交替1111 0000 1111 0000、偽隨機(jī)碼形式、發(fā)送停止。推薦序列以1開始,當(dāng)和測量無關(guān)時,序列也可以0開始。
*頻率選擇:單頻、歐/美跳頻、日本跳頻、法國跳頻、西班牙跳頻、遞減跳頻(對于藍(lán)牙設(shè)備和模塊是可選的)。
*TX頻率:f=(2402+k)MHz,k={0,1,……,78}。
*TDD(時分雙工)幀的缺省輪詢周期:n*1.25ms,n為大于0的正整數(shù),根據(jù)分組的類型選取。
*分組的類型
*測試序列的年度(參考基帶規(guī)范的用戶數(shù)據(jù)分組定義)。
5)功率控制:如果測試自適應(yīng)功率控制,將使用常規(guī)的LMP指令,DUT將以最大功率開始傳輸,并隨著收到的每一指令而減少/增加功率。
6)不同頻率設(shè)置之間的切換:TESTER在收到LMP-Accepted消息后,將切換到新的頻段;DUT在發(fā)出LMP-Accepted消息后,將進(jìn)行切換。
(2)回送測試
在回送測試中,被測設(shè)備接收常規(guī)基帶分組,經(jīng)解碼后由被測設(shè)備使用相同的分組類型返回有效載荷,返回分組將在測試設(shè)備傳輸后的TX時隙或下一個TX時隙發(fā)回。測試設(shè)備可以選擇啟用或停止偽隨機(jī)序列加噪。
回送測試使用的規(guī)則如下:
*如果沒有檢測同步頭,不應(yīng)答。
*如果頭校驗(yàn)(HEC)失敗,DUT將使用含ARQN位的NULL分組,該ARQN位置為NAK。并不一定返回NULL分組。
*若分組中包含和測試模式控制有關(guān)的LMP信息,這種指令就會被執(zhí)行。此時忽略其它LMP指令,也不返回其他分組。
*為了進(jìn)行前向糾錯處理測試,允許對有效載荷的前向糾錯碼(FEC)進(jìn)行解碼和編碼。測試設(shè)備使用沒有前向糾錯的分組進(jìn)行誤碼率測試。
*在CRC失效的情況下,分組的有效負(fù)載攜帶ARQN=NAK返回,返回分組的CRC可由返回的有效負(fù)載算出。
三、測試控制接口(TCI)
對于所有藍(lán)牙外設(shè)產(chǎn)品和藍(lán)牙部件,協(xié)議測試將用于驗(yàn)證底層協(xié)議的功能實(shí)現(xiàn),如協(xié)議一致性測試。對于該類測試,需要高層測試設(shè)備(UT)來測試被測對象(IUT)的協(xié)議實(shí)現(xiàn)情況。為了避免測試設(shè)備隨每個被測對象(IUT)和測試系統(tǒng)(SUT)的情況不同而變化,必須強(qiáng)制提供標(biāo)準(zhǔn)控制接口。測試控制接口(TCI)提供了訪問測試設(shè)備和在測試過程中實(shí)現(xiàn)高層接口的統(tǒng)一方式。制造商必須提供IUT所需的適配器(可以是硬件或軟件)。
。裕茫捎糜诨鶐印㈡溌饭芾韺訁f(xié)議、邏輯鏈路控制與適配協(xié)議和主機(jī)控制接口的驗(yàn)證。測試設(shè)備和SUT/IUT之間的接口主要有以下兩種:
。裕茫-HCI接口:該接口同于主機(jī)控制接口(HCI)。對于基帶層的鏈路控制部分和鏈路管理層的驗(yàn)證,TCI-HCI接口將作為測試系統(tǒng)和SUI/IUT高層間的接口使用。測試系統(tǒng)通過發(fā)送HCI命令和從SUT/IUT接收HCI事件訪問SUT/IUT高層接口。用于測試設(shè)備和SUT/IUT之間的傳輸層通道有兩種:(1)USB、RS232或UART物理通道;(2)軟件通道,SUT/IUT制造商必須在設(shè)備發(fā)送數(shù)據(jù)時,提供測試操作軟件。
TCI-L2CAP接口:基于HCI,并在SUT/IUT的L2CAP層驗(yàn)證期間使用。命令和事件根據(jù)L2CAP服務(wù)接口來定義,但是L2CAP基本事件和命令必須轉(zhuǎn)換成與HCI事件和命令相同格式的報(bào)文。
四、藍(lán)牙協(xié)議棧一致性測試
協(xié)議一致性測試用于檢查給定的一種協(xié)議的實(shí)現(xiàn)實(shí)體是否與協(xié)議的內(nèi)在形式規(guī)范要求相一致,只有當(dāng)在測試中觀察到的所有輸出形式與規(guī)范的描述相同時方可通過測試。
。2CAP一致性測試結(jié)構(gòu)如圖2所示,測試結(jié)構(gòu)共有三個主要組成部分:一致性測試系統(tǒng)(SUT)、測試控制軟件(TC)和被測對象(IUT)。在一致性測試系統(tǒng)和被測對象之間有兩個接口:通過藍(lán)牙發(fā)射裝置的空中接口和測試控制接口(TCI)。TCI的推薦物理傳輸層是HCI的指定傳輸層之一:USB、RS232或UART。
測試系統(tǒng)發(fā)送L2CAP命令給被測對象,通過TCI由被測對象得到事件。測試系統(tǒng)的高層包括一個TCI-L2CAP驅(qū)動程序和物理總線驅(qū)動程序,底層處理被測對象發(fā)來的L2CAP數(shù)據(jù)分組。
測試控制軟件有三部分組成:物理總線、TCI-L2CAP固件和適配器。測試控制軟件的功能是使接口適配TCI-L2CAP接口。物理總線發(fā)送數(shù)據(jù)到測試系統(tǒng)的高層,并從高層接收數(shù)據(jù),TCI-L2CAP固件對數(shù)據(jù)進(jìn)行編碼解碼,適配器適配IUT的L2CAP接口。
被測對象為藍(lán)牙主協(xié)議棧中的任何軟件實(shí)現(xiàn)實(shí)體(軟件中必須包括正在測試的L2CAP層)。
五、結(jié)束語
藍(lán)牙技術(shù)是目前無線通信的前沿技術(shù),其設(shè)計(jì)的目的是在固定設(shè)備和移動設(shè)備之間實(shí)現(xiàn)結(jié)構(gòu)簡單的、健壯的、低成本的無線連接。本文系統(tǒng)的分析了藍(lán)牙設(shè)備的測試模式和藍(lán)牙協(xié)議的一致性測試方法。
摘自《數(shù)據(jù)通信》2002.1期