注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

火车的家

Put first thing first

 
 
 

日志

 
 

2011.12.16 [转] 存储器扩展彻底研究——剖析nWE, nWBE, nBE三者之间的关系  

2011-12-23 14:44:21|  分类: linux kernel |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

link
注:
1) 这是理解 memory spec 的重要文档,出处已经找不到了;本文在原文基础上做了些修改。

2) 三星手册

1. nWE, nWBE, nBE三者之间的关系
1) nWE为写使能信号。

2) nWBE为“写字节使能(write byte enable)”信号,而nBE 为高/低字节选择信号。nWBE与nBE共用引脚,可以通过对相关寄存器设置来进行功能选择。也就是通过 0x48000000 的 STX 来设置,实际上是在选择连接的是 SRAM 还是 SDRAM。

注:
根据三星手册,nBE仅对于SRAM有效。

3) 什么时候需要nWBE而不是nWE?
nWE和nWBE都带有写使能的功能。但既然有nWE,为什么还需要nWBE?这是因为,当使用几片储存芯片进行数据位扩展时,有时需要对芯片分开写数据,此时可使用nWBE。

在三星手册图 5-4 中,仅有一片8bit的ROM,因此仅需要nWE,而不需要nWBE。而在手册的图 5-5 中,用了2片8bit的ROM,如果不使用nWBE,则写操作是对2片ROM同时进行的,这样,当执行写字节指令时可能会破坏另一芯片中的数据。(注意nWBE的信号是自动产生的。)从这个角度来说,nWBE有字节数据屏蔽的功能。

注:
上面的例子仅对于ROM有效,对于SDRAM既需要nWE也需要nWBE。

4) nWBE, nBE有什么区别?什么时候应该配置成nBE?

根据手册描述“nBE[3:0] is the 'AND' signal nWBE[3:0] and nOE”,即 nBE 是 nWBE 和 nOE 的“与”信号,这句话给了我们非常重要的启示,应该说深刻揭示出了 nWBE,  nBE 之间的本质、内涵。

首先看一下真值表:

nWBE

nOE

nBE

说明

1

1

1

nWBE, nOE均无效(低电平有效),于是nBE无效

0

0

0

nWBE, nOE任意一个有效(低电平有效),则nBE有效

1

0

0

0

1

0

注意到 nWBE [ 3:0 ], nOE 仅一根信号线。由此可见, nBE 就是字节选通信号(读、写选通)。读的时候,多片均选通(因为读的时候 nOE 为0,这时 nWBE 被屏蔽);写的时候,分片进行选通(写的时候 nOE 为1,这时 nBE = nWBE)。其实质, nBE 可看作字节片选信号。


附: 网友帖子:
内存的这种接法,使它可以以8位访问,也可以16位访问,也可以32位访问 
那4个信号nWBE3~0,正是字节选通控制。

按8位访问,也就是代码中若有:
*(unsigned char *) 0x30000000 = 0x78;
就是一个字节写,这时只有nWBE0信号有效
如果是0x30000001,则只有nWBE1有效(低),其它无效(高)。

如果是16位访问,代码一般就是:
*(unsigned short *)0x30000000 = 0x1978;
这是一个16位写。但此时要注意,最低位必须是0,而不能是1,比如地址0x30000001就会使CPU异常,因为必须16位对齐!
在16位访问时,0x30000000地址写操作中,nWBE1, 0 = 低,nWBE3, 2 = 高。当0x30000002时,
则是nWBE3,2为低,nWBE1,0为高(无效)

32位时则是4字节对齐,也就是最低的两个地址位A1,A0必须为0,即对于32位访问,0x30000001, 0x30000002
, 0x30000003都会导致异常(出错)
对于32位访问,0x30000000的下一个地址是0x30000004,因为这个地址是字节地址,但一下子就访问了
0x30000000~0x30000003四个字节,也就是nWBE3~0四个信号同时有效!!!
不同的CPU访问的机制是不一样的,这要具体看手册了,是分开片选的
  评论这张
 
阅读(437)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018