欢迎来到天天文库
浏览记录
ID:48225891
大小:804.00 KB
页数:56页
时间:2020-01-18
《项目七、I2C总线扩展.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、项目七、I2C总线扩展项目七、I2C总线扩展任务.AT24C系列存储器读写操作能力目标1、了解I2C总线原理2、能采用I2C技术对AT24C系列存储器读写操作学习内容1、I2C总线原理2、AT24C系列存储器读写操作一、任务要求要求先对2401C执行写操作,将AT89C51内部数据存储器中30H~3FH中的数据写入2401C中从30H开始的16个连续存储单元中,再执行读操作,读取2401C中30H~3FH中的数据,并将数据存储到AT89C51内部存储器中从40H开始的16个连续存储单元中。KEY1充当外部中断0源,当按下KEY1时,单片机完成用I2C总线写AT
2、2402,KEY2充当外部中断1源,当按下KEY2时,单片机完成用I2C总线读AT2402。二、任务分析1、根据要求整个程序由主程序和中断0和中断1三段程序组成。2、AT2401是一个带有总线结构的存储器,要对AT2401进行读或写,必须按照AT2402的读写时序编写开始信号子程序、停止信号子程序、发送一个字节子程序、接收一个应答位子程序、发送一个接收应答位子程序、发送一个非接收应答位子程序。三、学习知识1、I2C总线结构I2C串行总线只有二根信号线,一根是双向的数据线SDA,另一根是双向的时钟线SCL。图7-1I2C主/从系统结构图在信息的传输过程中,I2C
3、总线上发送数据的设备称为发送器,而接收数据的设备称为接收器。能够初始发送、产生时钟、起始信号、停止信号的设备称为主机或主控制器;而被主机寻址的设备称为从机。I2C总线上的每个芯片(例如微控制器、LCD驱动器、存储器或键盘接口)都有唯一的地址,就像电话机一样都有各自唯一的号码,只有被选址的芯片即从机才和主机(例如单片机)通信,就像电话机只有在被拨通各自的号码时才能通话。2、I2C总线协议(1)主机—从机和接收器—发送器主机—从机、接收器—发送器这些关系不是持久的,只由当时数据传输的方向决定。例如在如下的传输数据的过程中:1)微控制器A要发送信息到微控制器B微控制
4、器A(主机)寻址微控制器B(从机)微控制器A(主机—发送器)发送数据到微控制器B(从机—接收器)微控制器A终止传输2)如果微控制器A想从微控制器B接收信息微控制器A(主机)寻址微控制器B(从机)微控制器A(主机—接收器)从微控制器B(从机—发送器)接收数据微控制器A终止传输(2)I2C总线位的传输I2C总线为同步传输总线,总线数据与时钟完全同步。I2C总线规定时钟线SCL上一个时钟周期只能传送一位数据。当时钟SCL线为高电平时,对应数据线SDA线上的电平即为有效数据位(高电平为1,低电平为0);在数据传送开始后,SCL为高电平的时候,SDA的数据必须保持稳定,
5、只有当SCL为低电平的时候,才允许SDA上的数据改变。当SCL发出重复的时钟脉冲时,每次为高电平时,SDA线上对应的电平就是一位一位传送的数据,其中最先传输的是字节的最高位数据,其时序如图7-2所示。图7-2I2C总线上SDA和SCL的时序关系(3)起始条件和停止条件起始条件:当SCL线为高电平时,SDA线由高到低的转换。出现起始信号以后,总线被认为“忙”。停止条件:当SCL为线高电平时,SDA线由低到高的转换。出现停止信号后,总线被认为“空闲”。也就是SCL和SDA都保持高电平,总线就是空闲的。在连续读写时,如收到—-个“停止条件”。则所有读写操作将终止,芯
6、片将进入等待模式。起始条件和停止条件—般由主机产生。(4)应答信号接收数据的芯片在接收到8位数据后,向发送数据的芯片发出特定的低电平脉冲,表示已收到数据。应答位的时钟脉冲也由主机产生。发送器在应答时钟脉冲高电平期间,将SDA线拉为高电平,即释放SDA线,转由接收器控制。接收器在应答时钟脉冲的高电平期间必须拉低SDA线,以使之为稳定的低电平作为有效应答,如图7-4所示。若接收器不能拉低SDA线,则为非应答信号。图7-4I2C总线上的应答发送器向接收器发出一个字节的数据后,等待接收器发出一个应答信号,发送器接收到应答信号后,根据实际情况作出是否继续传递信号的判断。
7、若未收到应答信号,由判断为接收器出现故障。(5)数据字节的传送发送到SDA线上的每个字节必须为8位。每次传输可以发送的字节数量不受限制,但每个字节后必须跟—个应答位,数据传输的顺序是首先传输数据的最高位MSB,然后在每一个SCL线的时钟周期内,传送一位数据,在8个SCL时钟周期后,SDA线上完成一个字节的数据传送。在传输时,若SCL线为高电平,SDA线上电平需保持稳定不变,只有SCL为低电平时,SDA线上的电平才能改变。否则,若SCL线为高电平,而SDA线上的电平由高跳变到低,则为起始信号;由低跳变到高,则为停止信号。SDA线上完成一个字节的数据传送后,在第9
8、个SCL时钟周期,接收器需发出一个应答
此文档下载收益归作者所有