串行I2C总线E2PROM24CXX.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串行I2C总线E2PROM24CXX

花了几天时间,一直在研究24CXX的读取操作,今天终于搞明白了,刚开始在网上早了很多资料,还下了别人程序看,基本上有个概念了,就在书上抄了一段程序自己调调看,写好后,下载进去不行,测试了好久没有调出来,看了好几次程序也没有发现问题后来开始怀疑书上的程序有问题,真是晕了。昨天请教同事,说要在写周期延时5-10MS,啊!!不会吧,我的程序里好像没有延时哦,马上用“单片机小精灵”算了5MS塞进去,下载试试看吧,还真的行了,哈哈。。后来仔细看看了说明书,还真的要延时哦,刚开始没有仔细看,看来下次不能全相信书上的。 我把资料整理了一下,感觉还是比较全的,正在做这个朋友可以参考一下,我把测试好源程序也放上去了,有需要朋友可以下过去看看。~^~ ? ???串行I2C总线E2PROM 24CXX ? AT24CXX系列E2PROM是典型的I2C总线接口器件。其特点是:单电源供电;采用低功耗CMOS技术;工作电压范围宽(1.8-5.5V);自定时写周期(包含自动擦除)、页面写周期值最大10ms;具有硬件写保护。 型号为AT24CXX的器件内部结构如图1,引脚排列如图2所示。其中,SCL为串行时钟引脚;SDA为串行数据/地址引脚;WP为写保护(当WP为高电平时,存储器只读;当WP为低电平时,存储器可读可写);A0、A1、A2为片选或块选。器件的SDA为漏极开路引脚,需要接上拉电阻到VCC,其数据的结构为8位。输入引脚内接有滤波器,能有效抑制噪声。自动擦除(逻辑“1”)在每一个写周期内完成。 AT24CXX采用I2C规约,采用主/从双向通信,主器件通常为单片机。主器件产生串行时钟(SCL),发出控制字,控制总线的传送方向,并产生开始和停止条件。串行E2PROM为从器件。无论主器件还是从器件,接收一字节后必须发出一个应答信号ACK。 内部结构图: 引脚图: ? 1、?? 开始位以后,主器件送出一个8位的控制字节,以选择从器件并控制总线传送的方向。控制字节的结构如下所示: 其中: ?控制字节的位7位4为从器件地址位,确认器件的类型。此4位码由Philips公司的I2C规约决定。1010码即从器件为串行EEPROM将一直处于等待状态,直到1010发送到总线上为止。当1010码发送到总线上时,其他非串行EEPROM从器件将不会响应。 ? 控制字节的位3位1为18片的片选或存储器内的块地址选择位。此3个控制位用于片选或者内部块选择。控制字节的A2、A1、A0必须与外部A2、A1、A0引脚的硬件连接或者内部块选择匹配,A2、A1、A0引脚无内部连接的。则这3位无关紧要。须作器件选择的,其A2、A1、A0引脚可接高电平或低电平。 0为读/写操作控制码。如果此位为1,则下一字节进行读操作(R);若此位为0,则下一字节进行写操作(W)。 ? AT24CXX的存储器矩阵内部分为若干块,每一块有若干页面,每一页面有若干字节。内部页缓冲器只能写入一页的数据字节,24C16则可看成8片24C02为一体,主机发送不同的器件地址则是访问24C16内部的不同区块,24C32以上的芯片由于其内部地址编码分两字节,突破了地址编码资源11位(3位器件地址+8位内部地址)的限制,因此总线容量也获得了扩充。 当串行E2PROM产生控制字节并检测到应答信号以后,主器件将传送相应的字地址或数据信息。 ?2、起始信号、停止信号和应答信号 :当SCL处于高电平时,SDA从高到低的跳变作为I2C总线的起始信号,起始信号应该在读/写操作命令之前发出。 :当SCL处于高电平时,SDA从低到高的跳变作为I2C总线的停止信号,表示一种操作的结束。 SCL线上通常接有上拉电阻。当SCL为高电平时,对应的SDA线上的数据有效;而只有当SCL为低电平时,才允许SDA线上的数据位改变。 ?数据和地址是以8位信号传送。在接收一字节后,接收器件必须产生一个应答信号ACK,主器件必须产生一个与此应答信号相应的额外时钟脉冲,在此时钟脉冲的高电平期间,拉SDA线为稳定的低电平,为应答信号(ACK)。若不在从器件输出的最后一个字节中产生应答信号,则主器件必须给从器件发一个数据结束信号。在这种情况下,从器件必须保持SDA线为高电平(用NO ACK表示),使得主器件能产生停止条件。 ? ? I2C总线产生起始信号、停止信号和应答的时序 ? 3、写操作 E2PROM的写操作有字节写和页面写2种。 (1)??????? ??? 在指定地址写入1字节数据。首先主器件发出起始号S后,发送写控制字节,即1010A2A1A0(最低位置0,即R/W读/写控制位为低电平0),然后等待应答信号,指示从器件被寻址,由主器件发送的下一字节为字地址,为将被写入到AT24CXX的地址指针;主接收来自AT24CXX的另一个应答信号,将发送数据

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档