技术分类: 嵌入式系统 | 2007-06-04
作者:wormchen
最近做一个控制板用到PCF8563时钟芯片,芯片的初始化和读写都很正常,但是再我实验掉电后时钟是否运行正常的时候(我用3VRC2032作备用电池)发现再次上电的时候分钟会很快增加。刚开始我还以为是我在五十几秒的时候掉电呢,后来经过几次不同时间掉电再上发现分钟还是很快会增加。后来我把秒也显示出来才发现每次掉电后再上电秒都是从54开始走起,这种问题我还是头一次遇到。程序能读出来和写入,我感觉驱动程序上应该不会有问题,那是什么问题呢:( ,难到是初始化的问题,再次看过一边手册并没有说要初始化,只是有一个启动和停止时钟的操作位。我掉电后是由备份电池供电继续供电,所以不需要初始化这一点我也排除了,再有就是上电的时候电源会不会影响8563,我仔细检查电路后觉得也不会因为这个,8563供电部分加有100uf的电容滤波况且手册上说他的供电电源范围很宽1~5.5V。然后我开始在QQ上请教一些朋友,结果他们也看不出我的程序有什么问题。后来我加的“AVR技术讨论”群里的一位朋友问了我一句:“加上拉电阻没?”,我的电路确实没加上拉电阻,当初我设计图纸的时候用的51的P1口
,本身是带上拉电阻的,虽然手册典型应用电路里有上拉电阻但设计电路时我就没加,后来在调试程序的时候PCF8563时钟数据读取和写入都很正常所以就觉得不加也可以。我实在是想不出还有其他什么问题会造成现在问题,索性焊上两个4.7K的电阻吧,反正又不费事如果不行不也就排除了这种可能性吗?在焊上两个上拉电阻后,掉电后再上电竟然正常了,我不放心又在不同秒的时候反复实验,发现时钟走的很正常。难道就没有加上拉电阻上电的时候影响了时钟芯片,我很疑惑,虽然问题解决了但我感觉还是糊里糊涂的,不知道问题的根源出在什么地方,希望看到这篇文章知道原因的朋友告诉我。
写这篇文章的目的是为了大家在用PCF8563时能够注意到这个问题(或许你根本不会遇到),在设计电路时也能细心仔细,不要应为一时的疏忽大意带来后期不必要的麻烦!下面是官方的典型应用电路: