打印

请教各位大神,28335的CPU定时器最短定时时间

[复制链接]
1778|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a20071426|  楼主 | 2014-1-3 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangmangui| | 2014-1-3 17:05 | 只看该作者
CPUFreqInMHz是DSP的实际工作频率,这个参数的单位是MHz,
PeriodInUSec是要定时的时间长度,单位是微秒
定时值=定时长度/(CPU的周期)=定时长度×CPU的频率
Timer->RegsAddr->PRD.all= temp 向定时器周期寄存器赋值

Timer->RegsAddr->TPR.all  = 0;
Timer->RegsAddr->TPRH.all  = 0;
上面两句是配置定时器预定标寄存器,每个定时器源时钟周期TIM(定时器计数器)减一

Timer->RegsAddr->TCR.bit.TSS = 1;      // 1 = Stop timer, 0 = Start/Restart Timer
Timer->RegsAddr->TCR.bit.TRB = 1;      // 1 = reload timer
Timer->RegsAddr->TCR.bit.SOFT = 0;
Timer->RegsAddr->TCR.bit.FREE = 0;     // Timer Free Run Disabled
Timer->RegsAddr->TCR.bit.TIE = 1;      // 0 = Disable/ 1 = Enable Timer Interrupt
上面这五句是配置定时器控制寄存器,TSS写1,停止定时器;TRB写1,使能定时器重新装载;SOFT=0、FREE=0是配置CPU定时器仿真模式;TIE写1,CPU定时器中断使能。
参考计算一下  看看最短是多少

使用特权

评论回复
板凳
拿起书本| | 2014-1-20 20:01 | 只看该作者
这介需要考虑好几级,晶振频率,PLL设置的值大小,周期值等 问题。

使用特权

评论回复
地板
stapollozxy| | 2014-3-8 11:55 | 只看该作者
算个求,实际测试过
最短是0.5us  200khz 理论上人家150Mhz往下分着计数,上个几Mhz都没问题,但是再短就不中断了,测试过

使用特权

评论回复
5
stapollozxy| | 2014-3-8 11:56 | 只看该作者
同样,测试过一个Ecap中断,最高能测得也就1Mhz,就算再改改程序也就是那个数量级的了。 数量级摆在那里,再高频的事情干不了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝