浅谈I2C总线

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送

IIC总线由数据线SDA和时钟线SCL两条线构成通信线路

,既可发送数据,也可接收数据。在CPU与被控IC之间、IC与IC之间都可以进行双向传送,最高传送速率为400kbs,各种被控期间均并联在总线上,但每个期间都有唯一的地址。在信息传输过程中IIC总线上并联的每一个器件既是被控器(或主控器),又是发送器,这取决于他所要完成的功能。

CPU发出的控制信号分为地址码和数据码两部分:地址码用来选址,即接通需要控制的电路;数据码是通信的内容,这样各IC控制电路虽然挂在同一条总线上,但却彼此独立。

IIC总线有两条线,SCL是时钟线,SDA是数据线。总线上各器件都采用漏极开路结构与总线相连。因此SCL和SDA均需接上拉电阻,总线在空闲状态下均保持高电平,连接到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。
浅谈I2C总线_第1张图片

IIC总线支持多主和主从两种工作方式,通常为主从工作方式。在主从工作方式中,系统中只有一个主器件(主控芯片),其他器件都是具有IIC总线外围从器件。在主从工作方式中,主从器件启动数据的发送(发送启动信号),产生时钟信号,发出停止信号。

浅谈I2C总线_第2张图片

4、数据位的有效性规定


IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟信号为低电平期间,数据线上的高电平或者低电平状态才允许变化。

浅谈I2C总线_第3张图片

5、发送启动(起始)信号:

在利用IIC总线进行一次数据传输时,首先由主机发出启动信号,启动IIC总线。在SCL为高电平期间,SDA出现下降沿则为启动信号。此时具有IIC总线接口的从器件会检测到该信号。
浅谈I2C总线_第4张图片
6、发送寻址信号:
主机发送启动信号后,再发出寻址信号。器件地址有7位和10位两种,这里只介绍7位地址寻址方式。寻址字节由一个字节构成,高7位为地址位,最低位为方向位,用以表明主机与丛集的数据传送方向。方向位为0,表明主机接下来对从设备进行写操作;方向位为1,表明主机接下来对从器件进行读操作。
浅谈I2C总线_第5张图片
主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/W位将自己确定为发送器或接收器。

7、应答信号:

IIC总线协议规定,每传送一个字节数据(含地址和命令字)后,都要有一个应答信号,以确定数据传送是否被对方收到。应答信号由接收设备产生,在SCL信号为高电平期间,接收设备将SDA拉为低电平,表示数据传输正确,产生应答。

浅谈I2C总线_第6张图片

8、数据传输:

主机发送寻址信号并得到从器件应答后,便可进行数据传输,每次一个字节,但每次传输都应在得到应答信号后在进行下一字节传送。
浅谈I2C总线_第7张图片

9、非应答信号:

当主机为接受设备时,主机对最后一个字节不应答,以向发送设备表示数据传输结束。

10、发送停止信号:

在全部数据传送完毕后,主机发送停止信号,即在SCL为高电平期间,SDA上产生一个上升沿信号

你可能感兴趣的:(stm32,单片机,stm32,单片机,浅谈I2C总线)