分時(shí)復(fù)用時(shí)CPLD設(shè)計(jì)變頻系統(tǒng)中的應(yīng)用
1 ALTERA公司MaxplusII軟件簡介
CPLD是可由用戶進(jìn)行編程(又稱配置)實(shí)現(xiàn)所需邏輯功能的數(shù)字集成電路。MaxplusII可編程邏輯開發(fā)軟件提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使應(yīng)用ALTERA通用CPLD的設(shè)計(jì)得能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。MaxplusII提供了全面的邏輯設(shè)計(jì)能力,可將文本、圖形和波形等設(shè)計(jì)輸入方法任意組合建立起有層次的單器件或多器件設(shè)計(jì)。MaxplusII編譯器(Compiler)完成最小化和邏輯綜合,把設(shè)計(jì)裝配成一個(gè)或多個(gè)器件并產(chǎn)生編程數(shù)據(jù);還可進(jìn)行設(shè)計(jì)校驗(yàn),包括功能仿真、定時(shí)仿真、影響速度的關(guān)鍵路徑的延時(shí)預(yù)測以及多系列器件交叉的多器件仿真。Compiler的Fitter(適配)模塊應(yīng)用試探法把經(jīng)過綜合的設(shè)計(jì)最恰當(dāng)?shù)赜靡粋€(gè)或多個(gè)器件實(shí)現(xiàn)。這種自動(dòng)適配功能使設(shè)計(jì)者得以從冗長的布局與布線工作解脫出來。綜上所述,以MaxplusII為EDA軟件工具,周期短、集成度高、價(jià)格合適、可實(shí)現(xiàn)強(qiáng)大的邏輯功能。
2 分時(shí)復(fù)用思路的實(shí)現(xiàn)
由于控制芯片需要輸出三相六路SPWM脈沖信號(hào),這就需要在每個(gè)載波周期查三解函數(shù)表。查三角函數(shù)表法取得所需三角函數(shù)值的電路結(jié)構(gòu)兩種:一種是建立三個(gè)相位互差120°的三角函數(shù)表,輸出的SPWM波形脈沖的脈寬數(shù)據(jù)通過即時(shí)運(yùn)算電路得到,三相數(shù)據(jù)分別計(jì)算,各占用一個(gè)查表電路;一種是通過一個(gè)三角函數(shù)表,輸出的SPWM波形脈沖的脈寬數(shù)據(jù)通過分時(shí)函數(shù)表,輸出的SPWM波形脈沖的脈寬數(shù)據(jù)通過分時(shí)運(yùn)算電路得到,運(yùn)算時(shí)間對(duì)輸出波形不會(huì)有什么影響,內(nèi)部的ROM空間要求也很小。
如果每相分別用獨(dú)立的電路實(shí)現(xiàn),將多耗費(fèi)許多邏輯門,并且占用三個(gè)正弦表格。這在設(shè)計(jì)上是簡單的,但在實(shí)際上卻非常不合理。本文提出一種實(shí)現(xiàn)三相分時(shí)的思路,大大減少了邏輯數(shù)目,僅增加分時(shí)信號(hào)和信號(hào)分離電路,達(dá)到只占用一個(gè)正弦表格,并且只耗用一個(gè)計(jì)算電路的效果。試驗(yàn)證明,這種三相分時(shí)計(jì)算電路穩(wěn)定、電路結(jié)構(gòu)簡單。電路原理如圖1所示。
圖1中D點(diǎn)為待分離的三相正弦數(shù)據(jù)經(jīng)幅度調(diào)制后的瞬時(shí)值,由box1計(jì)算產(chǎn)生。在每一個(gè)載波周期,從三角波的發(fā)生到出現(xiàn)波峰的時(shí)刻計(jì)算并輸出。Box1工作框圖如圖2所示。
時(shí)鐘CLK在每個(gè)運(yùn)算周期產(chǎn)生3次上升沿。該時(shí)鐘圖2的“count0_2”以3為模計(jì)數(shù),計(jì)數(shù)值送三選一數(shù)據(jù)選擇器,如圖3所示。并列輸入的三相數(shù)據(jù)16、516、266經(jīng)過該電路變成時(shí)間上承接的數(shù)據(jù)result[9..0],這樣送入的三相數(shù)據(jù)就實(shí)現(xiàn)了合成。
其Maxplus box2框圖的一個(gè)部分如圖4所示。其中retb這個(gè)box中的輸入M0[1..0]為判據(jù),來確定D[8..0]是否可以通過,如上所述count0_2為以3為模的計(jì)數(shù)器。數(shù)據(jù)通過這種方式實(shí)現(xiàn)了分離,再加后級(jí)鎖存,并鎖存送到PWM發(fā)生器。
ABC三點(diǎn)為由box2分離后的數(shù)據(jù),鎖存一個(gè)載波周期,送至后面的PWM發(fā)生器。。box2工作的仿真波形如圖5所示。
圖5中,CLKA、CLKB、CLKC為輸入的分時(shí)時(shí)鐘信號(hào),在每個(gè)三角波計(jì)數(shù)峰值處產(chǎn)生。在此處,D點(diǎn)傳送過來的三相數(shù)據(jù)為18、305、175,是經(jīng)過查正弦表,以及查vf曲線,并進(jìn)行調(diào)幅運(yùn)算后得到的某一個(gè)瞬間的數(shù)據(jù)。分別是C、B、和A相的數(shù)據(jù)。經(jīng)過box2的分離可以看到,三相數(shù)據(jù)被分離開來并鎖存,直到經(jīng)過一個(gè)載波周期,新的數(shù)據(jù)送過來。
從圖1~5可以很清晰地看出:該分時(shí)復(fù)用電路對(duì)圖1中的box1進(jìn)行了復(fù)用,三路并列輸出的數(shù)據(jù)通過分時(shí)選擇,被分成按順序排列的一路數(shù)據(jù)送到box1,經(jīng)過一系列運(yùn)算得出一路按順序排列的數(shù)據(jù),該路數(shù)據(jù)其實(shí)包含了三相的信息。然后,再反過來把這一路數(shù)據(jù)拆分了三路數(shù)據(jù),就可以送到PWM波形發(fā)生器產(chǎn)生三相六路波形。
上述可見,如果不采用這種分時(shí)電路,那么三相的運(yùn)算將會(huì)用到三個(gè)box1,而box1包括了乘法器、正弦表格、死區(qū)計(jì)算等。所以利用分時(shí)電路大大節(jié)約了門數(shù),從而使芯片電路規(guī)模縮小近2/3。這種思想在ASIC設(shè)計(jì)中也很有實(shí)用價(jià)值。
系統(tǒng)設(shè)計(jì)結(jié)束后,利用MaxplusII的芯片配制,選用最大1萬門的芯片ACEK EP1K10。該系統(tǒng)可以成功配制,但如果用最初設(shè)計(jì)不使用分時(shí)電路的系統(tǒng),必須使用最大3萬門的ACEK EP1K30系列CPLD芯片。這證明了該系統(tǒng)節(jié)約了大約2/3的邏輯門。
3 系統(tǒng)邏輯與時(shí)序功能驗(yàn)證
圖6為利用MaxplusII的波形仿真功能得到的芯片輸入輸出圖。ALTERA公司的這種軟件十分方便地提高了逼真的驗(yàn)證方式。這種仿真不但提供了邏輯輸出的驗(yàn)證,而且提供了時(shí)序的驗(yàn)證,包括芯片內(nèi)部的各之間延時(shí),以及競爭冒險(xiǎn)現(xiàn)象的顯現(xiàn)。
輸入調(diào)制頻率為500Hz時(shí)的三相六路SPWM波形,在相位上互差120°。
4 結(jié)論
本文提出的一種實(shí)現(xiàn)三相分時(shí)運(yùn)算思路,通過了仿真驗(yàn)證。該分時(shí)電路使系統(tǒng)占用CPLD邏門的個(gè)數(shù)減少近2/3,減小了系統(tǒng)規(guī)模,提高了效率。
評(píng)論