74

帖子

0

TA的资源

一粒金砂(初级)

21
 
大家好,我是LZ的同事
简单来说
1)ASIC只能对偶地址进行字读,不能字节读
2)ASIC的外部地址是按8位寻址的,字读的数据是由2个地址的数据组成的,连续读的偏移量应该为2(第一次2000->第二次2002)
3)MPU的外部地址是按16位寻址的,连续读的偏移量为1(第一次2000->第二次2001)
4)由2)和3)可得,第二次读的是ASIC的2001,由1)可知,不能对奇地址进行字读,出现问题
我不是很明白你的描述,能否按照我在15楼的表示方式,列出几个例子说明?

关于19楼的说明,我有疑问:
2)ASIC的外部地址是什么?与STM32什么关系?
“字读的数据是由2个地址的数据组成的”,这里每个地址的寻址范围是多少?1个字节还是2个字节?
3)MPU是什么?与STM32什么关系?
“MPU的外部地址是按16位寻址的”,每次读操作,读出几个字节?1个字节还是2个字节?
此帖出自stm32/stm8论坛
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

22
 
你已经配置了FSMC_MemoryDataWidth_16b,也就是说每次操作(读写)外部存储器都是以16位进行的,下面我以几个例子(不考虑地址高位)说明STM32是如何操作的,看看与你看到的是否一致:

1)对地址0x0002读16位数据0x4321 ...
这样做的话,在第一步就会有问题,因为我们的ASIC是不支持对奇地址进行读操作的
此帖出自stm32/stm8论坛
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

23
 
这样做的话,在第一步就会有问题,因为我们的ASIC是不支持对奇地址进行读操作的
这是否意味着,你的ASIC的AD0在作为地址时,始终应该为"0"? 如果是这样,当AD[0] = 0、AD[1] = 1、AD[15:2] = 0时,即输入地址为0x0002时,读的时候读出几个字节?写的时候写入几个字节?
此帖出自stm32/stm8论坛
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

24
 
我的意思是在地址数据复用模式下, 我用16位宽度访问的时候就有问题了。
如下图:
STM32内部    STM32外部    连接的ASIC
HADDR[ 1] --- AD[ 0] ------AD[0]
HADDR[ 2] --- AD[ 1] ------AD[1]
-
-
HADDR[16] --- AD[ ...
有些不同的看法,你的程序要 0x0002地址的数据,你就直接告诉STM32要0x0002的地址的数据,
STM32会在地址引脚上输出0x0001(因为STM32内部右移了一位),如果这时你只要8位的数据,
它就返回 D0-D7 的数据给你.如果你要高8位的数据(相当于是0x0003的地址),它就会将D8-D15的数据返回给你.
所以我看不到0x0004的这个地址是怎样来的,如果你要0x0004的地址的数据,STM32的地址引脚上会出现0x0002,
这时相当于是要取出0x0004/0x0005这个地址的2个8位数据,或者是0x0004地址上的一个16位数据.

这是我的个人观点.
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

25
 


这是否意味着,你的ASIC的AD0在作为地址时,始终应该为"0"? 如果是这样,当AD[0] = 0、AD[1] = 1、AD[15:2] = 0时,即输入地址为0x0002时,读的时候读出几个字节?

2个字节(0x0002的数据和0x0003的数据)

写的时候写入几个字节?

可1个字节可2个字节(有WRLZ和WRHZ)
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

26
 
回答21楼
2)ASIC的外部地址是什么?与STM32什么关系?

ASIC外部地址=STM32 AD

“字读的数据是由2个地址的数据组成的”,这里每个地址的寻址范围是多少?1个字节还是2个字节?

1个字节

3)MPU是什么?与STM32什么关系?

MPU=STM32

“MPU的外部地址是按16位寻址的”,每次读操作,读出几个字节?1个字节还是2个字节?

2个字节
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

27
 
ASIC 可以工作在16模式下。
但每个地址 对应数据是 1byte

>>那么你把这个ASIC配置成8bit模式好了。你的memory每个地址对应1个字节;STM32的FSMC也不会给你进行地址移位了。 ...
ASIC固定为16bit模式,但是是按1个字节寻址的
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

28
 
不知道这样说明,能不能理解

1.JPG
此帖出自stm32/stm8论坛
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

29
 
我在23楼的这个问题“这是否意味着,你的ASIC的AD0在作为地址时,始终应该为"0"?”,在25楼得到了肯定的回答。

因此可以说,STM32不能直接无缝地与你的ASCI连接,以连续的地址访问ASCI中的数据,只能把地址右移一位后以16位或8位方式访问,而不能用32位方式访问。在STM32内部,USB专用的RAM区也是不能用32位的方式访问的。
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

30
 
                                 谢谢28楼的图,这进一步确认了我在29楼的结论是正确的,即在STM32上不能用32位的方式访问你的ASCI器件。
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

31
 
我在23楼的这个问题“这是否意味着,你的ASIC的AD0在作为地址时,始终应该为"0"?”,在25楼得到了肯定的回答。

因此可以说,STM32不能直接无缝地与你的ASCI连接,以连续的地址访问ASCI中的数据,只能把地址右移一 ...
多谢,看来还是不行啊,其实只要在16位操作的时候ADDR不用自动移位就可以解决问题了
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

32
 
多谢,看来还是不行啊,其实只要在16位操作的时候ADDR不用自动移位就可以解决问题了
kaedewang 发表于 2010-11-3 18:36
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

33
 
                                 如果有一个寄存器可以选择开启或关闭移位功能,就更人性化了
此帖出自stm32/stm8论坛
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

34
 
如果有一个寄存器可以选择开启或关闭移位功能,就更人性化了
i think so.
这样就是万能了,连啥都可以
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

35
 
                                 可以研究研究,
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

36
 
所以才问,是否可以把内部自动移位地址的这个给关闭。
在地址数据线非复用模式下是没问题的。
但是在地址数据线复用模式下就出问题了。我没办法错位地址连接,因为AD0的D0是不能错位的。 ...
我很好奇,为什么6楼说“在地址数据线非复用模式下是没问题的。”?要知道,STM32输出的地址信号,在复用模式与非复用模式时都是自动错位的。

请问,你的硬件信号是怎么接的?
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

37
 
我很好奇,为什么6楼说“在地址数据线非复用模式下是没问题的。”?要知道,STM32输出的地址信号,在复用模式与非复用模式时都是自动错位的。

请问,你的硬件信号是怎么接的? ...
如果是16位非复用模式的
STM32内部    STM32外部    连接的ASIC
HADDR[ 1] --- A[ 0] ------  A[1]
HADDR[ 2] --- A[ 1] ------A[2]
硬件上再做一次错位
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

38
 
如果是16位非复用模式的
STM32内部    STM32外部    连接的ASIC
HADDR[ 1] --- A[ 0] ------  A[1]
HADDR[ 2] --- A[ 1] ------A[2]
硬件上再做一次错位
难道你的ASIC没有A[0],或者是把A[0]接地了?
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

39
 


对的 A【0】 接地 ,这样就ok了。大家地址都对齐了。
但地址数据复用的情况就不能这么干了, 因为数据也会跟着错位。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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