主题中讨论的其他器件:LP-EM-CC2340R53、 SysConfig
工具/软件:
TI、您好:
我已经测试了 TI 的 BEL 移交功能、运行正常。 我想知道如何通过 BLE 切换获得 3 个汽车节点和一个关键节点来轮流进行信道探测测距。
谢谢
James
2025.05.30
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.
工具/软件:
TI、您好:
我已经测试了 TI 的 BEL 移交功能、运行正常。 我想知道如何通过 BLE 切换获得 3 个汽车节点和一个关键节点来轮流进行信道探测测距。
谢谢
James
2025.05.30
您好、James、
CS 切换在 9.10.00.83 SDK 及更高版本的 BLE 栈中启用。 我自己尚未测试此内容、但我相信您可以使用 CS 演示 python 脚本和 Connection Hampover python 脚本进行测试。 若要使用 python 脚本、必须在信道探测结束后保持连接。 此外、在 CS 过程中、您无法使用 python 脚本完成连接切换。
若要在不使用 python 脚本的情况下实施演示、需要在示例工程中添加代码、以便在信道探测结束后进行连接切换。
我目前正在与研发部门讨论这一点、希望能在我这边很快完成演示设置。 发生这种情况时、我会使用更多信息来更新此主题。
请期待下周初回复(2010 年 6 月)。
谢谢、
Isaac
您好、James、
R&D 已告知我、CS 交付当前不起作用。
有一种方法可以更改汽车节点、以从嵌入式代码启动 CS。 我们正在努力将一个工程添加到执行此操作的示例工程中。
首先、要将 python 移动到嵌入式代码中、嵌入式代码需要等待特定事件、然后再继续执行 CS 初始化的下一步。 这些事件中的大多数包含在 CarNode_csEvtHandler() 或 ChannelSounding_csTypeEventHandler() 中。
为此、您需要按照以下步骤操作:
1. ChannelSabing_start — 初始化 CS(寄存器,事件处理程序和回调)。
2. ChannelSounding_readLocalSupportedCapabilities — 读取本地设备上支持的 CS 功能
3. ChannelSounding_readRemoteSupportedCapabilities — 读取远程设备支持的 CS 功能
a.等待 CS_READ_REMOTE_SUPPORTED_CAPABILITIES_COMPLET_EVENT。 接收到此事件后、即可读取能力 CsExtCTRL_readRemoteCapabEvtHandler。
4. ChannelSounding_securityEnable — 用于中央设备(无论是发起者还是反射者)。 启用 init/ref 之间的配对 等待 CS_SECURITY_ENABLE_COMPLET_EVENT。
5. ChannelSounding_setDefaultSettings — 使用 CS_setDefaultSettingsCmdParams_t 结构。
6. ChannelSounding_createConfig — 创建过程所需的 CS 配置 。 设置步进模式、模式 0 步进数等 使用类似于 python 脚本的结构。 完成后将升高 CS_CONFIG_COMPLET_EVENT。
7. ChannelSounding_setProcedureParameters — 设置 CS 参数。 可以对参数使用 ChannelSounding_setProcedureParamsCmdParams_t 结构。
8. ChannelSounding_procedureEnable — 用于启动器。 启用该过程。 等待 CS_Procedure_enable_complete_event。 之后、等待 CS_SUBEVENT_RESULT 或 CS_SUBEVENT_CONTINUE_RESULT 事件。 这将包含来自 CS 子事件的数据。
9.使用 CarNode_processCsSubeventResults 函数处理结果事件内的数据。
如果您有任何问题、请告诉我!
谢谢、
Isaac
您好、Isaac:
感谢您对患者的指导。 我已经按照您的说明操作并将 Python 代码移植到 CC2745、信道探测现在可以正常工作。 但是、我遇到了以下问题、希望您能帮助解决这些问题。
1.如何禁用 APP_EXTERNAL_CONTROL 宏? 由于我需要通过 UART 打印日志、但 NPI 占用 UART、因此我想在不需要 Python 测试时禁用 NPI 接口。
2.目前,在嵌入代码中执行单个 CS 测试大约需要 400 毫秒。 是否可以提高速度(使用 CAN 输出数据)?
3.使用 CC2340 和 CC2745 测试 CS 范围时、如果距离小于 0.5 米、则得到的值非常大、约为 10-15 米。 但是、使用 CC2745 和 CC2745 进行测试时、不会出现该问题。 可以在新的 SDK 版本中解决这个问题吗?
4. TI 计划何时发布新的 SDK?
谢谢
James
2025.06.14
您好、James、
1.让我询问我们的研发团队。 我相信 NPI 内置在 car_node 和 Key_node 项目中。 您能否使用器件上的另一个 UART 实例将打印到终端?
2.使用 CAN 进行数据输出意味着需要物理连接发起方和外设。 我们仍在努力改善延迟。 您是在发起方还是外设端看到此延迟? 此外、您正在使用多少天线。 您能否向我发送用于 CS 过程的参数?
3.尝试新的 SDK、如果问题仍然存在、请告诉我。 您能否指定哪个设备用于启动器和外设? 此外、您能否提供正在使用的 CS 参数? 我将在下周结束时对此进行测试、并告诉您。
4.新的 SDK 发布了最后一个星期五。 您可以 在此处找到新的 SDK。
为延迟詹姆斯道歉。
谢谢、
Isaac
您好、James、
1.您能否使用 10 引脚 JTAG 接口刷写器件并消除 XDS110 UART 实例? 我认为 NPI 用于输出端子。
2.我们仍在努力进行 9.11.00.18 SDK 的延迟测量。 我们尚未验证此号码。 此外、您还可以减少每个过程的子事件数量、每个过程的步骤数或天线路径数、以减少时间。
3.这种复制的频率如何? QQ3Thre 设置为什么以及您使用的算法是什么。 我在最新的 SDK 上没有观察到这一点、但我会尝试在我这边进行复制。
谢谢、
Isaac
您好、Isaac:
感谢您的答复。
谢谢
James
2025.06.27
您好、James、
1.我正在与团队一起研究如何消除 NPI。 目前、无法轻松关闭 NPI 或 APP_EXTERNAL_CONTROL 宏。 NPI 使用 XDS UART。 启用 XDS UART 时是否遇到问题?
2.连接间隔可以在 sysconfig 中的汽车节点示例中更改。 请导航至 BLE->Central Configuration -> Connection Interval Min/Max。 请注意、缩短连接间隔将导致过程的结构发生变化。
3.当您看到故障时的 RSSI 有多低? 您的测试距离是多少? 我已经通过该演示测试了多达 50 米。 RSSI 还取决于您测试的环境。 请也告诉我环境。
4.我们已经确定了这个问题,并正在努力在下一个 SDK 中进行修复。
谢谢、
Isaac
您好、Isaac:ć
感谢您的答复。
[BLE 6.0 CS DKC]*SDK 版本:9.11.00.18。
1.在测试 CS 测距时、您是否遇到过当距离相对较远(通常超过 10 米)时、无效值持续出现的情况、需要重新启动才能恢复测距? 此时、RSSI 值通常介于–50 和–60 之间。 蓝牙仍保持连接、但无法恢复 CS。 我的测试环境是在开放式走廊中进行的、视线范围内没有障碍物。
关于这一问题、我有以下三个问题、希望得到答复。
1.1 所测试信道探测的最大正常距离可达 50 米、对吗 ? 您是否还使用 CC2745 作为发起者、并使用 CC2340R53 作为测试的反射者?
1.2 在无法执行距离测量时、是否有 API 可用于重新启动 CS、从而允许在类似情况下重新激活距离测量功能?
1.3 如果当前没有可用于重新启动 CS 的 API、是否有方法可以独立重新启动蓝牙协议栈以便 CS 可以恢复距离测量?
2.很高兴您解决了这个问题。 您能告诉我新 SDK 预计何时发布吗? 前面提到的增加 CS 交付功能是否会包含在新 SDK 中?
谢谢
James
2025.07.02
您好、James、
对延迟深表歉意。
1.不,但我看到了一个类似的问题。 我看到的问题完全相同、但 RSSI <–80dBm。 此问题已在 9.11.00.18 SDK 中修复、此后我无法重现。 您能否提供正在使用的 CS 参数?
1.1.我通常使用 CC2745 到 CC2745 进行测试。 我最近一直使用 CC2745R10 (init) 对 CC2340R53 (ref) 进行测试。 我注意到我收到的无效结果更多、因此如果我将 CC2745R10 用于 CC2745R10。
1.2 如果距离测量无法完成、您可以使用另一个 CS 程序重新启动。 如果程序/测量结果持续返回无效结果、这将不能解决问题。 我现在解决这个问题的方法是复位器件。 我知道这不是一种产品友好型解决方案、因此我将了解在这么多无效结果后是否能够找到恢复信道探测的方法。
1.3 完成 CS 功能、配置和安全性后、只要您保持连接到同一设备、就可以再次启动该过程。 您可以再次尝试重新发送功能和配置请求。 这将从头开始重新启动信道探测过程。 此外、您还可以修复程序的数量。 假设您修复了 20 个过程、一旦这些过程完成、CS 将不会启用过程、直到用户或软件启用更多过程。 我相信重新启动程序可以解决这个问题。
2.我们不确定此 SDK 版本中是否会再添加 CS 交付。 目前、该版本计划在星期一 (07/14) 发布。 在确定交车之前、该团队专注于其他 CS 相关目标。
谢谢、
Isaac
您好、Isaac:ć
感谢您的答复。
[BLE 6.0 CS DKC]*SDK 版本:9.11.00.18。
我的 CS 参数如下。 我目前正在通过电源复位解决断开连接和无效数据问题。
void CSParamsSet_createConfig(void)
{
ChannelSounding_createConfigCmdParams_t pParams3;
pParams3.connHandle = 0;
pParams3.configID = 0;
pParams3.createContext = 1;
pParams3.mainMode = 3;
pParams3.subMode = 0xFF;
pParams3.mainModeMinSteps = 0;
pParams3.mainModeMaxSteps = 0;
pParams3.mainModeRepetition = 0;
pParams3.modeZeroSteps = 3;
pParams3.role = 0;
pParams3.rttType = 0;
pParams3.csSyncPhy = 1;
pParams3.chMRepetition = 1;
pParams3.chSel = 0;
pParams3.ch3cShape = 0;
pParams3.ch3CJump = 0;
ChannelSounding_createConfig(&pParams3);
}
void CSParamsSet_setProcedureParams(void)
{
ChannelSounding_setProcedureParamsCmdParams_t pParams6;
pParams6.connHandle = 0;
pParams6.configID = 0;
pParams6.maxProcedureDur = 0xFFFF;
pParams6.minProcedureInterval = 0;
pParams6.maxProcedureInterval = 0;
pParams6.maxProcedureCount = 1;
pParams6.minSubEventLen = 0x55000;
pParams6.maxSubEventLen = 0x55000;
pParams6.aci = 7;
pParams6.phy = 1;
pParams6.txPwrDelta = 0x80;
pParams6.preferredPeerAntenna = 0b0011;
pParams6.snrCtrlI = 0xFF;
pParams6.snrCtrlR = 0xFF;
pParams6.enable = 0;
ChannelSounding_setProcedureParameters(&pParams6);
}
2.您计划尽快发布新的 SDK 吗? 您能告诉我新 SDK 预计何时发布吗?
谢谢
James
2025.07.16