1 IIC概述
IIC总线是PHLIPS公司推出的一种双向、二线、同步、串行总线。
感官认识:下图是带IIC接口的EEPROM封装图。
引脚说明如下:
下图是IIC总线系统的典型接法。IIC总线由一条双向数据线SDA和一条时钟线SCL组成。Master按IIC的通信协议时序,对Slave进行寻址和信息传输。IIC总线的数据传输速率有标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。
2 通信协议
(1)总线空闲:
SDA:高电平
SCL:高电平
(2)开始和终止信号
SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;
SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。
(3)数据有效性
时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。
(4)字节传送与应答
每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。
(5)总线寻址
规定: 采用7位的寻址字节(寻址字节是起始信号后的第一个字节),用来寻址从机器件,并规定数据传送方向。
D7~D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。
主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/W位将自己确定为发送器或接收器。
从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到IIC总线系统中。
(6)IIC写数据时序
(7)IIC读数据时序
注意:IIC读数据时序,Master要重复发一次起始信号,并发出器件地址和读方向位(“1”)。
欢迎关注我的微信公众号:FPGA干货架