前一阵一直在忙,所以没有来得及写博文。弄完杂七杂八的事情,又继续FPGA的研究。使用Verilog HDL语言和原理图输入来完成FPGA设计的方法都试验过了,更高级的还有基于System Generator和基于EDK/Microblaze的方法。为了将以往已经开发的Matlab仿真通过的电机控制算法快速转换为可供FPGA使用的算法,首先研究了基于System Generator的FPGA开发,并有选择性地实现了几个算法,证明了其有效性。在这里先把开发过程中的一些心得写出来,欢迎大家分享、交流。
预先介绍一下软硬件环境:
ISE版本为Xilinx ISE Design Suite 12.1(包含System Generator12.1,但是那个著名的AccelDSP组件找不到了);Matlab版本为MATLAB R2010a Win32版(Simulink为7.5版),硬件开发板有Digilentinc的Spartan3E XC3S500E开发板和自己制作的Spartan3 XC3S400实验板。
首先是安装Matlab,这里要注意的是Matlab的安装路径必须与英文开头,中间可以包含数字;其次是路径中不能有空格,否则System Generator将无法识别Matlab的路径。然后安装ISE 12.1,完成之后点击“C:\Documents and Settings\All Users\「开始」菜单\程序\Xilinx ISE Design Suite 12.1”里面的“System Generator MATLAB Configurator”,如果Matlab安装正确,System Generator会识别出Maltab,否则需要手动选择Maltab的路径;这里还有个版本限制,即ISE/ System Generator12.1只能完全支持Maltab2009a/b,对Maltab2010a只能beta支持(中间遇到问题就是Resource Estimator用了一次之后就再也不能正常运行了,不知道是不是beta的原因)。
然后就可以启动Matlab,新建一个mdl仿真文件,并打开Simulink Library Browser,切换到Xilinx Blocket,如果是第一次打开Xilinx Blocket,需要有一个建立Xilinx缓存的过程,时间比较长,不要把它当成电脑的假死。另外还有两个Xilinx的菜单是Xilinx Reference Blockset v12.1和Xilinx Blockset v12.1,这个以后再详细讲。 |