技術分類: 嵌入式系統 | 2007-06-04
作者:wormchen
最近做一個控制板用到PCF8563時鐘芯片,芯片的初始化和讀寫都很正常,但是再我實驗掉電后時鐘是否運行正常的時候(我用3VRC2032作備用電池)發現再次上電的時候分鐘會很快增加。剛開始我還以為是我在五十幾秒的時候掉電呢,后來經過幾次不同時間掉電再上發現分鐘還是很快會增加。后來我把秒也顯示出來才發現每次掉電后再上電秒都是從54開始走起,這種問題我還是頭一次遇到。程序能讀出來和寫入,我感覺驅動程序上應該不會有問題,那是什么問題呢:( ,難到是初始化的問題,再次看過一邊手冊并沒有說要初始化,只是有一個啟動和停止時鐘的操作位。我掉電后是由備份電池供電繼續供電,所以不需要初始化這一點我也排除了,再有就是上電的時候電源會不會影響8563,我仔細檢查電路后覺得也不會因為這個,8563供電部分加有100uf的電容濾波況且手冊上說他的供電電源范圍很寬1~5.5V。然后我開始在QQ上請教一些朋友,結果他們也看不出我的程序有什么問題。后來我加的“AVR技術討論”群里的一位朋友問了我一句:“加上拉電阻沒?”,我的電路確實沒加上拉電阻,當初我設計圖紙的時候用的51的P1口
,本身是帶上拉電阻的,雖然手冊典型應用電路里有上拉電阻但設計電路時我就沒加,后來在調試程序的時候PCF8563時鐘數據讀取和寫入都很正常所以就覺得不加也可以。我實在是想不出還有其他什么問題會造成現在問題,索性焊上兩個4.7K的電阻吧,反正又不費事如果不行不也就排除了這種可能性嗎?在焊上兩個上拉電阻后,掉電后再上電竟然正常了,我不放心又在不同秒的時候反復實驗,發現時鐘走的很正常。難道就沒有加上拉電阻上電的時候影響了時鐘芯片,我很疑惑,雖然問題解決了但我感覺還是糊里糊涂的,不知道問題的根源出在什么地方,希望看到這篇文章知道原因的朋友告訴我。
寫這篇文章的目的是為了大家在用PCF8563時能夠注意到這個問題(或許你根本不會遇到),在設計電路時也能細心仔細,不要應為一時的疏忽大意帶來后期不必要的麻煩!下面是官方的典型應用電路: