I2C接口基本知识
- 格式:ppt
- 大小:424.00 KB
- 文档页数:18


iic的接口标准
IIC(Inter-Integrated Circuit)是一种智能互连标准,它是
一种基于串行总线的接口电路,用于控制多个芯片之间的通信。
I2C接
口有很多优点,它的最大优势是允许多个芯片同时使用一条总线,这
样芯片数量可以被有效压缩,比如,可以把多个传感器和外围设备连
接到单个I2C上,然后所有设备都可以通过单个信号总线来收发数据。
I2C接口具有支持多种不同设备的能力,I2C接口支持的设备可以
在不同的总线频率下工作,设备的速率从10KHz到400KHZ不等。
从硬
件上来说,I2C接口只包含两根信号线:SDA(数据线)和SCL(时钟线),其中SDA用于传输数据,SCL用于传输时钟信号以确保数据的正
确发送和接收,并且I2C接口还可以使用内部电源,简化了外部设备
对电源的需求。
I2C接口也是一种低成本、易于维护的接口标准,所有设备都可以
通过简单的握手操作来发现其他设备,大大减少了开发者在硬件编程
过程中遇到的繁琐耗时的过程,并且I2C接口具有良好的容错性,因
此可以有效地防止数据收发的紊乱。
除了芯片间的通信标准,I2C接口还被广泛应用于其他类型的外部
设备,比如硬件传感器、外围芯片、小电磁阀等,I2C接口可以通过一
条线将许多传感器和外围芯片集中在一起,使得系统的功耗大大降低,同时可以为用户提供更加方便快捷的操作体验,将单板电脑和PCB板
设计融为一体,从而简化系统的结构,提升系统的稳定性。
I2C详解1、基本概念主机初始化发送,产⽣时钟信号和终⽌发送的器件从机被主机寻址的器件发送器发送数据到总线的器件接收器从总线接收数据的器件多主机同时有多于⼀个主机尝试控制总线但不破坏报⽂仲裁是⼀个在有多个主机同时尝试控制总线,但只允许其中⼀个控制总线并使报⽂不被破坏的过程同步两个或多个器件同步时钟信号的过程2、硬件结构每⼀个I2C总线器件内部的SDA、SCL引脚电路结构都是⼀样的,引脚的输出驱动与输⼊缓冲连在⼀起。
其中输出为漏极开路的场效应管、输⼊缓冲为⼀只⾼输⼊阻抗的同相器。
这种电路具有两个特点:(1)由于SDA、SCL 为漏极开路结构,借助于外部的上拉电阻实现了信号的“线与”逻辑;(2)引脚在输出信号的同时还将引脚上的电平进⾏检测,检测是否与刚才输出⼀致。
为“时钟同步”和“总线仲裁”提供硬件基础。
3、时钟同步如果从机希望主机降低传送速度可以通过将SCL主动拉低延长其低电平时间的⽅法来通知主机,当主机在准备下⼀次传送发现SCL的电平被拉低时就进⾏等待,直⾄从机完成操作并释放SCL线的控制控制权。
这样以来,主机实际上受到从机的时钟同步控制。
可见SCL 线上的低电平是由时钟低电平最长的器件决定;⾼电平的时间由⾼电平时间最短的器件决定。
这就是时钟同步,它解决了I2C总线的速度同步问题。
4、主机发送数据流程(1)主机在检测到总线为“空闲状态”(即SDA、SCL 线均为⾼电平)时,发送⼀个启动信号“S”,开始⼀次通信的开始(2)主机接着发送⼀个命令字节。
该字节由7 位的外围器件地址和1 位读写控制位R/W 组成(此时R/W=0)(3)相对应的从机收到命令字节后向主机回馈应答信号ACK(ACK=0)(4)主机收到从机的应答信号后开始发送第⼀个字节的数据(5)从机收到数据后返回⼀个应答信号ACK(6)主机收到应答信号后再发送下⼀个数据字节(7)当主机发送最后⼀个数据字节并收到从机的ACK 后,通过向从机发送⼀个停⽌信号P结束本次通信并释放总线。