芯片I2C通信异常无法读写寄存器破解

电子说

1.2w人已加入

描述

时钟芯片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就能正常工作。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分