微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc2540 1ms定周期获取

cc2540 1ms定周期获取

时间:12-22 整理:3721RD 点击:

hi 各位:

 我现在需要一个最小单位1ms的定周期。

我使用osal_start_timerEx设置。结果功耗约2.5mA。

后来我是用timer3 定时1mS中断获取定周期1ms,功耗约3.0mA。

想用系统时钟获取准确的1ms,发现无法获取如此精细的1ms。

我该如何获取准确的1ms定周期,而且对功耗影响不大的方法?

T_MAC,

timer 2 和 timer 3 为了 省功耗, 在PM2 或 3 的模式下是关闭的, 这个时候你用他们必然会提高功耗.

但从理论上讲, 用 timer 2 的周期去轮询时间, 或者你打开timer 3 或 4 自己再计时, 这是最靠谱的两个方法了. 目前据我所知也没有其他更好的办法.

另外还有一个sleep timer,  是以 32K 时钟来计时的, 在PM2  模式下 也是工作的. 我没有试过用这个timer 去做过定时, 但sleep timer 也用来在PM 2 模式下作为定时来计数, 用以在需要的情况下唤醒系统. 我没有尝试过用这个去计时, 目前也不知道是否可行, 你有时间的话可以尝试一下, 可以通过读取它的counter 寄存器的值, 判断时间间隔. 就是不清楚精准度会如何. 希望能有用.

hi yan:

 谢谢你的回答,如果用timer3不仅会增加功耗,而且 由于经常进入PM2 导致timer3其实是不准确的。

顺便问下 timer3 有个捕获功能,不知道怎么去配置捕获功能?如果配置成捕获功能,那必须在捕获这段时间不允许进入Pm2.不然高速时钟会被停止,否则捕获也会不准确,功耗应该也会大大提高?

HI YAN:

问题解决了。

我不使用连续的定周期1ms,而是在1s里面 使用其中的几十ms来代替,功耗最大打到1.68mA,平均电流约0.7-0.8mA左右,勉强可以接受

不太明白你的1s 里面几十毫秒 代替是什么意思, 能解释一下吗?

不过很高兴看到你的问题解决了 : )

hi yan:

我这1ms功能不是实时打开,而是在1s里面使用其中的50ms左右。这样大大降低了功耗

什么是"1s 里面使用其中的50ms"?

就是1s里面只工作50ms其他时间进入PM2。

听上去很有意思

HI YAN:

USB Dongle抓出来的数据包,很多不懂得分析。请问有什么资料可以学习的么?

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

网站地图

Top