- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT24C32使用方法总结 2011-04-29 16:56:58
分类: LINUX
AT24C32是 2-Wire Serial EEPROM ,容量为 32Kbits (4096*8)。利用该芯片可以模拟 I2C 总线,如果采用 IO 口来进行模拟,可以采用二线制( SCL、SDA),也可以采用三线制( WP、SCL、 SDA)。在编写驱动程序时,要分为两个
层次。第一、针对 IIC 总线的驱动部分。第二、针对 AT24C32的驱动部分。Dynamic C里面的 IO 模拟 IIC 函数库采用的是二线制,针对的芯片是 24C02。如果要用,就需要进行相应的改进。下面把使用该芯片时注意的地方总结如下:
、各个引脚的含义
A0-A2 :地址线,用来选择 slave 器件。
WP: Write Protect 写保护,高电平拒绝写入,低电平可以写入,即低
电平有效。
SCL:Serial Clock 串行时钟,用来指示什么时候数据线上是有效数据。
SDA:Serial Data 串行数据,用于数据传送
2 、关于 WP脚
二线制没有 WP,也就是把 WP置为低电平,始终写有效。这样的问题是,在上电或调电的时候, 可能会发生异常情况, 对 EEPROM内数据有所改动。 所以,如果有重要的数据,还是要采用 WP引脚比较安全。
AT24C32来说,WP置高,则只有四分之一受保护, 即 0x0C00-0x0FFF。
也就是说保护区为 1KBytes。对于低地址的四分之三,则不保护。所以,如果数据较多时,可以有选择地存储。 不重要的数据则放在低四分之三区域, 重要的数据则放在高四分之一区域。
看 IC Datasheet ,一定要仔细。初次写测试程序时,发现 WP不起作用,
常有效。用万用表测试,确实是高电平。经过仔细阅读 WP引脚说明,发现只有
高四分之一区域可以写保护。 改变地址后, 测试成功。整个驱动函数也就修改成功了。
WP: The write protect input, when tied to GND,allows normal write
operations. WhenWPis tied high to Vcc, all write operations to the upper
quandrant(8Kbits) of memory are inhibited. If left unconnected, WP is
internally pulled down to GND.
、关于读写流程
AT24C32的数据地址必须要先发高字节地址,再发低字节地址。现在寻址空间只有 4096=2^12,所以两个字节完全可以确定。
一般地,设备地址 R-- 0xA0;设备地址 W-- 0xA1
读流程:发设备地址 0xA0--- 送 8 位高地址 --- 送 8 位低地址 ----
发设备地址 0xA1--- 读取 ---NOACK--- 停止
写流程:发设备地址 0xA1--- 送高 8 位地址 ----- 送低 8 位地址 ----
写数据 --- 停止
文档评论(0)