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