这样在分时复用的基础上,通过利用正弦波的对称性,完成了三相数据只需一个1/4周期的ROM即可查询。在分时复用和利用正弦波对称性2个相对独立的模块连接的过程中必须考虑到时序的问题。如果只是把2个模块简单的连接到一块,只能产生一相的SPWM,如果时序上解决不好,产生的三相正弦波精度会受到影响,一个周期的正弦波不再由256个点组成,如果这样,也就失去了优化的意义。
2 数据的分离
由以上可知,从一个1/4正弦波周期的ROM表中可以得到三相相位互差120°的正弦波的幅值,但是由于输入的三相地址在时间上是连续的,即对ROM表寻址的地址只有一路,因此,虽然得到了三相正弦波的幅值,可是他们是按ADDRESS中各相之间的关系混合在一起的。因此,必须对所得到的幅值进行分离,才能得到三相正弦波。由波形ADDRESS中各相地址的相互关系可知,分离数据只要把分时复用的合成部分反接即可,仿真波形如图2所示(为了使在同一个波形中可以同时看清DATA中的各项数据,图2对MAXPLUSⅡ的仿真波形的2.0μs之前的输出零部分进行了截去。)图中DATA为根据1/4周期正弦表所得的三相混合数据,DATAA,DATAB,DATAC分别为分离后A相,B相和C相的相位对应的幅值。由三相正弦波幅值之间的相互关系和变化趋势可以得知,输出的数据是正确的。最后把所得的三相数据锁存,再与产生的三角波比较产生三相六路SPWM。
3 结语
由以上分析及仿真可知,采用一个1/4周期的正弦表实现三相正弦数据的查询是可行的。这将极大的节省所用FPGA的门数,提高其利用率,极大地降低编程的劳动量,且输出的三相正弦波与不利用分时复用和正弦波对称性时相比,精度不受任何影响,每个正弦周期还是由256个点组成,只是正弦波的频率有所降低,这是由于系统的速度和占用面积之间本来就是一种矛盾。图3是本次设计产生的三相六路SPWM,系统仿真的时钟周期为200ns,由于FPGA的系统时钟频率可以达到很高,所以不会对输出的SPWM频率产生影响。
参考文献
[1]李明峰,叶剑利.分时复用时CPLD设计变频系统中的应用[J].单片机与嵌入式系统应用,2002.[2]DanielJ.Modulating direct digital synthesizer in a quICklogic FPGA.[3]潘松,王国栋.VHDL实用教程[M].成都:电子科技大学出版社,2000.