单片机/MCUwilliam hill官网
直播中

杨勇

7年用户 1173经验值
私信 关注

PSoc4 I2C在开漏配置下不起作用的原因是什么?

I2C 上拉为 4.7kΩ,驱动模式设置为漏极"开路,驱动器低电平"
但是,使用此设置,I2C 不会发出任何信号。
但是当设置为 “"强劲驱动器"” 设置时,I2C 可以正常工作。
它在漏极"开路、低速行驶时不起作用的原因"是什么?
设备:cyble-014008-00
I2C SDA:P3 [4],上拉 4.7k,3.3V I2C SCL:P3 [5],上拉 4.7k,3.3V VDD:3.3V


                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(1)

张亮

2024-1-24 16:11:35
在开漏模式下,输出引脚被拉低,而在强劲驱动模式下,输出引脚被拉高。这意味着在开漏模式下,信号线会被拉低到地线电位。因此,为了使I2C工作,需要在信号线上引入外部上拉电阻。

在你的描述中,你已经正确地将SDA和SCL信号线连接到了3.3V的电源,并使用了4.7kΩ的上拉电阻。这样可以确保在编程期间,信号线被上拉到高电平。

然而,如果你设置为"漏极开路,驱动器低电平"模式时,I2C不发出任何信号,但设置为"强劲驱动器"模式时正常工作的话,可能存在以下问题:

1. 连接问题:请确认SDA和SCL信号线与正确的引脚相连,连接稳定且没有松动。

2. 上拉电阻问题:确定上拉电阻的值为4.7kΩ,确保电阻连接稳定。

3. 设备配置问题:检查你的设备配置是否正确,确保相关的I2C配置寄存器被正确设置。确认I2C模块已经启用并配置为主模式或从模式。

4. I2C总线冲突:如果其他设备或外围设备也连接到了同一个I2C总线上,可能存在总线冲突。在这种情况下,你需要适当配置I2C地址或优先级来解决冲突。

如果以上问题都没有解决你的问题,可能需要更详细地检查你的代码和硬件设计,包括其他可能的因素。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分