cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1988回复:19

关于EZ-USB AN2131存储器的问题

楼主#
更多 发布于:2001-12-01 21:29
在EZ-USB TRM v1.8.pdf中,page 3-4的图下面有这样两句话:

Note 1: OK to populate data memory here--RD#, WR#, CS# and OE# pins are inactive.既然这里的RD#, WR#, CS# and OE# pins
inactive,干嘛populate data memory here还ok呢?那些信号都不起作用,怎么读取呀?

Note 2: OK to populate code memory here--no PSEN# strobe is generated.

或许是我没理解对,谁知道,指点一下。

最新喜欢:

LonghaiLongha...
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-12-06 22:48
这儿的意思是说,0到8K的外部RAM是和内部RAM地址冲突,所以当用MOVX访问0到8K的RAM空间时,这几个片选信号都inactive,这样就将外部RAM和内部RAM区分开了。NOTE2也一样。
liuxf66
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-12-07 20:11
这个倒是知道,可是它说的OK to populate data memory here就是可存放数据,而那些不起作用,怎么读取呀?

是不是我的脑袋不转了?
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-12-08 10:46
还有一个问题就是usb片上ram的地址应该是接着51的吧
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-12-08 12:12
这个意思用一句很俗的话就是:“你不能脚踩两只船”;不能同时拥有片内8K的RAM和片外8K的RAM。
USB片上的地址线就是51的地址线,就是51来处理firmware 的,SIE的USB核只是拥有一些Register,这些Register和片内RAM地址冲突时,不选通片内RAM。(我是这么理解的,不敢保证正确性,请斟酌;还请高手指点)
liuxf66
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-12-08 18:13
我不是这么理解的,我觉的51的ram只有256 byte,其余的都不算是51的,而是ez-usb device的,只是它的8k ram 有的要用movx指令访问,如bulk buffer,但他们确实是属于on chip ram。
dtony07
驱动牛犊
驱动牛犊
  • 注册日期2001-08-28
  • 最后登录2002-05-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-12-09 08:51
51就是51,EZ-USB中的只是一个时钟可以跑得快的51,你想想51有没有内部的8K的RAM!?
袁通
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-12-09 10:28
所谓的内部就是集成在一个芯片内的,不是吗?
liuxf66
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-12-09 19:00
liuxf66你说得没错,可是对那段话还是想不太通,还有没有别的解释。
Longhai
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2002-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-12-10 15:26
这儿的意思是说,0到8K的外部RAM是和内部RAM地址冲突,所以当用MOVX访问0到8K的RAM空间时,这几个片选信号都inactive,这样就将外部RAM和内部RAM区分开了。NOTE2也一样。


Note 2: OK to populate code memory here--no PSEN# strobe is generated.

你的解释让我思路清晰了好多,不过还是有一些不明白的,比如片外CODE MEMORY(EEPROM > 16K) 里的程序是如何在这8K RAM 里去运行的? 是不是需要运行哪部分CODE就把那一部分临时调进去运行,还是启动时把所有的先进去再运行?这8K RAM怎样划分为DATA MEMORY 和 PROGRAM MEMORY 这两部分?

山重水复疑无路.
liuxf66
驱动中牛
驱动中牛
  • 注册日期2001-08-15
  • 最后登录2003-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-12-10 23:02
片外code memory里的程序是通过PSEN#管脚(还有CS#、WR#、RD#、OE#、EA等管脚,我忘了具体怎么搭配的了,你查查手册看)访问的,好象不需要在内部RAM里执行。另外,若你用汇编编程,你要定义Code segment(指令好象是:CS AT 500H  之类,你看看例子);若你用C语言编程,KEIL会处理这些问题,这样就将内部RAM划分为CODE和DATA MEMORY了。
不知道解释的对不对?
liuxf66
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-12-11 08:30
我觉得要想处理好一点还是要自己指定的
Longhai
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2002-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-12-11 09:42
片外code memory里的程序是通过PSEN#管脚(还有CS#、WR#、RD#、OE#、EA等管脚,我忘了具体怎么搭配的了,你查查手册看)访问的,好象不需要在内部RAM里执行。另外,若你用汇编编程,你要定义Code segment(指令好象是:CS AT 500H  之类,你看看例子);若你用C语言编程,KEIL会处理这些问题,这样就将内部RAM划分为CODE和DATA MEMORY了。
不知道解释的对不对?


如果不需要在内部RAM里执行,那为何要将内部RAM划分为CODE和MEMORY呢,CODE到底起什么样的作用呢?
山重水复疑无路.
Longhai
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2002-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-12-12 11:21
如果不需要在内部RAM里执行,那为何要将内部RAM划分为CODE和DATA MEMORY呢,CODE MEMORY到底起什么样的作用呢?
山重水复疑无路.
outou
驱动牛犊
驱动牛犊
  • 注册日期2002-01-08
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-01-11 16:12
我想是为了代码的兼容吧
outou
csyoyo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-19
  • 最后登录2007-06-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-01-17 22:06
是不是说2131内部有8K的RAM随便我来存数据呢?
szupeng
驱动牛犊
驱动牛犊
  • 注册日期2002-01-02
  • 最后登录2002-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-01-17 22:57
主要用来存程序,所说的“soft solution”就是基于这个ram的,可以更改配置和升级
GOOD GOOD STUDY, DAY DAY UP。
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-01-18 21:28
我的理解是8k的ram在地址上是和51的内部ram统一编址的,但是载下载程序时,好像也把程序的个别部分放在51的内部ram中。
csyoyo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-19
  • 最后登录2007-06-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-01-18 21:54
我在编译器里面想开多大的缓冲都没有问题
它好像是不检查越界的
是吗?
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-01-19 09:12
那应该是和硬件有关的,但可能在软件中能设定一下,不过我没找到
游客

返回顶部