问个关于MSP430内部自带RTC的问题

[复制链接]
8685|18
 楼主| hwk612167 发表于 2012-9-16 19:15 | 显示全部楼层 |阅读模式
本帖最后由 hwk612167 于 2012-9-16 19:16 编辑

如新出的430F67xx系列,内部有RTC,且有AUXVCC3专门供电。问:
1、是否可以外置锂电池输出到这个供电端?  

2、若可以,然后给MCU上电并设置好RTC后,MCU彻底断电,RTC时钟是否继续走时?  

3、过一段时间,再给MCU上电,经过BOR -> POR -> PUC后,RTC时钟是否还在并准确呢?  

手头上没有这款MCU,不然自己可以实验下,希望知道的能解答下,谢谢!
wjzx111056 发表于 2012-9-16 19:59 | 显示全部楼层
RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程的闹钟。RTC模块支持中断。相关寄存器请参阅430系列单片机user's guide(我用的是5438A)。
1.计数器模式
    实时时钟控制器寄存器1 RTCMODE位被重置时,计数器模式被选择,通过软件设置可以得到一个32位的计数器。从时钟模式切换到计数器模式是通过重置计数值:RTCNT1、RTCNT2、RTCNT3、RTCNT4 和 预换算计数器:RT0PS、RT1PS。
    计数器的增量计数器来自ACLK、SMCLK或者分频之后的ACLK、SMCLK。分频系数来自分频除法器RT0PS、RT1PS。RT0PS的输出可以和RT1PS的输出级联构成32位计数器的时钟源。4个独立的8位计数器级联成为32位的计数器。这能提供计数时钟的8位、16位、24位、32位溢出中断。RTCTEV位选择各自的触发,通过设置RTCTEVIE位,一个RTCTEV能够触发一个中断。计数器RTCNT1到RTCNT4都可以单独访问,并可能被写入数值。
2.日历模式
  当RTCMODE被置位时,万年历模式被选中。值得一提的是,万年历模式有能够计算能否被4整除的闰年算法,这个算法范围是1901年到2099年。
   2.1预分频
   分频器自动将RT0PS和RT1PS配置成为实时时钟提供一秒间隔的时钟,RT0PS源于ACLK,一般来说ACLK为32768Hz,是为了实时时钟的运行。从日历模式切换到计数器模式时,会将年月日、时分秒全部被置位1,RT0PS和RT1PS也会被置位。当RTCBCD=1时,日历寄存器会被选为BCD码,必须在时间设置之前选择好格式,改变RTCBCD的状态和切换到计数器模式影响一样。
2.2闹钟功能
   用户可编程闹钟只有在日历模式下有效。每一个闹钟寄存器都包括都包括一个闹钟使能位,AE用来修改每一个闹钟寄存器,通过设置闹钟寄存器的AE位,可以产生多种闹钟。无效的闹钟不会通过硬件的检测,所以用户有必要检查所设闹钟是否正确。
    2.3读写实时时钟寄存器
    系统时钟和实时时钟的时钟源异步,因而读写实时时钟寄存器的时候要注意。此时实时时钟寄存器每秒钟更新一次,为了防止在更新的时候读取实时时钟数据而造成错误数据的读取,应该设置一个禁止进入的窗口,在禁止进入窗口和窗口外期间,只有RTCRDY复位有效才可以读取。在RTCRDY复位的时候,读取操作是错误的并且读取的时间数据也无效被忽略。
 楼主| hwk612167 发表于 2012-9-17 09:47 | 显示全部楼层
跟我的问题不想关啊,你发的这些手册里能看到。
 楼主| hwk612167 发表于 2012-9-17 21:44 | 显示全部楼层
figo20042005 发表于 2012-9-18 18:08 | 显示全部楼层
这个应该和STM32的功能差不多吧
 楼主| hwk612167 发表于 2012-9-18 18:36 | 显示全部楼层
STM32还没用过,能大概讲讲么,我说的那几条能做到吗? 5# figo20042005
gfy90043184 发表于 2014-2-15 10:51 | 显示全部楼层
断电后肯定不能走时了。必须一直工作在低功耗模式才行
gfy90043184 发表于 2014-2-20 09:11 | 显示全部楼层
上次说错了,6系列的貌似有备用电池接端口的,那就应该断电继续走时了。
firstblood 发表于 2014-2-20 23:08 | 显示全部楼层
wjzx111056 发表于 2012-9-16 19:59
RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数 ...

内部自带的Rtc的使用,主要就是这些相关寄存器的太多,我很容易搞混的啊:L
springvirus 发表于 2015-3-11 09:59 | 显示全部楼层
楼主弄的怎样了,偶想实现MCU掉电后,其中的RTC如何保持走时
comeon201208 发表于 2015-3-11 22:57 | 显示全部楼层
RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程的闹钟。
angerbird 发表于 2015-3-12 20:59 | 显示全部楼层
用户可编程闹钟只有在日历模式下有效。每一个闹钟寄存器都包括都包括一个闹钟使能位,AE用来修改每一个闹钟寄存器,通过设置闹钟寄存器的AE位,可以产生多种闹钟。
springvirus 发表于 2015-11-12 13:43 | 显示全部楼层
本帖最后由 springvirus 于 2015-11-12 13:50 编辑

本人正做MSP430F4152的内部RTC,已成功获取日历
步骤如下:
1. 【此步非常关键】Basic Timer的BTCTL中的BTSEL清零,BTDIV置1,配置成16位计数器,BTCNT1+BTCNT2,因为RTC要用到BTCNT2
2. RTCCTL配置成HEX格式,可操作的,日历模式,使能RTC中断
【注意】若想进入Basic Timer的ISR,则必须禁止RTC中断

若有问题,建议细读相关主控的手册
vivilzb1985 发表于 2015-11-12 19:15 | 显示全部楼层
RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程的闹钟。
shenmu2012 发表于 2015-11-12 21:00 | 显示全部楼层
计数器的增量计数器来自ACLK、SMCLK或者分频之后的ACLK、SMCLK。分频系数来自分频除法器RT0PS、RT1PS。RT0PS的输出可以和RT1PS的输出级联构成32位计数器的时钟源。4个独立的8位计数器级联成为32位的计数器。这能提供计数时钟的8位、16位、24位、32位溢出中断。
firstblood 发表于 2015-11-15 11:12 | 显示全部楼层
单片机自带的RTC比定时器计算出来的时间要准确的,还有RTC的时钟源的选取时关键。
食髓知味 发表于 2016-3-28 20:22 | 显示全部楼层
springvirus 发表于 2015-11-12 13:43
本人正做MSP430F4152的内部RTC,已成功获取日历
步骤如下:
1. 【此步非常关键】Basic Timer的BTCTL中的BTS ...

msp430 rtc配置成功,但是一直进basic timer的中断,请问是哪方面原因呢
chuntian2016 发表于 2016-3-28 21:54 | 显示全部楼层
这个是否准确的跟其使用的时钟源相关系的
springvirus 发表于 2016-3-29 13:47 | 显示全部楼层
食髓知味 发表于 2016-3-28 20:22
msp430 rtc配置成功,但是一直进basic timer的中断,请问是哪方面原因呢

看F4152手册是这样,RTC要用到BTCNT2的,所以BT进中断很正常
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:前进 前进 前进

20

主题

511

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部