电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

CC2510芯片功能学习:MAC时钟(Timer 2)

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,则产生中断。

当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)。

博主
lanzhoo
lanzhoo's Blog
lanzhoo