赞
踩
这次实验使用到的是STM32的G474E-EVAL板,FPGA使用的是安路科技的EG4系列开发板。原理是用STM32上的FSMC接口与FPGA建立通信线路,FSMC为并行接口,可以大幅度提高通信的速率,对于串行速率达不到要求的可以考虑此种方式。
这里插一句题外话我们场景中经常需要用到STM32和FPGA相连的一个情形不仅是因为这个可以使用STM32强大的控制功能,而是因为STM32的管脚其实非常少,相对地FPGA强大的并行计算的能力加之可以有很多管脚(40-50个轻轻松松),非常适合我们将一部分运算分给FPGA去做。
种类我们为了更加便于理解入门,我们使用这个CubeMX中的G4的固件包里面自带的这个例程,常用的路径如下图所示,在你CubeMX的安装路径下面:
使用MDK打开工程以后找到主函数里面的读写操作:
我在这里为了便于调试,修改了发送的内容和地址,但是功能上不变化的。
下面是FMC的时序设置,这里需要注意的是你所写的值有的时候并不就是你填的值,可能加上1才是实际上的值,比如图中圈起来的busturnaround。
这里的时序设置还有很多需要注意的点,比如说根据手册有的值只有两位,所以只能在0-3中取;还有的情况是要满足一些建立保持时间,这些信息需要仔细研读手册,我这里读的是RM0440,当中可以找到标准的时序图。
上图中的额绿色线是NWE信号,下面两根是DATA[0]和DATA[1]信号,经过验证满足手册中的时序图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。