I2C 总线协议

简介: I2C 总线协议

简介

I2C 总线是由 Philips 公司开发的两线式串行总线,如今已经成为芯片间低速串行通信的事实标准,被广泛使用在消费、控制类电子设备场合。


这里的两个关键词两线低速两线意味着结构简单低速意味着好实现,做电路的都知道速度越慢电路实现起来就越容易,而且协议方式也很优雅。


工作原理

下图是一个典型的嵌入式系统的 I2C 总线应用,系统包含了很多 slave从器件,最左边的微控制器是 I2C 的I2C典型应用图,它控制了I/O扩赞器LED闪光灯

ADCs/DACEEPROMLCD驱动器温度放大器等。

I2C典型应用图.jpg


所有这些器件都是通过2根线时钟SCL数据SDA 来控制。


SDA (串行数据线)和 SCL (串行时钟线)都是 双向I/O线 ,接口电路为开漏输出。需通过上拉电阻接电源 VCC .当总线空闲时.两根线都是高电平,连接总线的外同器件都是 CMOS 器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过大时,有可能造成传输错误.所以,其负载能力为 400pF ,因此可以估算出总线允许长度和所接器件数量。


主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件

在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向

  • 如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送
  • 如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。


特征

  • 在硬件上,I2C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且芯片上接口电路的滤波器可以滤去总线数据上的毛刺。因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。因为I2C芯片除了这两根线和少量中断线,与系统再没有连接的线,用户常用IC可以很容易形成标准化和模块化,便于重复利用。
  • I2C总线是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输,可以通过冲突检测仲裁防止数据破坏,每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。数据传输和地址设定由软件设定,非常灵活。总线上的器件增加和删除不影响其他器件正常工作。
  • I2C总线可以通过外部连线进行在线检测,便于系统故障诊断和调试,故障可以立即被寻址,软件也利于标准化和模块化,缩短开发时间。
  • 连接到相同总线上的IC数量只受总线最大电容的限制,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s快速模式下可达400Kbit/s高速模式下可达3.4Mbit/s
  • 总线具有极低的电流消耗,抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。


模式

快速模式

快速模式器件可以在 400kbit/s 下接收和发送。


最小要求是:它们可以和 400kbit/s 传输同步,可以延长 SCL 信号的低电平周期来减慢传输。


快速模式器件都向下兼容,可以和标准模式器件在 0~100kbit/sI2C 总线系统通讯。但是,由于标准模式器件不向上兼容,所以不能在快速模式 I2C 总线系统中工作。

快速模式 I2C 总线规范与标准模式相比有以下特征

  1. 最大位速率增加到400kbit/s
  2. 调整了串行数据SDA) 和串行时钟SCL )信号的时序
  3. 快速模式器件的输入有抑制毛刺的功能,SDASCL输入有施密特触发器
  4. 快速模式器件的输出缓冲器SDASCL 信号的下降沿斜率控制功能
  5. 如果快速模式器件的电源电压被关断,SDASCLI/O 管脚必须悬空,不能阻塞总线
  6. 连接到总线的外部上拉器件必须调整以适应快速模式I2C 总线更短的最大允许上升时间。对于负载最大是200pF 的总线,每条总线的上拉器件可以是一个电阻,对于负载在200pF~400pF 之间的总线,上拉器件可以是一个电流源(最大值3mA )或者是一个开关电阻电路


高速模式

高速模式Hs 模式)器件对 I2C 总线的传输速度有巨大的突破。 Hs 模式器件可以在高达 3.4Mbit/s 的位速率下传输信息,而且保持完全向下兼容快速模式或标准模式( F/S 模式)器件,它们可以在一个速度混合的总线系统中双向通讯。


Hs 模式传输除了不执行仲裁和时钟同步外,与 F/S 模式系统有相同的串行总线协议和数据格式。


高速模式下 I2C 总线规范如下:

  1. Hs 模式主机器件有一个SDAH 信号的开漏输出缓冲器和一个在SCLH 输出的开漏极下拉和电流源上拉电路。这个电流源电路缩短了SCLH 信号的上升时间,任何时候在Hs 模式,只有一个主机的电流源有效
  2. 在多主机系统的Hs 模式中,不执行仲裁和时钟同步,以加速位处理能力。仲裁过程一般在前面用F/S 模式传输主机码后结束
  3. Hs 模式主机器件以高电平和低电平是1:2 的比率产生一个串行时钟信号。解除了建立和保持时间的时序要求
  4. 可以选择Hs 模式器件有内建的电桥。在Hs 模式传输中,Hs 模式器件的高速数据SDAH)和高速串行时钟SCLH )线通过这个电桥F/S 模式器件的SDASCL 线分隔开来。减轻了SDAHSCLH 线的电容负载,使上升和下降时间更快
  5. Hs 模式从机器件与F/S 从机器件的唯一差别是它们工作的速度。Hs 模式从机在SCLHSDAH输出有开漏输出的缓冲器。SCLH 管脚可选的下拉晶体管可以用于拉长SCLH 信号的低电平,但只允许在Hs 模式传输的响应位后进行
  6. Hs 模式器件的输出可以抑制毛刺,而且SDAHSCLH 输出有一个施密特触发器
  7. Hs 模式器件的输出缓冲器对SDAHSCLH 信号的下降沿有斜率控制功能
目录
相关文章
|
7天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34475 17
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
19天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45306 142
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
8天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
4867 21
|
1天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
1931 6
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
7天前
|
人工智能 API 开发者
阿里云百炼 Coding Plan 售罄、Lite 停售、Pro 抢不到?最新解决方案
阿里云百炼Coding Plan Lite已停售,Pro版每日9:30限量抢购难度大。本文解析原因,并提供两大方案:①掌握技巧抢购Pro版;②直接使用百炼平台按量付费——新用户赠100万Tokens,支持Qwen3.5-Max等满血模型,灵活低成本。
1808 5
阿里云百炼 Coding Plan 售罄、Lite 停售、Pro 抢不到?最新解决方案