新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > I2C总线学习—查缺补漏—应答信号ACK

I2C总线学习—查缺补漏—应答信号ACK

作者: 时间:2016-11-22 来源:网络 收藏
IIC协议规定,当主机作为接收设备时,主机对最后一个字节不应答,以向发送设备(从设备)标识数据传送结束。这是因为每次传输都应得到应答信号后再进行下一个字节传送。如果此时接收机应答了,那它就接收的不是最后一个字节了。如果是最后一个字节,第9个时钟周期发送的是非应答信号(此时发送的不是应答信号就是非应答信号),最后发送停止信号。
并非每传输8位数据之后,都会有ACK信号,有以下3中例外
  1. 当从机不能响应从机地址时(例如它正忙于其他事而无法响应IIC总线的操作,或者这个地址没有对应的从机),在第9个SCL周期内SDA线没有拉低,即没有ACK信号。这时,主机发出一个P信号终止传输或者重新发出一个S信号开始新的传输。
  2. 如果从机接收器在传输过程中不能接收更多的数据时,它不会发出ACK信号。这样,主机就可以意识到这点,从而发出一个P信号终止传输或者重新发出一个S信号开始新的传输。
  3. 主机接收器在接收到最后一个字节后,也不会发出ACK信号。于是,从机发送器释放SDA线,以允许主机发出P信号结束传输。



评论


技术专区

关闭
×

TI 在线会
2025年6月11日,与TI一起探索电动化汽车高效音频解决方案吧!