打印
[STM32F1]

问fsmc挂多设备的使用初始化该如何操作?

[复制链接]
2267|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
58060622|  楼主 | 2014-7-30 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 58060622 于 2014-7-30 11:00 编辑

现用stm32f103vet6的fsmc进行2个设备的通信。
采用38译码器做出多个使能cs0-cs3
一面与fpga进行通信,然后将数据再送给ra8875,都利用的是fsmc总线
那么2个外设的fsmc初始化配置不同,独立写了2个配置函数。那么操作流程应该如何呢?

方式1、   初始化1、2————读单个fpga数据————————送单个ra8875数据?
方式2、   初始化1、2————读大量fpga数据——————连续送多个已读数据?
方式3、   因为是用地址线扩展的使能,是否需要来回切换初始化1和2,还是开始初始化一次就可以了,在哪里设置呢?

想问下正常应该怎么控制数据流和函数配置呢,来达到数据最高效和最稳定
沙发
香水城| | 2014-7-30 16:35 | 只看该作者
使用的是F103VET6,100引脚。从bank1(NOR/PSRAM)控制器上只有一个region的片选信号引出(NE1)。那么也只有一组配置和时序控制寄存器可用:
FSMC_BCR1 配置寄存器
FSMC_BTR1 时序寄存器
FSMC_BWTR1 扩展时序寄存器

如果通过其他空余地址线和译码器扩展出两个地址,读写的时候地址线不同,数据访问的设备也不同,但是需要注意这两个设备的属性配置和时序配置。因为只有一组寄存器可用。如果两个设备的属性兼容,时序上配置一个符合双方要求的即可,这样不用每次访问某个设备前,再重新改配置,但是数据线上的速度就会响应降低了。

使用特权

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

本版积分规则

1

主题

149

帖子

1

粉丝