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.

[参考译文] CC2340R5:多连接与信道探测测距之间存在冲突

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1614573/cc2340r5-conflicts-between-multi-connection-and-channel-sounding-ranging

器件型号: CC2340R5

使用 simplelink_lowpower_f3_SDK_9_14_00_41、将 cc2340R53 用作反射者 (key_node)、并将 cc2745 用作发起者 (car_node)。 我设置“最大连接数“值以使从器件能够支持多个连接。 当最大连接数为 1 且连接了 1 个中央设备时、可读取距离传输回调值。 当最大连接数是连接的 2 个和 2 个中央器件时、上部计算机只能看到消息“Waiting for NWP CS_APP_DIAY_RESULTs“、但它不能等待返回值。

我发现 key_node 的 app_key_node.c 中有这样一段代码:

 用例 CS_SECURITY_ENABLE_COMPLET_EVENT:
    {
    //假设反射器
    //调用默认设置
    ChannelSounding_setDefaultSettingsCmdParams_t 参数;// TODO
    params.connHandle = 0;        //!<连接句柄
    Params.roleEnable = 3;        //!<角色使能标志
    params.csSyncAntennaSelection = 1; //!< CS SYNC Antenna Selection
    Params.maxTxPower = 10;       //!<最大 TX 功率(以 dBm 为单位)
    ChannelSounding_setDefaultSettings (&params);
    休息;
    }
因此、我认为、即使建立了多个连接、与第一个连接的主机进行信道探测至少应该是正常的。 然而,在现实中,上层计算机未能收到测距结果。
为了解决这个问题、我增加了 FreeRTOS 的堆大小、并确认在信道探测距离测量期间广播已停止。 此外、当建立多个连接时、除信道探测之外的所有其他功能都是正常的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    感谢您与我们联系并提供反馈! 我会确保将此信息传达给团队。

    需要明确的是、您的问题是否已解决?

    此致、

    Tarek D

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

    感谢您的答复。 问题 仍未解决。

    范家豪

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

    此外、要添加的一个点:在中app_ranging_server.c、在添加用于测试的断点后、发现:
    Uint8_t AppRRSP_CsSubEvent (ChannelSounding_subeventResults_t *pAppSubeventResults)

    UINT8_t STATUS = INVALID PARAMETER
    Ranging_Ranging 页眉和页眉

    //检查连接句柄是否已注册到 RAS 服务
    if ((pAppSubeventResults!= NULL)&&
    (RRSP_RegistrationStatus(pAppSubeventResults->connHandle)!= RRSP_unregister))

    状态=成功

    //仅当过程未中止时才接受这些结果
    if (pAppSubeventResults->procedureDoneStatus == CS_Procedure_aborted)

    状态=失败
    }
    ...

    如果允许两个以上的连接、procedureDoneStatus则会发现一个问题:返回 15()CS_PROCEDURE_ABORTED、而不管是否已建立一个或两个连接。 这可能是由于广播或维护多个连接导致的、这可能会占用 CS 窗口并导致 CS 过程中途失败。

    以上是基于我的实验的假设,其他情况不能排除。

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

    嗨、Jiaao、

    听起来不错、感谢您提供相关信息。 我会仔细研究一下、然后回复您。 期待在 24 小时内再次回复。

    此致、

    Tarek D

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

    嗨、Jiaao、

    我研究了这个问题、最新的 SDK 中不存在这个问题。 您能测试一下最新版本并告诉我吗? 以下是下载链接: https://www.ti.com/tool/download/SIMPLELINK-LOWPOWER-F3-SDK/9.14.02.16

    此致、

    Tarek D

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

    尊敬的 Tarek:

    我根据您提到的版本迁移了代码、发现问题已解决。 您的解释正确。

    此外、还有另一个问题。 使用 LOWPOWER-F3-SDK_9.14.02.16 时、测距结果始终返回质量值 0。 在之前的 SDK 版本中、该字段具有非零值。 我不知道你是否观察到同样的情况。

    以下是信道探测测距结果:

    *** 过程启用***
    过程启用
    ------------------------------------------------------------------------------------
    _io:[]
    事件:68
    状态:0
    Conn_handle:0
    config_id:0
    启用:1.
    ACI:0
    PWR_DELTA:10
    sub_event_len:55000
    SUB_EVENS_PER_EVENT:1.
    SUB_EVENT_INTERVAL:0
    event_interval:2.
    Procedure_interval:0
    Procedure_count:1.
    ------------------------------------------------------------------------------------
    等待 NWP CS_APP_DIAY_RESULTS
    距离结果 — 启动器
    ------------------------------------------------------------------------------------
    _io:[]
    事件:96
    状态:0
    电话:0
    距离:68
    质量:0
    信心:100
    ------------------------------------------------------------------------------------

    谢谢,祝你一切顺利。

    范家豪

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

    嗨、Jiaao、

    我认为这是目前已知的限制、但应在下一个版本中予以修复。 与 您最初使用的 9_14_00_41 SDK 相比、性能有了显著提高。

    我希望这对您有所帮助!

    此致、

    Tarek D