EDN首页   博客首页

日志档案

发表于 2008-5-7 22:41:45

1

标签: WSN  CC2510  无线单片机  

CC2510芯片功能学习:Timer1

===

主要是翻译芯片datasheet的内容

===

Timer1

 

Timer116比特定时器。可实现典型的定时/计数功能,比如输入捕捉、输出比较、PWM(脉宽调制)。

Timer13个独立的输入捕捉/输出比较通道,每个通道对应1个引脚。

 

Timer1的特性包括:

l         3个输入捕捉/输出比较通道;

l         输入捕捉可定义上升沿、下降沿或任意边缘触发;

l         输出比较的SetCleartoggle

l         计数器:Free-running, modulo or up/down

l         计数时钟是时钟除以1, 8, 32128

l         中断;

l         由射频触发的Capture

l         DMA触发功能;

l         Delta-Sigma调制模式;

 

计数模式:

计数模式下,16比特的计数器随着有效的时钟跳变(上升沿、下降沿或任意)递增或递减。

时钟频率由CLKCON.TICKSPDT1CTL.DIV指定。CLKCON.TICKSPD设置timertick speedtick speed与芯片晶振频率有关。对晶振频率26MHzCC2510Fxtick speed的范围是203.125kHz26 MHzT1CTL.DIVtick speed进一步分频(1, 8, 32128),因此Timer1使用的最低时钟频率是1.587kHz

 

The counter operates as either a free-running counter, a modulo counter, or as an up/down counter for use in centre-aligned PWM. It can also be used in DSM mode.

 

计数器的值可以通过SFRT1CNTH T1CNTL读出。读出的顺序是先读T1CNTL

T1CNTL寄存器的操作会reset计数器。

当计数器溢出时可以产生中断。

通过T1CTL可以控制计数器的启动或暂停。向T1CTL.MODE写入00使计数器停在当前值,写入非0值可以使计数器继续工作。

 

T1CTL决定Timer的运行模式。

Free-running模式:从0000开始递增,递增到0xFFFF时,在下一个触发沿变为0x0000。当递增到0xFFFF时,称为overflow(溢出),T1CTL.OVFIF标志被设置。如果中断屏蔽位TIMIF.OVFIM被设置的话,中断标志IRCON.T1IF也会被设置。当中断允许位TIMIF.OVFIM IEN1.T1EN都被设成1时,产生中断。

 

Modulo模式:Modulo模式和Free-running模式很相似。不同的是通过寄存器T1CC0H:T1CC0L设置了计数器的溢出门限。

 

Up/Down模式:在Up/Down模式,计数器从0开始递增,当到达T1CC0H:T1CC0L设置了的溢出门限后,改为递减,递减到0后再改为递增。递减到0时,定义为overflow

 

The up/down mode can be used when symmetrical output pulses are required with a period other than 0xFFFF, and therefore allows implementation of  centrealigned PWM output applications.

 

 

通道模式控制

通过各通道的控制及状态寄存器T1CCTLn来设置通道的模式,相应地还要将引脚设置为Timer 1外设引脚模式。

 

输入捕捉模式:当一个通道被配置为输入捕捉模式时,当对应的引脚的电平发生指定的跳变时,16比特计数器的值会被读入到指定的通道寄存器T1CCnH:T1CCnL

当捕捉事件发生时,相应通道的中断标志T1CTL.CH0IF, T1CTL.CH1IFT1CTL.CH2IF将被设置。当对应的中断屏蔽位T1CCTL0.IM, T1CCTL1.IMT1CCTL2被设置的话,IRCON.T1IF标志位会被设置,当IEN1.T1EN中断允许的话,产生中断。

 

射频事件捕捉

各通道还可以设置为由射频中断来触发捕捉事件,设置方式是T1CCTLn.CPSEL=1。这时由RFIM定义的射频事件可以用来触发捕捉。该模式下,CLKCON.CLKSPDCLKCON.TICKSPD 必须设置为000

 

输出比较模式:输出比较模式下的相关引脚为输出引脚。当自由运行的计数器的值与通道寄存器T1CCnH:T1CCnL的值相同时,引脚的电平按照T1CCTLn.CMP的定义设为高电平、低电平或电平反转(toggle)。写T1CCnH:T1CCnL的顺序是先写T1CCnL再写T1CCnH

对于输出比较模式0-2,当将新的设置值写入T1CCnH:T1CCnL寄存器后,该设置值就生效。对于其它输出比较模式,将新的设置值写入T1CCnH:T1CCnL寄存器后,当计数寄存器的值为0时,该新的设置值生效。

当比较事件发生时,相应通道的中断标志T1CTL.CH0IF, T1CTL.CH1IFT1CTL.CH2IF将被设置。当对应的中断屏蔽位T1CCTL0.IM, T1CCTL1.IMT1CCTL2被设置的话,IRCON.T1IF标志位会被设置,当IEN1.T1EN中断允许的话,产生中断。特殊情况是,当Timer1运行在up-down模式时,通道0的中断标志在计数器到达0时产生,而不是在比较事件发生时产生。

 

Timer1中断

Timer11个专门的中断向量。中断事件包括计数器溢出(free-running模式和Time-Modulo模式)或计数器回0Up-Down模式)、输入捕捉事件、输出比较事件。

中断标志位:T1CTL.OVFIF, T1CTL.CH0IF, T1CTL.CH1IF, T1CTL.CH2IFIRCON.T1IF

中断屏蔽位:T1CCTLn.IMTIMIF.OVFIM

中断使能:IEN1.T1EN

 

Timer1 DMA触发器

Timer1对应3DMA TriggerT1_CH0, T1_CH1 and T1_CH2。分别在3个通道的输出比较事件产生时触发。

注:估计是用于利用DMA来设置T1CCn来实现PWM

 

 

系统分类: 单片机   |   用户分类: CC2430/2510软件设计   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(160)    回复(0)  

投一票您将和博主都有获奖机会!