IIC的引脚少,硬件实现简单,可扩展性强,不需要UART、CAN等通讯协议的外部收发设备,而被广泛地应用于系统内多个集成电路间的通讯。
IIC的常见连接方式如下图所示:
由上图可知,IIC的物理特性很简单:
(1)两根线:SCL为时钟线,接2~15V的电压以及一个上拉电阻;
SDA为数据线,接2~15V的电压以及一个上拉电阻。
(2)当IIC设备空闲时,其会输出高阻态,而当IIC总线上所有的设备都空闲(也就是输出高阻态)时,SDA所接的上拉电阻会把总线拉成高电平。而IIC总线具有线与特性,所以当有设备不输出高阻态(也就是输出0)时,别的设备就能马上感知到IIC总线的变化。
(3)每一个连接到总线的设备都有一个独立的地址,主机可以通过该地址来进行不同设备间的访问。
(4)IIC总线的传输模式可分为三种:
标准模式传输速率:100 kbit/s;
快速模式:400 kbit/s
高速模式:3.4 Mbit/s,但目前大多数IIC设备尚不支持该模式。
(5)连接到相同IIC总线的设备数量受到其最大电容400pF的限制。
(6)如果IIC总线上有着多个主机,为了防止数据的冲突,会利用仲裁方式来决定由哪个设备来占用总线。