IIC通信为什么加上拉电阻,怎么加??
时间:2023-02-09 12:00:00
IIC通信通常采用泄漏输出,不能实现真正的高电平,如果在泄漏极上拉电阻可以进行电平转换。一般IO端口的驱动能力为2ma~4ma量级。
1.电阻不能太大或太小
电阻不能太小,功耗问题:IIC通信协议允许最低电平为0.4V,如果上拉电阻过小,会导致上拉电阻过小VDD注入端口电流大,功耗大,导致端口输出低电平值增加。因此,上拉电阻一般不小于1kΩ的电阻(当VDD = 3V当灌入电流不超过3时ma)。
阻值不能过大,速度问题:通信速度取决于上拉电阻和电容形成的RC延时,RC延迟越大,波形越偏离方波,越接近正弦波,数据读写的准确性越低。
2.负载电容不超过4000pf
IIC当总线上的装置逐渐增加时,总线的负载电容也会相应增加,当总负载电容大于400时pf工作不可靠。
3.推荐负载
推荐使用1.5k、2.2k、4.7k上拉电阻。
4.软件IIC如何不加拉工作
接收数据时,端口设置为输入,发送数据时设置为泄漏输出,可避免使用泄漏输出和拉电阻。我的实践经验表明,虽然软件IIC开漏输出效率较高,但稳定性不如切换输入输出好。以前的测试MPU6050开漏输出有问题。