欢迎来到天天文库
浏览记录
ID:13667115
大小:148.50 KB
页数:3页
时间:2018-07-23
《串行通信i2c总线协议详细教程(读写时序,24cxx系列eeprom)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、串行通信i2c总线协议详细教程(读写时序,24CXX系列EEPROM)(新手必看)一、总线基本状态:1、总线空闲(A)数据线和时钟线同时为高电平。2、启动数据传输(B)时钟(SCL)为高电平时,SDA从高电平变为低电平表示起始条件产生。起始条件必须先于所有的命令产生。3、停止数据传输(C)时钟(SCL)为高电平时,SDA从低电平变为高电平表示停止条件产生。所有操作都必须以停止条件结束。4、数据传送/数据有效(D)数据线的状态表明数据何时有效。在起始条件之后,数据线在时钟处于高电平期间保持稳定。必须在时钟信号为低电平期间改变数据线。一个数
2、据位对应一个时钟脉冲。数据的每次传输以起始条件开始,以停止条件结束。在起始条件和停止条件之间传输的数据字节数目由主器件决定。5、确认信号(ACK)每一个被寻址的接收器在接收到每一字节数据后,应发送一个确认位。主器件必须提供一个额外的时钟以传输确认位。在确认时钟脉冲内,器件确认须拉低SDA线。在确认时钟的高电平期间,SDA线以这种方式保持稳定的低电平。当然,还必须考虑建立时间和保持时间。6、无应答信号(NACK)在时钟的第9个脉冲期间发送器释放数据总线,接收器不拉低数据总线表示一个NACK,NACK有两种用途:a、一般表示接收器未成功接收
3、数据字节;b、当接收器是主控器时,它收到最后一个字节后,应发送一个NACK信号,以通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号STOP。7、其它信号如插入等待、重启动、时钟同步、总线仲裁、总线封锁等不经常使用,请参阅资料。--------------------------------------------------------------二、基本工作时序:以启动信号START来掌管总线,以停止信号STOP来释放总线;每次通讯以START开始,以STOP结束;启动信号START后紧接着发送一个控制字节,其中
4、7位为被控器件的地址码,一位为读/写控制位R/W,R./W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据;当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号;每个数据字节在传送时都是高位(MSB)在前;写数据过程:1、主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2、发送一个控制字节(包括7位器件地址码和一位R/W);(某些器件的地址字节可能带有其他功能)3、当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4、主控收到ACK后开始发送第一个数
5、据字节;5、被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束;6、主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;写数据时序:a.单字节写操作(注:图中控制字节指器件地址码和读写控制位;地址字节指器件内部的储存器地址。下同。)b.多字节连续写操作(被控器件完成一个写字节操作后内部地址计数器自动加一)读数据过程:1、主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2、发送一个控制字节(包括7位器件地址码和一位R/W);(某些器件的地址字节可能带有其他功能)3、当被控
6、器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4、主控收到ACK后释放数据总线,开始接收第一个数据字节;5、主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束;6、主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;a.当前地址读单字节操作(被控器件内部储存器地址计数器保留最后一次访问的地址)b.任意地址读单字节操作(主控器件先发写命令,然后发要读的地址,然后发读命令)c.多字节连续读操作(被控器件完成一个读字节操作后内部地址计数器自动加一)注:以上操作符合24CXX系列E
7、EPROM器件读写时序。--------------------------------------------------------------三、寻址约定一般器件地址码分为两部分:1、高4位属于固定地址不可改变,由厂家固化的统一地址;2、低三位为引脚设定地址,可以由外部引脚来设定(并非所有器件都可以设定)。
此文档下载收益归作者所有