MAC时钟是为射频的MAC层协议的基于slot(时隙)的操作而设计。它包含1个8比特的计数器和一个prescaler。由寄存器T2PR的值与T2CTL.TIP的值相乘得到prescaler的值,该值乘以time tick的周期就是一个slot的时间宽度。每slot时间触发计数器的值减1,当计数器减到0时产生中断标志。计数器的设置值乘以slot时间就是从开始到产生中断标志之间经过的时间。
Timer 2的计数器为寄存器T2CT,T2CT减到0时,置位T2CTL.TEX;如果中断允许位T2CTL.INT=1,则中断标志IRCON.T2IF会被置位,若同时IEN1.T2IE设为1,则产生中断。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
当T2CT减到0时,若T2CTL.TIG=1,则计数器在下一触发时变为0xFF(wrap around);若T2CTL.TIG为0,则T2CT保持为0。
当T2CTL.TEX置位时,可以触发DMA,称为DMA触发条件T2_OVFL。
一个slot的时间宽度的计算方法:
T = T2PR · Val(T2CTL.TIP)/ timer tick speed
Val(T2CTL.TIP)为:
Val(00) = 64
Val(01) = 128
Val(10) = 256
Val(11) = 1024
timer tick speed = (CLKCON.TICKSPD)
注意:Timer 2的3个寄存器T2CT、T2PR、T2CTL在芯片从省电模式PM2和PM3回到激活模式时会被重置(in reset state)。
用户377235 2013-8-7 18:47
用户138786 2008-7-22 22:07
用户149792 2008-7-2 11:06