主题:SysConfig 中讨论的其他器件
工具/软件:
您好:
我正在启动一个新主题、涉及与 TI 15.4 Stack 消息传输中的 LBT 算法相关的问题。
我正在根据 TI 15.4 Stack 中提供的收集器和传感器示例开发一个应用。 硬件基于使用 SDK 版本8.30.01.01的 CC1312。
TI 15.4 Stack 配置:
*模式:信标启用
*频段:863–869 MHz
*监管类型: ETSI
* PHY 类型: 200kbps、2-GFSK
* MAC 信标顺序(BO): 10 (~4.9秒)
* MAC 超级帧顺序(SO): 3 (~38ms RX 窗口)
应用程序在信标模式下工作。 测试装置由一个收集器和两个传感器器件组成。 信标有两种类型:
*通用信号灯:不适用于任何特定传感器-传感器在正常条件下不会响应。
*专用信标:针对特定传感器-仅预期传感器响应。
在正常条件下、系统使用这些信标类型按预期工作。 但是、当收集器使用间接(AUTO_REQUEST_ON)数据传输向传感器发送数据包时、会出现问题。 在这种情况下、在每个信标间隔期间:
*接收专用信标的传感器发送响应。
*另一个传感器,其数据挂起,发送数据请求以检索数据。
问题:尽管所有传输理论上都符合超级帧持续时间、但偶尔会发生射频数据包冲突、从而导致消息丢失。
调试设置:
使用射频输出调试信号观察 GPIO 上的 TX/RX 时序(调试射频输出)。 以下是基于监听器日志和示波器布线的测试用例和结果汇总:
测试用例:
案例1–预期行为:
*收集器发送专用于 SENSOR_2的信标(正在等待 SENSOR_1的数据)。
* Sensor_2响应其信标。
*收集器确认响应。
* Sensor_1发送 DATA_RQ ,从收集器接收 ACK 和数据,并发送最终 ACK。
案例2–预期行为:
*收集器发送通用信标(没有来自 SENSOR_2的响应)。
* Sensor_1发送 DATA_RQ ,接收来自收集器的 ACK 和数据,并发送 ACK。
情形3–意外行为:
*收集器发送专用于 SENSOR_2的信标(正在等待 SENSOR_1的数据)。
* Sensor_1首先发送 DATA_RQ:
*收集器发送 ACK、SENSOR_2同时响应信标。
*结果:射频冲突,数据包丢失。
案例4–意外行为:
*收集器发送专用于 SENSOR_2的信标(正在等待 SENSOR_1的数据)。
* Sensor_2响应信标并接收 ACK。
* Sensor_1发送 DATA_RQ、接收 ACK、但数据包不从收集器传输。
摘要:
在情况3和4中、观察到数据包重叠传输或丢失。 这表明多个器件可能同时传输数据。 我们尝试调整 macMinBE、macMaxBE、CONFIG_MAC_MAX_CSMA_BACKOFFS 等参数。 但是、问题仍然存在。
主要问题:
导致这些数据包冲突或丢失的原因可能是什么?LBT 机制在这种启用信标的数据传输场景中到底如何工作?
是否可以避免这些冲突、以及应微调哪些参数以提高可靠性?
非常感谢任何见解、指导或建议。