了解更多常见问题教程

7个职位/ 0个新
最后发表
彼得罗
离线
最后看到:1天7小时前
加入:2016-01-17 37
扫描的性能

嗨,对话框中,

我们做了相同的GAP_GEN_DISCOVERY扫描测试。当将发送的ADV报文间隔设置为大于111 us时,几乎100%的ADV报文可以被扫描到,而当将发送的ADV报文间隔设置为111 us时,只能扫描到约60%的ADV报文。

有没有办法支持更短的间隔,比如50us ?

谢谢你,彼得

设备:
PM_Dialog
离线
最后看到:21分25秒前
工作人员
加入:2018-02-08 11:03
嗨,彼得•罗

嗨,彼得•罗

根据蓝牙LE核心规范,广告时间间隔(advInterval)为0.625ms的整数倍,范围为20ms ~ 10485s。能否分享一下发布间隔的配置(user_adv_conf结构)?

谢谢,PM_Dialog

彼得罗
离线
最后看到:1天7小时前
加入:2016-01-17 37
嗨,对话框中,

嗨,对话框中,

是的,根据蓝牙LE核心规范,您是对的,但是当两个或更多的广告商随机发送广告包时,会发生一些变化。

例如,

当只有一个广告主每秒发送31字节负载的广告包时,传输的传播时间为47*8=376 us,最小和最大的包间隔约为1,000,000-376=999,624 us,这是所有扫描器正确接收所有广告包的足够时间。

当两个广告商都发送每秒31字节负载的广告包时,最小包间隔将改变为从0 us到(1,000,000-376-376)/2= 499,624 us(幸运的是没有覆盖发生)的范围。

当三个或三个以上(比如100个)广告商随机发送广告包时,情况就变得更加复杂。

显然,支持较低包间隔(如50 us)的扫描器将获得良好的性能,支持较高包间隔(如1000 us)的扫描器将获得较差的性能。

为了模拟两个或更多的广告客户,我们制作了一个DIY设备,它的射频提供一个参数来改变数据包间隔,它可以设置很短的值。

我们想做一个理想的便宜扫描仪扫描所有的数据包没有损失,并尝试恢复数据包与CRC错误。虽然一些昂贵的SDR设备可以很好地做到这一点,但这不是我们的考虑。

DA14xxx对我们来说是一个很好的选择,目前的112 us最小数据包间隔支持也是可以接受的,但我们仍然希望射频接收器可以支持更短的数据包间隔。

谢谢你,彼得

PM_Dialog
离线
最后看到:21分25秒前
工作人员
加入:2018-02-08 11:03
嗨,彼得•罗

嗨,彼得•罗

我再次阅读你最初的帖子,你提到的数据包间隔111我们。什么是报文间隔?你是指每个广告频道的Tx间隔吗?或者你指的是连接间隔?你是如何计算最小和最大间隔的?

谢谢,PM_Dialog

彼得罗
离线
最后看到:1天7小时前
加入:2016-01-17 37
嗨,对话框中,

嗨,对话框中,

这里讨论的包间隔是同一通道(如37)中空气中两个连续包之间的时间。

当我们的DIY设备,不是标准的BLE,只是一个模拟器,在同一地方同时有大量的BLE,在37通道上以112us的间隔传输adv数据包时,DA14585扫描仪几乎可以100%的接收DIY设备的数据包。如果将间隔从112us改为111us,仅减少1us, DA14585扫描仪的性能迅速下降,只能接收60%的数据包。其他类似的BLE在相同条件下,即使将间隔设置在100us以下,也几乎可以100%接收DIY设备的数据包。

关于最小和最大间隔,请见附件。

由于DA14xxx有一些独特的优点,我们仍然希望使用它。

谢谢你,彼得

PM_Dialog
离线
最后看到:21分25秒前
工作人员
加入:2018-02-08 11:03
嗨,彼得,

嗨,彼得,

你能说明你是如何改变你提到的数据包间隔的吗?您是否在DTM(直接测试模式)下使用设备,并且您正在测试37通道中的continue Tx ?

谢谢,PM_Dialog

彼得罗
离线
最后看到:1天7小时前
加入:2016-01-17 37
嗨,对话框中,

嗨,对话框中,

是的,我们正在测试37频道的continue Tx,使用用户定义的数据包间隔参数,通过我们的自软件,传输的数据包是31字节负载的标准广告数据包。

我们DIY设备的底层硬件提供了一个寄存器,用于定义两个连续包之间的时间间隔,它包括打开和关闭收音机所需的时间,以及保持收音机处于空闲状态所需的时间。

为了模拟现实中可能发生的最坏情况,我们没有严格遵守蓝牙规范,尝试将数据包间隔设置得尽可能短。

谢谢你,彼得