当前位置: 首页 > 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.dtcms.com/a/320807.html

相关文章:

  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • WinForm 对话框的 Show 与 ShowDialog:阻塞与非阻塞的抉择
  • Java机密计算新维度:基于AMD SEV-ES的Enclave数据湖安全架构
  • 离线安装大语言模型管理工具Ollama
  • ArgoCD 与 GitOps:K8S 原生持续部署的实操指南
  • 使用 Grunt 替换 XML 文件中的属性值
  • Linux下GCC的C++实现Hive到Snowflake数据迁移
  • 在Java中,守护线程(Daemon Thread)和用户线程(User Thread)以及本地线程(Native Thread)的区别
  • 豆包新模型+PromptPilot:AI应用开发全流程实战指南
  • 深入掌握Prompt工程:高效构建与管理智能模型提示词全流程实战
  • Flutter Packge - 组件应用
  • [链表]142. 环形链表 II
  • 【洛谷题单】--分支结构(二)
  • 为什么需要锁升级?从CPU缓存到JVM的优化艺术
  • Autosar AP中Promise和Future的异步消息通信的详细解析
  • Kotlin 数据容器 - MutableList(MutableList 概述、MutableList 增删改查、MutableList 遍历元素)
  • 【JVM】流程汇总
  • OpenSCA开源社区每日安全漏洞及投毒情报资讯—2025年8月7日
  • OCC 主要库和功能模块
  • AI对互联网公司职位改变?
  • Android 系统的基本安全属性
  • 恒科持续低迷:新能源汽车股下跌成拖累,销量担忧加剧
  • ZCC3094--30V,-500mA超低噪声线性稳压电源
  • HFSS许可证常见问题及解决方案
  • 分享超图提供的、很不错的WebGIS学习资源
  • 分布式微服务--GateWay的断言以及如何自定义一个断言
  • 【昇腾】基于RK3588 arm架构Ubuntu22.04系统上适配Atlas 200I A2加速模块安装EP模式下的驱动固件包_20250808
  • simulink tlc如何通过tlc写数据入文件
  • 三种 SSE 对比
  • 秋招笔记-8.8