隨著電力電子開關(guān)器件及技術(shù)的不斷發(fā)展,SPWM(正弦波脈寬調(diào)制)技術(shù)在逆變控制領(lǐng)域得到廣泛應(yīng)用,。傳統(tǒng)的SPWM驅(qū)動(dòng)芯片速度慢,、不夠靈活,存在著電路設(shè)計(jì)復(fù)雜,、體積大,、抗干擾能力差,、設(shè)計(jì)周期長(zhǎng)等缺點(diǎn),對(duì)于許多有特殊要求的場(chǎng)合,,由專用芯片很難滿足實(shí)際的要求,,因此,本文采用Ahera公司的EP2C35F672C8N開發(fā)一種基于可編程片上系統(tǒng)的SPWM脈沖波形電路,,SOPC技術(shù)將微處理器和SP-WM波形電路整合到一塊FPGA器件當(dāng)中,。可編程的片上系統(tǒng)SOPC(System 0n Programmable Chip)是一種特殊的嵌入式系統(tǒng),,首先它是片上系統(tǒng)(SOC),,即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,,它是可編程系統(tǒng),,具有靈活的設(shè)計(jì)方式,可裁減,、可擴(kuò)充,、可升級(jí),并具備軟硬件在系統(tǒng)中可編程的功能,。SOPC設(shè)計(jì)是以IP(Intellectual Property Core)核為基礎(chǔ)的,,以硬件描述語(yǔ)言為主要設(shè)計(jì)手段,借助于以計(jì)算機(jī)為平臺(tái)的EDA工具進(jìn)行的,。SOPC具有可靠性高,、功耗低、保密性強(qiáng),、程序設(shè)計(jì)靈活等特點(diǎn),,在電子產(chǎn)品設(shè)計(jì)中得到廣泛的應(yīng)用。在系統(tǒng)中,,利用數(shù)字化自然采樣法實(shí)現(xiàn)SPWM脈沖,。文中利用DDS(直接數(shù)字式頻率合成器)技術(shù),產(chǎn)生正弦調(diào)制波,,然后與三角載波比較產(chǎn)生SPWM脈沖波,。
1 SPWM產(chǎn)生原理
正弦脈寬調(diào)制(SPWM)技術(shù),就是產(chǎn)生與正弦波等效的一系列等幅不等寬矩形脈沖波形,。實(shí)現(xiàn)SPWM調(diào)制的方法很多,,采樣型SPWM法是其中較常用的一種方法,它分自然采樣法和規(guī)則采樣法,。自然采樣法是目前最好的一種SPWM實(shí)現(xiàn)方法,因?yàn)槔眠@種方法所得到的SPWM波形最接近正弦波,,而數(shù)字化自然采樣法是用數(shù)字電路實(shí)現(xiàn)自然采樣法的方法,,并且數(shù)字化自然采樣法的調(diào)制效果可以和自然采樣法的調(diào)制效果相逼近,。本設(shè)計(jì)中采用數(shù)字化自然采樣法,即SPWM脈沖產(chǎn)生方法采用正弦調(diào)制波與三角載波相比較的傳統(tǒng)方法,,但是正弦調(diào)制波,、三角載波和比較邏輯等均采用基于FPGA的數(shù)字化方法來(lái)實(shí)現(xiàn)。圖1所示為SPWM波產(chǎn)生方式示意圖,。通常采用等腰三角波作為載波,,因?yàn)榈妊遣ㄉ先我稽c(diǎn)的水平寬度和高度成線性關(guān)系且左右對(duì)稱,當(dāng)它與任何一個(gè)平緩變化的調(diào)制波相交時(shí),,如果在交點(diǎn)時(shí)刻對(duì)電路中的開關(guān)器件的通斷進(jìn)行控制,,就可以得到寬度正比于信號(hào)波幅值的脈沖,這正好符合正弦脈寬調(diào)制的要求,。
2 基于SOPC的SPWM波形的實(shí)現(xiàn)
SPWM脈沖發(fā)生器的SOPC系統(tǒng)框圖如圖2所示,。其中,Nios處理器是Altera公司免費(fèi)提供的32位CPU,,作為軟核嵌入FPGA中,,作為整個(gè)SOPC系統(tǒng)的中央處理單元,Nios之外的各個(gè)模塊接到Avalon總線上,,通過(guò)Avalon總線進(jìn)行數(shù)據(jù)交換,。
圖2中,SPWM模塊由頻率變換,、正弦調(diào)制波生成,、三角載波生成、幅度調(diào)節(jié),、數(shù)據(jù)比較,、死區(qū)時(shí)間這6部分組成。功能是按設(shè)定的載波比和調(diào)制度,,輸出符合要求的高精度高穩(wěn)定性的SPWM脈沖波,;SRAM為系統(tǒng)提供程序運(yùn)行空間和數(shù)據(jù)存儲(chǔ)空間。在QuartusⅡ的SOPC Builder中實(shí)現(xiàn),,生成SRAM控制器,;Flash電路用于存儲(chǔ)FPGA的配置文件和NiosⅡ的軟件代碼;按鍵,、LCD液晶顯示電路通過(guò)按鍵對(duì)載波比和調(diào)制度進(jìn)行設(shè)定,,通過(guò)Nios處理器將設(shè)定參數(shù)送至SPWM模塊,使之產(chǎn)生相應(yīng)參數(shù)的脈沖波,。LCD則顯示系統(tǒng)當(dāng)前工作狀態(tài)的參數(shù)設(shè)置,。
圖3為SPWM脈沖發(fā)生器中SPWM模塊的原理圖。
本系統(tǒng)采用載波信號(hào)和調(diào)制信號(hào)不保持同步的異步調(diào)制方式,。在異步調(diào)制方式中,,通常保持載波頻率固定不變,,即三角載波的頻率保持不變。三角載波的數(shù)字化是利用計(jì)數(shù)器來(lái)產(chǎn)生階梯狀的數(shù)字化三角載波,,其核心部件是一個(gè)無(wú)符號(hào)加減計(jì)數(shù)器,。利用其循環(huán)加減計(jì)數(shù)來(lái)產(chǎn)生階梯狀的數(shù)字化三角載波。計(jì)數(shù)器先執(zhí)行加法,,從0計(jì)數(shù)到某一值,。在本系統(tǒng)中設(shè)定為255,再執(zhí)行減法計(jì)數(shù)從255到0,,從而實(shí)現(xiàn)三角載波,。本系統(tǒng)中三角載波的峰峰值為255。設(shè)O為數(shù)字化三角載波的峰值,,TCLK為加減計(jì)數(shù)器的時(shí)鐘周期,,Ts為三角載波周期,則這3者之間的關(guān)系為:
下面給出Verilog HDL設(shè)計(jì)的三角載波發(fā)生器的部分程序,。
正弦調(diào)制波產(chǎn)生采用直接數(shù)字頻率合成器DDS方案實(shí)現(xiàn),。DDS技術(shù)是一種采用數(shù)字化技術(shù)、通過(guò)控制相位的變化速度,,直接產(chǎn)生各種不同頻率和不同幅度信號(hào)的頻率合成方法,。DDS具有較高的頻率分辨率,可實(shí)現(xiàn)快速的頻率切換且在頻率改變時(shí)能夠保持相位的連續(xù),,很容易實(shí)現(xiàn)頻率,、相位和幅度的數(shù)控調(diào)制。DDS系統(tǒng)的核心是相位累加器,,它由一個(gè)加法器和一個(gè)相位寄存器組成,,每來(lái)一個(gè)時(shí)鐘,相位寄存器以步長(zhǎng)增加,,相位寄存器的輸出與相位控制字相加,,然后輸入到正弦查找表地址上,正弦查找表包含一個(gè)周期正弦波的數(shù)字幅度信息,,每個(gè)地址對(duì)應(yīng)正弦波中0°~360°范圍的一個(gè)相應(yīng)點(diǎn),。在FPGA內(nèi)部開辟一塊ROM區(qū)域,將通過(guò)程序生成的離散時(shí)間正弦波幅值存入其中,。圖4所示為正弦調(diào)制波的頂層文件設(shè)計(jì),。
在本系統(tǒng)中,將256個(gè)離散時(shí)間正弦波幅值存入ROM中,。在系統(tǒng)上電后,,根據(jù)設(shè)定的頻率按照相位與地址一一對(duì)應(yīng)的關(guān)系從表中依次讀出預(yù)先存好的幅值。本系統(tǒng)采用異步調(diào)制方式,,三角載波的幅值與頻率是固定的,,這樣通過(guò)改變正弦調(diào)制波的頻率與幅值,,則改變系統(tǒng)的載波比與調(diào)制。
幅度調(diào)節(jié)模塊是控制正弦波的輸出幅度,,從而控制SPWM的脈沖寬度。這一功能是通過(guò)并行乘法器實(shí)現(xiàn)的,。它實(shí)現(xiàn)容易,,運(yùn)算速度快,可靠性高,,可以滿足系統(tǒng)的高效要求,。在系統(tǒng)中乘法器對(duì)正弦函數(shù)表中取出的正弦幅值進(jìn)行調(diào)制深度加權(quán)調(diào)整。設(shè)某時(shí)刻正弦調(diào)制波幅值為YIN相應(yīng)的調(diào)制度所對(duì)應(yīng)的一整數(shù)為λ,,則此時(shí)輸出正弦信號(hào)的幅值YOUT:
式中,,λ的取值范圍為0~255。因?yàn)檎译x散時(shí)間幅值范圍為0~255,,所以通過(guò)一個(gè)8位的并行乘法器實(shí)現(xiàn)λYIN,。在數(shù)字電路中將數(shù)據(jù)右移1位等同于數(shù)值除以2的效果,所以取λYIN結(jié)果的高8位作為YOUT的值,,以此實(shí)現(xiàn)除以256的效果,。
數(shù)字比較器就是將三角載波信號(hào)的幅值與正弦調(diào)制信號(hào)的幅值進(jìn)行比較。在系統(tǒng)中,,三角載波信號(hào)與正弦調(diào)制信號(hào)均是以數(shù)字方式實(shí)現(xiàn)的,,所以將三角載波的計(jì)數(shù)值與正弦調(diào)制信號(hào)的幅值進(jìn)行比較,然后根據(jù)二者數(shù)值的大小比較得出“1”與“0”兩種邏輯量,。在正弦調(diào)制信號(hào)與三角載波信號(hào)兩個(gè)相鄰的交點(diǎn)之間,,若正弦波幅值數(shù)據(jù)大于三角波幅值數(shù)據(jù),則通過(guò)比較后,,所得的邏輯量為“1”,,反之則為“0”。
死區(qū)產(chǎn)生部分同樣具有非常重要的作用,,通過(guò)比較產(chǎn)生的SPWM波形上下沿相互對(duì)應(yīng),,而沒有將其錯(cuò)開一定的時(shí)間。如果這樣的SPWM脈沖直接送入智能功率模塊,,就會(huì)導(dǎo)致其上下兩個(gè)橋臂直通而短路,。必須在開關(guān)管開關(guān)通斷切換時(shí)設(shè)置一段時(shí)間使上下橋臂滿足同時(shí)關(guān)斷,即設(shè)置通常所說(shuō)的死區(qū)電路,。死區(qū)部分的輸入是來(lái)自比較部分輸出結(jié)果的一路SPWM波,,輸出是兩路互補(bǔ)的帶一定死區(qū)時(shí)間的SPWM波。本系統(tǒng)中,,設(shè)計(jì)的死區(qū)時(shí)間為2μs,。部分代碼如下,。
在QaurtusⅡ軟件中完成頂層文件的編譯后,生成.pof文件和.sof文件,,將編譯產(chǎn)生的.sof文件通過(guò)JTAG下載線下載配置到SOPC中,。圖5為死區(qū)時(shí)間設(shè)定為2μs的時(shí)候利用邏輯分析儀測(cè)試的SPWM脈沖波形的情況。v為不加死區(qū)時(shí)間的單相SPWM波形,,pa與pb是死區(qū)部分的輸出,,是兩路互補(bǔ)的帶一定死區(qū)時(shí)間的SPWM波。
3 結(jié)束語(yǔ)
本文提出一種基于SOPC系統(tǒng)實(shí)現(xiàn)SPWM數(shù)字化自然采樣脈沖發(fā)生器的方案,,并給出具體的實(shí)現(xiàn)方法,。該電路通過(guò)系統(tǒng)可編程芯片實(shí)現(xiàn)。用Verilog HDL硬件表述語(yǔ)言完成了功能模塊的設(shè)計(jì)實(shí)現(xiàn),,使得電路簡(jiǎn)單,,可靠性高,穩(wěn)定性好,。同時(shí),,由SOPC系統(tǒng)實(shí)現(xiàn)的此SPWM脈沖發(fā)生器,設(shè)計(jì)靈活,,可在線編程,,可根據(jù)不同要求的工作場(chǎng)合進(jìn)行系統(tǒng)參數(shù)的修改。