嗨对话框,
我们已经完成了Prodtest测试:Prodtest.exe -P 71 PKT_TX 2402 37 0 10000
它花了大约6.294秒来发送10000包,速度约为1589个数据包/秒。
它似乎不够高,应该高于2340包/秒。
(
数据包字节长度= 1(前导码)+4(同步字)+2(标题)+37(有效载荷)+3(CRC)= 47字节,
数据包比特长度= 47 * 8 = 376位,
在BLE_1MBIT模式下,需要376我们发送一个数据包,如果两个数据包之间的间隔设置为51,
速度应为1000000 /(376 + 51)= 2342
)
我们通过其他供应商的SIMLIAR BLE SOC进行了相同的测试,TX / RX速度约为2320个数据包/秒。
DA14585 BLE堆栈是否有一些限制?
事实上,我们真的希望尽可能快地提高扫描(RX)速度,以避免SoC期间的数据包丢失正在处理分组。
DA14XXX对电源累积有很大的优势,我们希望在我们的新项目中使用。
布鲁克/彼得
$ pwd / f/da14531dev/sdk/6.0.12.1020.2/binaries/host/windows/prod_test_cmds peter @ desktop-csqcf3d mingw32 / f/da14531dev/sdk/6.0.12.1020.2/binaries/host/windows/prod_test_cmds $ time./prodtest.exe -p 71 pkt_tx 2402 37 0 10000 status = 0 real 0m6.294s用户0m0.000s sys 0m0.015s
设备:
嗨Peter Luo,
根据蓝牙LE核心规范,直接测试模式下每个过渡的LE测试数据包长度正确。在数据包长度为37字节的情况下,LE测试分组是47字节(376位),如图所示。但是,对于您计算的LE测试数据包之间的间隔是错误的。根据规范,该间隔不可配置,它是249 USEC。请参考图4.7:LE测试数据包间隔在蓝牙核心规范版本5.0和第6部分,F部分,直接测试模式。数据包间隔是:
i(l)= ceil [(376 + 249)/ 625] * 625 USEC = 625 USEC
因此,速度将是:1000000 /(376 + 625)= 1000000/625 = 1600包/秒
BlueToth堆栈不是任何限制。
谢谢,PM_DIALOG.
嗨对话框,
非常感谢您的快速回复。
由于DA14685抗议发件人的限制,我们使用其他测试仪(可以设置其数据包间隔)充当发件人,最高DA14585抗议RX速度我们可以获得大约1620个数据包/秒。
我们猜测我们无法获得比1620数据包的高速度更高的原因是DA14585 RF接收器需要在收到的数据包后休息(睡眠)。
我们将尝试以其他方式提高速度。
谢谢,彼得
嗨Peter Luo,
你能告诉我你是怎么设置不同的间隔的吗?
谢谢,PM_DIALOG.
嗨对话框,
实际上,可以设置其分组间隔的测试仪是DIY设备,其RF无线电提供帧间间隔参数以改变分组间隔。
我们对DA14695进行了相同的测试,最佳速度约为1652个数据包/秒。似乎DA14xxx系列中存在可配置的寄存器或计时器。
我们正试图通过文档和SDK来找到它。
DA14XXX系列具有大的功耗和小尺寸优势,可以在同一时间内构建RF集群接收来自所有通道的数据包。
通常,对于广告数据包扫描,SDK仅提供标准方法依次扫描广告通道,无法扫描一个特定频道。
我们正在尝试将ProDTEST修改为公共发件人和接收者,以发送或接收任何类型的数据包,例如测试,广告,用户定义等。
现在我们可以使用修改后的prodtest或plw_fw来发送和接收某种数据包,如测试,广告等。
谢谢,彼得