你好,我现在需要用STM32控制FPGA并且和FPGA进行通讯,请问STM32和FPGA的接口怎样才能实现呢
3个回答
展开全部
本来,3s500e用xcf04就可以了,但后来发现成本高,而且后续要用到大容量FPGA配置好像比较麻烦,看到SelectMAP配置模式比较好,配置完后,接口还能当做IO用,可以减少FPGA与外部处理器的接口。
选用STM32为配置处理器,存储单元用SPI FLASH M25P64, 64Mbits/8MB,比我目前看上的XC6SLX150容量还要大接近1倍。
通过ISE生成BIN文件
使用STM32的DFU模式,生成相应dfu文件,下载到FLASH
Xilinx配置SelectMAP时需要用到如下信号:
输入:PROG_B,CSI_B,RDWR_B,D[7:0],BUSY,CCLK
输出:INIT_B,DONE
其中,如果clk小于50MHz,BUSY可以忽略
只配置一个芯片时,CSI_B置0就可以了
不进行读取时,RDWR_B置0,
剩下还有要注意的就是Byte Swapping问题,Xilinx的数据D0是MSB,和我一般编程习惯相反,硬件上我是D0 MSL的,所以走了点弯路,通过软件将D0-D7逐个翻转,再配置就成功了
选用STM32为配置处理器,存储单元用SPI FLASH M25P64, 64Mbits/8MB,比我目前看上的XC6SLX150容量还要大接近1倍。
通过ISE生成BIN文件
使用STM32的DFU模式,生成相应dfu文件,下载到FLASH
Xilinx配置SelectMAP时需要用到如下信号:
输入:PROG_B,CSI_B,RDWR_B,D[7:0],BUSY,CCLK
输出:INIT_B,DONE
其中,如果clk小于50MHz,BUSY可以忽略
只配置一个芯片时,CSI_B置0就可以了
不进行读取时,RDWR_B置0,
剩下还有要注意的就是Byte Swapping问题,Xilinx的数据D0是MSB,和我一般编程习惯相反,硬件上我是D0 MSL的,所以走了点弯路,通过软件将D0-D7逐个翻转,再配置就成功了
展开全部
使用FSMC接口可以实现,把FPGA当做SRAM,我目前一直用的FSMC的A模式来做的,非常好用
追问
能否告知QQ,我加你
追答
邮箱iamwjia@163.com
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连接stm32和FPGA的SPI就可以了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询