This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2564C:重复LE广告报告

Guru**** 656680 points
Other Parts Discussed in Thread: CC2564, CC2564C
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1096924/cc2564c-duplicate-le-advertising-reports

部件号:CC2564C
主题中讨论的其他部件:CC2564

我正在调用 GAGE_LE_PERFORE_Scan,FilterDuplicates 参数设置为1 (我认为对于类型Boole_t,此值相当于TRUE)。  这似乎对我的应用程序一般有效,但是,我们大楼中的特定位置会导致同一设备出现重复的报告。  如果我们将此设备移到本实验之外,则不会有重复设备。  如果我们在实验室内移动此设备,我们会收到重复的设备。  该空间中没有其他设备,我们已确认两个报告的MAC地址完全相同。  我们使用多个设备完成了这一操作。

问题1:筛选重复项设置为1是否正确以筛选出重复的扫描响应?

如果是,则问题2:什么会导致此筛选失败?  发生这种情况的空间是一个相当大的实验室,但它确实有许多金属工作台和大玻璃板。  这是否是某种反思问题?  如果两条广告一个接一个地快速出现,是否可以将它们都包含在广告报告中,而不是被筛选掉?

我们正在传递GAGE_LE_PERFORT_Scan的其他参数:

ScanType = stPassive

扫描间隔=50

ScanWindow = 50

LocalAddressType = latPublic

FilterPolicy = fpNoFilter

谢谢!

Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    您正在 正确启用重复扫描响应的筛选。 我怀疑该问题与您从广播设备收到的广告数量有关。 您如何在广播商上配置广告(广告间隔,广告PDU等)?

    当您将扫描器移到实验室外时,您是否带了广播公司?

    谢谢!
    雅各布  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jacob,

    我们的广告主设置为发送无定向,可连接的广告,广告间隔为20毫秒。  我们的应用程序需要快速连接,但我们不能使用定向,高负荷广告。  我们的想法是,即使我们的广告速度可能是扫描间隔的两倍,FilterDuplicates标志将完全按照其听起来的方式进行,并忽略重复的广告。

    难道这不是它的工作方式吗?

    是的,当我们离开实验室时,我们会把广告宣传者带上它。

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    您是否可以尝试将广告间隔更长(可能为50毫秒或100毫秒),以查看您是否注意到过滤方面的任何改进?  

    您是否注意到其他广播公司(广告商)存在此问题?

    谢谢!
    雅各布  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jacob,

    我们将广告间隔更改为100毫秒,仍然观察到相同的行为。

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jacob,

    我们还能够在大楼周围的其他几个地方重现此问题。  还找到了从未发生过的位置。  人们越来越一致地认为,该区域中BTLE设备的数量可能是一个促成因素。  每位员工的办公桌上都有一部播放BT广告的Cisco电话(大概是为了连接BT耳机)。  只是想知道您是否认为这可能是一个因素。

    谢谢!

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    我 不排除该区域中BLE设备的数量。  

    您是否注意到只有一台设备出现此筛选问题,或者您是否也看到其他设备的重复报告?

    最佳,
    雅各布

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们将尝试进行测试,以确定该区域中BLE设备的数量是否存在问题。  请继续关注这一点。

    我们的扫描算法在广告数据中查找我们的特定制造ID,而忽略所有其他没有此ID的设备。  所以,我不能说我们是否也从其他类型的设备收到重复的报告。  我需要修改软件以查找通用设备并查看是否从任何其他设备获得多个点击。

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚测试了是否正在寻找其他设备,我可以确认我确实看到了来自其他设备的重复广告报告。  我通过设置一个数据结构来实现这一目的,只需记录在扫描过程中捕获的每台设备的BT地址30秒。  如果我看到相同的设备,我会增加计数器,而不是添加新设备。  30秒后,我的数据结构包含了几个点击次数为3或4次的设备。  只有几台设备只有一个命中。

    我还尝试将 FilterDuplicates 参数设置为0 -这似乎没有任何影响。  感觉这个参数基本上被忽略了。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    只需多一点见解。  我进一步分析了代码,以捕捉广告报道所出现的刻度。  我还缩小了扫描范围,仅查找我的设备(但不尝试像通常那样连接到设备)。  我的广告设备设置为20毫秒的广告间隔。  CC2564的扫描间隔和窗口配置为50ms。  我预计每100毫秒至少得到1个结果,但在30秒内只得到10次命中。  查看报告出现时的勾号,它们正好间隔3秒。  无论FilterDuplicates设置为1还是0,这都是相同的。

    每3秒发生什么?  这是多久调用一次GAP LE Callback吗?

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Jason,

    您使用什么来衡量广告报道之间的时间?

    在呼叫GAP_LE_Perform_Scan和接收广告报告时,您能否根据本指南获取固件和HCI日志? 我想 查看FilterDuplicates参数是否被正确解释。

    谢谢!
    雅各布

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在使用Ellisys Tracker蓝牙分析仪。  我已确认我的广告主大约每隔23毫秒在每个BTLE广告频道上广播一次。 (请参见随附图像)。

    遗憾的是,我们的主板没有将CC2654的日志记录引脚连接到调试报头,因此我无法获取这些日志。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抱歉,我误解了您的问题。  我正在调用HAL_GetTickCount()并将UINT32_t存储为时间戳,每当我得到回调以给出 GAGE_LE_Advertising Report_Event_Data时。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jacob,

    对此有何其他想法?  我们在这方面处于一种失败的状态

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    您是否可以使用蓝牙空气嗅探器日志? 或者,您是否可以在 应用程序中打印GAGE_LE_PERFORE_Scan函数的结果? 我想确保它正确执行(应该返回0)。  

    您的主机设备是什么(MCU与MPU)?

    最佳,
    雅各布

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    GAGE_LE_PERFORE_Scan函数的返回结果为0。  如果结果不是0,我们的应用程序将进入错误状态,我看不到出现错误状态。

    我们的主机设备是MSP432。  我们实际上正在使用BDE提供的模块,p/n:BDM-209A,该模块将CC2564C和MSP432组合成一个模块。

    我还在与TI FAE讨论这个问题,他问了一个问题,即广告包是否完全相同,是否来自广告者。  这让我想知道我是否对过滤器视为重复的内容做出了错误的假设。  我们的广告商经常更改广告有效负载中的制造数据-更改此有效负载是否会导致过滤器不会将其视为重复?  在决定设备是否为重复设备时,过滤器会考虑哪些参数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    即使广告数据发生变化,广告报告也可以被视为重复。 从v 5.3 规范:

    您的重复广告报告是否具有相同的广告SID和DID?  

    谢谢!
    雅各布

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用BT 4.2 ,因此传统广告没有ADV_EXT_IND PDU。  因此,该规范的这一部分说明“如果收到了旧PDU,则重复的广告报告是同一设备地址的广告报告,而链路层仍处于扫描模式”。  这似乎表明重复仅定义为同一扫描会话期间来自同一设备地址的报告(即链路层未停止扫描并重新开始)。

    根据此定义,我不希望出现任何重复报告,因为这些报告肯定来自同一设备地址。

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jason:

    您是否可以尝试升级 到 Bluetoothia MSP432 5.1 堆栈? 您是否可以在该堆栈中的某个演示中重现此问题(即 SPPLEDemo)?

    最佳,
    雅各布