一 Direct Test Mode

直接测试模式。

DTM应用程序启用蓝牙规范5.0 vol 6, part F 中描述的DTM测试功能。

DTM的目的是在物理层上测试射频的运行情况,例如:

  • Transmission power and receiver sensitivity(传输功率和接收器灵敏度)
  • Frequency offset and drift(频率偏移和漂移)
  • Modulation characteristics(调制特性)
  • Packet error rate(误码率)
  • Intermodulation performance(互调性能)

二 Setp

设置。

测试程序在文档“蓝牙低功耗RF PHY测试规范”中定义,文档编号RF-PHY.TS / 5.0.0。一致性测试是通过专用测试设备(例如Anritsu MT8852或类似产品)以nRF5和DTM应用作为被测设备(DUT)进行的。

nRF5 DTM应用程序包括两个部分:

  • DTM-直接测试模式库,用于管理nRF射频,并控制标准DTM程序。 该库的源代码可以在以下文件夹中找到:\components\ble\ble_dtm。
  • 提供外部接口的应用程序。您可以在以下文件夹中找到示例的源代码和项目文件:\examples\dtm\direct_test_mode

DTM应用程序包含用于2线UART接口的驱动程序,可将BLE DTM规范指定的两个八位字节的命令和事件映射到DTM-直接测试模式库。

该实现是独立的,不需要BLE协议栈即可运行。MPU以标准方式初始化(文件arm_startup_nrf52.s和system_nrf52.c)。DTM库函数dtm_init配置所有中断,计时器和射频。

main.c可以用其他接口实现方式代替,例如HCI接口,USB或Upper Tester所需的其他接口。

Lower Tester 的接口使用nRF5的天线连接器。虽然原则上可以使用天线,但一致性测试应涵盖读取DUT所传送的传输功率。因此,DUT和Lower Tester之间的同轴电缆连接用于所有一致性测试。

三 BLE DTM module interface

BLE DTM模块接口。

DTM -直接测试模式功能dtm_cmd实现了BLE标准定义的四个命令:

  • TEST SETUP (called RESET in Bluetooth 4.0)
  • RECEIVER_TEST
  • TRANSMITTER_TEST
  • TEST_END

在dtm_cmd接口中,每个参数(cmd,freq,length,payload)都是字长。请注意,当前支持的参数值仅限于为BLE定义的参数值。(HCI允许与BR / EDR一起使用的更大值范围)

使用dtm_event_get函数轮询以下DTM事件:

  • PACKET_REPORTING_EVENT
  • TEST_STATUS_EVENT [SUCCESS|FAIL]

四 Supported PHYs

支持的PHY

DTM应用程序支持DTM中指定的所有四个PHY,但并非所有设备都支持所有PHY。

五 Vendor Specific packet payload

供应商特定的数据包有效负载。

BLE 2线UART DTM接口标准为供应商特定的数据包有效负载保留数据包类型(有效负载参数)二进制值’11’。DTM到串行适配层将其映射到dtm_cmd接口中的值0xFFF…FFF。此映射的原理是允许以后扩展到HCI接口和DTM PDU布局中指定的4位数据包类型字段。

供应商特定的负载(参数4)解释如下,如果参数1(命令)设置为发射机测试(二进制‘10’),参数4(负载)设置为供应商特定(二进制‘11’在2wire物理接口,所有位设置为1在dtmlib接口):

  • 如果参数3(长度)设置为0(符号CARRIER_TEST),则在参数2 (freq)所指示的信道上打开一个未调制载波。在发出TEST_END或RESET命令之前,它一直处于打开状态。
  • nRFgo studio使用参数3(长度)等于1(符号CARRIER_TEST_STUDIO)表示未调制载波在信道上打开。在发出TEST_END或RESET命令之前,它一直处于打开状态。
  • 如果参数3(长度)设置为2(符号SET_TX_POWER),则参数2(频率)将以dBm为单位设置发射功率。产品规格中指定了有效的TX功率,范围为-40至+4。 复位值为0 dBm。只有6个最低有效位将适合长度字段,因此DTM模块将计算两个最高有效位(这是可能的,因为所有有效TX功率的6个最低有效位都是唯一的)。仅当没有运行发射机测试或接收机测试时,才可以修改TX功率。
  • 如果参数3(长度)设置为3(符号SELECT_TIMER),则参数2(频率)选择DTM-直接测试模式库用于变送器测试时序的计时器。有效的计时器标识符为0、1和2。配置要使用的计时器可以将库集成到更大的测试环境中,在该环境中其他模块可能正在占用默认计时器(计时器0)。
  • 保留参数2(频率)和4(长度)的所有其他值。

六 The DTM to Serial adaptation layer

DTM到串行适配层。

main.c是UART接口的实现,如蓝牙规范 Vol 6, Part F, 3中所指定。GPIO引脚的默认选择是RX的引脚8和TX的引脚6。这些默认值在 examples \ bsp \ board.h中定义,可以通过编辑符号RX_PIN_NUMBER和TX_PIN_NUMBER的值进行更改。

七 Running DTM tests

运行DTM测试。

合格测试是使用经过认证的测试仪进行的。设置取决于实际的测试仪,并且必须在测试仪文档中找到有关测试操作的详细信息。应用笔记nAN34描述了使用DTM设置生产测试的两种选择:Anritsu MT8852B蓝牙测试仪,nRF8001开发套件或nRF51822开发套件以及一台计算机作为测试仪。

BLE DTM UART接口标准指定:

  • 8个数据位
  • 无校验
  • 1个停止位
  • 没有硬件流控
  • 从9600到1000000的波特率中选择一种,DUT必须支持其中一种(可以通过试验参数来运行其他比波特率。)

DTM UART驱动程序的默认比特率是19200 bps,大多数认证的测试仪都支持。

Direct Test Mode相关推荐

  1. oracle创建directirtory,oracle11g使用Direct NFS创建表空间

    NFS SERVER 10.10.10.22 NFS CLIENT 10.10.10.12 1.nfs server需要启动的服务: #service portmap start Starting p ...

  2. Remote Direct Memory Access (RDMA)

    前言 本博文主要是简单介绍RDMA的概念和与它相关的技术.实现RDMA需要许多其他技术的支持,包括硬件和软件.目前RDMA有多种实现方式,比如RoCE1.INFINIBAND2,不同的实现方式所考虑的 ...

  3. SAP LSMW Standard Batch (Direct) Input 方式制作的LSMW工具导入OPEN PO 单据时候’税码’字段的处理

    SAP LSMW Standard Batch (Direct) Input 方式制作的LSMW工具导入OPEN PO 单据时候'税码'字段的处理 如下的Open PO 批量导入LSMW工具, 方式是 ...

  4. ORACLE等待事件:direct path write

    2015年4月27日,晚上6点左右,电渠3g2库ORACLE RAC系统节点1出现大量的direct path write等待事件,导致大量的会话堆积,节点1几乎无法使用,应用受到影响,相关处理流程如 ...

  5. 官网的Ext direct包中.NET版的问题

    下载了官网的 Ext direct 包进行研究,发现服务器端返回结果存在一点小问题.主要问题在返回的结果 result 标记对应的数据是字符串,请看以下官方例子中返回的数据: {"type& ...

  6. SRIO学习(七)——Direct I/O 操作(二)

    Direct I/O 操作(二) [上回书说到,LSU的CC位能够表示正在进行的传输的状态.] 中断和LSU释放 LSU的CC位能够表示正在进行的传输的状态,自然也能显示出执行过程中的错误,而且一点出 ...

  7. SRIO学习(六)——Direct I/O 操作(一)

    Direct I/O 操作 框架流程 direct I/O(加载/存储)模块是所有传出的direct I/O packets(direct I/O 包)的来源. 通过direct I/O包,Rapid ...

  8. 通过Spark listener实现Direct模式读取Kafaka数据

    参考文章: http://coolplayer.net/2016/11/30/spark-streaming-从kafka-拉数据如何保证数据不丢失/ https://github.com/jacks ...

  9. 聊聊storm的direct grouping

    序 本文主要研究一下storm的direct grouping direct grouping direct grouping是一种特殊的grouping,它是由上游的producer直接指定下游哪个 ...

  10. springboot rabbitmq direct exchange和topic exchange 写法上关于路由键的区别

    这是direct exchange写法中消息发送写法,可见下图红色框中路由键是queue队列中定义的路由键 这是topic exchange写法中消息发送写法,可见下图红色框中路由键是exchange ...

最新文章

  1. php 变更 obj,PHP: 不向后兼容的变更 - Manual
  2. java arraylist comparable_Java 两种ArrayList集合自定义对象属性排序,Comparator接口 或 Comparable接口...
  3. 浅析网站设计的基本秘诀
  4. UA MATH564 概率论 QE练习题6
  5. IScroll5 上拉加载更多 及 item点击处理。
  6. 【08月14日】A股ROE最高排名
  7. CRM WebClient UI的external service功能介绍
  8. try-catch 异常处理的执行过程
  9. 利用路由器端口映射远程连接
  10. 使用RTX51 Tiny系统给串口发送——显示时间
  11. 微电子科学与工程是否属于计算机类专业,微电子科学与工程专业属于什么门类...
  12. win7科学计算机的用法,Win7自带计算器使用功能介绍
  13. android pc投屏,安卓投屏助手pc版
  14. web day2 作业
  15. 5个高质量简历模板网站,免费、免费、免费
  16. html什么用于创建表格的标题,在HTML页面中,()标记用于为表格中的一列指定一个标题(选一项)...
  17. 使用Cython将python文件打包成.so文件
  18. 敏捷软件开发scrum介绍
  19. CN_计算机网络体系结构概念@IP数据报(分组)结构@各层报文(PDU)之间的关系@PDU协议数据单元
  20. OSINT和被动侦察

热门文章

  1. Pytorch搭建Retinaface人脸检测与关键点定位平台
  2. 思维导图 基础篇(15)应用-应对考试
  3. 一、为jupyter notebook 添加目录
  4. Pytorch安装,一把辛酸泪!
  5. 过icesword 1.22 ,注册表隐藏,启动项隐藏
  6. 如何将txt转换epub?推荐两种转epub的方法
  7. BRAS和SR设备的定义区别
  8. java.lang.NoClassDefFoundError: net.youmi.android.AdManager .
  9. Java Controller自动urlDecode的坑
  10. 龙应台《给河马刷牙》