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.

[参考译文] CC2540:扫描设备时丢失数据包

Guru**** 2511985 points
Other Parts Discussed in Thread: CC2540, CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1017877/cc2540-missing-packets-while-scanning-devices

器件型号:CC2540
主题中讨论的其他器件: CC2642R

大家好、

我目前正在汽车领域从事 BLE 项目、这是我第一次从事 BLE。 在我的项目中、我正在设计一个 ECU、该 ECU 扫描来自 TPMS 传感器(轮胎压力监测系统)的广播数据包、然后将这些数据包广播到手机。  

但是、在观察者角色期间、扫描来自 TPMS 的数据包时、我发现我们缺少几个数据包(我看到来自 TPMS 的数据正在其他 BLE 监听器应用中接收)。 我们如何确保在 BLE n/w 中接收到最大数量的数据包? 我需要了解哪些配置参数以及需要在此处进行哪些调整?

提前感谢您!

最棒的

瓦伦

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

    CC2540是否可能基于8051、而且性能不足以收集您所需的所有广播包? 我建议您使用 TI 最新的 BLE 解决方案 CC2642R 进行测试、看看它是否首先得到改进。

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

    感谢你的答复。 遗憾的是、我们无法使用  CC2642R、因为这是一个旧工程。 让我详细解释一下当前配置:

    目前 、我已将 BLE 配置为有限发现模式、  

    #define default_discovery_active_scan false

    #define DEFAULT_DISCOVERY_WHICE_LIST FALSE

     uint16丑闻= 5000U;

     GAPRole_SetParameter( TGAP_LIM_DISC_SCAN, sizeof( uint16 ),丑闻);  

    并初始化观测器、如下所示:

    uint8 scanRes = 60;
    GAPRole_SetParameter (GAPOBSSERVERROLE_MAX_SCAN_RES,sizeof (uint8),&scanRes);  

    我每隔5秒调用一次  

    GAPObserverRole_StartDiscovery (default_discovery_mode、default_discovery_active_scan、default_discovery_white_list);

    我是否需要调整或配置任何参数以获得最佳扫描结果?

    提前感谢您。

    最棒的

    瓦伦

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

    如果您增加丑闻和 scanRes、它是否有帮助?

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

    谢谢你,陈怡凯。 我尝试增加扫描、但没有帮助。 但现在增加扫描持续时间看起来更好。 非常感谢

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

    似乎我已正确接收数据包,但通过进一步测试, GAPObserverRole_StartDiscovery (default_discovery_mode、default_discovery_active_scan、default_discovery_white_list);需要在每次“丑闻”时调用,对吧? 我只想确保我做的是正确的事情、

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

    是的,没错。

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

    抱歉、我之前的消息不完整。 看起来它正常工作、我接收到更多的数据包。 但是、在我进一步的测试中、我面临着相同的旧问题、即丢失数据包  

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

    是否尝试将  DEFAULT_SCAN_DURATION 和 DEFAULT_MAX_SCAN_RES 定义为更大的值?

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

      TGAP_LIM_DISC_SCAN 的 DEFAULT_SCAN_DURATION、对吧? 在这里 ,在 GAPRole_SetParameter( TGAP_LIM_DISC_SCAN, sizeof ( uint16 ),&丑闻)中,我增加了丑闻,这与定义 DEFAULT_SCAN_DURATION 相同 ,是一个更大的值,对吧? 它有何不同?

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

    尊敬的 Varun:

    我同意宜凯的说法。  DEFAULT_SCAN_DURATION 和 DEFAULT_MAX_SCAN_RES 值在程序的几个部分中使用。 更新定义将确保该值反映在所有相关位置。 您能否尝试更新这些定义以查看是否存在差异? 是否还可以获取环境的 BLE 流量监听器日志以查看哪些数据包正在无线传输?

    此致、

    1月