IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司设计出来的一种简单、双向、二线制、同步串行总线。它是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。
那么也就是说,只要收发双方同时接入SDA(双向数据线)、SCL(同步时钟线)便可以进行通信。
I2C总线的工作速度分为 3 种模式(实际上,IIC的通信速率由SCL决定):
S(标准模式),测量与控制场合,100kbit/s;
F(快速模式),速率为 400kb/s;(默认,目前普遍支持的最大速率)
Hs(高速模式),速率为 3.4Mb/s(支持这种标准的器件很少)。
一般情况下,SCL与SDA默认由上拉电阻拉高。这也是为了方便通信协议。
多机连接时,为了区分不同的从机,我们会使用自定义的地址码进行区分。

IIC的通信要注意以下6个知识点:
1.空闲状态
2.开始信号
3.停止信号
4.应答信号
5.数据的有效性
6.数据传输
在IIC中规定,当SDA、SCL同时为高电平时,视为空闲状态。
注意,这个规定是通信设备通信前的判断条件。
在IIC中规定,当SCL为高电平,且SDA从高到低的跳变时,视为数据开始传输;
在IIC中规定,当SCL为高电平,且SDA从低到高的跳变时,视为数据停止传输;

数据有效性:
在传输数据时,应保证数据在SCL的上升沿到来之前准备好,并在下降沿到来之前必须稳定。
(由于在电路中,电平的跳变往往伴随着毛刺。)
数据传送:
在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。
在一般情况下,传输数据时,从数据的最高有效位开始发送。
应答信号:
在IIC中规定,发送方每发送1个字节(8位)后需要接收接收方发送的应答信号。
ACK为0时,视为有效应答;ACK为1时,视为无效响应。
总结:谁发了数据,谁就要接收一个应答信号。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2848.html