全球旧事资料 分类
一IIC总线
I2CINTERIC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。
IC接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。但是传输速率有限,标准模式下可达到100Kbps,快速模式下可达到400Kbps(我们开发板一般在130Kbps),高速模式下达到4Mbps,不能实现全双工,不适合传输很多的数据。
IIC总线是一个真正的多主机总线,总线上多个主机初始化传输,可以通过传输检测和仲裁来防止数据被破坏。
下来详细了解IIC总线时序:
11总线数据有效性
IIC总线是单工,因此同一时刻数据只有一个流向,因此采样有效时钟也是单一的,是在SCL时钟的高电平采样数据。
fIIC总线上SDA数据在SCL时钟低电平是可以发生变化,但是在时钟高电平时必须稳定,以便主从设备根据时钟采样数据,如下图:
12总线空闲条件
IIC总线上设备都释放总线(发出传输停止)后,IIC总线根据上拉电阻变成高电平,SDASCL都是高电平。
13总线数据传输起始和结束条件
IIC总线SCL高电平时SDA出现由高到低的跳变,标志总线上数据传输的开始条件
IIC总线SCL高电平时SDA出现由低到高的跳变,标志总线上数据传输的结束条件
f14总线数据传输顺序以及ACK应答
IIC总线上数据传输室MSB在前,LSB在后,从示波器上看,从左向右依次读出数据即可
IIC总线传输的数据不收限制,但是每次发到SDA上的必须是8位,并且主机发送8位后释放总线,从机收到数据后必须拉低SDA一个时钟,回应ACK表示数据接收成功,我们如果示波器上看到的波形就是每次9位数据,8bit1bitack。如下:
从机收到一字节数据后,如果需要一些时间处理,则会拉低SCL,让传输进入等待状态,处理完成,释放SCL,继续传输,如下:
f15总线读写时序
数据的传输在起始条件之后,发送一个7位的从机地址,紧接着第8位是数据方向(RW),0表示发送数据(写),1表示接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读写格式结合。
IIC总线主设备读写从设备,一般都是与从设备的寄存器打交r
好听全球资料 返回顶部