• I2C 上拉电阻选择计算公式


    I2C接口上拉电阻的选择

    -

    I2C接口上拉电阻的选择

    1、I2C接口的输出端是漏极开路或集电极开路,所以必须在接口外接上拉。
    2、上拉电阻的范围很宽,但也需要跟据功耗、信号上升时间等具体确定。
    和速度应该没关系。主要是I2C是oc,所以需要。和驱动的从机个数(虽然从机个数不是由电阻决定的)有一定关系
    不能说和速度没关系, 从机数量多的话, 由于经常在CMOS 集成电路里面源和基底是相连的, 而漏和基底存在寄生电容, 所以源和漏之间是有寄生电容的, 过大的上拉电阻会引起延时,导致边缘的上升下降速度变慢
    上拉电阻的取值何I2C总线的频率有关,工作在standard -mode时,其典型值为10K
    在FAST mode时,为减少时钟上升时间,满足上升时间的要求,一般为1K
    philips的IIC协议中pullup-res的典型值是5.1K@ VIO=5V(其实用5K一样,5.1K比较好买便宜),但手机系统一般VIO=2.8V,所以在参考设计中,通常此阻值用4.7K,虽然于驱动力上比协 议标准不如,但考虑到leakage current,用3.3K的漏电流比较大,综合考虑用4.7K,况且此阻值也是常规值
    I2C的上拉电阻可以是1.5K,2.2K,4.7K, 电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,一般接1.5K或2.2K
    总之,不同平台的官方试验和我的取值相似,倾向与用4。7K @ 2.8V VIO
    Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定;
    于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)
    Rpmax的取值:参考周公的I2C总线规范中文版P33图39与P35图44
    标准模式,100Kbps总线的负载最大容限<=400pF;快速模式,400Kbps总线的负载最大容限<=200pF,根据具体使用情 况、目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以 上到400Kbps是不成问题的。于是Rpmax可以取的范围是1.8K~7K @ Vio=5V对应50pF~200pF
    根据Rpmin与Rpmax的限制范围,一般取5.1K @ Vio=5V , 负载容限的环境要求也容易达到。在2.8V系统中,console设计选3.3K,portable/handset等低供耗的设计选4.7K牺牲速度换 取电池使用时间。有些IDH竟然用到10K或以上,将大大影响其抗噪性能,对于PCB的制造以及板层堆叠的结构的干扰将加大数据的误判
    I2C上拉电阻确定有一个计算公式:
    Rmin={Vdd(min)-o.4V}/3mA
    Rmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHz
    C是Bus capacitance

    关于I2c的上拉电阻,个人最好的方式就是看参考设计,如果走线长了或好总线上有好几个芯片,就把电阻改小一些。如果参考设计没有就在1.5K~5k左右里面选一个就是了。但实际的时候我们没有去测量总线的电容问题,只能在选件/走线时候给与些许的关注。

  • 相关阅读:
    关于点击率模型,你知道这三点就够了
    【AI】Computing Machinery and Intelligence
    MATLAB 的函数句柄
    MATLAB 的unique函数——数组矩阵的唯一值
    MATLAB 的数据导入与导出
    MATLAB 的函数
    MATLAB 向量
    MATLAB 的break语句和continue语句
    MATLAB 的循环语句
    MATLAB 的条件分支语句
  • 原文地址:https://www.cnblogs.com/rex2011/p/6358631.html
Copyright © 2020-2023  润新知