FPGA和M3的FSMC通信(现在能正确读写,但是还不完善)

标签:
fpgastm32fsmcit |
分类: FPGA |
说明:最近刚开始学习altera系列的FPGA,刚入门的时候有点云里雾里不过还好终于入门了。
(1)特别推荐看一下特权同学做的FPGA/CPLD的视频教程,讲的很不错。
(2)有点动手能力的话,买一个核心板就可以了,剩下自己搭建点外设,没有必要买网上
卖的板子,浪费银子。
(3)不过有钱了,一定买个官方的板子,专业,而且不容易出问题。
硬件开发环境:使用的是(STM32F103VET6 + EP4CE6E22C8)
硬件接口:

FSMC采用模式A,读写时序如下:


(1)由于这个项目我只负责调度算法和ARM部分的程序编写,所以学了一段时间XILINX的FPGA就没
再搞了。但是现在的形势似乎有点严峻,所以我也需要搞FPGA,既然打算搞FPGA,自己就用
点心。
(2)记得前一段时间FSMC外挂RA8875的时候,老是出问题,最近学了FPGA才知道原因。
FSMC------------>RA8875
FSMC
------------>FPGA
出问题的原因似乎是因为不片选FPGA的时候需要将数据
引脚DB[15:0]设置成高阻态,关于这个问题,今天看特权同学写的《深入浅出玩
转FPGA》也有说明 。

ARM部分代码:ARM部分的代码比较简单,初始化一下FSMC,然后读取或写入相应的地址空间就可
FPGA部分代码:(1)这部分的代码要控制好时序,主要还是判断好CS,RD,WR这三个引脚就可以成
功了。
(2)使用前需要例化一个PLL,用于给STM32提供时钟,这里将PLL配置成8MHz
(3)初学FPGA,代码还有不规范的地方。
程序下载地址:http://bbs.armfly.com/read.php?tid=596
硬件开发环境:使用的是(STM32F103VET6 + EP4CE6E22C8)
硬件接口:



(1)由于这个项目我只负责调度算法和ARM部分的程序编写,所以学了一段时间XILINX的FPGA就没
(2)记得前一段时间FSMC外挂RA8875的时候,老是出问题,最近学了FPGA才知道原因。

ARM部分代码:ARM部分的代码比较简单,初始化一下FSMC,然后读取或写入相应的地址空间就可
FPGA部分代码:(1)这部分的代码要控制好时序,主要还是判断好CS,RD,WR这三个引脚就可以成
程序下载地址:http://bbs.armfly.com/read.php?tid=596