首页 > 其他分享 >BLE --- 直接测试模式(可测天线性能)

BLE --- 直接测试模式(可测天线性能)

时间:2024-04-29 18:22:20浏览次数:34  
标签:LE 可测 命令 --- Test 测试 BLE DUT

认识BLE协议栈 —— 直接测试模式

BLE协议充分考虑了设备的测试问题,在协议栈层面提供了直接测试模式,用于执行BLE设备的RF物理层一致性的测试。

直接测试模式(Direct Test Mode)常简称为DTM。

DTM测试的核心工作是令设备在指定的频率上发送一段数据序列,在另一端使用测试设备接收数据序列并给出测试报告,或者反过来测试设备发送一段数据序列,BLE设备接收并给出测试报告。

测试报告中会给出通信频率的偏移量,频率的功率,通信丢包率PER(Packet Error Rate)等信息,并根据这些信息判断BLE设备的物理层是否满足设计要求。

1. 工作模式介绍

DTM测试的基本工作模式如下:

 

左侧DUT(Device Under Test)表示待测设备,右侧Upper Tester表示上位机测试设备,通常使用PC代替,右侧Lower Tester表示下位机测试设备,通常是一台专业的蓝牙RF测试设备。

上位机与DUT之间使用串口线连接,上位机发送测试命令,DUT执行指定的操作,并返回执行结果。串口至少应支持以下几种波特率:1200、2400、9600、14400、19200、38400、57600、115200。

下位机接收DUT发送的信号,或向DUT发送信号,并给出报告。

值得注意的是,图中DUT与下位机之间的连线既有实线又有虚线。实线指二者之间可以用一根同轴电缆传输RF信号,虚线指可以使用RF信号进行无线传输。使用同轴电缆,需要考虑接口处的阻抗匹配和功率损耗,使用无线传输则要考虑外部射频干扰,需要在一个屏蔽箱或屏蔽室内进行测试才能保证准确。

如果RF测试设备具有串口收发能力和数据处理能力,那么该设备可以脱离PC独立完成全部测试任务。

2. 测试内容

PC向DUT发送测试命令,具体如下:

测试命令含义
LE_TEST_SETUP 设置测试
LE_TRANSMITTER_TEST BLE设备发射机测试
LE_RECEIVER_TEST BLE设备接收机测试
LE_TEST_END 停止测试

DUT收到命令会向PC返回事件消息,具体如下:

事件消息含义
LE_STATUS 收到命令后,DUT返回命令执行状态
LE_PACKET_REPORT 停止测试后,DUT返回测试报告

实际工作时,PC与DUT之间的工作流程如下所示:

<发送测试>

 <接收测试>

3. 命令与事件

命令与事件都是2字节数据,在串口中传输时按照MSB优先传输。

3.1 命令

收发机测试命令的数据帧格式如下:

设置测试和停止测试的命令数据帧格式如下:

两种数据格式的首位2bite都是CMD:

  • CMD = 00b,表示该命令为Test Setup。
  • CMD = 01b,表示该命令为Receiver Test。
  • CMD = 10b,表示该命令为Transmitter Test。
  • CMD = 11b,表示该命令为Test End。

Test Setup命令

Control = 0x00, Param = 0x00,表示重置测试参数。

Control = 0x02, Param = 0x01-0x04,设置不同的物理层。

Test End命令

Control = 0x00, Param = 0x00,表示停止测试。

Transmit Test命令

Frequency = 0x00 ~ 0x27,分别代表0-39信道频率。

PKT = 00b ~ 11b,表示不同的0/1测试序列。

Length的低6位表示Payload的数据长度。

3.2 事件

事件只有两种,一种是LE_Test_Status_Event事件,另一种是LE_Packet_Report_Event事件。

LE_Test_Status_Event事件的数据帧格式如下:

 

其中EV = 0。Response包含了状态信息。ST(Status)表示结果是成功还是失败。

LE_Packet_Report_Event事件的数据帧格式如下:

其中EV = 1。Packet Count表示收到的数据帧总数,其有效范围是0 – 32767。

4. 测试数据

当进行收发机测试时,RF数据格式不是标准的BLE数据格式,它无法被BLE主机扫描,仅能被BLE射频测试设备识别。

4.1 数据格式

对于非编码型物理层设备,测试数据格式如下:

 

对于编码型物理层设备,数据格式略有不同,增加了编码相关的字段。

测试时,数据不执行白化操作,不执行CRC计算并将其设置为常数值,前导码和Sync Word也均设置为固定常数值。

4.2 数据PDU

数据PDU的格式如下:

 

 其中Payload的格式如下:

 

 

第一部分Payload Type代表了测试数据的类型,可用的测试数据包括:

  • PRBS9
  • PRBS15
  • 有规则的0/1序列
  • 纯0或纯1序列

PRBS9表示9-bit的伪随机数,PRBS15表示15-bit伪随机数。

 

标签:LE,可测,命令,---,Test,测试,BLE,DUT
From: https://www.cnblogs.com/god-of-death/p/18166458

相关文章

  • Linux内核源码-存储驱动之 QSPI Flash
    传输方式DIO/QIO/DOUT/QPIQPI模式(QuadPeripheralInterface),所有阶段都通过4线传输。与之相对的是SPI。SPI模式:纯种SPI(MISO/MOSI两个数据线)DOUT全称DualI/O,命令字和地址字均为单线,仅在数据阶段为双线。QOUT全称QuadI/O,命令字和地址字均为单线,仅在数据阶段为双线......
  • html-docx-js 导出word
    1:列表页面按钮<el-buttontype="warning"plainicon="el-icon-download"size="mini"@click="exportWorddata">导出word</el-button> <......
  • 招投标05-总结
    ##########################################前面我们输出了招标投标法和政府采购法的梳理内,按照规划内容,本节是招投标的最后一节,谈一谈个人对于招标的感谢。招投标内容以总-分-总的形式完成,第一节列出整体流程,后面的二、三是对第一节内容的展开。第四节招投标法是补充需要查看......
  • 视野修炼-技术周刊第82期 | Node.js v22
    欢迎来到第82期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • 05-ES6语法总结
    varlet和const#var以后尽量少用,函数作用域#在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。#ES6新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块......
  • 微服务体系-docker容器cpu内存管理
    在微服务体系中,我们使用docker去部署微服务,在服务器资源有限的情况下。由于某个的服务(docker容器)cpu使用过高,或者内存使用过高会导致整个的服务器的崩溃。针对这个问题,我采取了以下措施:在dockerrun命令中添加--cpus=2--memory=4g --cpus=2:设置cpu最多使用2个核心数......
  • docker-compose 安装
    1、下载最新版的docker-compose文件1)链接下载https://link.zhihu.com/?target=https%3A//github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_642)命令下载sudocurl-L"https://github.com/docker/compose/releases/download/v2.5.0/docker-comp......
  • 2-ICEM入门练习:梯形切分映射
    前言这一篇主要学习icem的分割以及映射功能。几何采用一个梯形,因为icem创建的block都是长方体,所以需要将block和几何进行一一对应才可以生成网格。因此通过梯形的网格划分来理解block及映射这部分知识。其余部分比如建模等,就不详细描述。具体步骤几何如图:创建block此时......
  • MURF1640CT-ASEMI逆变器专用MURF1640CT
    编辑:llMURF1640CT-ASEMI逆变器专用MURF1640CT型号:MURF1640CT品牌:ASEMI封装:TO-220F正向电流(IF):16A反向电压(VRRM):400V正向电压(VF):0.95V工作温度:-55°C~150°C反向恢复时间:35ns芯片个数:2芯片尺寸:86mil引脚数量:3浪涌电流(IFMS):175A包装方式:50/管1000/盘3000/箱MURF1640CT......
  • openGauss MOT-SQL覆盖和限制
    MOTSQL覆盖和限制MOT设计几乎能够覆盖SQL和未来特性集。例如,大多数支持标准的PostgresSQL,也支持常见的数据库特性,如存储过程、自定义函数等。下面介绍各种SQL覆盖和限制。不支持的特性MOT不支持以下特性:跨引擎操作:不支持跨引擎(磁盘+MOT)的查询、视图或事务。计划于2021年实......