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