收藏 分销(赏)

I2C总线24C08.ppt

上传人:pc****0 文档编号:13738598 上传时间:2026-04-07 格式:PPT 页数:21 大小:440KB 下载积分:10 金币
下载 相关 举报
I2C总线24C08.ppt_第1页
第1页 / 共21页
I2C总线24C08.ppt_第2页
第2页 / 共21页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,I,2,C,总线、,24C08,存储器,I,2,C,总线,I,2,C,总线(,Inter Integrated Circuit Bus,):是,Philips,公司推出的串行总线标准(为二线制)。总线上扩展的外围器件及外设接口通过总线寻址,是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。,I,2,C,总线工作原理,串行数据线,SDA,和串行时钟线,SCL,构成的,可发送和接收数据。,所有挂接在,I,2,C,总线上的器件和接口电路都应具有,I,2,C,总线接口,且所有的,SDA/SCL,同名端相连。总线上所有器件要依靠,SDA,发送的地址信号寻址,不需要片选线。,特点:组成系统结构简单,占用空间小,芯片管脚的数量少,无需片选信号,价格低。允许若干兼容器件共享总线,应用比较广泛。总线的长度可达,7.6m,,传送速度可达,400kbps,,标准速率为,100kbps,。支持多个组件。支持多主控器件(某时刻只能有一个主控器件)。,I,2,C,总线上所有设备的,SDA,SCL,引脚必须外接上拉电阻。,I,2,C,总线工作原理,典型的,I,2,C,总线系统结构,如图所示。,I,2,C,总线上可以挂接多个器件,其中每个器件必须都支持,I,2,C,总线通信协议。,典型的,I,2,C,总线系统结构,I,2,C,总线器件的寻址方式,由于所有器件都通过,SCL,和,SDA,连接在,I,2,C,总线上,因此,主器件在进行数据传输前需要通过寻址,选择需要通信的从器件。,I,2,C,总线上所有外围器件都需要有唯一的,7,位地址,由器件地址和引脚地址两部分组成。,器件地址是,I,2,C,器件固有的地址编码,器件出厂时就已经给定,不可更改。,引脚地址是由,I,2,C,总线外围器件的地址引脚(,A2,,,A1,,,A0,)决定,根据其在电路中接电源正极、接地或悬空的不同,形成不同的地址代码。,I,2,C,总线接口,EEPROM,存储器,目前,市场上,I,2,C,总线接口器件有多种,例如,A/D,转换器、,D/A,转换器(,PCF8591,)、时钟芯片和存储器(,24C08,)等。这里以典型的,I,2,C,总线接口的存储器为例进行介绍。,I,2,C,总线接口,EEPROM,存储器是一种采用,I,2,C,总线接口的,串行总线存储器,这类存储器具有,体积小、引脚少、功耗低、工作电压范围宽等特点,。,目前,,Atmel,、,MicroChip,、,National,等公司均提供各种型号的,I,2,C,总线接口的,串行,EEPROM,存储器,。,在,单片机系统中使用较多的,EEPROM,存储器是,24,系列串行,EEPROM,。其具有型号多、容量大、支持,I,2,C,总线协议、占用单片机,I/O,端口少,芯片扩展方便、读写简单等优点。,AT24C08,的引脚结构,AT24C01,:,128,字节(,128,8,位);,AT24C02,:,256,字节(,256,8,位);,AT24C04,:,512,字节(,512,8,位),AT24C08,:,1K,字节(,1K,8,位);,AT24C16,:,2K,字节(,2K,8,位);,AT24C32 4K,字节(,4KX8,位),C51,模拟,I,2,C,总线协议,在实际应用中,往往遇到所使用的单片机没有,I,2,C,总线接口,例如典型的,51,系列单片机。为了让此类单片机用于操作,I,2,C,总线器件的能力,需要在程序模拟,I,2,C,总线数据传输协议。,I,2,C,总线概述,I,2,C,总线采用两线制,由数据线,SDA,和时钟线,SCL,构成。,I,2,C,总线对数据通信时序进行了严格的定义。,I,2,C,总线数据操作,在,I,2,C,总线上,数据是伴随着时钟脉冲,一位一位地传送的,数据位由低到高传送,每位数据占一个时钟脉冲。,I,2,C,总线上的在时钟线,SCL,高电平期间,数据线,SDA,的状态就表示要传送的数据,高电平为数据,1,,低电平为数据,0,。在数据传送时,,SDA,上数据的改变在时钟线为低电平时完成,而,SCL,为高电平时,,SDA,必须保持稳定,否则,SDA,上的变化会被当作起始或终止信号而致使数据传输停止。,I,2,C,总线数据操作,I2C,总线在传送数据过程中共有三种类型信号:开始信号、停止信号和应答信号。,开始信号:,SCL,保持高电平的状态下,,SDA,出现下降沿。出现开始信号以后,总线被认为“忙”。,停止信号:,SCL,保持高电平的状态下,,SDA,出现上升沿。停止信号过后,总线被认为“空闲”。,应答信号:,接收数据的器件在接收到,8,位数据后,向发送数据的器件发出特定的低电平脉冲,表示已收到数据。,总线空闲:,SCL,和,SDA,都保持高电平。,总线忙:,在数据传送开始以后,,SCL,为高电平的时候,,SDA,的数据必须保持稳定,只有当,SCL,为低电平的时候才允许,SDA,上的数据改变。,I,2,C,协议起始信号时序,起始信号时序,起始信号用于开始,I2C,总线通信。其中,起始信号是在时钟线,SCL,为高电平,期间,数据,SDA,上高电平向低电平变化的下降沿信号。起始信号出现以后,,才可以进行后续的,I2C,总线寻址或数据传输等,I,2,C,协议终止信号时序,终止信号用于终止,I,2,C,总线通信。其中,终止信号是在时钟线,SCL,为高电平期间,数据线,SDA,上低电平到高电平变化的上升沿信号。终止信号一出现,所有,I,2,C,总线操作都结束,并释放总线控制权。终止信号的时序,,终止信号时序,I,2,C,协议应答信号时序,应答信号用于表明,I,2,C,总线数据传输的结束。,I,2,C,总线数据传送时,一个字节数据传送完毕后都必须由主器件产生应答信号。主器件在第,9,个时钟位上释放数据总线,SDA,,使其处于高电平状态,此时从器件输出低电平拉低数据总线,SDA,为应答信号。应答信号的时序,如图所示。,应答信号时序,I,2,C,总线的传送格式,I,2,C,总线的传送格式为主从式,对系统中的某一器件来说有四种工作方式:主发送方式、从发送方式、主接收方式、从接收方式。,只讲,主发送从接收(单片机发送,24C08,接收),主器件产生开始信号以后,发送的第一个字节为控制字节。前七位为从器件的地址片选信号。最低位为数据传送方向位(高电平表示读从器件,低电平表示写从器件),然后发送一个选择从器件片内地址的字节,来决定开始读写数据的起始地址。接着再发送数据字节,可以是单字节数据,也可以是一组数据,由主器件来决定。从器件每接收到一个字节以后,都要返回一个应答信号(,ASK=0,)。,主器件在应答时钟周期高电平期间释放,SDA,线,转由从器件控制,从器件在这个时钟周期的高电平期间必须拉低,SDA,线,并使之为稳定的低电平,作为有效的应答信号。,控制字节,在起始条件之后,必须是器件的控制字节,其中,高四位为器件类型识别符(不同的芯片类型有不同的定义,,E,2,PROM,为,1010,),接着三位为片选,最低位为读写控制位,为“,1”,时为读操作,为“,0”,时为写操作。如下图所示。,写操作,写操作分为字节写和页面写两种操作,对于页面写,根据芯片的一次装载的字节不同有所不同。页面写的地址、应答和数据传送的时序如下图所示。,读操作,读操作有三种基本操作:当前地址读、随机读和顺序读。下图给出的是顺序读的时序图。应当注意的是,为了结束读操作,主机必须在第,9,个周期间发出停止条件或者在第,9,个时钟周期内保持,SDA,为高电平,然后发出停止条件,。,I,2,C,协议起始信号时序,起始信号时序,起始信号用于开始,I2C,总线通信。其中,起始信号是在时钟线,SCL,为高电平,期间,数据,SDA,上高电平向低电平变化的下降沿信号。起始信号出现以后,,才可以进行后续的,I2C,总线寻址或数据传输等,void start()/,开始位,SDA=1;/SDA,初始化为高电平,“,1,”,SCL=1;/,开始数据传送时,要求,SCL,为高电平,“,1,”,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SDA=0;/SDA,的下降沿被认为是开始信号,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SCL=0;/SCL,为低电平时,,SDA,上数据才允许变化,(,即允许以后的数据传递),I,2,C,协议终止信号时序,终止信号用于终止,I,2,C,总线通信。其中,终止信号是在时钟线,SCL,为高电平期间,数据线,SDA,上低电平到高电平变化的上升沿信号。终止信号一出现,所有,I,2,C,总线操作都结束,并释放总线控制权。终止信号的时序,,终止信号时序,void stop()/,停止位,SDA=0;/SDA,初始化为低电平,“,0,”,SCL=1;/,结束数据传送时,要求,SCL,为高电平,“,1,”,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SDA=1;/SDA,的上升沿被认为是结束信号,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SDA=0;,SCL=0;,I,2,C,协议应答信号时序,应答信号用于表明,I,2,C,总线数据传输的结束。,I,2,C,总线数据传送时,一个字节数据传送完毕后都必须由主器件产生应答信号。主器件在第,9,个时钟位上释放数据总线,SDA,,使其处于高电平状态,此时从器件输出低电平拉低数据总线,SDA,为应答信号。应答信号的时序,如图所示。,应答信号时序,bit Ask()/,检测应答,bit,ack_bit,;/,储存应答位,SDA=1;/,发送设备(主机),/,应在时钟脉冲的高电平期间,(SCL=1),释放,SDA,线,,/,以让,SDA,线转由接收设备,(AT24Cxx),控制,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SCL=1;/,根据上述规定,,SCL,应为高电平,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,ack_bit,=SDA;/,接受设备(,AT24Cxx),向,SDA,送低电平,,/,表示已经接收到一个字节,/,若送高电平,表示没有接收到,传送异常 结束发送,SCL=0;/SCL,为低电平时,,/SDA,上数据才允许变化,(,即允许以后的数据传递),return,ack_bit,;/,返回,AT24Cxx,应答位,写操作,写操作分为字节写和页面写两种操作,,在字节写模式下 主器件发送起始命令和从器件地址信息,R/W,位置零 给从器件 在从器件产生,应答信号后 主器件发送,16,的字节地址 主器件在收到从器件的另一个应答信号后 再发送数据到被寻址的存储单元 再次应答 并在主器件产生停止信号后,开始内部数据的擦写 在内部擦写过程中 从器件不再应答主器件的任何请求,void,WriteCurrent(unsigned,char y),start,();,unsigned char i;,for(i,=0;i 8;i+)/,循环移入,8,个位,SDA=(bit)(y /,通过按位,“,与,”,运算将最高位数据送到,S/,因为传送时高位在前,低位在后,_,nop,_();/,等待一个机器周期,SCL=1;/,在,SCL,的上升沿将数据写入,AT24Cxx,_,nop,_();/,等待一个机器周期,_,nop,_();/,等待一个机器周期,SCL=0;/,将,SCL,重新置为低电平,以在,SC,线形成传送数据所需的个脉冲,y=1;/,将,y,中的各二进位向左移一位,读操作有三种基本操作:当前地址读、随机读和顺序读。下图给出的是顺序读的时序图。应当注意的是,为了结束读操作,主机必须在第,9,个周期间发出停止条件或者在第,9,个时钟周期内保持,SDA,为高电平,然后发出停止条件,。,unsigned char,ReadData,()/,从,AT24Cxx,移入数据到,MCU,unsigned char i;,unsigned char x;/,储存从,AT24Cxx,中读出的数据,for(i,=0;i 8;i+),SCL=1;/SCL,置为高电平,x=1;/,将,x,中的各二进位向左移一位,x|=(unsigned,char)SDA,;/,将,SDA,上的数据通过按位,“,或,“,运算存入,x,中,SCL=0;/,在,SCL,的下降沿读出数据,return(x,);/,将读取的数据返回,unsigned char,ReadCurrent,(),unsigned char x;,start();/,开始数据传递,WriteCurrent(OP_READ,);,/,选择要操作的,AT24Cxx,芯片,,/,并告知要读其数据,Ask();,x=,ReadData,();/,将读取的数据存入,x,stop();/,停止数据传递,return x;/,返回读取的数据,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服