工具与软件:
我与一位客户合作使用此设备时遇到一个奇怪的问题、该问题在重置后持续运行12小时左右时出现。 实质上、该器件不会进入睡眠状态、而且似乎存在待机禁止。 如果问题的重现性很高、但他们正在努力确定根本原因。 客户同意这可能是应用特定的问题、不太可能是 TI 平台软件的问题。 我们想要查看各种基于时间的翻转来源、看看如果存在任何相关性、这是否会给我们提供一些线索。
我不认为有关联,但我希望有人检查我的工作。 他们使用的是 FreeRTOS + OpenThread + BLE。 SDK 版本是7.10.02.23。 它们的 FreeRTOS 节拍率为10kHz (100us)。
无线电计时器
- 32位、固定4MHz 速率
- (((2^32)/(4 * 1000 * 1000))/ 60 =~17.9分钟翻转周期
FreeRTOS
- 32位、固定10kHz 速率
- (((2^32)/(10 * 1000))/(60 * 60 * 24)=~4.97天翻转期
RTC (被用作待机模式中的唤醒定时器)
我对这部分不是很清楚。 该文档说它是一个"70位自由运行计数器"、但我只看到一个32位"亚秒"和32位"秒"组件。 最高仅累加64位。 假设它在2^32秒后回滚。
- (2^32)/(60 * 60 * 24 * 365)=~136年翻转期
但是、我认为我们需要查看信道事件的翻转情况。 我认为待机唤醒计时器使用 RTC 通道0事件(在无滴答空闲模式下)。 这似乎使用16位表示秒、16位表示亚秒。 这将近似计算翻转时间、以便:
- (2^16)/(60 * 60)=~18.2小时翻转周期
总之、我想问:
- 我是否应该注意他们的任何潜在计时器滚动?
- 我在已经确定的三个翻转源上的数学是否正确?
- 我对 RTC 的评估是否正确特别感兴趣、因为这是来源和 TRM 中最难理解的。
当然、欢迎您提出任何有关根本原因调查的其他想法。
谢谢!
Stuart