[MSP430学习笔记] MSP430单片机RTC操作-TimeA实现的实时时钟
- 格式:doc
- 大小:186.50 KB
- 文档页数:3
今天学习了MSP430F5系列单片机的RTC模块使用,现总结一下以防忘记。
F5系列单片机的RTC模块可以用作日历模式、可编程闹钟和可校准的时钟计数器。
RTCCTL1寄存器中的RTCMODE位决定RTC工作在日历模式还是计数器模式:RTCMODE 0 32位计数器模式1日历模式计数器模式:此时RTCMODE复位。
计数器的时钟源选择:时钟源可选自ACLK、SMCLK或者是经RT0PS和RT1PS对ACLK、SMCLK 的分频值。
RT0PS和RT1PS分别能输出ACLK和SMCLK的2、4、8、16、32、64、128、256分频。
如下图:另外,还可以看到RT1SSEL中的10、11选项练到了RT0PSDIV的输出。
它的作用是将RT0PS和RT1PS级联。
级联后的输出也可以作为32位计数器的时钟源。
4个独立的8位计数器级联成32位计数器,能提供计数时钟的8位、16位、24位、32位溢出间隔,由RTCCTL1寄存器的RTCTEV位选择其中一种触发条件。
置位RTCTEVIE,一个RTCTEV事件可以触发一个中断。
RT0PS和RT1PS可以被配置成两个8位的计数器,或者级联成一个16位的计数器。
通过设置各自的RT0PSHOLD和RT1PSHOLD位,RT0PS和RT1PS可以暂停功能,还原为独立的模块。
当RT0PS和RT1PS级联的时候,通过置位RT0PSHOLD可以导致RT0PS和RT1PS同时停止。
根据不同的配置,32 位的计数器可以有不同的方法被停止。
如果32位的计数器时钟源直接源于ACLK或者SMCLK,则可以通过置位RTCHOLD而被停止;如果它是源于RT1PS的输出,则可以通过置位RT1PSHOLD或者RTCHOLD而被停止;最后,如果它源于RT0PS和RT1PS的级联,则通过置位RT0PSHOLD、RT1PSHOLD或者RTCHOLD 而被停止。
个人理解:RTC的时钟要么来自ACLK,要么来自SMCLK,要么来自RT1PS对ACLK 或SMCLK的分频,要么来自RT0PS与RT1PS级联后对ACLK或SMCLK的分频。
MSP430F1系列定时器A结构图[1]TimerA模块结构组成在MSP430F1XX-TimerA的结构中,分别由TA基础模块、CCR0、CCR1、CCR2子模块。
TA基础模块:[1]TA基础子模块主要完成定时器时钟源的输入(时钟源的选择、分频)。
[2]TA定时器计数。
[3]定时器的工作模式设置。
CCR0、CCR1、CCR2子模块:CCRx全称为Capture Compare Register-捕获比较寄存器,这些子模块有着捕获和比较的功能。
捕获、比较信号的触发源可以从芯片的外部引脚、CPU的外围模块输入来。
同时CCRx子模块也有其输出信号OUT.x ,此OUT.x可以输出到芯片的外部引脚、或输入到CPU的外围模块中。
CCRx与TAR(Timer A Register - 简称:TAR )结合使可以实现特定的的功能。
常用TimerA可以实现功能:PWM信号输出功能:通过设置TA的工作模式,结合CCR0、CCR1或CCR2计数。
直从CCR0、CCR1或CCR2中子模块的OUT.x端输出。
Slope AD转换功能:利用定时器A与比较器A结合设计成斜边数模转换器。
实现软USART功能:利用CCR0子模块中的捕获输入功能,结合TAR实现通用串行异步通讯功能(USART)。
ADC12模块的采样信号:利用定时器的TAR或CCR0实现OUT.x输出得到ADC12模块所需要的采样触发信号。
其它应用...。
[2]TimerA 模块工作模式[TA工作模式]TA定时器的工作模式有4种,这4种模式由TACTL寄存器的MC1、MC0位控制:模式 MC1 MC0 功能说明停止0 0 TA为停止(上电状态)增计数0 1 TAR增计数至CCR0,然后回到0。
连续计数 1 0 TAR连续计数至FFFFH,然后回到0。
增/减计数 1 1 TAR增计数至CCR0,然后减计数至0。
[时钟输入]定时器A时钟源有4种选择,分别为外部时钟TACLK、辅助时钟ACLK、子系统时钟SMCLK及INCLK。
MSP430系统实时时钟RTC学习日志读取实时时钟:1、RTCRDY 为0 时,不能取读取实时时钟RT0PS 源于ACLK,为了实时时钟日历的正确的运行,ACLK 必须是32768Hz。
(易出错)定时:一、每小时闹一次:每一小时的15 分钟闹一次:1、将RTCAMIN 设置成15;2、设置RTCAMIN 的AE 位和清除闹钟寄存器的其它所有AE 位3、AF 会在:00:14:59 到00:15:00、01:14:59 到01:15:00、02:14:59 到02:15:00 等等时刻被置位。
二、在每天04:00:00 时刻闹:1、RTCAHOUR 位置位成4;2、设置RTCHOUR 的AE 位和复位闹钟寄存器的所有其它AE 位3、AF 就会在03:59:59 到04:00:00 时刻被置位。
三、在每天06:30:00 时刻闹:1、将RTCAHOUR 设置成6,将RTCAMIN 设置成30。
2、设置RTCAHOUR 和RTCAMIN 的AE 位,即可使能闹钟3、AF 位将会在每一个06:29:59 到06:30:00 的过渡时刻被置位四、在每周二06:30:00 时刻闹:1、RTCADOW 位设置成2,RTCAHOUR 设置成6,RTCAMIN 将要被设置成30。
2、设置RTCADOW、RTCAHOUR 和RTCAMIN 的AE 位,闹钟即被使能。
3、AF 位将会在RTCDOW 位从1 到2 的过渡后和06:29:59 到06:30:00 的过渡时刻被置位。
五、在每月第五天的06:30:00 时刻闹:1、RTCADAY 位将要设置成5,RTCAHOUR 位将要被设置成6,RTCAMIN 位将要被设置成30。
2、设置RTCADAY 位、RTCAHOUR 位和RTCAMIN 位的AE 位,闹钟即被使能。
3、AF 位将要在06:29:59 到06:30:00 的过渡时刻和RTCADAY 等于5 的时刻被置位。
第四讲定时器A的使用MSP430F413芯片中含有TimerA3模块,如图1-2所示。
其常用的外引线有三条:TACLK、TA1和TA2。
TACLK:定时器_A输入时钟(48脚),与P1.6和ACLK输出共用同一引脚。
TA1:定时器_A的第一通道输入、输出引脚(51脚)。
捕获方式:CCI1A输入;比较方式:OUT1输出。
TA2:定时器_A的第二通道输入、输出引脚(45脚)。
捕获方式:CCI2A输入;比较方式:OUT2输出。
1.定时器A功能及结构定时器A基本结构是一个十六位计数器,由时钟信号驱动工作,结构框图如图4-1所示。
图4-1 定时器A结构图定时器A具有多种功能,其特性如下:(1)输入时钟可以有三种选择,可以是慢时钟(ACLK)、快时钟(SMCLK与单片机主时钟同频)和外部时钟。
(2)能产生的定时中断、定时脉冲和PWM(脉宽调制)信号,没有软件带来的误差。
(3)不仅能捕获外部事件发生的时间,还可选择触发脉冲沿(由上升沿或下降沿触发)。
定时器A功能模块主要包括:(1)计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能。
(2)捕获/比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O 端口处理事务的能力和速度。
不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样,每个捕获/比较器的结构完全相同,输入和输出都取决于各自所带控制寄存器的控制字,捕获/比较器相互之间完全独立工作。
(3)输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号,支持PWM输出。
2.定时器工作模式(1)停止模式:停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。
当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。
IMPORTANT NOTICETexas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed.TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards.TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third–party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI.Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation.Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.Mailing Address:Texas InstrumentsPost Office Box 655303Dallas, Texas 75265Copyright 2002, Texas Instruments Incorporated。
MSP430F5系列16位超低功耗单片机模块原理第14章RTC 实时时钟A版本: 1.0日期: 2008.9.原文: TI slau208.pdf (5xxfamily User's Guide)翻译: 周欣南京信息工程大学编辑: DC 微控技术论坛版主注:以下文章是翻译TI slau208.pdf 文件中的部分内容。
由于我们翻译水平有限,有整理过程中难免有所不足或错误;所以以下内容只供参考.一切以原文为准。
文章更新详情请密切留意微控技术论坛。
Page 1 of 14第14章实时时钟A实时时钟模块提供了具有日历模式、灵活可编程闹钟和校准的时钟计数器。
这一章节介绍了实时时钟A模块。
实时时钟模块A执行于MSP430X5XX器件中。
14.1 实时时钟介绍实时时钟模块提供了一个具有可以配置成一般目的计数器的日历时钟。
实时时钟特点有:l可配置成实时时钟模式或者一般目的的计数器l在日历模式中提供了秒钟,分钟,小时,星期,日期,月份和年份l具有中断能力l实时时钟模式里可选择BCD码或者二进制格式l实时时钟模式里具有可编程闹钟l实时时钟模式里具有时间偏差的逻辑校正实时时钟框图见图14-1。
注意:实时时钟初始化实时时钟模块的大多数寄存器没有初始条件。
在使用这个模块之前,用户必须通过软件对寄存器进行配置。
Page 2 of 14Page 3 of 14图14-1 实时时钟14.2 实时时钟操作实时时钟模块可以被配置成具有日历作用的实时时钟或者是一个具有RTCMODE 比特一般目的的32位计数器。
14.2.1 计数器模式当RTCMODE 被重置时,计数器模式被选择。
在这个模式中,通过软件可以得到一个32位的计数器。
从日历模式切换到计数器模式是通过重置计数值(RCTNT1,RCTNT2,RCTNT3,RCTNT4),和预换算计数器(RT0PS,RT1PS)。
时钟的增量计数器可源于ACLK、SMCLK或者是分频之后的ACLK或SMCLK。
S.D.Lu的MSP430入门学习笔记(9):定时器TimerA(4)捕获功能本篇笔记介绍如何使用TimerA的捕获模式校准DCO、测量方波信号的频率/周期、脉宽和占空比。
对DCO时钟进行校准对信号脉宽、占空比等参数的测量要求高频时钟。
但是MSP430G2452的不支持外部高频时钟,所以不能使用外部高频晶振作为时钟源。
内部数控时钟DCO就成了唯一选择。
虽然TI在出厂时对MSP430的DCO进行了校准,保存了1MHz、8MHz、12MHz、16MHz这几个频率的校准值,但是由于工作环境的不同,会因为温度等因素的影响而产生较大的偏差。
所以,在对时钟要求较高的设计中,最好对其进行再次校准。
对DCO进行校准的基本原理是用TimerA定时器的捕获/比较功能,进行两个频率的比较,然后根据比较结果调整DCO的输出,直到得到指定频率。
具体方法是,使用外部的32768Hz晶振作为基准时钟源,使用TimerA的捕获功能对DCO的频率进行测量,然后通过DCOx、MODx和RSELx位来调节DCO的频率,直到其输出等于想要的频率。
请看例程:本例中,P1.4用于输出SMCLK,即DCOCLK,程序运行时,可以用示波器观察P1.4口的信号,以确认当前的DCOCLK频率。
同时,在不同DCO频率下,可以观察到P1.0上的LED闪烁频率不同。
在21~24行选择任意一行,屏蔽其它3行,可以得到16MHz、12MHz、8MHz、1MHz不同的DCOCLK频率。
函数void Set_DCO(unsigned int Delta);的作用就是设定DCO输出指定频率。
应该注意的是,参数Delta的单位是4069Hz。
下面对该函数的代码进行分析。
37行,对LFXT1CLK进行8分频作为ACLK,因为本例中LFXT1使用外部32768Hz 晶振,所以ACLK=32768Hz/8=4096Hz,这就是Delta的单位。
38行,将CCR0单元设置为捕获上升沿模式,信号输入为CCI0B,即ACLK=4096Hz。
MSP430F5529(八)实时时钟RTCMSP430F5529 (八)实时时钟RTC实时时钟模块提供了具有日历模式的时钟计数、灵活可编程的闹钟以及可校准的时钟计数器。
8.1RTC_A 简介实时时钟模块提供了一个可以配置成一般目的计数器的日历时钟。
RTC_A 的特点包括:(1). 可配置成带日历的实时时钟或者一般目的的计数器;(2). 在日历模式中提供了秒钟,分钟,小时,星期,日期,月份和年份;(3). 具有中断能力;(4). 实时时钟模式下可以配置为BCD 或者二进制模式;(5). 实时时钟模式下具有可编程的闹钟;(6). 实时时钟模式里具有时间偏差的逻辑校正;注意:实时时钟模块的大多数寄存器没有初始条件。
在使用这个模块之前,用户必须通过软件对寄存器进行配置。
8.2RTC_A 的寄存器说实话,RTC 这一章不太好写,东西太多又太碎,不好总结。
它一个人的寄存器,比前面加起来似乎还要多。
不过还好控制寄存器只有几个,大部分为数值寄存器。
(大家浏览下列寄存器时,注意和上面的结构图配合)贴这张图的目的仅仅在于告诉大家,16 位的寄存器大部分被分成两个8 位的寄存器了,操作的时候需要注意你的操作对象是8 位的还是16 位的。
在这里常用8 位寄存器来操作。
(以下如未特意声明,则全部为8 位寄存器)RTCCTL0 实时时钟控制寄存器0(r0 表示读为0)RTCTEIVE:实时时钟-时间事件中断使能0:禁止中断1:允许中断RTCAIE:实时时钟-闹钟中断使能,在计数器模式时被清除(RTCMODE=0)0:禁止中断1:允许中断RTCRDYIE:实时时钟读取准备中断使能0:禁止中断1:允许中断RTCTEVIFG:实时时钟-时间事件标志0:没有时间事件发生1:有时间事件发生RTCAIFG:实时时钟- 闹钟标志位,在计数器模式时被清除(RTCMODE=0)0:没有时间事件发生1:时间事件发生RTCRDYIFG:实时时钟读取准备标志位0:实时时钟不能被安全读取1:实时时钟能被安全读取RTCCTL1 实时时钟控制寄存器1(rw-(0)。
MSP430单片机定时器学习笔记
msp430 定时器学习笔记
_BIS_SR(LPM2_bits + GIE) //进入LPM3 低功耗模式和开总中断允许
中断
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
}
TACTL timerA 控制寄存器
TAR timerA 计数器
CCTL0 捕获/比较控制寄存器0
CCRO 捕获/比寄存器0(具有最高中断优先级别,单独使用一个中断向量) CCTL1 捕获/比较寄存器1
CCR1 捕获/比较寄存器1
CCTL2 捕获/比较寄存器2
CCR2 捕获/比较寄存器2
TAIV 中断向量寄存器
其中,定时器,CCR2,CCR1 三者共用一个中断向量
TimerA 输出模式:
输出模式0 输出模式:输出信号OUTx 由每个捕获/比较模块的控制寄存器CCTLx 中的OUTx 位定义,并在写入该寄存器后立即更新。
最终位OUTx 直通。
输出模式1 置位模式:输出信号在TAR 等于CCRx 时置位,并保持置位到。