【协议】IIC总线协议介绍

IIC总线(Inter-Integrated Circuit,集成电路总线),又作I2C,是由飞利浦半导体公司在20世纪80年代设计出来的两线式串行总线,用于连接微控制器和其他的外设设备。I2C总线是微电子通信控制领域广泛使用的一种总线标准。它是同步通信的一种特殊形式,具有接口少、控制方式简单、器件封装形式小及通信速率较高等优点。

IIC总线有两根双向信号线——串行数据线(SDA)和串行时钟线(SCL)。所有的IIC总线上的器件的数据线都会连接到SDA,时钟线都会连接到SCL。如下图所示,IIC是一个多主设备总线,总线可以有一个或者多个主机,总线运行由主机控制。每一个器件都有一个唯一的识别地址,而且都可以用来作为一个发送器或接收器。主机是初始化总线的数据传输并产生时钟信号的器件。此时任何被寻址的设备都被称为从机。如果两个或者更多主机同时尝试初始化数据传输,总线可以通过冲突检测或者仲裁防止数据被破坏。

IIC总线上的SDASCL是双向的。为了避免总线信号的混乱,要求设备连接到总线的输出时必须是漏极或者集电极开路。总线空闲时,上拉电阻使SDASCL线均为高电平任一设备输出低电平将是的相应的总线信号变低,也就是说各设备SDASCL都是“与”的关系,这也使得IIC总线上不同速率的器件能够进行同步。
IIC总线对设备接口电路的制造工艺和电平都没有特殊的要求(NMOS、CMOS都可以兼容)。在IIC总线上数据的传输速率可以高达100Kbps,高速的方式时在400Kbps以上。另外,总线上允许连接的设备总电容量不能超过400pF
IIC主机对从机的操作时,需要指定从机的地址,一般是7位或者10位。数据传输是有主机发起后,第一个字节7位组成了从机的地址,第8位就是读写控制位(W/R位),它决定了传输的方向。该位为“0”表示主机向选中主机向从机写数据。“1”表示主机从从机中读取数据。当发送一个地址后,系统的每一个器件都在起始条件后将头7位与自己的地址作比较,如果一样,器件会判定它被主机寻址,具体是读操作还是写操作是有读写控制位W/R决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值