历史上的今天
返回首页

历史上的今天

今天是:2025年05月06日(星期二)

正在发生

2021年05月06日 | MSP430 定时器A

2021-05-06 来源:eefocus

1.定时器A介绍


1.1 16位Timer_A3系统介绍


首先需要说明的是Timer_A3,在MSP430F14x以及MSP430F13x芯片中,大多包含了16位定时器A,由于Timer_A通常具有3个捕获/比较器,因此通常称为Timer_A3。Timer_A是一个在MSP430系列单片机中广泛具有的16位通用定时器/计数器,具有以下特点:


※16位定时器、4种工作模式


※多种可选择的计数器时钟源


※多个可配置输入端的捕获/比较寄存器


※8种输出模式的可配置输出单元


除此之外,Timer_A理所应当的具有了中断能力,中断可以由计数器溢出产生,或者由捕获/比较寄存器产生。


1.2 16位计数器部分



Timer_A3的功能结构可以分为3个部分:16位计数器部分、捕获/比较寄存器部分和输出单元。


我们现在看到的是计数器部分,这里是计数器部分的4个时钟源,供用户选择。其中ACLK和SMCLK时来自于单片机内部。时钟源选择之后,要经过一个分频器,该分频器可以配置。输出之后加入时钟可以驱动16位的计数器。然后这里是计数模式选择控制器,一共有四种模式可以选择。这里是可以设置中断标志。


1.3捕获/比较控制与寄存器结构



我们现在看到的是捕获/比较控制与寄存器结构图。这里是选择捕获的输入源的,可以有4种源的选择,最常用的是前面两个:CCIxA和CCIxB。这里是捕获模式,它可以选择上升沿捕获、下降沿捕获或者上升或下降沿都捕获。这里是捕获/比较寄存器,是将捕获时的计数值存下来,这样有助于用户进行测量。然后这里是比较器,是将计数器和捕获/比较寄存器的值进行比较。比较之后得到一个PWM波形。


1.4输出单元结构



我们现在看到的是一个输出单元,这个输出单元可以向外面输出各种不同的波形,也就是产生的PWM波形,这个波形在工业控制中是非常有用的。这个MSP430定时器A的功能,还是非常强大。


看了这些框图,我们知道,它非常适合于工业控制。


1.5 Timer_A3控制寄存器


Timer_A3的所有操作都通过控制相关的控制寄存器来实现的。Timer_A3部分的控制寄存器由TACTL、CCTLx、CCRx、TAR和TAIV寄存器组成,其中TACTL 主要包含了16位计数器中的控制位和状态位;CCTLx主要控制捕获/比较寄存器和比较器;CCRx与捕获/比较寄存器相关;TAR是16位计数器的技术执行单元,保存了计数器的内容;TAIV保存了中断请求的中断信息。


1.6 TACTL控制寄存器



我们现在看到的是TACTL控制寄存器。


TASSEL1|TASSEL0:选择输入到分频器的时钟源。3:INCLK,外部输入时钟(MSP430F149的P2.1);2:SMCLK,子系统时钟;1:ACLK,辅助系统时钟;0:TACLK,外部引脚输入信号(MSP430F149的P1.0)


ID1|ID0:选择分频器的工作模式。3:1/8分频;2:1/4分频;1:1/2分频;0:不分频


MC1|MC0:选择定时器工作模式。3:增减计数模式:计数器增计数到CCR0后再减计数到0;2:连续计数模式:计数器增加到0xFFFFH再清零重新计数;1:增计数模式:计数器增计数到CCR0后再清零重新计数;0:停止模式:暂停计数


CLR:计数器清零。


TAIE:定时器溢出中断允许位,当不使用中断向量TIMERA1_VECTOR时,不需要使用该位。


TAIFG:定时器溢出标志位。增计数模式下,当计数器由CCR0被清零后该位置位;连续计数模式下,当计数器由0xFFFFH被清零后该位置位;增减计数模式下,当计数器减数到0时该位置位。


1.7CCTLx捕获/比较控制寄存器



每一个CCTLx控制寄存器共有16位,其中第9位没有使用,其他位在POR后全部复位,但不受PUC影响。


CAPMOD1|CAPMOD0:捕获模式选择。3:上升沿捕获和下降沿捕获;2:下降沿捕获;1:上升沿捕获;0:禁用捕获模式。


CCIS1|CCIS0:捕获事件的信号输入源。3:选择Vcc为捕获事件的信号输入源;2:选择GND为捕获事件的信号输入源;1:选择CCIxA为捕获事件的信号输入源;0:选择CCIxB为捕获事件的信号输入源。


SCS:捕获信号与计数器时钟是否同步。1:同步捕获;0:异步捕获。


SCCI:当比较器输出比较相等信号(EUQx)时,EUQx控制锁存器将CCIS1|CCIS0选定的捕获事件信号源的信号锁存在锁存器中,并由SCCI输出。


CAP:捕获/比较模式选择。1:捕获模式;0:比较模式。


1.8CCTLx捕获/比较控制寄存器



PUTMOD2|OUTMOD1|OUTMOD0:选择输出单元的输出模式。7:PWM复位/置位模式;6:PWM翻转/置位模式;5:复位模式;4:翻转模式;3:PWM置位/复位模式;2:PWM翻转/复位模式;1:置位模式;0:输出模式。


CCIE:中断允许位。1:允许中断;0:禁止中断。


CCI:用户可以从此位读出在捕获模式中选择捕获事件的输入信号源。


OUT输出信号控制位,用来控制在输出0模式下,OUTx的输出信号。1:输出高电平;0:输出低电平。


COV:捕获寄存器溢出标志位。当捕获寄存器中的值在用户读出前,再次发生捕获事件,则该位置位,置位后用户需要软件对该标志位复位。


CCIFG:中断标志位,在不同的模式下该中断标志位置位标志不同的意义:


捕获模式下,表示CCRx中保存了捕获到的TAR值;比较模式下,表示TAR中的值等于CCRx中的值。


其中CCIFG0在进入中断服务程序时能自动复位,CCIFG1和CCIFG2在读取TAIV时被自动复位,当寄存器不能自动复位时,用户可以软件清除中断标志位。


1.9其余寄存器


CCRx捕获/比较寄存器:该寄存器在不同的模式下具有不同的意义,具体的例子在后面会有详细的例程。


捕获模式下,在外部输入信号满足捕获条件时,则系统将TAR中的数据保存到CCRx寄存器中。比较模式下,用户根据预先设定的时钟源、分频系数和定时器工作模式,向CCRx中写入定时长度。


TAR计数器内容:TAR中保存了16位计数器当前的数值。


TAIV中断向量寄存器:TAIV中保存了中断请求的中断源,保存Timer_A3的中断向量仅占有了寄存器的第3~1位。



推荐阅读

史海拾趣

问答坊 | AI 解惑

Arm—DSP—FPGA的比较

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软 件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处 ...…

查看全部问答>

最近我想做个血糖仪不知道哪位大侠做过呢?

最近我想做个血糖仪不知道哪位大侠做过呢?…

查看全部问答>

请问哪位了解键盘扫描的IC?

请问哪位了解键盘扫描的IC?想要了解一些IC的型号。 像ZLG7290,但是它的封装有些大。 不知道大家有没有相关的IC推荐?…

查看全部问答>

PADS2007 系列教程

[ 本帖最后由 静若幽兰 于 2010-5-15 11:50 编辑 ]…

查看全部问答>

MC34063廉价的DC/DC变换器

DC/DC变换器控制电路                            34063是一单片双极型线性集成电路 专用于直流直流变换器控制部分 片内包含有温度补偿带隙基准源一 ...…

查看全部问答>

急,wince下tts使用,望赐教

上面安排下来要做哥wince下的TTS,以前没这方面的经验,下了一个SDK但是不支持wince系统,帮助文档这么说 “例子针对Pocket PC/Smartphone系统开发,如果需要在 Windows CE系统上运行,需要新建项目,并平滑朗读代码就可以了” 不知道什么意思, ...…

查看全部问答>

***奇怪现象,IPCP协商后发IP包无应答。****

我用PC连接手机拨号上移动的GPRS,自己发PPP帧,但是IPCP过程完成后,发TCP连接建立第一包服务器就无应答了,怎么回事啊? 下面为发包过程: 1、[发送] 我的LCP_Request 7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 2E 7D 22 7D 26 7D 20 7D 20 7D ...…

查看全部问答>

最超值的NRF905-CC11000-红外线综合开发板JASK2000

最超值的NRF905-CC11000-红外线综合开发板JASK2000 JASK2000开发系统     集成当前433频段最主流无线收IC :NRF905 ,CC1100及红外收发器,相信掌握这3款无线收发器原理及应用对大家在无线应用开发领域奠定扎实基础.我公司提供全面技术支 ...…

查看全部问答>

北京哪有卖非接触式ic卡读卡器的?

北京哪有卖非接触式ic卡读卡器的? 我是大学生,只要买一个便宜的用作项目研究。 谢谢大家了…

查看全部问答>

PCI9054

谁能介绍以下PCI9054的情况!它是不是有自己的上层软件的接口函数什么的?如何进行VC++的总线编程?谢谢!…

查看全部问答>