[资料分享] MSP430FR6989 定时器分析

fish001   2019-8-16 17:25 楼主

1.写在前面:
最近马上要开始电赛了,今年是TI第一年作为承办方,有可能有一道题必须要求用TI的芯片,所以用惯了32的我也只好拿起一块MSP430板卡,开始MSP430的学习。(菜鸡第一次写博客,大家多多包含,欢迎大家在下面留言。)
2.MSP430定时器解析:
2.1

360截图20190816172203899.jpg
上图中第8-9位为定时器时钟源选择,MSP430fr6989包含3个时钟,ACLK为辅助时钟,一般为低频时钟,SMCLK为次级主时钟,MCLK为主时钟,主要为cpu使用。ID位为定时器分频系数,即输入定时器的时钟分频之后作为计数用。MC位为模式选择,包含停止模式(不开启定时器),向上计数模式,连续计数模式,和向上向下计数模式。
向上计数模式:计数到TAxCCR0之后复位,重新计数。如果使能了更新中断,会触发中断。
连续计数模式:计数到0xFFFF即最大值之后复位,重新计数。如果使能了更新中断,会在TAxCCR0处触发中断。
向上向下计数模式:向上计数到TAxCCR0之后,再向下计数到0,时域图像应该是三角形的周期函数。
个人感觉向上计数模式和连续计数模式的区别就是向上计数模式在计数到TAxCCR0之后产生中断并同时复位,但是连续计数模式在计数到TAxCCR0之后会产生中断,并且一直计数到65535才复位。连续计数模式的中断和复位并完全不是同时的,个人感觉应该是这个区别。
TACLR位为定时器清除位。
TAIE位为定时器中断使能位,置1使能中断。
TAIFG为定时器中断标志位,中断发生该位置1。
2.2

360截图20190816172240500.jpg
储存计数器的counter的寄存器,没什么好说的,16位,最大65535.
2.3

360截图20190816172316943.jpg

CM位为捕获模式选择位:可选上升沿捕获,下降沿捕获,或者上升下降沿都捕获。
CCIS位为捕获/比较输入选择,字面意思,博主也没咋用过,不太清楚,一般默认就好。
SCS位为同步异步捕获选择位,可选同步捕获或者异步捕获。
CAP位为捕获/比较选择位,可以选择位输出捕获模式,或者输出比较模式。简而言之捕获模式,就是计数器可以把某个位上升沿或者下降沿的时刻记录下来,可以达到记录高低电平的时间的目的。输出比较就是预设一个值,将counter的值和预设值比较,大于就输出高电平(低电平,可以通过软件选择),这样可以达到输出周期脉冲的目的,这就是常说的PWM(脉宽调制)。
输出模式由 OUTMODx 位定义。对于除 0 模式外的所有模式,OUTx 信号都随着定时器
时钟的上升沿而变化。输出模式 2、3、6 和 7 对于输出单元 0 并不有用,因为 EQUx = EQU0。(这个我也没咋看懂,大家有兴趣可以自己查查)
CCIE位为捕获/比较中断使能位。
CCI为捕获/比较输入位,只读,比如说输入捕获模式下,输入的高低电平即反映在这个位上。
OUT位为输出位。即PWM输出的高低电平。
2.4

360截图20190816172407949.jpg

官方文档说的很清楚了。在输入捕获模式下,当输入被捕获到时,TAR寄存器的值将会被copy到这个寄存器来。输出比较模式下这个寄存器的值,将会和定时器中的值进行比较,来决定输出的值。
2.5

360截图20190816172504891.jpg

由于MSP430存在多个中断共用一个中断向量的情况,所以可能需要在中断中根据该位判断究竟中断源是哪个。
最后还有一个决定分频系数的寄存器,就不贴图了。

最后需要注意的是定时器A的中断向量有两个,一个是TIMER1_A0_VECTOR,另外一个是TIMER1_A1_VECTOR.前者为CCR0中断独占,(因为它优先级最高)。后者为CCR1,CCR2,定时器溢出中断公用。
 

回复评论 (2)

楼主有这块板的中文资料吗?
点赞  2020-1-5 15:57
引用: 莫棱莫合 发表于 2020-1-5 15:57 楼主有这块板的中文资料吗?

 1楼是中文资料

点赞  2020-1-5 17:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复