OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5550|回复: 3

关于EEPROM的困惑(AT24C02~到AT24C16)(刚注册悬赏身家性命)

[复制链接]

0

主题

0

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2021-7-23
在线时间
3 小时
发表于 2016-4-14 21:10:23 | 显示全部楼层 |阅读模式
6金钱
本人使用的是原子哥的mini板,学习的例程是基于AT24C02的。
AT24C02是比较简单,能存储256个字节Byte,2K-bit.内部存储矩阵也就是8位数据线,和8位地址线。
而之后的AT24C04,08,16内部存储矩阵依次增加一位的地址线,写入的地址依次也变为9-bits,10-bits,11-bits.

所以我有几个问题:1、是否可以对这几款EEPROM的内部地址进行编码,例如AT24C02(地址从,0~11111111B、00~ffH),AT24C04(00~200H、0~1 1111 1111B),AT24C08(00~400H、0~11 1111 1111B),AT24C16(00~800H、0~1111 1111 111B)
例如把每页(page)首地址进行宏定义。在写入数据的时候按页操作,当然这种写的方式仍然是字节(BYTE)写方式?即page1已首地址00h,连续写入8个或者16个字节。
                     即:用于(AT24C01\AT24C02)
                           #define page1    0x00    //  00H   0000 0000B
                           #define page2    0x10    //  10H   0001 0000B
                           #define page3    0x20    //  20H   0002 0000B
                           #define page4    0x30    //  30H   0003 0000B

另外数据手册中提到:AT24C02在IIC总线上能挂在8个器件,地址由A0A1A2确定。而04、08、16依次是4个2个和1个。并且01、02每页(page)是8个字节(byte),而04、08、16是每页(page)16字节(byte)。
AT24C02是32页(page)AT24C04、08、16依次是32、64、128页(page)。对于AT24C16来讲引脚A0、A1、A2,这3个引脚到底有什么作用?
本人在网上搜索过一些关于AT24C16的文章,其中百度文库有一份8页写满的程序。其大概意思,是A0、A1、A2用于确定8页中的那一页。每页可写256字节也就是相当8个AT24C02虽然内存大小上是一样,但是内存结构上也允许这样去操作???AT24C16不是128页?这个页不等于page!
但是数据手册上明明写到是128页?是他错了,还是我理解错了!

我个人更偏向理解成这样:这三个引脚(A0、A1、A2、)是作为数据地址的高三位写入的,也就是7位器件地址(高4位固定+3位可编程)+读写位(1010+A0、A1、A2+1位读写),变成了4位固定地址+3位可编程数据地址+读写位(1010+P0P1P2+读写位),在使用中再加上低8位地址共同组成11位地址。不知道这样理解是否正确。

希望能得到各位前辈的指点!

最佳答案

查看完整内容[请看2#楼]

至于那3个地址线,确实是用作内部地址寻址了。24C02,3根都可以用来表示ID。 04就只有2根。 08就只有一根。 16来说,三根都用作表示地址了。所以,A0~A3引脚就是废了....
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-4-14 21:10:24 | 显示全部楼层
至于那3个地址线,确实是用作内部地址寻址了。24C02,3根都可以用来表示ID。  04就只有2根。  08就只有一根。  16来说,三根都用作表示地址了。所以,A0~A3引脚就是废了....
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-4-15 23:41:05 | 显示全部楼层
你自己随意定义。对页写什么的,用的少,我都是写一个统一的函数实现读写。这样操作起来很简单。
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2021-7-23
在线时间
3 小时
 楼主| 发表于 2016-4-19 22:51:48 | 显示全部楼层
正点原子 发表于 2016-4-15 23:41
你自己随意定义。对页写什么的,用的少,我都是写一个统一的函数实现读写。这样操作起来很简单。

Get it
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 19:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表