用BQ7692003PWR来弄清楚IIC

1.芯片的简单介绍:

电源管理芯片借助IIC和外部的MCU进行通信:

下图是这个芯片的IIC时序图:

2.我想和BQ7692003PWR的IIC进行通信,我需要MCU知道这个芯片的什么信息:

1.知道这个芯片的通信速率和IIC地址:

2.知道代表不同信息的寄存器的地址,并和其建立联系:

100-kHz I2C interface and acts as a slave device. The I2C device address is 7 bits and is factory programmed。

说明了这个芯片的IIC频率支持100Khz  ,    地址位  7  bits

下面又给了一张表格,介绍了一下不同版本的芯片IIC的地址,和支持LDO输出的范围:

下面这种图讲了CRC的校验机制:

3.芯片的CRC校验规则:

MCU知道了和其通信芯片的IIC地址,IIC速率,那么MCU怎么获取想要从芯片获取的信息呢:

4.IIC信号的测试方法以及失效性分析:

标准模式(Standard Mode, 100 kHz)         快速模式(Fast Mode, 400 kHz

高速模式(High-Speed Mode, 3.4 MHz)     超高速模式(Ultra-Fast Mode, 5 MHz

电压范围:典型的I²C设备工作在3.3V或5V,但低功耗设备可能支持1.8V或更低

上拉电阻:SDA和SCL线需要上拉电阻(典型值4.7kΩ~10kΩ,但取值依赖于总线电容和速率)高速模式可能需要更小的上拉电阻(1kΩ~2kΩ)来确保信号边沿上升足够快。

IIC调试时候的几个常见问题:

(1)总线冲突 

多个设备同时尝试发送数据,可能导致信号异常。可以检查是否正确设置了主/从设备模式。

(2)信号干扰

SDA/SCL线上噪声干扰:可能是上拉电阻过大导致信号上升时间过长,可适当降低电阻值。长线传输衰减:I²C适用于短距离(一般<1米),长距离可考虑I²C中继器(如PCA9615)

(3)设备地址冲突

确保不同I²C设备地址不同,某些芯片支持更改地址(如通过引脚或软件指令)。使用i2cdetect工具扫描设备地址。

(4)时序问题

低速模式可尝试降低I²C速率,确保设备能够正确应答。检查MCU I²C时钟源配置是否正确(如STM32的I2C_TIMINGR寄存器)。

应答信号的波形:

应答信号为低电平时,规定为有效应答位(ACK,简称应答位),表示接收器已经成功地接收了该字节;有效应答:SDA为低电平,SCL经历一个完整的时候, 也就是SCL为高电平时候,SDA为低电平

 应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。有效非应答:SDA为高电平,SCL经历一个完整的时候, 也就是SCL为高电平时候,SDA为高电平

送数据和接收数据时通用。当SCL为高电平,如果SDA始终为高电平时表示逻辑1,如果SDA始终为低电平表示逻辑0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值