问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

I2C上拉电阻详细设计指南与案例分析

创作时间:
作者:
@小白创作中心

I2C上拉电阻详细设计指南与案例分析

引用
1
来源
1.
https://www.sekorm.com/news/73577057.html

I2C(Inter-Integrated Circuit)总线是一种广泛应用于微控制器与传感器、显示器等设备之间的串行通信总线。其上拉电阻的设计对于确保通信的稳定性和可靠性至关重要。本文将详细介绍I2C上拉电阻的设计原则、影响因素及具体应用案例,帮助工程师更好地理解和应用I2C总线技术。

I2C基础知识回顾

I2C总线是一种串行通信总线,使用多主从架构,由飞利浦公司在80年代初设计。其主要特点包括:

  • 只需要两条总线(SDA和SCL)
  • 没有严格的波特率要求,主设备生成总线时钟
  • 所有组件之间存在简单的主/从关系,每个设备可通过唯一地址进行软件寻址
  • 是真正的多主设备总线,提供仲裁和冲突检测
  • 传输速度分为四种模式:标准模式(100Kbps)、快速模式(400Kbps)、高速模式(3.4Mbps)和超快速模式(5Mbps)
  • 理论上支持的最大从机数为127

I2C总线硬件架构

I2C协议仅需要SDA(串行数据线)和SCL(串行时钟线)两个引脚。这两条数据线需要接上拉电阻。设备间的连接如下图所示:

I2C总线内部使用漏极开路驱动器,因此SDA和SCL可以被拉低为低电平,但不能被驱动为高电平,所以每条线上都要使用一个上拉电阻,默认情况下将其保持在高电平。

上拉电阻的值取决于多个因素,一般可以选择1.5K、2.2K或4.7K。对于5V电源,每个上拉电阻阻值至少1.53KΩ;对于3.3V电源,每个电阻阻值至少967Ω。

I2C总线上拉电阻的阻值确认

  • RP不宜过小,一般不低于1KΩ:如果RP阻值过小,VDD灌入端口的电流将较大,导致端口输出的低电平值增大。根据I2C协议,端口输出低电平的最高允许值为0.4V。当VDD=3V时,灌入电流不应超过3mA。

  • RP不宜过大,一般不高于10KΩ:端口信号的上升时间可近似用充电时间常数RPCL乘积表示。假设线上CL为20PF,对应400Kbps速率应用时,计算出的RP值为15KΩ。因此,一般应用中选取几KΩ量级的上拉电阻,如4.7KΩ。

I2C总线寄生电容

I2C总线寄生电容主要由master寄生电容、slave寄生电容和PCB走线电容组成。不同I2C通信模式对寄生电容的要求不同。

I2C总线布线与抗干扰设计

  • 在手机PCB设计时,I2C信号线按通常的控制IO对待即可。
  • 在特定情况下(如折叠、滑盖机型),需要特别注意信号线的保护,如等长度平行走线、两边加地线保护等。
  • 上拉电阻应安置在OD输出端附近。当主从器件两端均为OD输出时,电阻放置在信号路径的中间位置。当主设备端是软件模拟时序,而从设备是OD输出时,应将电阻安置在靠近从设备的位置。

I2C总线上拉电阻对通信频率的影响

  • I2C总线电平由低到高时:Vcc经过上拉电阻对I2C总线寄生电容充电,时间常数即为RC网络。
  • I2C总线电平由高到低时:I2C总线的寄生电容通过MOSFET的导通电阻放电,放电速度很快。
  • I2C总线的上升下降时间对比:上升时间远远大于下降时间,I2C总线的通信频率受上升时间影响最大。

I2C总线上拉电阻对VOL的影响

上拉电阻阻值越小,Rdson上的电压VOL就越大。如果VOL大于某一特定值,I2C从机就无法监测出I2C总线上的低电平。同时,上拉电阻阻值过小也会增加系统功耗。

I2C总线软件模拟中上拉电阻的应用

使用处理器的IO口模拟I2C波形时,上拉电阻阻值可以适当选的大一些。但需要注意,当Master的I2C使用的是IO软件模拟时,一定要保证该两个IO上电默认均为输入(或高阻)或者输出高电平。

I2C总线应用中上拉电阻电源问题

在部分应用中,还存在主从设备以及上拉电阻电源不一致的情况。例如,Camera模组不工作时,需要关闭模组供电VDDS,此时应该使用VDDS作为上拉电阻电源(VDDP=VDDS),这样上拉电阻电源与Slave电源即可同时关闭,切断了漏电路径。

I2C总线上拉电阻阻值计算实例

例如,在I2C Fast mode下,I2C总线电容Cb = 200pF,总线电压为Vcc = 3.3V,计算上拉电阻阻值。

通过上述分析,可以得到I2C总线上拉电阻的范围,结合系统功耗和通信速度,最终确定上拉电阻的阻值。

总结

I2C碰到的各种问题,多半是上拉电阻或者控制器时钟的问题。没上拉电阻或者上拉电阻过大,都会导致不稳定而出现寻址不到的问题。本质上来讲,I2C总线电容决定上拉电阻的最大值,I2C器件open-drain接口导通电阻决定上拉电阻的最小值。

I2C的上拉电阻选择对于所有设计I2C接口的芯片来说很重要!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号