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.

[参考译文] RTOS/LAUNCHXL-CC2640R2:作为监听器与 CC2540数据包监听器

Guru**** 2576215 points
Other Parts Discussed in Thread: CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/595995/rtos-launchxl-cc2640r2-as-sniffer-vs-cc2540-packet-sniffer

器件型号:LAUNCHXL-CC2640R2
主题中讨论的其他器件:CC2540

工具/软件:TI-RTOS

您好、TI 专家

对于我的实施,我将使用2个 CC2640R2板,一个用作 广播设备,另一个用作 观测器(监听器)。

我配置了广播设备、使用计时器广播恰好100个数据包、广播间隔为100ms、每个数据包在有效载荷中都有一个数据包编号、用于跟踪数据包。

当我使用 CC2540数据包监听器时,我可以看到,在100个数据包中,大部分时间大约有97个数据包被捕获,我的意思是(每次测量都丢失2、3或4个数据包) 哪种方法是可以接受的、但当我使用运行 simpleBLEObserver 的 CC2640R2作为监听器时、大多数时候我会丢失大约12个数据包、有时甚至更多、我的问题是导致这种情况的原因是什么? 与 CC2540相比、CC26402为何无法捕获大部分数据包?  

提前感谢。

曼苏尔

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

    您如何确定数据包丢失? 您使用什么来转换数据包?

    SimpleBLEObserver 项目不是数据包监听器。 它只会查找广播数据。 您对项目进行了哪些修改? 如果缺少广播数据、您应检查扫描间隔和窗口。 它可能不够大。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rachel

    在我的实施中、自从 我广播 iBeacon 格式以来、每个发送的广播数据包都将其数据包编号包含在主要值中、并且其工作效果相当好。

    我的目标是以100msec 的间隔准确广播100个数据包、这意味着理论上、对于整个100个数据包、广播持续时间正好为10秒 。我使用计时器执行了该操作、它也运行得很好、使用数据包监听器、我可以捕获大多数数据包、 第一个数据包的 主值为1、最后一个数据包的主值为64十六进制(100十进制)、这告诉我从广播设备侧看一切都是正确的。

    在观测器端、我对 SimpleBLEObserver 进行了以下修改:

    1 -扫描持续时间调整为60秒、除了使用每60秒再次触发扫描的计时器外、目标是让观测器始终扫描并正常工作。

    2-使用白名单,以便我只从 广播设备接收广播包。

    3- TGAP_FILTER_ADV_REPORTS 设置为 false。

    处理接收到的广播数据包是通过每个 GAP_DEVICE_INFO_EVENT 完成的、 我能够处理每个接收到的数据包的广播数据并将其保存到数组中、也可以正常工作、 重点是保存前面提到的数据包编号的主要值、从这里我可以知道哪个数据包丢失、以及丢失的数据包总数。 因此、当我在 CC2640R2上运行 SimpleBLEObserver 时 、我使用 终端显示接收到的数据包、但  在大多数时间发送的100个数据包中、我只接收大约88个数据包、有时仅接收7 个数据包丢失、有时丢失9个数据包丢失、等等。  

    我只是想知道这种奇怪的行为以及为什么我在使用 CC2640R2运行观测器示例扫描数据包时会丢失太多数据包、我是否会说 SimpleBLEObserver 不能用作间隔100ms 广播的扫描仪?  

    很抱歉,我写的太多了,但我知道为什么会这样写非常重要。

    此致

    曼苏尔

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

    这不一定是"奇怪"的行为。 错过的广播可能发生在扫描窗口之外。 您的扫描参数是什么(TGAP_GEN_DISC_SCAN_WIND 和 TGAP_GEN_DISC_SCAN_INT)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、我没有修改扫描参数、查看 gap.h 文件、这些参数被定义为:
    #define TGAP_GEN_DISC_SCAN_INT 16.
    #define TGAP_GEN_DISC_SCAN_WINE 17.

    我是否需要修改这些值以获得更好的扫描结果?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mansour、

    是的、这些将影响设备主动扫描的时间百分比。 以下是有关扫描和广告的 SimpleLink Academy 培训的链接: dev.ti.com/.../

    扫描部分的第一项任务是更改扫描参数。 我建议您从那里开始。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Rachel

    非常感谢您的帮助、我确实将扫描窗口设置为等于扫描间隔、现在一切都运行良好)。

    到目前为止丢失的数据包数量大约为3个、与数据包监听器相同、再次感谢、很抱歉我迟到的回复。

    此致

    曼苏尔