I2C总线的传输协议及工作原理

I2C总线的传输协议及工作原理,第1张

  一、特点

  I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。其主要特点可以概括如下:

  (1)在硬件上,12C总线只需要一根数据线SDA和一根时钟线SCL两根线,SDA传输数据,每次传输8bit,即一字节,且先传输高bit,再传输低bit。SCL是时钟线,用于时钟同步。

  (2)I2C总线是一个真正的多主机总线。如果两个或多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据破坏,每个连接到总线上的器件都有的地址,任何器件既可以作为主机也可以作为从机,但任何时间点只能有一个主机。总线上每个设备都有自己的一个地址,通过地址方式寻址各个器件,共7个bit,理论上总线可挂载127个器件(全0为广播地址),但一个系统中可能有多个同种芯片,因此地址又分为固定部分和可编程部份,具体视芯片而定。

  (3)连接到总线上的芯片数量除受7bit地址限制外,还受总线电容的限制。

  (4)串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。

  二、工作原理

  总线上的器件由一个主器件和其他从器件组成。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主器件要发送数据给从器件,则主器件首先寻址从器件,然后主动发送数据至从器件,由主器件终止数据传送;如果主器件要接收从器件的数据,首先由主器件寻址从器件.然后主器件接收从器件发送的数据,由主器件终止接收过程。在这种情况下,主器件负责产生定时时钟和终止数据传送。

  三、传输协议

  位传输

  数据位传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据;若SDA发生跳变,则用来表示一个会话的开始或结束。数据改变:SCL为低电平时,SDA线才能改变传输的数据位,具体如下图所示。

  I2C总线的传输协议及工作原理,第2张

  开始和结束信号

  开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。其具体如下图所示。

  I2C总线的传输协议及工作原理,第3张

  应答信号

  主设备每发送完8bit数据后等待从设备的ACK,即在第9个clk,读取到SDA低电平为有效;主设备把clk拉低,并将sda换成输入模式(上拉电阻,默认高电平)读取第9位,clk再次拉高,读取从设备发来的ACK。这里又分两种情况:

  1.写 *** 作:主设备把clk拉高,等待读取ACK,从设备发现clk拉高后,就把sda拉低,告诉主设备,成功接收到8位数据。

  2.读 *** 作:主设备发送芯片地址和寄存器地址,这两个字节的ACK都是由从设备来拉低,同写 *** 作;从设备开始向从设备发送数据,clk为低时,sda变化,主设备clk拉高时读取sda,ACK由主设备拉低;当从设备发送完一个字节后,主设备强制把ACK拉高,通知从设备不要需要再发了,从设备发现这个ACK没有被拉低,认为主设备接收错误,也就结束发送了,当然从设备自己也知道这是一个字节。

  I2C总线的传输协议及工作原理,第4张

  标准写流程

  a)主器件产生开始信号

  b)主器件发送从器件地址(7bit)和读写 *** 作位0(1bit),改SDA为输入,等待ACK

  c)从器件发送ACK

  d)主器件发送从器件寄存器地址(8bit),改SDA为输入,等待ACK

  e)从器件发送ACK

  f)主器件发送数据字节(8bit),即要写入寄存器中的数据,改SDA为输入,等待ACK

  g)从器件发送ACK

  h)上述第f步至第g步可以重复多次,即可以按顺序写多个寄存器

  i)主器件产生停止信号,结束数据传输。

  ?标准读流程

  a)主器件产生开始信号

  b)主器件发送从器件地址(7bit)和读写 *** 作位0(1bit),改SDA为输入,等待ACK

  c)从器件发送ACK

  d)主器件发送从器件寄存器地址(8bit),改SDA为输入,等待ACK

  e)从器件发送ACK

  f)主器件产生开始信号

  g)主器件发送从器件地址(7bit)和读写 *** 作位1(1bit),改SDA为输入,等待ACK

  h)从器件发送ACK

  i)从器件发生数据字节(8bit),即寄存器中的值

  j)主器件发送ACK

  k)上述第i步至第j步可以重复多次,即可以按顺序读多个寄存器

  l)主器件产生停止信号,结束数据传输。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2455126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存