内置RTC误差

[复制链接]
2088|27
 楼主| 午夜粪车 发表于 2016-9-27 21:01 | 显示全部楼层 |阅读模式
用的MSP430F5438A,内置RTC误差大的无法忍受,内部校准功能也用上了,结果是1分钟快0.6秒!
spark周 发表于 2016-9-27 21:01 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| 午夜粪车 发表于 2016-9-27 21:01 | 显示全部楼层
觉得这东西本质就是个计数器,只要32768晶振没问题,不可能差多少
liliang9554 发表于 2016-9-27 21:02 | 显示全部楼层
晶振没问题?
 楼主| 午夜粪车 发表于 2016-9-27 21:02 | 显示全部楼层
可以保证晶振确实没问题。现在板子都做好了,这可怎么办?好后悔没选择外置RTC。诸位有遇到这个问题吗?
zhaoxqi 发表于 2016-9-27 21:02 | 显示全部楼层
要精准,就不要用内部RTC。用外置晶振吧
huangchui 发表于 2016-9-27 21:02 | 显示全部楼层
你的这个误差确实有点大,MSP430F5438A内部的RTC_A可以做到更小的误差的
jiajs 发表于 2016-9-27 21:02 | 显示全部楼层

MSP430F5438内部带一个RTC_A模块,有以下功能:
1. MSP430F5438 内部带RTC_A模块,该模块可以提供实时时钟和日历功能,也可以配置成普通的计数器。
2. RTC的计数增加的时钟源可以使ACLK,SMCLK或者是他们分频后的时钟.
3. 使能RTCMODE选择日历模式,可以选择BCD或十六进制方式提供秒,分,小时,星期,日期和年份。
4. RTC_A提供一个闹钟系统,用户可编程控制的闹钟
5. RTC_A的寄存器每秒更新一次
6. 软件复位不会影响RTC的寄存器,上电复位需要重新设置.
zhanghqi 发表于 2016-9-27 21:03 | 显示全部楼层
会不会是对内部寄存器操作时,引起误差?
 楼主| 午夜粪车 发表于 2016-9-27 21:03 | 显示全部楼层
我的RTC是单片机内置的,但晶振是外置的,而且我换了两个了,这个晶振在别的地方用过,一天的误差不超过2秒的。
zhenykun 发表于 2016-9-27 21:03 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| 午夜粪车 发表于 2016-9-27 21:03 | 显示全部楼层
我的程序对RTC的操作频率很低的,只有在需要的时候才会读日期和时间。
wyjie 发表于 2016-9-27 21:04 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| 午夜粪车 发表于 2016-9-27 21:04 | 显示全部楼层
这个是我的程序,主要是对时钟ACLK的配置。我就怕出问题,所以配置的很简单,请高手帮忙看看:

ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz

void CLK_Init(void)
{
    // Initialize LFXT1
    P7SEL |= 0x03;                                    // Select XT1
    UCSCTL6 &= ~(XT1OFF);                     // XT1 On
    UCSCTL6 |= XCAP_1;                        // Internal load cap

    do
    {
        UCSCTL7 &= ~XT1LFOFFG;                // Clear XT1 fault flags
    }while (UCSCTL7&XT1LFOFFG);               // Test XT1 fault flag
   
    UCSCTL6 &= ~(XT1DRIVE_3);                 // XT1 now stable, reduce strength
}

配置好XT1LF以后,ACLK会默认使用XT1LF的。  
jlyuan 发表于 2016-9-27 21:04 | 显示全部楼层
yszong 发表于 2016-9-27 21:04 | 显示全部楼层
估计实际寄存器操作太多了。
dengdc 发表于 2016-9-27 21:04 | 显示全部楼层
实在不行就认为调误差,就是把你多出来的那0.6秒人为得减去,不就OK了。
heweibig 发表于 2016-9-27 21:05 | 显示全部楼层

实在不行就认为调误差,就是把你多出来的那0.6秒人为得减去,不就OK了。

为了省成本吗,谁让你这么火急火燎的做出来了呢。
 楼主| 午夜粪车 发表于 2016-9-27 21:05 | 显示全部楼层
不是为了省成本,是为了电路简单 。 我们用过其他单片机,也是内置RTC,从没出现这么差的精度,只是低功耗不如430,这才改了,没想到啊没想到…………
heweibig 发表于 2016-9-27 21:05 | 显示全部楼层
只要是使用外部的晶振,内置的RTC根本没有问题,不会影响精度的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

867

主题

10194

帖子

3

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