IIC总线时序(结合AT24C02)
2017-04-25 09:23
246 查看
IIC总线简介
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps
以上,并且能够以10Kbps的最大传输速率支持40个组件。
同时,IIC总线支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。
IIC总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。
CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续
传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
1.总线空闲状态:SCL和SDA均为高电平,即释放总线,由两条信号线各自的上拉电阻把电平拉高
2.启动信号:在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动
信号,它标志着一次数据传输的开始。启动信号是一种电平跳变时序信号,而不是一个电平信号。启动信号是由主控器
主动建立的,在建立该信号之前I2C总线必须处于空闲状态。
3.停止信号:在时钟线SCL保持高电平期间,数据线SDA被释放,使得SDA返回高电平(即正跳变),称为I2C总线
的停止信号,它标志着一次数据传输的终止。停止信号也是一种电平跳变时序信号,而不是一个电平信号,停止信号也
是由主控器主动建立的,建立该信号之后,I2C总线将返回空闲状态。
4.数据位传送:在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合
下,在SDA上逐位地串行传送每一位数据。进行数据传送时,在SCL呈现高电平期间,SDA上的电平必须保持稳定,低电
平为数据0,高电平为数据1。只有在SCL为低电平期间,才允许SDA上的电平改变状态。逻辑0的电平为低电压,而逻辑1
的电平取决于器件本身的正电源电压VDD(当使用独立电源时)。IIC数据从最高位开始传输。
5.应答位:处理器把数据发给外接IIC设备,如何知道IIC设备数据已经收到呢?就需要外接IIC设备回应一个信号给处理器。
处理器发完8bit数据后就不再驱动总线了(SDA引脚变输入),而SDA和SDL硬件设计时都有上拉电阻,所以这时候SDA
变成高电平。那么在第8个数据位,如果外接IIC设备能收到信号的话接着在第9个周期把SDA拉低,那么处理器检测到SDA
拉低就能知道外接IIC设备数据已经收到。
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps
以上,并且能够以10Kbps的最大传输速率支持40个组件。
同时,IIC总线支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。
IIC总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。
CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续
传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
1.总线空闲状态:SCL和SDA均为高电平,即释放总线,由两条信号线各自的上拉电阻把电平拉高
2.启动信号:在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动
信号,它标志着一次数据传输的开始。启动信号是一种电平跳变时序信号,而不是一个电平信号。启动信号是由主控器
主动建立的,在建立该信号之前I2C总线必须处于空闲状态。
3.停止信号:在时钟线SCL保持高电平期间,数据线SDA被释放,使得SDA返回高电平(即正跳变),称为I2C总线
的停止信号,它标志着一次数据传输的终止。停止信号也是一种电平跳变时序信号,而不是一个电平信号,停止信号也
是由主控器主动建立的,建立该信号之后,I2C总线将返回空闲状态。
4.数据位传送:在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合
下,在SDA上逐位地串行传送每一位数据。进行数据传送时,在SCL呈现高电平期间,SDA上的电平必须保持稳定,低电
平为数据0,高电平为数据1。只有在SCL为低电平期间,才允许SDA上的电平改变状态。逻辑0的电平为低电压,而逻辑1
的电平取决于器件本身的正电源电压VDD(当使用独立电源时)。IIC数据从最高位开始传输。
5.应答位:处理器把数据发给外接IIC设备,如何知道IIC设备数据已经收到呢?就需要外接IIC设备回应一个信号给处理器。
处理器发完8bit数据后就不再驱动总线了(SDA引脚变输入),而SDA和SDL硬件设计时都有上拉电阻,所以这时候SDA
变成高电平。那么在第8个数据位,如果外接IIC设备能收到信号的话接着在第9个周期把SDA拉低,那么处理器检测到SDA
拉低就能知道外接IIC设备数据已经收到。
相关文章推荐
- IIC总线时序
- 单片机模拟 IIC 总线与 EEPROM(AT24C02)通信
- 基于51单片机实现模拟IIC总线时序
- IIC总线时序详解
- IIC总线时序详解
- 基于51单片机实现模拟IIC总线时序
- 基于FPGA EEPROM读写实现及IIC总线协议和时序分析
- 对IIC总线时序的一点理解以及ACK和NACK(NAK)
- IIC总线操作AT24C02芯片
- 基于51单片机实现模拟IIC总线时序
- 对IIC总线时序的一点理解以及ACK和NACK(NAK)
- IIC总线时序
- 基于嵌入式linux iic 总线读写mpu6050
- SPI总线协议及SPI时序图详解
- 嵌入式 IIC总线协议
- I2C总线信号时序总结
- 对DDR2中总线时序(Post CAS技术中)附加延迟(AL)的理解
- 嵌入式工程师常用的IIC和SPI总线协议,今天来说透!
- iic协议是什么?iic总线特点_iic总线工作原理
- IIC通信时序--自我理解