[通信技术资料]一文搞懂IIC的原理、实现方式和工作状态(一)

1、IIC介绍
      IIC(Inter-Integrated Circuit)是一种串行通信协议,由Philips公司开发,用于连接微控制器和外围设备,是一种双向的、同步的串行总线协议。I2C协议有两根线:数据线(SDA)和时钟线(SCL),可以连接多个设备,每个设备都有一个地址,可以通过地址来选择需要通信的设备。
   

     IIC通信协议的基本流程如下
主控制器发送起始信号(Start),包括在SCL线上产生一个下降沿后,SDA线上出现一个下降沿;
主控制器发送设备地址和读写控制位(R/W),用于选择需要通信的设备;
选择的设备响应主控制器,表示已经准备好通信;

主控制器发送数据或命令到设备;

设备接收主控制器发送的数据或命令;


 

主控制器发送停止信号(Stop),包括在SCL线上产生一个上升沿后,SDA线上出现一个上升沿,结束通信。
具体来说,在I2C通信协议中,主设备向从设备发送或写入数据的流程如下:
主设备发送起始信号,通知总线上的所有设备,主设备将要开始通信。
主设备发送从设备的地址和写入位。地址中包含从设备的地址和读写位,读写位表示是要读取从设备的数据还是向从设备写入数据。
主设备等待从设备的应答信号,如果从设备存在并成功接收了地址信息,从设备会发送应答信号。
主设备发送要写入的数据到从设备,从设备确认接收到数据并发送应答信号。
主设备可以继续发送更多的数据,直到完成所有的数据传输。

主设备发送停止信号,表示通信结束。 总的来说,主设备向从设备发送数据的过程是先发送起始信号,然后发送从设备地址和写入位,等待从设备应答信号,发送要写入的数据,等待从设备应答信号,继续发送更多的数据,最后发送停止信号。

主设备接收从设备数据流程差不多,但是注意以下几点
主设备开始接收从设备发送的数据,每接收一个字节的数据,主设备都会发送应答信号,表示准备好接收下一个字节的数据。
当主设备接收到从设备的最后一个字节时,主设备发送非应答信号,表示数据传输结束。
主设备发送停止信号,表示通信结束。
总的来说,主设备从从设备接收数据的过程是先发送起始信号,然后发送从设备地址和读取位,等待从设备应答信号,开始接收从设备发送的数据,发送应答信号表示已经准备好接收下一个字节的数据,接收完最后一个字节时发送非应答信号表示数据传输结束,最后发送停止信号。

 
  2、I2C通信协议的特点:
双向的:可以在同一条总线上进行读写操作;
多设备共享:可以连接多个设备,每个设备都有一个地址,可以选择需要通信的设备;
时序同步:由时钟线控制数据传输的步进,每个数据位都在时钟线上的一个时钟周期内传输;
传输速率慢:I2C通信速率较慢,最高速率一般为400Kbps。
总之,I2C通信协议是一种双向、同步、多设备共享的串行通信协议,可以连接微控制器和外围设备,用于数据的传输和控制。
---------------------
作者:lllxxx111
链接:https://bbs.21ic.com/icview-3293942-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值