打印

请教关于stm32F103VC的fsmc问题

[复制链接]
3334|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
beyand|  楼主 | 2010-8-9 20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用stm32f103vc 100pin做项目的时候,遇到一个问题。
我们想用103vc的fmsc挂5个外设。这5个外设的地址有4个只需要2根地址线,另外一个需要10根地址线。它们的数据线都是8位的。
因为用的103vc 100pin的,所以它的A0~A15和D0~D15是复用的,而且地址最高是到A23。
我的打算是用A23~A19,5根地址线分别作为5个外设的片选,而A9~A18共10位作为外设的地址线,D0~D7作为8位数据线。把映射的数据宽度设置为8位。
现在想请问下:
1.访问模式应该选哪种?扩展还是非扩展?
2.能够在不使用锁存器锁存AD8~AD15的情况下,正常操作低8位数据么?——我们板子放锁存实在困难了。就是低8位是数据的时候,高8位能用成地址么?
因为之前没用过,不熟悉,找了一些资料,也没有太类似的,请指教,谢谢~
沙发
香水城| | 2010-8-9 21:52 | 只看该作者
1)STM32的FSMC中没有"扩展"与"非扩展"的概念,只有地址和数据总线"复用"与"非复用"的概念。

2)你应该使用地址和数据总线复用模式,并使用锁存器锁存A0~A15。
2.1)如果使用地址和数据总线非复用模式,则在AD0~AD15上得不到地址信号(A0~A15)。
2.2)如果使用但不用锁存器,则在8位数据宽度配置下,当NADV为低时,AD0~AD15上出现地址信号(A0~A15),当NADV变高时,AD0~AD7上出现数据信号,而AD8~AD15上是高电平。
也就是说,如果你不用锁存器,则在AD0~AD7上出现数据信号时,AD8~AD15上没有地址信号。
2.3)如果你的外部设备可以处理这样的信号,则你的设想可以实现。

使用特权

评论回复
板凳
beyand|  楼主 | 2010-8-9 22:06 | 只看该作者
十分感谢!香水对我的第二个问题讲得非常清楚,我找了很多资料都没有看到有说,选择8位数据的时候,高8位会怎么样。——这回我麻烦大了,要锁存……
再请教下,锁存的控制是用NADV吧。只用一片573锁存应该够了吧,低8位不必再锁存了。
我看笔记AN2784里面有说到extended mode,如果使能分成abcd,禁止就分成1、2模式。
关于这几种模式的时序图,看得我是云里雾里。
笔记里面写是否使用扩展模式说是取决于读写时序是不是相同。
扩展模式的读写时序可以分开这个可以理解,但是什么叫读写时序相同啊?

使用特权

评论回复
地板
香水城| | 2010-8-9 22:13 | 只看该作者
没错,我说的第二个问题,确实没有资料解释,我已经要求写文档的在下一版的AN2784中加入这些内容。

所谓读写时序相同,是说“地址建立时间”、“数据建立时间”等这些时序是相同的。

使用特权

评论回复
5
beyand|  楼主 | 2010-8-9 22:17 | 只看该作者
好的,谢谢香水。
困扰几天的问题这么快就得到答复,很感谢。
作为新手,看来要常常来论坛发问了:P

使用特权

评论回复
6
香水城| | 2010-8-9 22:20 | 只看该作者
楼主能问出这样的问题,说明你已经不是一个纯粹的新手了,至少不是那种张嘴就要代码的“新手”,不是那种问题都描述不清楚地“新手”,:lol:lol

使用特权

评论回复
7
beyand|  楼主 | 2010-8-9 22:23 | 只看该作者
主要是板子还在PCB,这个时候有些不清楚的赶快搞懂,免得回来了要改板。
硬件没问题了,代码才能慢慢调嘛:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

1

粉丝