当前位置: 首页 > news >正文

服务器硬件电路设计之I2C问答(一):为什么I2C总线要加上拉电阻?

一、原因

I2C 总线的 SDA(数据线)和 SCL(时钟线)均为开漏输出结构,自身无法输出高电平,仅能拉低电平。

当总线上的器件不驱动总线时,线路需保持高电平以维持空闲状态。上拉电阻可将总线默认拉至高电平,确保通信初始化和空闲时的电平稳定。

此外,多器件通信时,上拉电阻能避免总线电平冲突,保证数据传输的可靠性。

二、I2C 总线上拉电阻的选择与布局设计

上拉电阻选择的影响
  1. 信号完整性与通信速度
    上拉电阻的阻值直接影响总线的上升时间。根据公式 tr​=0.847×Rp​×Cbus​,电阻越大,上升时间越长。例如,标准模式(100kHz)下若总线电容为 400pF,4.7kΩ 电阻的上升时间约为 1.6μs,而 10kΩ 电阻则增至 3.4μs,可能超出协议规定的 1μs 上限。高速模式(400kHz)需更小阻值(如 2.2kΩ)以确保上升时间 < 300ns。

  2. 功耗与驱动能力
    电阻过小将导致灌电流过大。例如,5V 系统中若使用 1kΩ 电阻,灌电流可达 (5V−0.4V)/1kΩ=4.6mA,可能超过器件的最大驱动能力(通常 3mA),导致低电平电压升高(>0.4V)或损坏端口。因此,最小电阻需满足 Rmin​=(VDD​−VOL​)/IOL​,其中 VOL​≤0.4V,IOL​ 为器件最大拉电流。

  3. 总线电容与拓扑限制
    总线电容 Cbus​ 由 PCB 走线、器件引脚等构成。例如,10cm 走线约引入 20pF 电容,每个从机引脚约 5-10pF。若 Cbus​ 超过 400pF(标准模式),即使使用 4.7kΩ 电阻,上升时间也会超标。此时需减少负载或改用更低阻值。

上拉电阻的布局策略
  1. <

http://www.lryc.cn/news/613767.html

相关文章:

  • 汉明码:从原理到实现的深度解析
  • UniApp Vue3 TypeScript项目中使用xgplayer播放m3u8视频的显示问题
  • Emacs 折腾日记(二十九)—— 打造C++ IDE
  • 机柜内部除了服务器还有哪些组件?
  • 微软发布Project Ire项目:可自主检测恶意软件的人工智能系统
  • 微软公布Windows 2030,要彻底淘汰鼠标、键盘
  • 【概率论】均匀分布的伪随机数
  • WebForms 实例
  • 零成本建站:将 Windows 电脑变身为个人网站服务器
  • 如何规范你的Git commit?
  • WEEX参与欧洲两场重要Web3线下活动,助力社区协作与技术交流
  • 网络安全初学者学习心得
  • 半精度权重 及 Phi-3线性层的权重分布
  • Java基础知识总结
  • 若依前后端分离版学习笔记(七)—— Mybatis,分页,数据源的配置及使用
  • php防注入和XSS过滤参考代码
  • linux-LVM 逻辑卷管理
  • 嵌入式硬件接口总结
  • Linux文档压缩打包与安装
  • 解决苍穹外卖项目中 MyBatis - Plus 版本冲突问题
  • 基于大数据的地铁客流数据分析预测系统 Python+Django+Vue.js
  • Java学习进阶--集合体系结构
  • 0_外设学习_ESP8266+云流转(no 0基础)
  • Vue 项目安全设置方案:XSS/CSRF 防护指南
  • UE4/UE5 Android 超大(视频)文件打包/防拷贝方案
  • 【开源工具】网络交换机批量配置生成工具开发全解:从原理到实战(附完整Python源码)
  • 小孙学变频学习笔记(十三)电动机参数的自动测量 矢量控制的转速反馈
  • 如何永久删除三星手机中的照片?
  • OpenBMC中libgpio架构与驱动交互全解析:从硬件映射到应用控制
  • 数据库表字段命名建议和最佳实践