I2C总线的上拉电阻计算

举报
心殁花满楼 发表于 2022/02/11 11:25:33 2022/02/11
【摘要】 硬件开发-低速通信总线-IIC1

I2C总线的上拉电阻计算

概述

对于I2C总线,由于使用OD/OC驱动,因此需要借助上拉电阻建立高电平。对于上拉电阻的选择,主要由以下因素影响。

  • 总线的负载电容
  • 总线的速度
  • 总线的驱动电压
  • 总线的低电平阈值

上拉电阻的下限

上拉电阻不能无限制的小,不妨想象一种极端情况,当上拉电阻为0.00001R时,此时为了达到总线的低电平阈值,电阻上所承受的压降约等于电源电压-低电平阈值,此时电阻需要的电流时十分巨大的,因此上拉电阻的下限受到三个因素的影响。

  1. 总线的电压 VCC
  2. 总线的低电压阈值 VOL
  3. 总线上所有设备中,IO灌电流最低的设备的灌电流(流入IC的电流) IOL

根据这三个值就可以计算出上拉电阻的下限
image.png

总线的电流要求

image.png
在NXP的手册中,对不同速度等级的总线的灌电流(sink current)做了不同的要求
实际使用中还是要根据具体的器件手册评估器件的灌电流。

上拉电阻的上限

上拉电阻不能无限制的大,因为总线是有驱动速度的需求的,由于总线存在分布电容、输入接口也存在寄生电容,假设总线上的MOS或晶体管是能瞬间截止的,此时总线上的电压可以看做是一个标准的RC充电模型。此时电压的上升时间与两个值有关,总线的上拉电阻,总线的负载电容。
因此总线的上拉电阻的上限,受到总线的负载电容和速度等级的限制

I2C总线对于负载上升时间的定义

I2C总线的上升时间是按照30%-70%的电压上升时间定义的。
对于不同速度等级的I2C总线,上升时间有不同的要求。具体要求见表格
image.png
因此,上拉电阻的上限可以按照下式计算
image.png

实际应用中

在实际的应用中,决定电阻的所有变量中,总线的负载电容很难精确地计算,只能大致的估计范围。因此通常在应用中,一般是根据估计和经验选择一个临时上拉电阻,然后根据波形的测试效果去选择合适的电阻。在一些系统中,假设10k,4.7k,2k电阻都能满足要求,那么就要在速度和功耗中按照设计需求进行取舍,上拉电阻越大意味着功耗越低,同时要牺牲部分上升时间。上拉电阻小意味着功耗高,同时意味着总线的扩展能力更强,在多板卡I2C互联时要尤其注意上拉电阻的设计问题。

  • 当波形上升边缓慢的时候,需要减小上拉电阻。
  • 当波形低电平无法降低到VOl以下时,需要增加上拉电阻。
  • 当上拉电阻已经调整到一个很小的水平,但是依然无法满足总线的时序要求时可以增加总线中继。分担总线的负载电容,重现调整上拉电阻。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。