大家好、
我们面临一些生产单元的 RTC_C 模块时间滞后问题、
我在我的产品中使用 MSP430F67771a MCU、并且在主电源切断时面临时间滞后问题。
根据 TI 文档、
当电源可用时、DVCC 允许 AUXVCC3由电源供电、
足以为 AUXVCC3供电。 断电时、电池会通电
AUXVCC3并保持 RTC 功能、尽管芯片的其余部分没有电源。
在我们的硬件设计/原理图中、电池连接到 MCU 的 AUXVCC3引脚。
RTC 软件配置如下所述
ACLK = 32.768kHz、MCLK = SMCLK 1.048MHz
//时钟初始化
UCSCTL6 &=~(XT1OFF); // XT1打开
UCSCTL6 |= XCAP_1; //内部负载电容
// 执行
// {
// UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + DCOFFG);
// //清除 XT2、XT1、DCO 故障标志
// SFRIFG1 &=~OFIFG; //清除故障标志
// while (SFRIFG1&OFIFG); //测试振荡器故障标志
UCSCTL6 &=~(XT1DRIVE0+XT1DRIVE1); // XTAL 现在稳定、减少驱动
//强度低以消耗更少的功率
//------ 将系统时钟设置为1MHz ---
_bis_SR_register (SCG0); //禁用 FLL 控制循环
UCSCTL0 = 0x0000; //设置可能的最低 DCOx、MODx
GetSystemClockSettings (cSystemSpeed、&pDcoRange、&pCoreVoltage、&pMultiplier);
UCSCTL1 = pDcoRange ; // DCO 范围
UCSCTL2 = pMultiplier + FLLD_1; //设置 DCO Multiplier
UCSCTL3 = FLLD_0;
UCSCTL4 = SELA_XT1CLK | SELESS__DCOCLKDIV | SELM_DCOCLKDIV;
_BIC_SR_register (SCG0); //启用 FLL 控制环路
RTC 初始化代码:-
//启用充电器
AUX3CHCTL = AUXCHKEY + AUXCHC_1 + AUXCHV_1 + AUXCHEN;
//启动 RTC 日历模式
RTCCTL0_H = RTCKEY _H; //解锁 RTC_C 模块
RTCCTL0_L |= RTCTEVIE | RTCAIE | RTCRDYIE;//启用 RTC 时间事件、警报事件、
RTCCTL1 |= RTCHOLD; // RTC 使能 RTC 保持
RTCCTL1 &=~(RTCHOLD); //启动 RTC 日历模式
RTCCTL0_H = 0; //锁定 RTC_C 模块
导致此问题的可能出现的问题。 我发现很难找到解决此问题的方法。
请提供建议。
提前感谢。
Sandeep