关于I2C,对于硬件工程师来说,属于低速信号,一般也不会有什么问题,最常见的问题也就是在测试信号质量时发现I2C的上升沿过缓,不符合I2C的标准,那么一般如何解决呢?

先看下图信号要求(来自I2C标准协议)

如上图,I2C分为标准模式和快速模式

标准模式通信速率最大是100Khz,上升沿最大是1000ns,bus电容最大400pF

快速模式通信速率最大是400kHz,上升沿最大是300ns,bus电容最大400pF

I2C 总线上数据的传输速率在标准模式下可达 100kbit/s 在快速模式下可达 400kbit/s。

上拉电阻取值范围来龙去脉

1、I2C上拉电阻的下限有一个计算公式:

Rmin={Vdd(max)-0.4V}/3mA  (根据协议,vdd为电源的最大值,Vmax=1.1*Vdd,3mA为驱动最大电流为3mA)

在电源为1.8V时:Rmin=527Ω

在电源为3.3V时:Rmin=1.07K

在电源为5V时:Rmin=1.7K

  1. 那上拉电阻的上限如何确定呢?

首先我们需要明白上升沿的时间是如何来的。I2C的总线结构如下图,是一个漏极开路的结构。也就是说SDA/SCL由低电平变到高电平,是通过关闭MOS管,通过Rp上拉到电源。

而I2C总线上接入设备时,肯定是会引入电容的,接的设备越多,引入的电容也越多。所以输出高电平的过程,实际上是一个RC充电的电路,如下图,电源Vdd通过上拉电阻Rp对负载电容Cb充电的过程。

电平有0.1Vdd充到0.9Vdd(上升沿)的时间计算公式

Tr= RC*Ln[(Vdd-0.1Vdd)/(Vdd-0.9Vdd)]

Tr=2.2RC

标准模式:由Tr<1000ns 得 R<1000ns/2.2C

快速模式:由Tr<300ns 得 R<300ns/2.2C

不同电路,C的值肯定是不同的,所以要根据实测信号上升沿来确定。

注意:协议中最大电阻与负载电容的曲线,对应Tr是很宽松的,应是取的Tr为0.3Vdd上升到0.7Vdd的时间(协议中低电平门限0.3Vdd,高电平门限0.7Vdd),可能与上述公式有些出入,上述公式取的是0.1Vdd上升到0.9Vdd。

综上所述,如果我们发现I2C的上升沿过缓,可以通过减小上拉电阻Rp来实现,但不应超过对应的Rmin;或者降低总线电容(减少总线上的设备数量);最后还可以通过增加器件来实现(详见I2C标准协议第41页)

I2C协议原文件分享如下:

扫描下方二维码,关注微信公众号:硬件工程师炼成之路。回复“I2C”,即可获得。

I2C上升沿时间过长过缓解决办法详解相关推荐

  1. 暗黑3服务器维护能登录,暗黑3登陆错误原因及解决办法详解

    暗黑3登陆错误原因及解决办法详解 2012-10-15 09:06:03来源:游戏下载编辑:评论(0) 暗黑3报错ERROR解决方法,全部暗黑3报错汇总,全部报错汇总解答.小编将玩家遇到的各种暗黑3安 ...

  2. Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解

    Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解 参考文章: (1)Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解 (2)https://www.cnblogs.co ...

  3. HTML游戏黑屏,360安全卫士怎么解决网页游戏黑屏 网页游戏黑屏解决办法详解

    360安全卫士11.6.6.1089 官方正式版 类型:360工具大小:64.0M语言:中文 评分:9.9 标签: 立即下载 网页游戏是现在很多小伙伴们都喜欢玩的,不少小伙伴们在玩的时候最关心的就是怎 ...

  4. 2008系统无法启动服务器不可用,SQL Sever2008r2 数据库服务各种无法启动问题的解决办法(详解)...

    搜索热词 一.sql Server服务远程过程调用失败解决 以前出现过这个问题,那时候是因为把实例安装在了D盘,后来D盘被格式化了.然后,这些就没了.今天早上打开电脑,竟然又出现这个问题,可是Serv ...

  5. 计算机启动时间过长,电脑开机时间太长一招解决办法!

    由于系统在使用过程的卸载以及安装软件,还有就是上网产生大量的垃圾导致我们的电脑会越来越慢.开机时间越来越长,怎么办呢?下面为大家讲解两种方法来提高开机速度! 方法一:最简单粗暴最原始的方法,就是禁止开 ...

  6. 暗黑破坏神3登录显示无效服务器,暗黑破坏神3——登陆错误原因及解决办法详解...

    暗黑3报错ERROR解决方法,全部暗黑3报错汇总,全部报错汇总解答.小编将玩家遇到的各种暗黑3安装与登陆遇到的错误综合并将全部解决方法告诉大家,希望对玩家有所帮助. 以下是你在安装,游戏,和客户端登陆 ...

  7. 暗黑3登陆游戏显示客户端失去服务器连接,暗黑3登陆错误原因及解决办法详解...

    暗黑3报错ERROR解决方法,全部暗黑3报错汇总,全部报错汇总解答.小编将玩家遇到的各种暗黑3安装与登陆遇到的错误综合并将全部解决方法告诉大家,希望对玩家有所帮助. 以下是你在安装,游戏,和客户端登陆 ...

  8. 三星手机刷机后显示无服务器,三星手机使用ODIN刷机失败怎么办?三星ODIN线刷失败解决办法详解...

    经常在网上看到有朋友在问关于三星手机使用ODIN工具刷机失败的相关问题,作为刷机帮小编的我,也特地去研究了一波,今天就把自己总结的一些解决办法分享给大家,希望可以帮助到有需要的朋友们. 一.安装驱动问 ...

  9. mysql服务器无法停止_MySQL服务在Windows下无法停止和删除的解决办法详解

    我在 Windows 操作系统上,使用解压压缩包的方式安装 MySQL.遇到一点问题,下面通过本文给大家分享Windows下MySQL服务无法停止和删除的解决办法,需要的朋友可以参考下 我在 Wind ...

最新文章

  1. linux下拒绝用户登录,Linux系统用户管理之禁止用户登录
  2. python科学计算笔记(十二)pandas的resample采样
  3. 为什么BDLocationListener没有被调用
  4. linux下ftp相关的一些指令
  5. 【风电功率预测】基于matlab BP神经网络风电功率预测【含Matlab源码 399期】
  6. 国民经济行业代码与投入产出表IO2002年行业代码
  7. Android SDK下载失败解决
  8. C语言回溯算法求幂集,回溯求幂集算法
  9. HCNA培训常见问题001-HCNA AI学习什么内容?
  10. NVIDIA GPU 运算能力列表
  11. AtCoder Beginner Contest 224题解 A-G
  12. 现有列表记录商品名称和价格如下:‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬要求用户输入总资产,例如: 20000,输出所有商品序号和商品列表,每行
  13. Mac出现共享网络/wifi问题
  14. VS2019c++配置GDAL和HDF库新手入门
  15. getch()和getche()
  16. Redis学习总结和相关资料
  17. windows10访问Ubuntu ext3文件
  18. c语言编程入门题库,级程序设计基础题库(c语言)(..更新).doc
  19. 《万里长江图》告诉我们:金沙江是长江的正源
  20. 计算机考研难度2017,2017大专生考研难度分析

热门文章

  1. 教你购入Galaxy Nexus 新机该如何验机!
  2. java内省属性,内省操作javabean属性
  3. 基于GD32开发板的GPS定位模块的使用操作
  4. 6,css溢出省略号案例
  5. 苹果手机软件闪退怎么解决_苹果iOS13.3系统频现软件闪退解决办法
  6. 生活中最尴尬的爆笑糗事!
  7. 歌声合成 (Singing Voice Synthesis)理论
  8. JS 三元表达式和箭头函数
  9. ES6 Set 和 Map 遍历操作
  10. dw html设置字体颜色,字体颜色怎么设置-dreamweaver编辑字体大小、颜色样式方法...