器件型号:CC3220
您好!
我正在尝试优化使用 cc3220modasf 的器件之一的电流消耗。
应用程序基本上处于休眠状态、每隔几个小时唤醒一次以将数据发送到 http 客户端。
它使用的 是 ti-RTOS 和 wifi 快速+自动连接、看门狗和主线程等待在回调中发布的信标(例如、SimpleLinkNetAppEventHandler for DHCP)
我希望 MCU 在每个 SEM_WAIT 上都处于睡眠状态。 例如,对于较慢的 DHCP 服务器,我希望 MCU 一直运行到 SEM_WAIT()并 进入休眠状态,而 NWP 则处理通信,直到回调发生。 但是、测量的功耗似乎没有我预期的那么低。
请参阅下图中的功耗(1mV = 1mA)
我还尝试在 DHCP 连接后添加一个5秒信标等待时间,在这里我期望整个系统消耗12mA 的电流(根据 MCU 睡眠+ NWP 空闲连接的数据表),但最低的电流为~25mA,在~100mA 时每100ms 出现尖峰。
注:
我只是说睡眠、因为我了解到使用看门狗可以阻止 LPDS、但很乐意为此采取任何变通办法。
我已经尝试禁用看门狗、但我得到的结果完全相同。 当我打印 Power_getConstraintMask 的结果时、我得到0
我的问题:
- 如何检查 MCU 是否确实处于睡眠模式? 如何检查哪些因素会阻止它?
- 当看门狗被禁用时、我如何检查 MCU 是否确实处于 LPDS 状态? 如何检查哪些因素会阻止它(除了 Power_getConstraintMask)?
- 在使用 LPDS 时、是否有任何权变措施来使用看门狗? (是否让看门狗使用慢时钟? 使用另一个计时器?)
提前感谢、
C é dric