IIC时序在多种通讯方式中是明显比较复杂,他不仅在时间上有严格的要求,而且还具有多种模式。
新手往往对SCK,SDA还有读写应答时序很难理解,而且对主从机与接收发送机的关系很头疼。
这次整理了一些常用程序和个人理解,以及IIC协议讲解,希望对大家有帮助。
一、IIC通讯协议其实对大部分iic器件是通用的,但是它有不同的工作模式,比如说在单片机中,我们就学习了标准模式(PCF8591 A/D转换芯片),快速模式(24C02存储芯片),其实还有HS模式等等,目前我感觉得区别就是时间上的区别。
二、对于应答信号来说,虽然主机和从机的身份是固定的,但是接收方和发送方的身份是可以变化的,而且应答信号的产生是接收方发出的,所以比如说读的时候,主机是接收方,从机是发送方,主机在读完数据后,需要根据情况发出(非)应答信号;写的时候则是相反的,需要从机作出应答。
三、接收从机应答的时序和读时序其实很相似,都需要自从机接收数据。
SDA_IN与起始、终止及写时序有关
SDA_OUT与应答、读时序有关
单片机源程序如下:
所有资料51hei提供下载:
iic时序及讲解.rar
(1.4 MB, 下载次数: 43)
|