主题中讨论的其他器件: CC1350
在确定应用中的数据包损耗时、我们返回到开始使用的 TI 示例、并可能在 Launchpad 上重现该行为。
总结、
-我们在2个 Launchpad 之间来回传输、射频焊盘直接连接。
我们不会期望任何数据包丢失,但会看到周期性的数据包丢失。
我们使用的是最新的 SDK 5.40
-详细说明如下。
这是我们一方的意外行为。
TI 能解释一下这些数据包损耗吗?是否可以采取任何措施? 谢谢!
随附的是一个 ZIP 文件、其中包含修改后的示例源和 built.e2e.ti.com/.../ti_5F00_launchpad_5F00_analysis.zip 中的二进制文件
两个 CC1352P-2 LaunchPad 通过插入电路板上提供的射频连接器的电缆进行连接。 此外、还使用了30dB 衰减器。
中提供的示例应用
- simplelink_cc13xx_cc26xx_sdk_5_40_00_40\examples\rtos\cC1352P_2_LAUNCHXL_ti154stack\collector
- simplelink_cc13xx_cc26xx_sdk_5_40_00_40\examples\rtos\CC1352P_2_LAUNCHXL_ti154stack\sensor
发生了变化
- 收集器以50ms 的周期发送消息、
- 传感器接收到这些消息并回送这些消息和
- 收集器收到这些回传消息。
对示例进行了一些重要更改:
- 测试消息被定义为名为 Smsgs_cmdIds_TestMsg 的新消息类型、并在示例提供的框架内进行处理。
- Smsgs_cmdIds_TestMsg 类型消息在位置1上包含一个帧计数器、在位置2至11上包含随机数据。
- CUI 已关闭、并直接访问 UART 接口、以提高性能并简化后续分析。
- 集电极和传感器
- 从接收到的消息中提取帧计数器
- 计算接收到的帧计数器中的间隙指示的丢失帧数
- 检索当前的节拍数和
- 将这三个数字以表单的形式发布到 UART 接口
[帧计数器][缺少帧][节拍计数]
例如
225 0 10141934
- 为了提高整体性能、一些定时器被关闭。 可以通过取消设置.opts 文件中的 MOTIVING_REASE_TIMERS 来重新打开这些文件。
- 由于 MOTIVING_RELEASE_TIMERS 触发的配置、最好在传感器之前启动收集器。
- 使用 CSMA/CA 代替 LBT
生成的修改示例运行64小时以上、并记录收集器和传感器的 UART 数据以及以下结果(图形代表数据的12小时摘录并显示收集器接收到的消息、 即传感器成功回送的内容):
- 在传输过程中、消息会定期丢失、周期约为3 ½小时(此图中的 x 轴表示自记录开始以来的毫秒)
- 在消息丢失的阶段中、还有另外一段时间大约为5分钟
- 在帧丢失之前、抖动较高(请注意、帧丢失之前的小幅增加、图中的帧间隔大于100ms)
- 下图详细显示了第一个周期(请注意抖动频带的扩宽和窄及其后半部分的帧损耗)