用了几年DSP之后,从TI的定点、16位、40MHz的TMS320F2407A到定点、32位、150MHz的TMS320F2812,再到带有FPU、32位、150MHz的TMS320F28335,感觉其虽然使用简单,在普通应用中,如简单的变频调速等领域完全可以胜任,但其成本因素又显得尤为突出;而在高性能的电机调速系统中又存在其他一些不足,比如其语句采用软件、串行执行,在需要大规模并行处理的时候就十分困难了;TMS320F28335的通用I/O数量虽然高达88个,但是在外扩较多设备时,如外扩A/D、D/A、液晶时,又因地址线、数据线不足、驱动能力不够而捉襟见肘。
考虑到FPGA的硬件实现、并行处理、可编程及强大的逻辑处理功能,最近将课题组的硬件处理核心转移到FPGA上来;阅读Xilinx的选型指南,感觉Spartan-6系列更符合我们的要求,但目前还存在一些制约,一是芯片刚出来,国内购买不容易、价格要相对较高、可参考的资料也较少;另外就是其焊接较为麻烦,对于实验室小批量的研究不太适合。综合考虑器件性能、成本、国内外应用现状,目前选择的器件主要是Xilinx的Spartan-3系列中的XC3S400和Sparta-3E系列中的XC3S500E;但通过一段时间的研究、应用,发现在成本接近的情况下(FPGA含税在100元左右,28335的浮点DSP要多20元左右),FPGA与DSP各有优缺点,我们最终的结论是把二者结合起来用在高性能的电机调速系统之中。
以大功率电机调速中的特定谐波消除调制法为例(selective harmonic elimination pulse width modulation,可参考:“符晓, 等. Digital Implement of Selective Harmonic Elimination Based on Digital Signal Processor. The First Asia Pacific Conference on Postgraduate Research in Microelectronics & Electronics. 2009.11: 141-144, Shanghai, China. ”):若以DSP实现,采用20KHz的定时中断,则每次中断共涉及到7次3阶曲线拟合(为了保证拟合精度,其拟合系数全部为有符号、单精度浮点数,共需存放892个IEEE标准格式的浮点数)以及几十次的逻辑判断,整个算法在充分优化的情况下需要的执行时间在12 μs 到 14.1μs,占用了近三分之一的DSP资源,而整个程序中拟合和逻辑判断几乎用掉差不多的处理时间。 |