初学者关于ARM的不解??

[复制链接]
2379|11
 楼主| 790953623 发表于 2012-10-15 14:20 | 显示全部楼层 |阅读模式
51单片机有ALE,WR,RD,P0,P2等口,我有一个芯片,也有ALE,WR,RD,以及AD复用口,这样,只要把它们对应相连(加一个锁存器),程序中来一句XBYTE[address]=xx,单片机就会自动对芯片该单元实现写功能,现在本人初学ARM,stm32F107,突然发现ARM没有ALE,WR,RD脚,那么我要对该芯片进行读写有什么简便办法呢??该不会是要自己编程去模拟ALE,WR,RD信号的时序吧??那样的话ARM也太麻烦了,求解答??
NE5532 发表于 2012-10-15 15:26 | 显示全部楼层
51这几个信号操作的是外部存储器吧,你的ARM也用外部存储器么?
 楼主| 790953623 发表于 2012-10-15 15:55 | 显示全部楼层
2# NE5532 ARM不用外部存储器,但是那个芯片的内部有一堆寄存器,所以其实相当于是外扩了一个RAM吧。。
NE5532 发表于 2012-10-15 16:57 | 显示全部楼层
所以你还没搞懂单片机的精华啊,51纯粹为了外部扩展才有这些引脚,很多初级ARM不支持外扩,根本不用你研究寻址问题,直接访问就可以了。
 楼主| 790953623 发表于 2012-10-15 17:09 | 显示全部楼层
4# NE5532 ARM直接访问会很麻烦啊,我要读写该芯片,我还得自己编程控制ARM三个GPIO口输出信号到芯片的ALE,WR,RD,而在单片机里只需要一条指令XBYTE[address]=xx就可以了,我是想知道ARM里有没有特殊的命令可以像51一样一条指令解决这个问题??
阿南 发表于 2012-10-15 18:01 | 显示全部楼层
如果ARM总线没有开放,也就是说不支持外设扩展,确实需要自己处理这些信号。楼主参考一下STM32官方外扩NAND的例子,其中就有处理类似的信号。
NE5532 发表于 2012-10-15 22:45 | 显示全部楼层
楼主你想读写什么芯片??
jlass 发表于 2012-10-16 08:42 | 显示全部楼层
有没有ALE,WR,RD这些线跟是不是ARM毫无关系
只跟芯片有没有自带的外设接口相关
NE5532 发表于 2012-10-16 09:29 | 显示全部楼层
关键是楼主想用什么芯片,这年头inter总线的芯片不多了啊。
sedatefire 发表于 2012-10-16 10:46 | 显示全部楼层
arm内部的ram空间够你用了  几十K  无须外扩
寄存器是属于内部地址的
arm的地址空间有4G  

stm32的外扩ram叫做FSMC,地址映射技术,你可以去了解下
linqing171 发表于 2012-10-16 13:03 | 显示全部楼层
两百个脚以上的,ARM,基本都有外部总线啊,ALE做芯片里面了,出来就是地址和数据。RD和WR肯定是有的。比如三星的6410.
Tinnal 发表于 2012-10-16 13:34 | 显示全部楼层
5# 790953623
你应该有是想读写外部的芯片而不是RAM。STM32的内部RAM肯定的是够用的了,不用像51那样扩展,而且没有什么idate, xdate之为,用标准的变量写法就行。

国为ST的内部资源已经够绝大多数情况下使用了,因为ST并没有把总线拉到外面,管脚都用来做功能脚和IO口口了。100个PIN以上的STM32,是有部份带FSMC的,通过配置FSMC,可以把管脚变成外部总线。


这里还多说一句,没有外部总线,不是ARM的责任,这完全是只是芯片厂商如ST的想法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

71

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部