I2C通信序列的典型特征

出处:网络整理 发布于:2024-11-15 17:21:46

  I2C(Inter-Integrated Circuit)是一种广泛使用的串行总线通信协议,主要用于短距离的设备间通信(如传感器、EEPROM、显示器等)。I2C通信协议有一些典型的特征和规则,以下是其通信序列的关键特征:
  1. 总线结构
  双线制通信:I2C总线只有两条信号线:
  SCL(Serial Clock Line):时钟线,用于同步数据传输。
  SDA(Serial Data Line):数据线,用于传输数据。
  多主机、多从设备:I2C支持多个主机(Master)和多个从机(Slave)在同一总线上通信。
  2. 通信序列
  I2C通信的基本序列包括以下几个步骤:
  起始信号(Start Condition,S):
  主设备通过拉低SDA线(数据线)而SCL线保持高电平发出起始信号。起始信号标志着总线通信的开始。
  在I2C总线上,通信序列的开始总是以起始信号为标志。
  地址传输(Addressing):
  主机发送7位或10位的从机地址,并附带一个读/写标志位(R/W)。地址通常是7位(高7位),而位则表示读/写操作(0为写,1为读)。
  从设备根据匹配的地址来识别是否是该设备来进行通信。
  读/写操作:
  如果是写操作(R/W = 0),主机向从机发送数据。
  如果是读操作(R/W = 1),主机从从机接收数据。
  应答信号(Acknowledge,ACK):
  每一位数据传输完成后,接收方(无论是主机还是从机)都会发出一个应答信号,即将SDA线拉低,表示数据已正确接收。如果接收方不发出应答(NACK,No Acknowledge),表示数据未成功接收或者通信结束。
  每次发送一个字节的数据后,都会有一个ACK/NACK信号。
  数据传输(Data Transfer):
  数据传输是按字节进行的,每个字节由8位数据组成。每个字节后面都会有一个ACK信号,表示接收方已经收到数据。
  停止信号(Stop Condition,P):
  通信结束时,主机发送停止信号,停止信号是通过将SDA线从低电平拉高至高电平时,SCL线保持高电平状态下发送的。
  停止信号标志着当前通信的结束,设备之间可以开始新的通信。
  3. 时序和同步
  同步传输:I2C是同步协议,数据的传输是由时钟(SCL线)同步的。时钟线的上升沿或下降沿控制数据的读取与写入。
  位传输时序:每个数据位的传输都是在时钟信号的每个周期内进行的。通常在时钟的上升沿(或下降沿,取决于实现)进行数据读取或写入。
  4. 数据传输格式
  每个I2C数据字节(8位数据)后,都会有一个ACK/NACK信号。
  数据传输格式:每8位数据后,接收方(从机或主机)都会发出ACK信号,告知发送方数据已正确接收。如果发送的数据没有接收到ACK信号,发送方会判断数据传输失败。
  ACK/NACK:
  ACK:如果接收设备(主机或从机)接收到数据后发出ACK,表示接收成功。
  NACK:如果接收设备没有接收到数据或者发生了错误,则发出NACK,表示传输失败或结束。
  5. 多主模式和从设备的地址选择
  多主模式:I2C协议支持多个主设备在同一总线上进行通信,主设备之间通过总线争用来决定哪个设备可以控制总线。
  从设备地址:每个从设备都有一个的地址。7位地址(高7位)是由制造商指定的,而位是R/W位,标志着操作是读取还是写入。
  6. 总线速率
  I2C总线的速度通常有几种不同的标准:
  标准模式(Standard mode):100 kbps。
  快速模式(Fast mode):400 kbps。
  高速模式(High-speed mode):3.4 Mbps(用于更高速度的设备)。
  超高速模式(Ultra-fast mode):用于一些特定的应用,速度可达到5 Mbps或更高。
  I2C通信的典型时序图:
  SDA: |  S  | A  | A  | A  | A  | P  |
  |    |    |    |    |    |    |
  SCL: |    |    |    |    |    |    |
  ↑    ↑    ↑    ↑    ↑    ↑    ↑
  ↑    ↑    ↑    ↑    ↑    ↑    ↑
  Start   Address   Data    Stop
  S = Start Condition(起始信号)
  A = Acknowledge(应答信号)
  P = Stop Condition(停止信号)
  总结
  I2C通信序列的典型特征包括:
  通过SDA和SCL两条线路进行数据传输;
  每次通信以起始信号(Start)开始,以停止信号(Stop)结束;
  使用7位地址来识别设备,并通过R/W位决定是读取还是写入;
  每个字节的传输后都会有一个ACK信号,用于确认数据是否接收成功;
  支持多主机和多个从机,适合多设备之间的低速通信。
关键词:I2C通信

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13588313025

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!