微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 2640低功耗模式下计时

2640低功耗模式下计时

时间:10-02 整理:3721RD 点击:

用2640捕获脉冲输入,最小的脉宽是0.5ms~0.6ms,在正常模式下,使用中断加Clock_getTicks()能够正常捕获。但是在低功耗模式下,Clock_getTicks()好像不怎么精准,不是识别脉冲宽度。有没有什么办法可以解决

进入的是standby还是shutdown?低功耗模式会关闭大部分【甚至全部】外设,包括timer

怎么看进入的是stanby还是shutdown。感觉是stanby模式,因为我把shutdown模式关掉了,现象还是一样的。手册里面写着

If the next wakeup is in less than 1 ms, the TI-RTOS implementation does not enter standby. If the
application requires exact timing, consider the latency associated with entering and waking up from
standby. The TI-RTOS implementation handles this latency by inserting wake-up event four RTC edges
(64 μs) earlier than the event to ensure the system powers on in time to service the wake-up event
scheduled by the application.

怎么理解这句话 If the application requires exact timing, consider the latency associated with entering and waking up from standby. 

主要是通过功耗来判断。shutdown模式功耗更低

这句话就是说,如果对几十要求精确,需要把进入/推出低功耗的延迟也考虑进去

进入的是standby模式。我采集了一组数据做对比。

在低功耗模式下,误差已经超过正负20个tick。关掉低功耗误差会小很多。

我看了一下Power Management for CC26xx SimpleLink Wireless MCUs User’s Guide,里面提到了为了提高响应速度,系统会在下一次任务之前提前从standby模式唤醒,也就是ticks -= Power_wakeDelaySTANDBY / Clock_tickPeriod;。但是如果是IO管脚引起的中断,系统是不是无法提前唤醒。这种情况下会不会导致计时会有误差

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top