TI中文支持网
TI专业的中文技术问题搜集分享网站

bp32000寄存器的值读不出来

TI的工程师你好

         我在用bq32000时现在寄存器的值读不出来,晶振已经起振,电源供电没问题,数据写入的时序也是对的,可RTC数据就是读不出来,全是00;我现在都不确定这个芯片有没有工作,有办法确认么???

Lion chang:

bq32000芯片不是I2C接口么,他是标准的I2C协议么,是不是我单片机每给它发送一个8位的数据,它都会返回一个ACK,只有接收到ACK后才能发送吓一跳数据

Seasat Liu:

回复 Lion chang:

是标准的I2C。你的I2C的时钟是多少?时序满足手册第8页的要求吗

Lion chang:

回复 Seasat Liu:

   我是用IO口模拟的,是40KHz,25us

Kailyn Chen:

回复 Lion chang:

SCL和SDA都通过上拉电阻上拉到Vcc了吗?时序图发上来看下吧,是的,每次发送完数据都会有一位应答信号的。

Lion chang:

回复 Kailyn Chen:

    SCL和SDA都得外接上拉电阻么,我是直接接到单片机管脚上的,单片机内部管脚有上拉电阻吧

至于时序图今天发不了了,明天吧,不过我发现不焊接bq32000时时序是对的,当焊上bq32000时,IO口的输出高电平是有时候会只有一半的电压,不知道是怎么回事

WEN JAMES:

回复 Lion chang:

1. SCL和SDA应该都外接上拉电阻

2. 确认一下 你的单片机内部管脚 有没有 上拉电阻,有的话 将其使能激活

3. IO出现一半电压,常见的原因就是 由于未接上拉电阻 导致处于高阻态或者OC(OD)态

Kailyn Chen:

回复 Lion chang:

是的,SCL和SDA都是开漏输出,需要上拉,如果你和单片机的I2C或GPIO连接的话,可看下内部是否已经上拉,否则的话必须上拉到Vcc。

Lion chang:

回复 Kailyn Chen:

SCL和SDA已接上拉电阻,下面是我的时序图

  未焊接bq32000芯片时单片机的输出,写分钟寄存器

  焊接上bq3200后单片机的输出,写分钟寄存器

  这是读取分钟寄存器的内容时序

Lion chang:

回复 Kailyn Chen:

现在秒寄存器和年寄存器已经可以写进去并且读出来了,可分钟、小时、月等寄存器的值能读出来,但是写不进去,下面的图片是写分钟寄存器的时序图,请帮忙看一下时序是否有问题,我快疯了,为什么同样的写程序,有的能写进去,有的写不进去

   其中只有高电平一半的脉冲冒失是接收到的ACK信号

并且我还发现一个问题:当秒计数到60时分钟寄存器的值也是不变的,是不是芯片坏了啊,还是需要通过irqn信号来重新写寄存器啊

Lion chang:

回复 Lion chang:

 貌似是由于ACK的信号达不到高电平导致的,当我单片机发送8位的数据后,再把输出拉高就不行了,只能达到高电平的一半,是设计问题还是我程序有问题啊

赞(0)
未经允许不得转载:TI中文支持网 » bp32000寄存器的值读不出来
分享到: 更多 (0)