5712|10

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

AT89S52读写Am29LV800DB的Flash? [复制链接]

AT89S51不用介绍了。AM29LV800DB是1MByte的Flash,工作电压为3V。
AT89S51和1MByte的Am29LV800DB的Flash构成电路,对AM29LV800操作和RAM一样,但是我读不出其中的数据。
检查过电路,接线都正确,但是我就是读不出Am29LV800DB中的数据。
请问,这两个芯片能否在一起正常工作?还是我有其它地方忽略。

最新回复

需要说明一点,29Lv800这个芯片的45脚(DQ15/A-1),在按Byte寻址时是A-1(地址线最低位),按Word寻址时接D15。 我用的是按Byte寻址。  详情 回复 发表于 2008-7-13 16:54
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
FLASH里面有数据吗?空的话当然没数据。
51是5V的,AM29是3.3V的,总线电压不匹配,AM29不耐受5V,需要buffer转换,不然烧片了可别哭。
AM29可硬件配置8bit/16bit。需要一个#reset复位。#CS/#OE时序要匹配。
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 shuiyan 的回复:
FLASH里面有数据吗?空的话当然没数据。
51是5V的,AM29是3.3V的,总线电压不匹配,AM29不耐受5V,需要buffer转换,不然烧片了可别哭。
AM29可硬件配置8bit/16bit。需要一个#reset复位。#CS/#OE时序要匹配。


电压已经转换,Reset和51的Reset已连接,Byte接地,总是按8位寻址。

CS用138片选,OE接RD,WE接WR。

应该说,理论上都正确,接线我反复检查,也没有错误。

我现在怀疑是两个芯片不兼容。有没有这种可能呢?
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

4
 
从逻辑上说,这两者没有冲突,虽然通常AM29一般用在32位CPU平台上。

总线怎么接的?

你读程序的结果是什么?读哪个寄存器的?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
选通任意一个地址,理论上应该读出FF,因为我还没有写值进去。
但是读出来的是00,也就是说Am29好像没有一般。
总线接法:
Am29是1MB的,按字节取,应该有20位寻址线,我用P1口接高8位,A11-A0接了低地址,A13-A15连接138,Y1选通Am29。
所以读应该是这样的:
先把高8位送入P1,比如:P1=0x33;(经验证,这步正确)
然后低地址,例如为:lowAddr = 0x0123;
lowAddr |= 0x2000;(选通Am29,A15A14A13=001B,所以或上0x2000)
然后就读数据了:
tempData = XBYTE[lowAddr];
此时成功的话tempData应该等于0xFF,但是我读出的总是00
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
你的电路有点奇怪,没看到图,有点模糊。

P1接高8位,也就是A12-A19,那么A11-A0接在什么地方?

为什么不直接用P1接低8位,然后直接通过P1就可以对低8位进行操作。现在既然这样接,测试的时候直接对P1对应的地址段进行操作,免除外部总线锁存的麻烦。

还有,NOR必须经过Block Erase动作后,才能确保所有的为0xFF。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 


电路是这样的。A11-A8接P2的低4位,A7-A0接273(P0的地址锁存)。

外部总线锁存是必须要做的,因为我的电路里还有其它地方要用。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 
图没有上传成功,我再换个地方试试。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

9
 


电路是这样的。A11-A8接P2的低4位,A7-A0接273(P0的地址锁存)。

外部总线锁存是必须要做的,因为我的电路里还有其它地方要用。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
从没在51系统用AM29。所以不好直接判断。

NOR必须经过Block Erase动作后,才能确保所有的为0xFF。
你将低位全部置0,只对51的p1口对应的这段地址进行读取,看看能不能读到。
如果还有问题,就将相应的代码贴出来。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

11
 
需要说明一点,29Lv800这个芯片的45脚(DQ15/A-1),在按Byte寻址时是A-1(地址线最低位),按Word寻址时接D15。
我用的是按Byte寻址。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表