读书人

Learning ADSP-TS201系列-定时计数器T

发布时间: 2013-03-01 18:33:02 作者: rapoo

Learning ADSP-TS201系列--定时计数器Timer




原创作品,转载请注明原作者及地址!

by 飞鸿惊雪

http://blog.csdn.net/niyufeng




Learning ADSP-TS201系列--索引

1 Learning ADSP-TS201系列--重要参考

2 Learning ADSP-TS201系列--EZ-KIT Lite评估板硬件资源

3 Learning ADSP-TS201系列--Flag Pins按键和LED灯

4 Learning ADSP-TS201系列--Interrupt Pin






Learning ADSP-TS201系列--定时计数器Timer








1 定时器使用SOC-BUS

ADSP-TS201的定时器使用S-BUS,该时钟频率为:SOCCLK = CCLK/2。

Learning ADSP-TS201系列-定时计数器Timer


在电路板背面,默认只焊接了一个电阻,因此SCLKRAT=001,PLL为5!

CCLK = 500MHz;

SOCCLK = 250MHz;

1/250MHz = 4 x e-9 s = 4ns;

如果每0.4秒中断一次,则需要计数0.4s / 4ns = 100000000次。

Learning ADSP-TS201系列-定时计数器Timer


Learning ADSP-TS201系列-定时计数器Timer Learning ADSP-TS201系列-定时计数器Timer



1 置位INCTL寄存器中的TMRxRN位,开始定时计数;

2 这时TMRINxH/L ==》 TIMERxH/L

3 TMRxRN清零则暂停定时计数;再置位又会继续定时计数;

4 只有改变初始寄存器TMRINxH/L的值才会改变TIMERxH/L值;上面的TMRxRN位不会影响TIMERxH/L值!

5 当定时器x发生中断时,锁存器ILATx中的高优先级INT_TIMERxLP,低优先级INT_TIMERxHP都会置位,或者清零。(最终使用不同的优先级在于IMASK的设置!)





2 Interrupt Pin的寄存器

涉及到中断的主要有以下这几个寄存器:ILAT,IMASK,PMASK,以及SQCTL下的GIE位控制全局中断,和INTCTL控制IRQ3-0的触发方式、TIME1-0的启动。

ILAT,IMASK,PMASK这三者“相与”指明了正在执行的中断为哪一个。

ILAT:中断锁存寄存器,只要发生中断相应位置1;

IMASK:中断屏蔽寄存器,只有置1才允许响应相应的中断;

PMASK:锁存正在执行的中断,如果允许中断嵌套,只有在高于目前PMASK位的中断才可以响应。


Learning ADSP-TS201系列-定时计数器Timer




2.1 ILAT IMASK PMASK (H)寄存器

注意:我们本次要试验定时器,就在(H)寄存器中!

Learning ADSP-TS201系列-定时计数器Timer


Learning ADSP-TS201系列-定时计数器Timer



2.2 ILAT IMASK PMASK (L)寄存器

Learning ADSP-TS201系列-定时计数器Timer


Learning ADSP-TS201系列-定时计数器Timer



2.3 INTCTL寄存器

Learning ADSP-TS201系列-定时计数器Timer


1 INTCTL控制IRQ3-0的触发方式。

2 INTCTL中断控制寄存器的TMRxRN位来控制计数器的启动(1)和停止(0);

复位后TMRxRN位为0,计数器不工作。



2.4 SQCTL寄存器


Learning ADSP-TS201系列-定时计数器Timer


SQCTL下的SQCTL_GIE位控制全局中断。

SQCTL还有两个别名SQCTLST和SQCTLCL。



2.5 TMRINxH/L

TMRINxH/L表示初始值



2.6 TIMERxH/L

TIMERxH/L表示当前运行值








读书人网 >其他相关

热点推荐