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