時鐘芯片PCF2129在批量生產過程中,有客戶反饋PCF2129有0.2%左右芯片I2C通信異常,無法讀寫寄存器,芯片BAT供電比VCC低或者斷開VCC和BAT供電后恢復正常。經過測試發現0x02地址寄存器值異常為0x88,改為默認值0x00,芯片恢復正常。
在很多設計中都會用到時鐘芯片,PCF2129是NXP推出的內置晶振高精度時鐘芯片,芯片帶有補償寄存器,精度可達3ppm。該時鐘芯片具有精度高、功耗低、使用方便等特點。
在使用PCF2129,有客戶反饋出現0.2%的芯片在電池上電后,I2C讀寫寄存器異常如圖 1,通信失敗,在將電池斷開又接上后,芯片恢復正常工作。如果設置BAT供電電壓比VCC低,芯片也能通信上,但將BAT電壓調到比VCC高,通信又異常了。客戶VCC使用3.3V.電池也是3.3V的。
圖 1 PCF2129沒有ACK應答
從客戶反饋的情況分析,芯片從新上電后由于寄存器重新初始化,芯片恢復正常。在調試BAT電壓比VCC電壓低后,通信也能正常如圖 2,可以看出,芯片異常應該是某個寄存器值偏離默認值,而且這個寄存器值和BAT的供電電壓有關。在PCF2129中,只有地址0x02寄存器和BAT供電電壓有關如圖 3。
圖 2 PCF2129 IIC通信正常
圖 3 PCF2129 0x02寄存器
0x02寄存器默認情況下為0x00,在BAT不斷電情況下外接電源,VCC電壓調到比BAT高后,IIC通信正常,讀取0x02寄存器值如圖 4所示,為0x88。
圖 4 0x02寄存器異常值
PCF2129斷電后,或者直接將0x02寄存器值改為0x00后,PCF2129 I2C通常正常,芯片正常工作。
圖 5 0x02寄存器默認值
從測試結果可以得出,PCF2129 I2C通信異常是由于0x02寄存器值異常導致的,修改為默認值后,PCF2129就能正常工作。
-
寄存器
+關注
關注
31文章
5357瀏覽量
120585 -
時鐘芯片
+關注
關注
2文章
250瀏覽量
39901 -
PCF2129
+關注
關注
0文章
3瀏覽量
9015
原文標題:如何解決時鐘芯片PCF2129 I2C通信異常
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
I2C讀寫時序分析和實現思路
![<b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b>時序分析和實現思路](https://file1.elecfans.com/web2/M00/A5/EC/wKgaomUP-DqAKpoyAAKWOiywwFM460.jpg)
PCM1863為什么通過I2C無法讀取到寄存器值?
TLV320AIC3263 i2c無法進行通信,通過i2c的讀寫函數,讀寫寄存器失敗怎么解決?
STM8L15x I2C:無法寫入I2C寄存器
I2c通信怎么設置寄存器地址?
用i2c總線往攝像頭寄存器中寫寄存器
ARM I2C 總線接口的寄存器設置
Atmel SAMC21的I2C驅動寄存器操作和寄存器代碼免費下載
STM32 I2C硬件的結構
![STM32 <b class='flag-5'>I2C</b>硬件的結構](https://file.elecfans.com/web1/M00/BB/CC/pIYBAF6qdxuAfW4UAAA9H1qXhDI244.png)
評論