papa123

papa123

0个粉丝

41

问答

0

专栏

11

资料

papa123  发布于  2009-11-06 20:23:42
采纳率 0%
41个问答
6397

蓝牙设备的测试方案

   
蓝牙设备的测试方案

  
  目前世界上已经发布的蓝牙设备有近500种。按照SIG的要求,任何一个生产或销售蓝牙设备的公司必须首先签署蓝牙协议成为蓝牙组织成员,然后证明自己的产品符合蓝牙系统规范(包括一致性要求)。其产品必须按蓝牙设备测试规范逐一进行验证,列入合格产品,才能享有蓝牙组织协定所赋予的权利。因此,对蓝牙设备进行测试成为产品走向市场必不可少的一步,本文论述了蓝牙设备底层硬件模块功能的测试以及蓝牙协议的一致性测试。

  二、蓝牙的测试模式
  蓝牙技术规范(Specification)包括协议和应用规范两个部分。协议定义了各功能元素(如串口仿真协议、服务发现协议等)的工作方式,应用规范则阐述了为实现特定的应用模式,各层协议间的运转协同机制。

     整个蓝牙协议体系结构可分为底层硬件模块、中间协议层软件模块和高端应用层。底层硬件部分包括无线跳频(RF)、基带(BB)和链路管理层(LM);中间协议层包括逻辑链路控制和适应协议(L2CAP)、服务发现协议(SDP)、串口仿真协议RFCOMM和电话通信协议(TCS),在蓝牙协议栈的最上部是各种高层应用框架(Profiles)。本部分涉及的是底层硬件模块功能的测试,主要通过建立测试模式完成无线基带层的验证或兼容性测试。系统组成如图1所示。
 
1.蓝牙设备测试模式的建立

  模式的建立需要测试设备(TESTER)和被测试设备(DUT)组成一个微微网,其中TESTER作为主设备,对测试过程有完全控制权,DUT作为从设备可以是蓝牙发送设备,也可以是蓝牙接收设备。除此之外,还可以在TESTER上使用附加的测量设备。

  测试使用无线接口在本地执行激活操作或者是用软件(或硬件)接口在本地执行激活操作。当使用无线接口在本地执行激活操作时,通过TESTER发出LMP(链路管理协议)指令,命令DUT进入测试模式,在接收到激活指令后,DUT将返回LMP-Ac-cepted指令,终止所有标准操作,然后进入测试模式;若DUT未能完成本地激活,将返回LMP-Not-Accepted指令。当使用软件(或硬件)接口在本地执行激活操作时,通过DUT执行寻呼(Page)扫描和查询(Inquiry)扫描,直到建立与TESTER的连接为止。  

     测试通过使用LMP指令的空中接口完成对测试的控制操作,DUT的硬件接口可以存在,但不受标准化管理。若蓝牙设备不在测试模式下,将拒绝使用这些指令,DUT返回LMP-Not-Accepted指令。若处在测试模式中,当收到控制指令后,DUT将返回LMP-Accepted指令。控制模式下允许出现处理功率控制和LMP指令,并且用标准程序测试可调功率控制。可以用LMP-Detach指令或在建立“退出测试模式”的测试方案中发出的LMP-Test-Control指令命令DUT脱离测试模式。  

2.蓝牙设备的测试方案  

(1)发送端测试  
在TESTER和DUT组成的微微网中,DUT按从单元的发送定时周期性的发送测试分组,当主单元发送首个POLL分组时,发送端测试开始工作。测试设备以其TX时隙(控制指令或POLL分组)执行发送操作。主单元轮询间隔是预先定义的固定值,即使从单元没有接受到分组,正在测试的设备也能按照正常定时进行数据发送。以下介绍几个概念: 
 
1)测试包格式:TESTER定义了分组格式、分组类型和有效负载长度。有效负载长度符合基带规范的要求。在发送机测试模式里,只能用没有FEC(前向纠错码)的分组,包括HV3、DH1、DH3、DH5、AUX1分组。  

2)伪随机序列:传输分组时,使用统一的PRBS-9序列作为伪随机序列,移位寄存器级数为9,伪随机序列长度为29-1=511位。最长的零序列为8。  

3)传输参数控制:在进行发送测试时,要对以下参数进行适当的位置:递减跳频模式在完整的频率范围上支持快速无线测试,它使用五种可执行的时序跳频(使用信道0、23、46、69、93)。 
 
4)传输参数控制:在进行发送测试时,要对以下参数进行适当的设置:  
* 位模式:连续0、连续1、交替1010、交替1111 0000 1111 0000、伪随机码形式、发送停止。推荐序列以1开始,当和测量无关时,序列也可以0开始。  
* 频率选择:单频、欧/美跳频、日本跳频、法国跳频、西班牙跳频、递减跳频(对于蓝牙设备和模块是可选的)。  
* TX频率:f=(2402+k)MHz,k={0,1,……,78}。  
* TDD(时分双工)帧的缺省轮询周期:n*1.25ms,n为大于0的正整数,根据分组的类型选取。  
* 分组的类型  
* 测试序列的年度(参考基带规范的用户数据分组定义)。  

5)功率控制:如果测试自适应功率控制,将使用常规的LMP指令,DUT将以最大功率开始传输,并随着收到的每一指令而减少/增加功率。  

6)不同频率设置之间的切换:TESTER在收到LMP-Accepted消息后,将切换到新的频段;DUT在发出LMP-Accepted消息后,将进行切换。  

(2)回送测试  
在回送测试中,被测设备接收常规基带分组,经解码后由被测设备使用相同的分组类型返回有效载荷,返回分组将在测试设备传输后的TX时隙或下一个TX时隙发回。测试设备可以选择启用或停止伪随机序列加噪。  

回送测试使用的规则如下:  
* 如果没有检测同步头,不应答。  
* 如果头校验(HEC)失败,DUT将使用含ARQN位的NULL分组,该ARQN位置为NAK。并不一定返回NULL分组。  
* 若分组中包含和测试模式控制有关的LMP信息,这种指令就会被执行。此时忽略其它LMP指令,也不返回其他分组。  
* 为了进行前向纠错处理测试,允许对有效载荷的前向纠错码(FEC)进行解码和编码。测试设备使用没有前向纠错的分组进行误码率测试。  
* 在CRC失效的情况下,分组的有效负载携带ARQN=NAK返回,返回分组的CRC可由返回的有效负载算出。  

三、测试控制接口(TCI)  
对于所有蓝牙外设产品和蓝牙部件,协议测试将用于验证底层协议的功能实现,如协议一致性测试。对于该类测试,需要高层测试设备(UT)来测试被测对象(IUT)的协议实现情况。为了避免测试设备随每个被测对象(IUT)和测试系统(SUT)的情况不同而变化,必须强制提供标准控制接口。测试控制接口(TCI)提供了访问测试设备和在测试过程中实现高层接口的统一方式。制造商必须提供IUT所需的适配器(可以是硬件或软件)。  

TCI用于基带层、链路管理层协议、逻辑链路控制与适配协议和主机控制接口的验证。测试设备和SUT/IUT之间的接口主要有以下两种: 

 TCI-HCI接口:该接口同于主机控制接口(HCI)。
对于基带层的链路控制部分和链路管理层的验证,TCI-HCI接口将作为测试系统和SUI/IUT高层间的接口使用。测试系统通过发送HCI命令和从SUT/IUT接收HCI事件访问SUT/IUT高层接口。

用于测试设备和SUT/IUT之间的传输层通道有两种:
(1)USB、RS232或UART物理通道;
(2)软件通道,SUT/IUT制造商必须在设备发送数据时,提供测试操作软件。  

TCI-L2CAP接口:基于HCI,并在SUT/IUT的L2CAP层验证期间使用。命令和事件根据L2CAP服务接口来定义,但是L2CAP基本事件和命令必须转换成与HCI事件和命令相同格式的报文。 
 四、蓝牙协议栈一致性测试 
 
协议一致性测试用于检查给定的一种协议的实现实体是否与协议的内在形式规范要求相一致,只有当在测试中观察到的所有输出形式与规范的描述相同时方可通过测试。  

L2CAP一致性测试结构如图2所示,测试结构共有三个主要组成部分:一致性测试系统(SUT)、测试控制软件(TC)和被测对象(IUT)。

在一致性测试系统和被测对象之间有两个接口:通过蓝牙发射装置的空中接口和测试控制接口(TCI)。TCI的推荐物理传输层是HCI的指定传输层之一:USB、RS232或UART。

测试系统发送L2CAP命令给被测对象,通过TCI由被测对象得到事件。测试系统的高层包括一个TCI-L2CAP驱动程序和物理总线驱动程序,底层处理被测对象发来的L2CAP数据分组。

测试控制软件有三部分组成:物理总线、TCI-L2CAP固件和适配器。

测试控制软件的功能是使接口适配TCI-L2CAP接口。物理总线发送数据到测试系统的高层,并从高层接收数据,TCI-L2CAP固件对数据进行编码解码,适配器适配IUT的L2CAP接口。 

 被测对象为蓝牙主协议栈中的任何软件实现实体(软件中必须包括正在测试的L2CAP层)。  

五、结束语  
蓝牙技术是目前无线通信的前沿技术,其设计的目的是在固定设备和移动设备之间实现结构简单的、健壮的、低成本的无线连接。本文系统的分析了蓝牙设备的测试模式和蓝牙协议的一致性测试方法
我来回答
回答1个
时间排序
认可量排序

出手无招

0个粉丝

12

问答

0

专栏

0

资料

出手无招 2020-04-13 16:15:49
认可0
大神,您好,目前在做blueZ5.5的蓝牙应用开发,请教下怎么发广播包,有demo可以参考吗
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区