0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子工程师 来源:互联网 作者:佚名 2017-09-20 16:14 次阅读

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

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • 时钟芯片
    +关注

    关注

    2

    文章

    229

    浏览量

    39576
  • PCF2129
    +关注

    关注

    0

    文章

    3

    浏览量

    8961

原文标题:如何解决时钟芯片PCF2129 I2C通信异常

文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于I2C的从机地址和寄存器地址

    最近在写一个I2C。阅读协议,理解master先寻址slave,然后发送或接受数据但如果主机寻址发送的是从机的设备地址,那么如何确定读写寄存器的地址呢?还是我理解错了?主机寻址的时候就是发送的
    发表于 01-26 14:22

    STM8L15x I2C无法写入I2C寄存器

    STM8L15x I2C无法写入I2C寄存器以上来自于谷歌翻译以下为原文 STM8L15x I2C : Cannot write
    发表于 04-02 13:49

    请问TPS23851芯片的三线I2C通信方式是怎么进行通信的?

    信号和普通I2C都一样、SCL为低时允许SDA变化高时SDA保持并采样 ,且通信时序也和普通I2C一样;但我测试怎么不能正常进行通信????对TPS23851的
    发表于 07-04 06:49

    在Allegro ACS71020用I2C写入寄存器的问题

    我想要改变Allegro ACS71020中某些配置参数,IC的话我用的是I2C版本的,规格书在此。我想为芯片设置一个特定的I2C地址,并禁用默认的模拟电压输入选择方法来选择I2C地址
    发表于 08-14 14:10

    ML505视频I2C总线无法与Chrontel CH7301C通信

    0x37和0x50到0x57接收到确认。然后我尝试使用其他9个其他I2C设备ID读取寄存器0x4B(Chrontel CH7301C的设备ID寄存器的地址)。根据Chrontel文档,
    发表于 09-03 08:47

    NiosII的I2C IP有什么优点?

    I2C控制IP主要由6个寄存器构成,如表1所列。通过对寄存器读写可以方便地控制I2C总线数据的传输,从而实现NiosII处理
    发表于 10-15 06:27

    I2c通信怎么设置寄存器地址?

    tm4c123 launchpad作为master时i2c写操作要先输出device address,再给一个RegisterAddress,然后才能写i2c读操作也要给定这两个地址才能读,可是tivaware中
    发表于 04-07 13:17

    TI提供的I2C例程无法正常运行怎么解决?

    /O口方式进行I2C通讯一切正常,就是用TI自带的I2C模块无法使用。请高手指点,现在是不产生“停止中断”和“寄存连接好中断”状态寄存器是无
    发表于 06-10 16:29

    【新手】请问如何读写芯片外设的寄存器

    各位好!我正在使用一个DSP芯片进行开发,该芯片连接了许多外设,其中一个通信是用的TWI(I2C)。我想操作外设上的寄存器,查阅得知了几种方
    发表于 04-16 13:12

    i2c总线往摄像头寄存器中写寄存器

    1摄像头配置 用i2c总线往摄像头寄存器中写寄存器i2c总线为:一条时钟线,一条数据线,遵循i2c协议来写;摄像头的sccb接口对应
    发表于 08-06 06:51

    I2C协议介绍

    文章目录I2C 调查标准I2C协议介绍I2C时序介绍起始信号停止信号重启信号总线闲信号总线忙信号读写信号应答信号非应答信号标准I2C协议
    发表于 01-20 08:04

    如何对基于RK3328的I2C读写芯片寄存器进行测试呢

    如何对基于RK3328的I2C读写芯片寄存器进行测试呢?有哪些步骤?
    发表于 03-09 06:13

    RK3568 Camera sensor I2C通信异常怎么办

    1、Camera SensorQ :Camera sensor I2C 通信异常A :1.首先确认 Sensor Power up Sequencesensor电源:avdd、dvdd
    发表于 04-27 18:25

    NTAG I2C是否应该遵循任何程序来设置配置寄存器

    我在我的一个项目中使用 NTAG I2C 芯片 NT3H2111,我想启用 NFC SILENCE 功能。因此,我将 0X3A 处的配置寄存器更改为 0X81,从而启用该功能并且标签对任何阅读
    发表于 03-15 07:26

    NANO120中I2C驱动寄存器写入不了怎么解决?

    0); NVIC_EnableIRQ(I2C0_IRQn); DEBUGMSG(\"I2C0 initial over!\\n\"); } 然后在读写操作24C02中,对
    发表于 06-27 09:23