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.

[参考译文] LP-EM-CC2340R5:在 CC2340R5中完成主机测试程序 SDK v8.40时、连接对等器件时出现问题

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1505188/lp-em-cc2340r5-issue-in-connecting-peer-devices-when-host-test-program-sdk-v8-40-is-done-in-cc2340r5

器件型号:LP-EM-CC2340R5
主题中讨论的其他器件:CC2340R5、SYSCONFIG、 UNIFLASH

工具/软件:

问题描述:
当我们使用 BTool 执行扫描并且我们的扫描设备启动连接时、连接会在一秒内立即断开、而不会发生任何明确的断开事件。 即使使用默认的 BTool 设置、也会发生这种情况。

我们已经在多个 SDK 版本(7.10、7.40、8.10和最新的8.40)上测试了此行为。

注意: 同一设备与移动应用程序无缝连接、不会出现这种自动断开连接行为。 这一问题目前对我们来说是一个挑战。


问题:

问题1: 使用 BTool 时可能导致此自动断开的原因是什么?我们如何解决此问题?请参阅日志以获取参考

问题2: 是否有办法可以检测发送扫描请求而不发起连接的扫描中央设备的 RSSI 值、MAC 地址和 Tx 功率?
(例如:器件 A 充当中央器件并扫描处于外设模式的器件 B。 我想根据扫描请求获取器件 A 的 RSSI、MAC 地址和 Tx 功率。)

日志 供您参考
转储(Rx):
0000:04 FF 3E 13 06 00 00 40 00
-Type:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度: 0x14(20)字节
事件:0x0605 (1541)(GAP_EstablishLink)
状态:0x00 (0)(成功)
DevAddrType:0x00 (0)(ADDRTYPE_PUBLIC)
DevAddr:0C:AF:5A:00:00:FE
电话号码:0x0000 (0)
ConnRole:0x08 (8)(
中心)
ConnInterval:0x0050 (80)
连续延时:0x0000 (0)
第18集9.7第2集9.7集(二○○○)
ClockAccuracy : 0x00 (0)
转储(Rx):
04 FF 14 05 06 00 FE 00 00 5A AF 0C 00 08
50 00 00 00 D0 07 00

-Type:0x01 (命令)
-OpCode : 0x2022 (HCI_LE_SetDataLength)
-数据长度: 0x06(6)字节
手柄:0x0000 (0)
TxOctets : 0x00FB (251)
TxTime:0x0848 (2120)
转储(Tx):
01 22 20 06 00 FB 00 48 08
--------------------------------------------------------------------------------
-Type:0x04 (事件)
-EventCode:0x000E (HCI_CommandCompleteEvent)
数据长度:0x06(6)字节
数据包:0x01 (1)
操作码:0x2022 (HCI_LE_SetDataLength)
状态:0x00 (0)(成功)
手柄:0x0000 (0)
转储(Rx):
04 0E 06 01 22 20 00 00 00
--------------------------------------------------------------------------------
器件已连接
句柄= 0x0000
ADDR 类型= 0x00 (ADDRTYPE_PUBLIC)
bdaddr = 0C:AF:5A:00:00:FE
--------------------------------------------------------------------------------
设备断开连接
句柄= 0x0000
ADDR 类型= 0x00 (ADDRTYPE_PUBLIC)
bdaddr = 0C:AF:5A:26:35:3E
--------------------------------------------------------------------------------
-Type:0x04 (事件)
-EventCode:0x00FF (HCI_LE_ExtEvent)
数据长度:0x06(6)字节
事件:0x0606 (1542)(GAP_TerminateLink)
状态:0x00 (0)(成功)
电话号码:0x0000 (0)
原因:0x3E (62)(Failed_to_establish)-
转储(Rx):
0000:04 FF 06 06 00 00 00 3E

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

    您好:

    感谢您联系我们!  

    [引用 userid="526314" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1505188/lp-em-cc2340r5-issue-in-connecting-peer-devices-when-host-test-program-sdk-v8-40-is-done-in-cc2340r5 问题1: 使用 BTool 时可能导致此自动断开的原因是什么?我们如何解决此问题?请参阅日志以获取参考

    尽管这不是预期行为、但这可能是由于多种原因造成的。 请回答以下问题以帮助我确定问题:

    1. 您能否提供数据包监听器日志?
    2. 您尝试连接到设备的时间是多久?
    3. 您的器件是否运行 SDK 中提供的 host_test 十六进制文件?
    [引用 userid="526314" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1505188/lp-em-cc2340r5-issue-in-connecting-peer-devices-when-host-test-program-sdk-v8-40-is-done-in-cc2340r5 问题2: 是否有办法检测发送扫描请求而不启动连接的扫描中心设备的 RSSI 值、MAC 地址和 Tx 功率?

    遗憾的是、BLE 规格不允许提供有关此问题的任何信息。 根据 BLE v5.4内核规范(第6卷、B 部分、第2.3.2.1节):

    "有效负载包括 Scana 和 Adva 字段。 Scana 字段应包含 TxAdd 指示的扫描器的公共或随机设备地址。 Adva 字段是此 PDU 寻址到的设备的地址。 Adva 字段应包含广播器的公共或随机器件地址、如 RxAdd 所示。 注:这些 PDU 不包含任何主机数据。"

    我希望这能回答您的第二个问题! 至于第一个问题、我将等待您提供更多信息。 我们很快就会解决这个问题!

    此致、

    Tarek

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

    感谢您的答复:-  

    1. 您能否提供数据包监听器日志?    -- 我们没有监听器、尽管我连接了 BTool 日志和错误0x3E。[有一些更新、我们的器件没有任何32kHz 的外部晶体、因此可能会看到睡眠精度]
    2. 您尝试连接到设备的时间是多久? --> 当我们扫描了10秒、然后启动间隙连接时
    3. 您的器件是否运行 SDK 中提供的 host_test 十六进制文件? --> 是的,到最后没有变化[查看版本7.4,8.10,8.40]

    有些问题:-

    问题1:您能否评论如何增加扫描窗口和扫描间隔、以及它是否有助于同步内部 RC 时钟导致的睡眠误差?  

    问题2:您能否解释一下、连接启动后应完成的连接时间、以及连接时间取决于什么因素。

    这是 CC2340R5 LP 板更明显的问题、我尝试连接 不同的-2板。[当使用 Launch XL-cc2640r2 Rev 1.0和 HCI Ext_Set sca cmd [操作码0xFC0D]设置为400ppm 时、我们的板能够 连接、似乎由于这种放宽、即使没有32kHz 的外部晶体、也有更多的空间连接-->如果这是真实的、请提供任何详细的信息。

    这里有时间戳记  

    [1]: - 01:51:58.065
    -Type:0x01 (命令)
    -OpCode:0xFE62 (GapInit_connect)
    数据长度: 0x0A (10)字节
    PeerAddrType:0x00 (0)(peer_ADDRTYPE_PUBLIT_OR_PUBLIT_ID)
    PeerAddr:0C:AF:5A:00:00:46
    初始化 Phy:0x01 (1)(
    INIT_PHY_1M)
    超时:0x0000 (0)
    转储(Tx):
    0000:01 62 FE 0A 00 46 00 5A AF 0C 01 00 00 .b...F.Z.
    --------------------------------------------------------------------------------
    [2]: - 01:51:58.081.
    -Type:0x04 (事件)
    -EventCode:0x00FF (HCI_LE_ExtEvent)
    数据长度:0x06(6)字节
    事件:0x067F (1663)(GAP_HCI_ExtensionCommandStatus)
    状态:0x00 (0)(成功)
    操作码:0xFE62 (GapInit_connect)
    数据长度:0x00 (0)
    转储(Rx):
    0000:04 FF 06 7F 06 00 62 FE 00 b.
    --------------------------------------------------------------------------------
    [3]: - 01:51:59.597.
    -Type:0x04 (事件)
    -EventCode:0x00FF (HCI_LE_ExtEvent)
    数据长度: 0x14(20)字节
    事件:0x0605 (1541)(GAP_EstablishLink)
    状态:0x00 (0)(成功)
    DevAddrType:0x00 (0)(ADDRTYPE_PUBLIC)
    DevAddr:0C:AF:5A:00:00:46
    电话号码:0x0000 (0)
    ConnRole:0x08 (8)(
    中心)
    ConnInterval:0x0050 (80)
    连续延时:0x0000 (0)
    第18集9.7第2集9.7集(二○○○)
    ClockAccuracy : 0x00 (0)
    转储(Rx):
    0000:04 FF 14 05 06 00 46 00 00 5A AF 0C 00 00 08…… F.Z.
    0010:50 00 00 00 D0 07 00 P.
    --------------------------------------------------------------------------------
    [4]: - 01:51:59.597.
    -Type:0x01 (命令)
    -OpCode : 0x2022 (HCI_LE_SetDataLength)
    -数据长度: 0x06(6)字节
    手柄:0x0000 (0)
    TxOctets : 0x00FB (251)
    TxTime:0x0848 (2120)
    转储(Tx):
    0000:01 22 20 06 00 FB 00 48 08。' … H.
    --------------------------------------------------------------------------------
    [5]: - 01:51:59.659.
    器件已连接
    句柄= 0x0000
    ADDR 类型= 0x00 (ADDRTYPE_PUBLIC)
    bdaddr = 0C:AF:5A:00:00:46
    --------------------------------------------------------------------------------
    [6]: - 01:51:59.643.
    -Type:0x04 (事件)
    -EventCode:0x000E (HCI_CommandCompleteEvent)
    数据长度:0x06(6)字节
    数据包:0x01 (1)
    操作码:0x2022 (HCI_LE_SetDataLength)
    状态:0x00 (0)(成功)
    手柄:0x0000 (0)
    转储(Rx):
    0000:04 0E 06 01 22 20 00 00……" ...
    --------------------------------------------------------------------------------
    [7]: - 01:52:00.175.
    设备断开连接
    句柄= 0x0000
    ADDR 类型= 0x00 (ADDRTYPE_PUBLIC)
    bdaddr = 0C:AF:5A:00:00:46
    --------------------------------------------------------------------------------
    [8]: - 01:52:00.175 -->
    -Type:0x04 (事件)
    -EventCode:0x00FF (HCI_LE_ExtEvent)
    数据长度:0x06(6)字节
    事件:0x0606 (1542)(GAP_TerminateLink)
    状态:0x00 (0)(成功)
    电话号码:0x0000 (0)
    原因:0x3E (62)(Failed_to_establish)
    转储(Rx):
    0000:04 FF 06 06 00 00 00 3E ... >
    --------------------------------------------------------------------------------

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

    您好:

    感谢您提供此信息! 由于您的器件没有外部晶体、因此需要修改 host_test 项目、因为使用默认设置时该项目无法完全正常运行。 若要进行修改:

    1. 转到工程的 SysConfig 文件
    2. 在左侧菜单中选择 Device Configuration
    3. 转到"Low Frequency Clock Source"
    4. 选择"LF RCOSC"

    这将使程序使用 内部低频 RC 振荡器 、而不是外部晶体。 我随附了一个 host_test 十六进制文件以及这些修改后的设置、我想这应该可以解决这个问题。 更多有关在无晶振模式下使用器件的信息、请参阅用户指南:

    https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_8_40_02_01/docs/ble5stack/ble_user_guide/html/cc23xx/custom-hardware-cc23xx.html#using-32-khz-crystal-less-mode-lf-rcosc

    e2e.ti.com/.../host_5F00_test_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang.hex

    如果这不起作用、您能否提供用于两种器件的连接参数?

    此致、

    Tarek

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

    很抱歉,虽然 我的设置是由 BTOOL exe 提供的默认设置,但它不能解决我的问题。 此外、我尝试将连接间隔和延迟增加到最大值仍然相同的问题(0x3E)、我认为这些设置在建立连接后会发挥作用。 可以找出任何其他原因注意:-当我使用 Launch CC2640R2板并使用  HCI_EXT_SetSCACmd ()设置 ppm 值时。达到400ppm、则表示它已连接并在 cc2340r5 LP 板中完成了相同的设置、然后出现了上述相同问题  

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

    您好:

    只是为了确认、您是否刷写了我在电路板上提供的十六进制文件、结果仍然不起作用?

    此外、您尝试连接到哪种类型的设备?

    此致、

    Tarek

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

    是的、我使用 uniflash 和相同结果刷新了该文件

    我正在尝试连接没有外部晶体的 cc2340r5 4by4芯片、 当我将 HCI_EXT_SetSCACmd ()的 ppm 值设置为400ppm 时、该器件可以轻松地与手机应用和 Cc2640R2 LaunchPad 连接

    同样、我尝试使用 cc2340r5的 LP 板、该板也使用您的文件进行了闪存、但它给出了0x3E 错误

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

    您好:

    CC2340R5可以连接到其他器件吗?

    此致、

    Tarek

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

    是的、如果使用从 SDK 检索到的简单外设十六进制文件进行编程、它可以连接到 cc2340r5的 LaunchPad

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

    您好:

    很抱歉耽误你的时间! 您能提供的连接参数吗  两种器件?

    此致、

    Tarek

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

    - 01:51:59.597.

    -Type:0x04 (事件)

    -EventCode:0x00FF (HCI_LE_ExtEvent)

    数据长度: 0x14(20)字节

    事件:0x0605 (1541)(GAP_EstablishLink)

    状态:0x00 (0)(成功)

    DevAddrType:0x00 (0)(ADDRTYPE_PUBLIC)

    DevAddr:0C:AF:5A:00:00:46

    电话号码:0x0000 (0)

    ConnRole:0x08 (8)(

    中心)

    ConnInterval:0x0050 (80)

    连续延时:0x0000 (0)

    第18集9.7第2集9.7集(二○○○)

    ClockAccuracy : 0x00 (0)

    转储(Rx):

    0000:04 FF 14 05 06 00 46 00 5A AF 0C 00 08

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

    您好:

    我一直在尝试重新创建问题在我的最后,但我不能. 您是否可以尝试增加 Tx 功率并查看这是否会导致连接成功?

    此致、

    Tarek

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

    亲爱的,两块板彼此都很近,如果在建立连接后发送 HCI 设置长度,就会失败,我的板是4x4并且没有任何外部晶体  

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

    让我们将该主题移至电子邮件、以便加快调试过程。 请将此主题提供给负责您账户的 FAE、以便我们可以继续调试过程。

    此致、

    Tarek