huanger 发表于 2013-11-22 23:21:21

请求关于STM32用FSMC控制FPGA再控制SRAM的方案

本帖最后由 huanger 于 2013-11-22 23:27 编辑

请求关于STM32用FSMC控制FPGA再控制SRAM的方案
具体如下:
CPU:STM32F407ZET6
FPGA: EP4CE6E22C8
SRAM:IS61V25+16AL

      现在本来人希望能用ARM的FSMC总线通过FPGA把数写入SRAM中,并能读回数据。现在用的是 __AT 变量名 (地址) 定义成外部数组变量。这个就相当于是把外存储器当做内部一样用。

本来直接把SRAM接到FSMC是可是实现的。但是因为转过去的数据FPGA又要读入FPGA里面做运算,并且会再次修改SRAM里的数据。
   
   STM32会不停地写入数直到数据区满(现有FIFO环形数据队列),(FPGA会从FIFO中读回),这时会有一个同时性问题:当FSMC的数据在写入或读入时,FPGA又要去读,这时只能让一方停止工作,显然FSMC不能停,因为用的是__AT定义的变量,是编译器自己生成的,人为控制不了

只能上FPGA等待FSCM操作完毕。

本人刚学FPGA没多久有点生,希望大伙帮帮我。在此感谢了。

0110110 发表于 2013-11-24 23:37:30

使用高速sram,降低fsmc总线速度,fpga内部逻辑使用高速时钟,设计一个状态机,定义两个sram地址变量,一个用于外部总线传输,一个用于内部逻辑传输,只要内部时钟足够快,就可以分时对sram进行读写操作,内部与外部互不干扰。

huanger 发表于 2013-11-25 00:31:36

0110110 发表于 2013-11-24 23:37
使用高速sram,降低fsmc总线速度,fpga内部逻辑使用高速时钟,设计一个状态机,定义两个sram地址变量,一个 ...

感谢能给予回答,只是本人还是不太会玩FPGA具体的VHDL语句不会写。

huchl 发表于 2013-11-25 11:32:10

这个感觉比较easy啊,LZ刚开始不要想得太复杂了。
你这个和我们使用的DSP28835和FPGA通信是一样的。
1.stm32和FPGA读写,这个用fpga模拟stm32的FSMC时序就可以了。
2.FPGA读写SRAM,这个应该不是问题。
3.设计同步状态控制机,完成协调工作。



















http://shop106094428.taobao.com/index.htm?v=1

Cliff 发表于 2013-11-25 11:46:59

huanger 发表于 2013-11-25 00:31
感谢能给予回答,只是本人还是不太会玩FPGA具体的VHDL语句不会写。

不会VHDL是什么意思呢?那你想怎样呢?我就搞不清楚了。
只想用电路图方式?
叫人写VHDL?

我们讨论的话,只能是思路讨论,总不可能直接给你代劳吧?

yinian 发表于 2013-11-25 17:03:49

问题比较有特点,新手一般都是这样的
页: [1]
查看完整版本: 请求关于STM32用FSMC控制FPGA再控制SRAM的方案