[ZLG-ARM] 关于LPC213x内部RTC供电的问题,答众网友:

[复制链接]
2104|1
 楼主| reeper 发表于 2009-4-3 10:46 | 显示全部楼层 |阅读模式
实际测试电路如附图所示,实际使用电池为镍氢充电电池,电压为3.6V。<br /><br />大家问题的焦点是:LPC213x内部RTC在CPU处于掉电模式或者芯片未上电时,使用后备电池和外部晶振能否正常工作。此文不讨论如何为备用电池充电的问题,这属于外围电路设计。<br /><br />//时钟初始化函数<br /><br />void&nbsp;RTC_Ini(void)<br /><br />{<br /><br />//PREINT&nbsp;=&nbsp;Fpclk&nbsp;/&nbsp;32768&nbsp;-&nbsp;1;//&nbsp;使用内部时钟,设置基准时钟分频器<br /><br />//PREFRAC&nbsp;=&nbsp;Fpclk&nbsp;-&nbsp;(Fpclk&nbsp;/&nbsp;32768)&nbsp;*&nbsp;32768;<br /><br />YEAR&nbsp;=&nbsp;2004;//&nbsp;初化年<br /><br />MONTH&nbsp;=&nbsp;11;//&nbsp;初化月<br /><br />DOM&nbsp;=&nbsp;1;//&nbsp;初化日<br /><br />CIIR&nbsp;=&nbsp;0x01;//&nbsp;设置秒值的增量产生一次中断<br /><br />ILR=&nbsp;0x03;<br /><br />CCR=&nbsp;0x11;//&nbsp;启动RTC,使用独立时钟源<br /><br />VICIntSelect&nbsp;=&nbsp;0x00;<br /><br />VICVectCntl3&nbsp;=&nbsp;0x20&nbsp;|&nbsp;13;<br /><br />VICVectAddr3&nbsp;=&nbsp;(int)RTC_Int;<br /><br />VICIntEnable&nbsp;|=&nbsp;(1&nbsp;&lt&lt&nbsp;13);<br /><br />}<br /><br />这个RTC初始化函数摘自一个使用LPC213x内部RTC作日历时钟的例子。<br /><br />在初始化代码中,只设置了年月日寄存器,没有设置时分秒寄存器,这样在芯片上电时如果RTC正常工作的话那么其时分秒是正确的,而年月日会恢复到初始值。<br /><br />实际测试结果是,设置好当前年月日、时分秒,然后拔除开发板电源后,再上电时,时钟的年月日恢复到初始值,时分秒走时正确。无论断电时间长短,测试结果相同。<br /><br />也就是说,芯片掉电后内部RTC使用外部电源和晶振依然可以工作,而且芯片复位并不会影响RTC的工作。<br /><br />内部RTC使用外部电源供电时需要注意:<br /><br />=============选择外部晶体振荡器为RTC时钟源=============<br /><br />如果要使用内部RTC,那么Vbat引脚必须有电源供电。如果不使用内部RTC,那么将该引脚接地。<br />
胡刚 发表于 2009-4-6 16:25 | 显示全部楼层

谢谢

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

139

主题

185

帖子

0

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