BLE 5协议栈-直接测试模式
文章转载自:http://www.sunyouqun.com/2017/04/page/3/
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伪随机数。
(完)
转载于:https://www.cnblogs.com/yeshenmeng/p/10819013.html
BLE 5协议栈-直接测试模式相关推荐
- 单例测试模式中【饿汉式】与【懒汉式】的区别
package day25.thread;/** /*** @author Mr Chen* @create 2018-10-09 18:37* 单例测试模式:保证类在内存中只有一个对象*/ publ ...
- STM32之CAN---工作/测试模式浅析
bxCAN有3个主要的工作模式:初始化模式.正常模式和睡眠模式. 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活.软件通过对CAN_MCR寄存器的INRQ或S ...
- 基于C8051F040单片机的CAN总线测试模式研究
摘要:现场总线已成为数据总线领域中最为活跃的热点,CAN总线被公认为最有前途的现场总线之一,CAN总线节点的设计.调试是CAN总线通讯系统设计的重点.在此介绍了C8051F040单片机内部集成的CAN ...
- Airflow 中文文档:使用测试模式配置
Airflow具有一组固定的"测试模式"配置选项. 您可以随时通过调用airflow.configuration.load_test_config()来加载它们(注意此操作不可逆! ...
- windows测试模式
测试模式通常意义就是让windows 操作系统在测试状态下运行,windows操作系统在这种模式下可以运行非官方或无数字签名的驱动程序 . 目录 1 定义 2 进入/退出windows测试模式方法 3 ...
- win7、win10关闭驱动签名,进入驱动测试模式,以及常见初级问题的解决
win7关闭驱动签名,进入驱动测试模式 win7.win10关闭驱动签名.进入驱动测试模式 方式一: 方式二:批处理文件实现:管理员权限打开win7-win10驱动测试模式 方式三: DebugVie ...
- 法国敏捷开发与敏捷测试模式
[本文未经作者同意,不得以任何形式转载或发布,本文作者版权归作者所有,若转载此文,请联系QQ 252413619,以前授权转载本博客文章的公司,若转载此文,请再与本人联系,谢谢,麻烦啦!] 作为一名有 ...
- 服务器显示测试模式,服务器未开启测试功能怎么办 | 手游网游页游攻略大全
发布时间:2016-04-13 贪婪洞窟icloud经常出现未开启或者没打开的提示,令不少玩家非常恼火,更有大量的玩家不知道怎么将贪婪洞窟icloud存档导出来,这样非常花费精力和时间,下面给大家分享 ...
- 传奇服务器是测试模式怎么修改,www.23bb.net告诉你传奇服务端中默认系统提示文字修改方法...
在玩传奇中中,常见一些系统提示,如人物在安全区中扔东西时,会弹出对话框提示禁止扔,或者在游戏登陆时提示攻击模式,及人物行会显示与夫妻称号显示格式等所有的系统默认格式.其实这些格式都是可以进行修改的,今 ...
最新文章
- SQLI DUMB SERIES-5
- php字符串处理函数相关操作
- RHEL8 配置光盘源和yum源
- yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
- C++实现插值查找(附完整源码)
- PC软件开发技术之一:在WinCC中通过VBS操作SQL Server2005
- 数据结构python吕云翔_《数据结构》吕云翔编著第1章绪论习题解答
- Neural Filters for mac(ps2021逆天滤镜库)无需登陆Adobe Id v22.0.1最新版使用教程
- mysql 备份 索引_mysql-索引、导入、导出、备份、恢复
- win10睡眠按啥键唤醒_防止Windows10自动唤醒,就用这4招,维修电脑必知
- Shell脚本学习-阶段七-信息过滤磁盘分区
- 【渝粤教育】国家开放大学2018年春季 3818-21T燃气工程施工 参考试题
- php session 加密,php session cookie加密实例
- 谷歌浏览器(Chrome浏览器)最新官方下载(含注意事项)
- Insyde H2OFFT cannot load the driver 解决办法
- 2021大学生笔记本电脑购买指南
- Windows Sever 2008 文件夹共享权限
- 腾讯秀丽江山之长歌行服务器维护,37秀丽江山之长歌行服务器正式关服公告
- 【js逆向】md5加密参数破解
- R语言 高版本 安装DMwR2 用knn插补缺失值
热门文章
- 降压型DC-DC变换器反馈控制模式
- Java课程设计大作业学生管理系统的设计与开发(Java+Mysql)
- 二,深入了解超文本(hypertext )
- 生活中有哪些应用了物联网卡
- 基于京东云Kubernetes集群的 SpringBoot+MySQL 应用示例
- MavenFor this reason, future Maven versions might no longer support building such malformed projects
- 137 下载口(64 pin)
- win7怎样设置屏保时间 win7系统设置屏保的方法
- 数据可视化的方法和工具V1.1
- 哈佛大学公开课:计算机科学cs50 学习笔记(第3集:C语言,编译器)