分时复用时CPLD设计变频系统中的应用
时间:06-06
来源:互联网
点击:
变频调速的实现,目前一般利用CPU加片内外设的专用微处理器。但是,专用微处理器大量占用CPU,受时钟限制,很难实现高精度算法,且引脚I/O口有限。用CPLD(复杂可编程逻辑器件)设计乃至仿真、验证、利用ISP(在系统编程)对硬件调试都非常方便,开发周期很短,且I/O口很多,可以随意设定,故用CPLD设计专用芯片有很大的发展前途。如果非大量应用可直接运用CPLD,价格也可以接受;大量应用可在此基础上设计制造专用芯片(ASIC)。本文研究VVVF变频调速实现的策略,详细介绍应用于该系统的一种分时时复用电路,用CPLD实现。
1 ALTERA公司MaxplusII软件简介
CPLD是可由用户进行编程(又称配置)实现所需逻辑功能的数字集成电路。MaxplusII可编程逻辑开发软件提供了一种与结构无关的设计环境,使应用ALTERA通用CPLD的设计得能方便地进行设计输入、快速处理和器件编程。MaxplusII提供了全面的逻辑设计能力,可将文本、图形和波形等设计输入方法任意组合建立起有层次的单器件或多器件设计。MaxplusII编译器(Compiler)完成最小化和逻辑综合,把设计装配成一个或多个器件并产生编程数据;还可进行设计校验,包括功能仿真、定时仿真、影响速度的关键路径的延时预测以及多系列器件交叉的多器件仿真。Compiler的Fitter(适配)模块应用试探法把经过综合的设计最恰当地用一个或多个器件实现。这种自动适配功能使设计者得以从冗长的布局与布线工作解脱出来。综上所述,以MaxplusII为EDA软件工具,周期短、集成度高、价格合适、可实现强大的逻辑功能。
2 分时复用思路的实现
由于控制芯片需要输出三相六路SPWM脉冲信号,这就需要在每个载波周期查三解函数表。查三角函数表法取得所需三角函数值的电路结构两种:一种是建立三个相位互差120°的三角函数表,输出的SPWM波形脉冲的脉宽数据通过即时运算电路得到,三相数据分别计算,各占用一个查表电路;一种是通过一个三角函数表,输出的SPWM波形脉冲的脉宽数据通过分时函数表,输出的SPWM波形脉冲的脉宽数据通过分时运算电路得到,运算时间对输出波形不会有什么影响,内部的ROM空间要求也很小。
如果每相分别用独立的电路实现,将多耗费许多逻辑门,并且占用三个正弦表格。这在设计上是简单的,但在实际上却非常不合理。本文提出一种实现三相分时的思路,大大减少了逻辑数目,仅增加分时信号和信号分离电路,达到只占用一个正弦表格,并且只耗用一个计算电路的效果。试验证明,这种三相分时计算电路稳定、电路结构简单。电路原理如图1所示。
图1中D点为待分离的三相正弦数据经幅度调制后的瞬时值,由box1计算产生。在每一个载波周期,从三角波的发生到出现波峰的时刻计算并输出。Box1工作框图如图2所示。
时钟CLK在每个运算周期产生3次上升沿。该时钟图2的“count0_2”以3为模计数,计数值送三选一数据选择器,如图3所示。并列输入的三相数据16、516、266经过该电路变成时间上承接的数据result[9..0],这样送入的三相数据就实现了合成。
其Maxplus box2框图的一个部分如图4所示。其中retb这个box中的输入M0[1..0]为判据,来确定D[8..0]是否可以通过,如上所述count0_2为以3为模的计数器。数据通过这种方式实现了分离,再加后级锁存,并锁存送到PWM发生器。
ABC三点为由box2分离后的数据,锁存一个载波周期,送至后面的PWM发生器。。box2工作的仿真波形如图5所示。
图5中,CLKA、CLKB、CLKC为输入的分时时钟信号,在每个三角波计数峰值处产生。在此处,D点传送过来的三相数据为18、305、175,是经过查正弦表,以及查vf曲线,并进行调幅运算后得到的某一个瞬间的数据。分别是C、B、和A相的数据。经过box2的分离可以看到,三相数据被分离开来并锁存,直到经过一个载波周期,新的数据送过来。
从图1~5可以很清晰地看出:该分时复用电路对图1中的box1进行了复用,三路并列输出的数据通过分时选择,被分成按顺序排列的一路数据送到box1,经过一系列运算得出一路按顺序排列的数据,该路数据其实包含了三相的信息。然后,再反过来把这一路数据拆分了三路数据,就可以送到PWM波形发生器产生三相六路波形。
上述可见,如果不采用这种分时电路,那么三相的运算将会用到三个box1,而box1包括了乘法器、正弦表格、死区计算等。所以利用分时电路大大节约了门数,从而使芯片电路规模缩小近2/3。这种思想在ASIC设计中也很有实用价值。
系统设计结束后,利用MaxplusII的芯片配制,选用最大1万门的芯片ACEK EP1K10。该系统可以成功配制,但如果用最初设计不使用分时电路的系统,必须使用最大3万门的ACEK EP1K30系列CPLD芯片。这证明了该系统节约了大约2/3的逻辑门。
3 系统逻辑与时序功能验证
图6为利用MaxplusII的波形仿真功能得到的芯片输入输出图。ALTERA公司的这种软件十分方便地提高了逼真的验证方式。这种仿真不但提供了逻辑输出的验证,而且提供了时序的验证,包括芯片内部的各之间延时,以及竞争冒险现象的显现。
输入调制频率为500Hz时的三相六路SPWM波形,在相位上互差120°。
4 结论
本文提出的一种实现三相分时运算思路,通过了仿真验证。该分时电路使系统占用CPLD逻门的个数减少近2/3,减小了系统规模,提高了效率。
1 ALTERA公司MaxplusII软件简介
CPLD是可由用户进行编程(又称配置)实现所需逻辑功能的数字集成电路。MaxplusII可编程逻辑开发软件提供了一种与结构无关的设计环境,使应用ALTERA通用CPLD的设计得能方便地进行设计输入、快速处理和器件编程。MaxplusII提供了全面的逻辑设计能力,可将文本、图形和波形等设计输入方法任意组合建立起有层次的单器件或多器件设计。MaxplusII编译器(Compiler)完成最小化和逻辑综合,把设计装配成一个或多个器件并产生编程数据;还可进行设计校验,包括功能仿真、定时仿真、影响速度的关键路径的延时预测以及多系列器件交叉的多器件仿真。Compiler的Fitter(适配)模块应用试探法把经过综合的设计最恰当地用一个或多个器件实现。这种自动适配功能使设计者得以从冗长的布局与布线工作解脱出来。综上所述,以MaxplusII为EDA软件工具,周期短、集成度高、价格合适、可实现强大的逻辑功能。
2 分时复用思路的实现
由于控制芯片需要输出三相六路SPWM脉冲信号,这就需要在每个载波周期查三解函数表。查三角函数表法取得所需三角函数值的电路结构两种:一种是建立三个相位互差120°的三角函数表,输出的SPWM波形脉冲的脉宽数据通过即时运算电路得到,三相数据分别计算,各占用一个查表电路;一种是通过一个三角函数表,输出的SPWM波形脉冲的脉宽数据通过分时函数表,输出的SPWM波形脉冲的脉宽数据通过分时运算电路得到,运算时间对输出波形不会有什么影响,内部的ROM空间要求也很小。
如果每相分别用独立的电路实现,将多耗费许多逻辑门,并且占用三个正弦表格。这在设计上是简单的,但在实际上却非常不合理。本文提出一种实现三相分时的思路,大大减少了逻辑数目,仅增加分时信号和信号分离电路,达到只占用一个正弦表格,并且只耗用一个计算电路的效果。试验证明,这种三相分时计算电路稳定、电路结构简单。电路原理如图1所示。
图1中D点为待分离的三相正弦数据经幅度调制后的瞬时值,由box1计算产生。在每一个载波周期,从三角波的发生到出现波峰的时刻计算并输出。Box1工作框图如图2所示。
时钟CLK在每个运算周期产生3次上升沿。该时钟图2的“count0_2”以3为模计数,计数值送三选一数据选择器,如图3所示。并列输入的三相数据16、516、266经过该电路变成时间上承接的数据result[9..0],这样送入的三相数据就实现了合成。
其Maxplus box2框图的一个部分如图4所示。其中retb这个box中的输入M0[1..0]为判据,来确定D[8..0]是否可以通过,如上所述count0_2为以3为模的计数器。数据通过这种方式实现了分离,再加后级锁存,并锁存送到PWM发生器。
ABC三点为由box2分离后的数据,锁存一个载波周期,送至后面的PWM发生器。。box2工作的仿真波形如图5所示。
图5中,CLKA、CLKB、CLKC为输入的分时时钟信号,在每个三角波计数峰值处产生。在此处,D点传送过来的三相数据为18、305、175,是经过查正弦表,以及查vf曲线,并进行调幅运算后得到的某一个瞬间的数据。分别是C、B、和A相的数据。经过box2的分离可以看到,三相数据被分离开来并锁存,直到经过一个载波周期,新的数据送过来。
从图1~5可以很清晰地看出:该分时复用电路对图1中的box1进行了复用,三路并列输出的数据通过分时选择,被分成按顺序排列的一路数据送到box1,经过一系列运算得出一路按顺序排列的数据,该路数据其实包含了三相的信息。然后,再反过来把这一路数据拆分了三路数据,就可以送到PWM波形发生器产生三相六路波形。
上述可见,如果不采用这种分时电路,那么三相的运算将会用到三个box1,而box1包括了乘法器、正弦表格、死区计算等。所以利用分时电路大大节约了门数,从而使芯片电路规模缩小近2/3。这种思想在ASIC设计中也很有实用价值。
系统设计结束后,利用MaxplusII的芯片配制,选用最大1万门的芯片ACEK EP1K10。该系统可以成功配制,但如果用最初设计不使用分时电路的系统,必须使用最大3万门的ACEK EP1K30系列CPLD芯片。这证明了该系统节约了大约2/3的逻辑门。
3 系统逻辑与时序功能验证
图6为利用MaxplusII的波形仿真功能得到的芯片输入输出图。ALTERA公司的这种软件十分方便地提高了逼真的验证方式。这种仿真不但提供了逻辑输出的验证,而且提供了时序的验证,包括芯片内部的各之间延时,以及竞争冒险现象的显现。
输入调制频率为500Hz时的三相六路SPWM波形,在相位上互差120°。
4 结论
本文提出的一种实现三相分时运算思路,通过了仿真验证。该分时电路使系统占用CPLD逻门的个数减少近2/3,减小了系统规模,提高了效率。
三相分时运算变频调速可编程逻辑器件 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)