Part Number:MSP430F5659
之前没有找到问题设备,现在找到了,但运行了图里面的代码,RTC_B没有恢复正常,RTC_B读取数据比较乱,产生的中断也比较乱,不是1秒产生一次,读取的三个寄存器数据如下:BAKMEM0 = 0xf7bc RTCCTL01 = 0xb007 RTCCTL2 = 0x0081
?? ?:
从RTC_B中读出的时间是这样的,BOR复位也没有作用
,
?? ?:
在之前时间还是对的,但经过10天后,给电池充电,芯片产生了2的复位,然后时间就不正常了
,
Ben Qin:
你好,我咨询下资深工程师后回复您。
,
Ben Qin:
你好,您是否遵循以下应用说明来确保正确更新相应的寄存器,以确保在电源中断时 RTC_B 能够正确运行?具体第 3 节:www.ti.com/lit/slaa665
您的备用电池电路是什么样的?是否有可能在过渡期间被耗尽?
,
?? ?:
我的按照里面的DEMO做了一个检测,JZTCC01_V1维修原理图.pdf只在设备重启时检测一次,有问题就重新设一下RTC_B,但目前这样做没有什么作用,是否还漏了其他的步骤?RTC_B_OSCILLATOR_FAULT_INTERRUPT这个中断目前是没有加的。 里面有原理图,可以看看,按正常情况设备低电关机10天左右是有电的,但就是不清楚插上USB为什么会出现一个复位
,
Ben Qin:
你好,参考下工程师的回复:
我在上面链接的应用笔记中概述了一些步骤,以确保 RTC_B 在断电时保持不变,并在数据损坏时正确处理。该应用程序说明还包括演示代码,展示了正确的处理方式。
话虽如此,停电 10 天已经是相当长的时间了。他们的备用电池是否有足够的电力储备来处理这个问题?电源恢复后有办法充电吗?或者备份耗尽后是否需要更换?这些是您应该问客户的问题。话虽这么说,我只是看了他们的原理图,他们没有备用电池。他们只是将 VBAT 与小盘股 VCC 挂钩。因此,一旦失去主电源(VCC),该电容就会很快放电。所以是的,我预计这里会出现损坏,因为它们没有 RTC_B 的备用电源。
,
?? ?:
现在是希望通过软件让RTC_B恢复正常,我按照了例子里面做了但RTC_B没有恢复正常,写进去的时间是2015年,但读取出来的是2018年,就算我像图中这样做了,时间还是不正常
,
?? ?:
目前是希望通过软件的操作能让RTC_B恢复正常,能正常的产生中断,使用这个软件的BOR复位,重新启动后这个RTC_B没有什么变化
,
?? ?:
或者有没有指令让芯片进入掉电状态,然后通过按键唤醒
,
Ben Qin:
已向工程师跟进
,
Ben Qin:
参考下工程师的回复:
A BOR would clear all of the RTC data. I would start with our code example to make sure everything is working properly, then do a delta of your solution to the code example to see what's going on.
Also, make sure you are handling the LOCKBAK bit correctly when doing your changes.
,
?? ?:
这个进入掉电状态的指令呢?想试一下看看有没有作用
,
Ben Qin:
应该就是你前面试过的。
,
?? ?:
那个只是软件的BOR复位,我希望的是进入掉电状态后,要按按键才能唤醒
,
Ben Qin:
参考下下面的回复:
There is no command, but you cna program the device to go into the different LPM modes. Most interrupts wakeup the device from all power modes, with the exception of the LPMx.5 modes. They can only be woken up by RTC (LPM3.5 only), power sequence, RST, or a specific I/O.
,
?? ?:
那这个时间错乱的问题,现在有办法解决了吗?我这边在软件上试过很多操作了,但都没有作用
,
?? ?:
目前这个一秒一次中断产生得也比较乱,有可能1秒产生了10多次中断
,
?? ?:
使用RTOS操作系统时,要怎么操作才能进入LPM4.5呢?
,
Ben Qin:
参考下下面的回复:
You should start with the RTC_B example from the app note, independent of your code, and work backwards from there to see what differences there are.
,
?? ?:
有问题的设备,重新烧录后RTC就会恢复正常,目前有问题设备都是通过USB进行升级的,用正常的设备基于那个RTC_B的例子去调试,这个也看不出主要的问题
,
Ben Qin:
参考下下面的回复:
I think you maybe running into the RTC16 errata here due to how the power scheme is this design. Some of the behavior you are describing is similar to that errata. The customer's hardware design would have to account for the errata workaround to prevent this.
,
?? ?:
这样进入LPM4时,可以用p1.0中断唤醒,但进入LPM4.5时,这p1.0却不起作用了,没有产生中断这个是为什么?我看例子里面是在中断中唤醒的
,
Ben Qin:
已向相关工程师跟进。
,
?? ?:
唤醒的问题解决了,但lpm4.5模式用在RTC有问题的设备上,还是没有作用时间还是错乱的,那这个为什么烧录之后RTC可以恢复正常,能不能从这方面去考虑?
,
Ben Qin:
已向相关工程师跟进。
,
Ben Qin:
参考下下面的回复:
LPM4.5 disables and power gates the RTC. You would need to utilize LPM3.5 on those devices. Also,again the hardware power scheme is not conducive to the application. The customer needs a seperate power source of some type in order to keep the RTC running when they lose main power. Also to avoid the errata RTC16, they need to ensure that power source behaves as the workaround describes.