文章转载自: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协议栈-直接测试模式相关推荐

  1. 单例测试模式中【饿汉式】与【懒汉式】的区别

    package day25.thread;/** /*** @author Mr Chen* @create 2018-10-09 18:37* 单例测试模式:保证类在内存中只有一个对象*/ publ ...

  2. STM32之CAN---工作/测试模式浅析

    bxCAN有3个主要的工作模式:初始化模式.正常模式和睡眠模式. 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活.软件通过对CAN_MCR寄存器的INRQ或S ...

  3. 基于C8051F040单片机的CAN总线测试模式研究

    摘要:现场总线已成为数据总线领域中最为活跃的热点,CAN总线被公认为最有前途的现场总线之一,CAN总线节点的设计.调试是CAN总线通讯系统设计的重点.在此介绍了C8051F040单片机内部集成的CAN ...

  4. Airflow 中文文档:使用测试模式配置

    Airflow具有一组固定的"测试模式"配置选项. 您可以随时通过调用airflow.configuration.load_test_config()来加载它们(注意此操作不可逆! ...

  5. windows测试模式

    测试模式通常意义就是让windows 操作系统在测试状态下运行,windows操作系统在这种模式下可以运行非官方或无数字签名的驱动程序 . 目录 1 定义 2 进入/退出windows测试模式方法 3 ...

  6. win7、win10关闭驱动签名,进入驱动测试模式,以及常见初级问题的解决

    win7关闭驱动签名,进入驱动测试模式 win7.win10关闭驱动签名.进入驱动测试模式 方式一: 方式二:批处理文件实现:管理员权限打开win7-win10驱动测试模式 方式三: DebugVie ...

  7. 法国敏捷开发与敏捷测试模式

    [本文未经作者同意,不得以任何形式转载或发布,本文作者版权归作者所有,若转载此文,请联系QQ 252413619,以前授权转载本博客文章的公司,若转载此文,请再与本人联系,谢谢,麻烦啦!] 作为一名有 ...

  8. 服务器显示测试模式,服务器未开启测试功能怎么办 | 手游网游页游攻略大全

    发布时间:2016-04-13 贪婪洞窟icloud经常出现未开启或者没打开的提示,令不少玩家非常恼火,更有大量的玩家不知道怎么将贪婪洞窟icloud存档导出来,这样非常花费精力和时间,下面给大家分享 ...

  9. 传奇服务器是测试模式怎么修改,www.23bb.net告诉你传奇服务端中默认系统提示文字修改方法...

    在玩传奇中中,常见一些系统提示,如人物在安全区中扔东西时,会弹出对话框提示禁止扔,或者在游戏登陆时提示攻击模式,及人物行会显示与夫妻称号显示格式等所有的系统默认格式.其实这些格式都是可以进行修改的,今 ...

最新文章

  1. SQLI DUMB SERIES-5
  2. php字符串处理函数相关操作
  3. RHEL8 配置光盘源和yum源
  4. yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
  5. C++实现插值查找(附完整源码)
  6. PC软件开发技术之一:在WinCC中通过VBS操作SQL Server2005
  7. 数据结构python吕云翔_《数据结构》吕云翔编著第1章绪论习题解答
  8. Neural Filters for mac(ps2021逆天滤镜库)无需登陆Adobe Id v22.0.1最新版使用教程
  9. mysql 备份 索引_mysql-索引、导入、导出、备份、恢复
  10. win10睡眠按啥键唤醒_防止Windows10自动唤醒,就用这4招,维修电脑必知
  11. Shell脚本学习-阶段七-信息过滤磁盘分区
  12. 【渝粤教育】国家开放大学2018年春季 3818-21T燃气工程施工 参考试题
  13. php session 加密,php session cookie加密实例
  14. 谷歌浏览器(Chrome浏览器)最新官方下载(含注意事项)
  15. Insyde H2OFFT cannot load the driver 解决办法
  16. 2021大学生笔记本电脑购买指南
  17. Windows Sever 2008 文件夹共享权限
  18. 腾讯秀丽江山之长歌行服务器维护,37秀丽江山之长歌行服务器正式关服公告
  19. 【js逆向】md5加密参数破解
  20. R语言 高版本 安装DMwR2 用knn插补缺失值

热门文章

  1. 降压型DC-DC变换器反馈控制模式
  2. Java课程设计大作业学生管理系统的设计与开发(Java+Mysql)
  3. 二,深入了解超文本(hypertext )
  4. 生活中有哪些应用了物联网卡
  5. 基于京东云Kubernetes集群的 SpringBoot+MySQL 应用示例
  6. MavenFor this reason, future Maven versions might no longer support building such malformed projects
  7. 137 下载口(64 pin)
  8. win7怎样设置屏保时间 win7系统设置屏保的方法
  9. 数据可视化的方法和工具V1.1
  10. 哈佛大学公开课:计算机科学cs50 学习笔记(第3集:C语言,编译器)