基于Avalon總線接口的UPFC控制器IP核設(shè)計(jì)
0 引言
統(tǒng)一潮流控制器(Unified Power Flow Con-troller,簡稱UPFC)是一種可以較大范圍地控制電流使之按指定路經(jīng)流動(dòng)的設(shè)備,它可在保證輸電線輸送容量接近熱穩(wěn)定極限的同時(shí)又不至于過負(fù)荷??刂葡到y(tǒng)是UPFC的核心部分,它的主要功能是監(jiān)測(cè)交流電網(wǎng)的傳輸和控制輸出逆變波形,不但能使輸出波形的頻率跟定電網(wǎng)頻率,而且可對(duì)輸出波形的幅值和相位進(jìn)行調(diào)節(jié)。
隨著微電子技術(shù)的不斷發(fā)展,各種新器件和新的設(shè)計(jì)方法不斷出現(xiàn),使得UPFC的控制系統(tǒng)設(shè)計(jì)也在不斷發(fā)展。近年來,隨著IC集成度的不斷提高而出現(xiàn)的現(xiàn)場(chǎng)可編程邏輯陣列(FieldProgrammable Gate Array,簡稱FPGA)就是由可編程邏輯器件PLD(Programmable Logic Device)發(fā)展而來的新型器件,F(xiàn)PGA不但可以用于單個(gè)控制器件,而且可以用于整個(gè)系統(tǒng)。因而又誕生了一種新的系統(tǒng)設(shè)計(jì)方法――片上可編程系統(tǒng)SOPC(System on a Programmer ChIP)。這是一種基于IP核(Intellectual Property core)的新系統(tǒng)。它既具有軟件的靈活性,又同時(shí)具有硬件的處理速度,更重要的是,它可以和微處理器軟核等IP核構(gòu)成整個(gè)系統(tǒng),還可以根據(jù)需要對(duì)該系統(tǒng)進(jìn)行重新設(shè)計(jì),從而提高系統(tǒng)的靈活性、可靠性,以及抗干擾能力。本文利用Altera公司的Quartus開發(fā)工具設(shè)計(jì)了一個(gè)基于Avalon總線接口的UPFC控制器IP核,以便于和NiosII組成一個(gè)完整的控制系統(tǒng)。
1 UPFC控制器IP的主要功能
UPFC控制器的IP主要用來輸出3路相位分別相差2π/3的正弦波形數(shù)據(jù)和3路相位分別相差2π/3的三角載波波形數(shù)據(jù)。由于UPFC控制系統(tǒng)采用SPWM調(diào)制技術(shù),所以要求UPFC控制器IP輸出的正弦波頻率應(yīng)跟電網(wǎng)頻率保持一致,輸出的正弦波幅值和相位可以根據(jù)需要進(jìn)行調(diào)節(jié);而輸出的三角載波頻率、幅值和相位則保持不變。
UPFC控制器IP核主要基于Avalon總線接口,其結(jié)構(gòu)如圖1所示。它有7種輸入信號(hào)和2組輸出信號(hào)。其中輸入信號(hào)分別為時(shí)鐘信號(hào)clk、低有效復(fù)位信號(hào)reset_n、地址信號(hào)address、高有效寫信號(hào)write、32位的數(shù)據(jù)信號(hào)writedata[31..0]、同步信號(hào)load、激勵(lì)信號(hào)multi_freq等;輸出信號(hào)主要是三路相位分別相差2π/3的正弦波(sin_a,sin_b,sin_c)和1路三角載波(tri_out)。
2 IP核結(jié)構(gòu)
UPFC控制器的IP核主要由以下6個(gè)模塊構(gòu)成:設(shè)置正弦波幅值和相位模塊,正弦波尋址模塊,正弦波數(shù)據(jù)查找模塊,正弦幅值計(jì)算模塊,三角波尋址模塊和三角波數(shù)據(jù)查找模塊。圖2是利用uartus工具對(duì)其進(jìn)行綜合后的RTL整體結(jié)構(gòu)圖。
由于正弦波和三角波都是通過查找預(yù)先存儲(chǔ)在ROM表中的數(shù)據(jù)來實(shí)現(xiàn)相應(yīng)的波形;唯一不同的是正弦波的頻率跟電網(wǎng)頻率保持一致,幅值和相位可以根據(jù)需要進(jìn)行調(diào)節(jié),而三角載波的頻率、幅值和相位保持不變。鑒于實(shí)現(xiàn)三角波形相對(duì)簡單。下面主要闡述正弦波尋址模塊、正弦波數(shù)據(jù)查找模塊和正弦幅值計(jì)算模塊的實(shí)現(xiàn)方法。
2.1 正弦波幅值和相位模塊
UPFC控制器IP核含有相位寄存器、幅值寄存器以及3個(gè)相位偏移參數(shù)。其中相位寄存器主要用于保存設(shè)置的初始相位值,它的實(shí)際變化范圍為0~719。幅值寄存器則用于保存設(shè)置幅值相對(duì)于存儲(chǔ)波形幅值的變化量,它的變化范圍為0~64。相位偏移參數(shù)是指某一路正弦波在初始相位為0時(shí),相對(duì)標(biāo)準(zhǔn)正弦波的相位偏移量,流量通常是個(gè)常量,分別為0、2π/3、4π/3。
2.2 正弦波尋址模塊
要使輸出的正弦波的頻率跟電網(wǎng)頻率fe保持一致,可通過鎖相環(huán)PLL把電網(wǎng)頻率fe倍頻720倍后作為正弦波輸出的激勵(lì)信號(hào)feq。雖然Altera的Cyclone系列也帶有PLL,但是它的PLL功能非常有限。由于它只能對(duì)固定頻率信號(hào)進(jìn)行一定的倍頻,而不能對(duì)變化的頻率信號(hào)在一定范圍內(nèi)任意倍頻。所以必須用模擬鎖相環(huán)PLL把電網(wǎng)頻率fe倍頻后作為UPFC控制器IP核的multi_freq輸入信號(hào)。當(dāng)電網(wǎng)頻率fe的第一個(gè)上升沿到來時(shí),load為高電平,此后UPFC控制器IP核開始計(jì)算正弦波的地址。正弦波的地址等于電網(wǎng)頻率fe個(gè)數(shù)的累加值與相位寄存器、相位偏移參數(shù)之和。下面為其實(shí)現(xiàn)的偽代碼:
2.3 正弦波數(shù)據(jù)查找模塊
正弦波數(shù)據(jù)查找模塊由正弦信號(hào)發(fā)生器和正弦數(shù)據(jù)存儲(chǔ)器ROM構(gòu)成。構(gòu)成ROM的初始化數(shù)據(jù)文件有兩種格式:Memory Initialization File(.mif)和Hexadecimal (Intel-Formal)File (.hex),應(yīng)用時(shí)可選其中任意一種。但設(shè)計(jì)之前必須考慮所用FPGA片上ROM的大小,同時(shí)也要考慮輸出數(shù)據(jù)的分辨率。因?yàn)閁PFC控制器IP核的地址變化范圍為0~719,輸出的波形數(shù)據(jù)是16位,所以正弦數(shù)據(jù)ROM應(yīng)由720個(gè)16位數(shù)據(jù)構(gòu)成。
為了輸出數(shù)據(jù)的分辨率,同時(shí)也為了能使正弦波的幅值得到調(diào)整,必須預(yù)先存儲(chǔ)一組合適的正弦波形數(shù)據(jù)。選取的正弦波形函數(shù)為:
f(x)=1023×[sin(πx/360)+1]/2
正弦波的數(shù)值可在0~1023中變化。在設(shè)計(jì)正弦信號(hào)發(fā)生器時(shí),可以利用Quartus提供的MegaWizard。Plug -In Manage工具提供的LPM_ROM來定制正弦信號(hào)數(shù)據(jù)ROM宏功能塊,然后將其在上層文件中實(shí)例化。
2.4 正弦波幅值計(jì)算模塊
由于定制的正弦數(shù)據(jù)存儲(chǔ)器ROM的最大數(shù)據(jù)是1023,即只占用了10位數(shù)據(jù)寬度,還有6位數(shù)據(jù)寬度用于調(diào)節(jié)正弦波形的幅值。正弦波形的幅值最大調(diào)節(jié)量是其選擇波形的64倍。實(shí)際上,輸出正弦波形的數(shù)據(jù)等于查找到的正弦信號(hào)數(shù)據(jù)與幅值寄存器的乘積。雖然Verilog語言提供了乘法功能,但是它在有的綜合器中是不能被綜合的,所以必須自己設(shè)計(jì)一個(gè)乘法器。該乘法器同樣可以利用MegaWizard Plug-In Manage工具提供的LPM_MULT來定制一個(gè)16×16的乘法器。
評(píng)論