專利名稱:一種基于fpga的五流水線數(shù)字信號處理器的制作方法
技術領域:
:本發(fā)明涉及數(shù)字信號處理器領域,具體涉及一種基于FPGA的五流水線數(shù)字信號處理器。
背景技術:
:目前,大功率電力電子裝置的控制基本實現(xiàn)了數(shù)字化,即使用模數(shù)轉(zhuǎn)換器采集模擬量,使用數(shù)字信號處理器處理這些采樣,并通過數(shù)模轉(zhuǎn)換器或脈寬調(diào)制技術控制輸出。隨著市場對大功率電力電子裝置性能要求的提高,控制運算的復雜度也急劇上升。比如有源電力濾波器裝置,需要同時提取50個諧波,并對這50個諧波的補償分別限流,而所有這些運算需要在I個控制周期(僅僅不到50微秒)內(nèi)完成。這就要求數(shù)字信號處理器要有極高的速度和效率。通常,用于大功率電力電子裝置的數(shù)字信號處理器可以有以下幾種形式:1,通用數(shù)字信號處理器,這種數(shù)字信號處理器可以運行在比較高的頻率,一般在IOOMHz左右,雖然數(shù)字信號處理能力不弱,但是以下幾個方面限制了它性能的發(fā)揮:a)指令和常數(shù)儲存在低速的FLASH ROM存儲器,或有潛伏時間的DRAM存儲器。b)大多數(shù)指令不能直接訪問存儲器,要訪問存儲器必須通過裝載或存儲指令,而且每個指令周期只能訪問I次。c)對于多流水線數(shù)字信號處理器,鄰近指令的寄存器沖突會導致流水線阻塞,降低執(zhí)行效率。d)由于寄存器數(shù)量較多,發(fā)生中斷時的堆棧操作常常會花費大量的指令周期。因此,使用通用數(shù)字信號處理器通常需要多片并行處理,并且需要簡化處理任務,才能夠?qū)崿F(xiàn)。2,基于FPGA的邏輯電路實現(xiàn)數(shù)字信號處理,利用FPGA并行處理的優(yōu)勢可以實現(xiàn)各種高速的數(shù)字信號處理任務,但這種方案也有幾個缺點:a)編程難度大,開發(fā)周期長,對于有源電力濾波器這種需要復雜數(shù)字信號處理運算的場合,單純使用硬件描述語言來開發(fā),工作量巨大。b)程序可讀性較差,使用硬件描述語言開發(fā)的數(shù)字信號處理單元,是由一些硬件單元組合而成的,很難與數(shù)字信號處理程序掛鉤,因此不便閱讀。c)維護困難,即使少量修改,常常牽涉到很多信號和部件的修改,容易出現(xiàn)錯漏。3,專用數(shù)字信號處理器(ASIC),雖然性能不俗,但開發(fā)成本巨大,不適合用于大功率電力電子裝置的數(shù)字信號處理
發(fā)明內(nèi)容
:本發(fā)明的目的是提供一種基于FPGA的五流水線數(shù)字信號處理器,它能完成大功率電力電子裝置所需要的復雜的控制計算,執(zhí)行效率高,并且程序易于開發(fā),易于維護,僅占用少量的FPGA邏輯資源。
為了解決背景技術所存在的問題,本發(fā)明是采用以下技術方案:它包括指令存儲器ZC、第一數(shù)據(jù)存儲器-第三數(shù)據(jù)存儲器SC1-SC3、數(shù)字信號處理運算單元SCY、邏輯運算單元LY、操作數(shù)A選擇器CX1、操作數(shù)B選擇器CX2、操作數(shù)C選擇器CX3、操作數(shù)L選擇器CX4、分支邏輯電路FL、程序計數(shù)器CJ、數(shù)據(jù)移位器SY、P1移位器Y1、P2移位器Υ2、Ρ寄存器JU S寄存器J2、第一選擇器-第六選擇器Χ1-Χ6、第一邏輯電路-第六邏輯電路Ll-L6d^令存儲器ZC的一端分別與程序計數(shù)器CJ的一端、第一選擇器Xl的4腳連接,程序計數(shù)器CJ的另一端與第一選擇器Xl的I腳連接,指令存儲器ZC的另一端分別與第一選擇器Xl的3腳、分支邏輯電路FL的2腳、第二選擇器Χ2的I腳、第二選擇器Χ2的4腳、第一數(shù)據(jù)存儲器SCl的2腳、第一邏輯電路LI的I腳、第四選擇器Χ4的I腳、第五選擇器Χ5的I腳、數(shù)據(jù)移位器SY的I腳、第二數(shù)據(jù)存儲器SC2的I腳、第二數(shù)據(jù)存儲器SC2的2腳、第二邏輯電路L2的I腳、第四選擇器Χ4的4腳、第五選擇器Χ5的4腳、第六選擇器Χ6的4腳、第三選擇器Χ3的2腳、第三邏輯電路L3的一端、第三數(shù)據(jù)存儲器SC3的3腳連接、第五邏輯電路L5的I腳、邏輯運算單元LY的2腳、數(shù)字信號處理運算單元SCY的5腳、S寄存器J2的I腳、第六邏輯電路L6的2腳、P寄存器Jl的I腳、Pl移位器Yl的2腳、Ρ2移位器Υ2的2腳連接,第一選擇器Xl的5腳與分支邏輯電路FL的4腳連接,分支邏輯電路FL的3腳分別與第一邏輯電路LI的2腳、第二邏輯電路L2的2腳、第五邏輯電路L5的2腳、S寄存器J2的3腳、第六邏輯電路L6的3腳連接,第二選擇器Χ2的3腳與第一數(shù)據(jù)存儲器SCl的I腳連接,第二選擇器Χ2的2腳分別與第三數(shù)據(jù)存儲器SC3的5腳、第六選擇器Χ6的2腳、操作數(shù)L選擇器CX4的3腳、第五選擇器Χ5的2腳連接,第一數(shù)據(jù)存儲器SCl的3腳與第一邏輯電路LI的3腳連接,第一數(shù)據(jù)存儲器SCl的4腳與操作數(shù)B選擇器CX2的2腳連接,第一數(shù)據(jù)存儲器SCl的5腳分別與第二數(shù)據(jù)存儲器SC2的5腳、第三數(shù)據(jù)存儲器SC3的6腳、Pl移位器Yl的I腳連接,第二數(shù)據(jù)存儲器SC2的3腳與第二邏輯電路L2的3腳連接,第二數(shù)據(jù)存儲器SC2的4腳分別與數(shù)據(jù)移位器SY的2腳、操作數(shù)L選擇器CX4的2腳連接,第三選擇器Χ3的3腳與第三數(shù)據(jù)存儲器SC3的I腳連接,第三選擇器Χ3的4腳分別與第三邏輯電路L3的另一端、第四邏輯電路L4的I腳連接,第四邏輯電路L4的3腳與第三數(shù)據(jù)存儲器SC3的2腳連接,第三數(shù)據(jù)存儲器SC3的4腳與第五邏輯電路L5的3腳連接,第四選擇器Χ4的2腳分別與數(shù)據(jù)移位器SY的3腳、第六選擇器Χ6的I腳、操作數(shù)A選擇器CXl的2腳連接,第四選擇器Χ4的3腳與操作數(shù)B選擇器CX2的3腳連接,第五選擇器Χ5的3腳與操作數(shù)A選擇器CXl的3腳連接,第六選擇器Χ6的3腳與操作數(shù)C選擇器CX3的3腳連接,操作數(shù)A選擇器CXl的I腳分別與操作數(shù)C選擇器CX3的I腳、Ρ2移位器Υ2的3腳、Pl移位器Yl的3腳、P寄存器Jl的2腳、操作數(shù)L選擇器CX4的I腳連接,操作數(shù)A選擇器CXl的4腳分別與操作數(shù)A選擇器CXl的6腳、數(shù)字信號處理運算單元SCY的2腳連接,操作數(shù)A選擇器CXl的5腳分別與操作數(shù)B選擇器CX2的5腳、操作數(shù)C選擇器CX3的5腳、操作數(shù)L選擇器CX4的5腳連接,操作數(shù)B選擇器CX2的I腳分別與操作數(shù)C選擇器CX3的2腳、Ρ2移位器Υ2的I腳連接,操作數(shù)B選擇器CX2的4腳分別與操作數(shù)B選擇器CX2的6腳、數(shù)字信號處理運算單元SCY的3腳連接,操作數(shù)C選擇器CX3的4腳分別與操作數(shù)C選擇器CX3的6腳、數(shù)字信號處理運算單元SCY的I腳連接,操作數(shù)L選擇器CX4的4腳分別與操作數(shù)L選擇器CX4的6腳、邏輯運算單元LY的I腳連接,邏輯運算單元LY的3腳與數(shù)字信號處理運算單元SCY的4腳連接,數(shù)字信號處理運算單元SCY的6腳分別與P寄存器Jl的3腳、S寄存器J2的2腳連接。
本發(fā)明在XILINX的SPARTAN6系列FPGA上,它的工作頻率可以達到100MHz,對于有源電力濾波器應用,完成50個諧波檢測,對50個諧波補償?shù)南薹卜謩e控制,同時實現(xiàn)總有效值限幅,總共只需要不到1000個時鐘周期,少于10微秒既能完成控制運算。同時,在XC6SLX45芯片上,邏輯資源使用率僅有3%,達到了預期設計目標。
本發(fā)明能完成大功率電力電子裝置所需要的復雜的控制計算,執(zhí)行效率高,并且程序易于開發(fā),易于維護,僅占用少量的FPGA邏輯資源。
:
圖1是本發(fā)明的硬件結構示意圖。
具體實施方式
:
參看圖1,本具體實施方式
采用以下技術方案:它包括指令存儲器ZC、第一數(shù)據(jù)存儲器-第三數(shù)據(jù)存儲器SC1-SC3、數(shù)字信號處理運算單元SCY、邏輯運算單元LY、操作數(shù)A選擇器CX1、操作數(shù)B選擇器CX2、操作數(shù)C選擇器CX3、操作數(shù)L選擇器CX4、分支邏輯電路FL、程序計數(shù)器CJ、數(shù)據(jù)移位器SY、P1移位器Y1、P2移位器Υ2、Ρ寄存器J1、S寄存器J2、第一選擇器-第六選擇器Χ1-Χ6、第一邏輯電路-第六邏輯電路L1-L6,指令存儲器ZC的一端分別與程序計數(shù)器CJ的一端、第一選擇器Xl的4腳連接,程序計數(shù)器CJ的另一端與第一選擇器Xl的I腳連接,指令存儲器ZC的另一端分別與第一選擇器Xl的3腳、分支邏輯電路FL的2腳、第二選擇器Χ2的I腳、第二選擇器Χ2的4腳、第一數(shù)據(jù)存儲器SCl的2腳、第一邏輯電路LI的I腳、第四選擇器Χ4的I腳、第五選擇器Χ5的I腳、數(shù)據(jù)移位器SY的I腳、第二數(shù)據(jù)存儲器SC2的I腳、第二數(shù)據(jù)存儲器SC2的2腳、第二邏輯電路L2的I腳、第四選擇器Χ4的4腳、第五選擇器Χ5的4腳、第六選擇器Χ6的4腳、第三選擇器Χ3的2腳、第三邏輯電路L3的一端、第三數(shù)據(jù)存儲器SC3的3腳連接、第五邏輯電路L5的I腳、邏輯運算單元LY的2腳、數(shù)字信號處理運算單元SCY的5腳、S寄存器J2的I腳、第六邏輯電路L6的2腳、P寄存器Jl的I腳、Pl移位器Yl的2腳、Ρ2移位器Υ2的2腳連接,第一選擇器Xl的5腳與分支邏輯電路FL的4腳連接,分支邏輯電路FL的3腳分別與第一邏輯電路LI的2腳、第二邏輯電路L2的2腳、第五邏輯電路L5的2腳、S寄存器J2的3腳、第六邏輯電路L6的3腳連接,第二選擇器Χ2的3腳與第一數(shù)據(jù)存儲器SCl的I腳連接,第二選擇器Χ2的2腳分別與第三數(shù)據(jù)存儲器SC3的5腳、第六選擇器Χ6的2腳、操作數(shù)L選擇器CX4的3腳、第五選擇器Χ5的2腳連接,第一數(shù)據(jù)存儲器SCl的3腳與第一邏輯電路LI的3腳連接,第一數(shù)據(jù)存儲器SCl的4腳與操作數(shù)B選擇器CX2的2腳連接,第一數(shù)據(jù)存儲器SCl的5腳分別與第二數(shù)據(jù)存儲器SC2的5腳、第三數(shù)據(jù)存儲器SC3的6腳、Pl移位器Yl的I腳連接,第二數(shù)據(jù)存儲器SC2的3腳與第二邏輯電路L2的3腳連接,第二數(shù)據(jù)存儲器SC2的4腳分別與數(shù)據(jù)移位器SY的2腳、操作數(shù)L選擇器CX4的2腳連接,第三選擇器Χ3的3腳與第三數(shù)據(jù)存儲器SC3的I腳連接,第三選擇器Χ3的4腳分別與第三邏輯電路L3的另一端、第四邏輯電路L4的I腳連接,第四邏輯電路L4的3腳與第三數(shù)據(jù)存儲器SC3的2腳連接,第三數(shù)據(jù)存儲器SC3的4腳與第五邏輯電路L5的3腳連接,第四選擇器Χ4的2腳分別與數(shù)據(jù)移位器SY的3腳、第六選擇器Χ6的I腳、操作數(shù)A選擇器CXl的2腳連接,第四選擇器X4的3腳與操作數(shù)B選擇器CX2的3腳連接,第五選擇器X5的3腳與操作數(shù)A選擇器CXl的3腳連接,第六選擇器X6的3腳與操作數(shù)C選擇器CX3的3腳連接,操作數(shù)A選擇器CXl的I腳分別與操作數(shù)C選擇器CX3的I腳、P2移位器Y2的3腳、Pl移位器Yl的3腳、P寄存器Jl的2腳、操作數(shù)L選擇器CX4的I腳連接,操作數(shù)A選擇器CXl的4腳分別與操作數(shù)A選擇器CXl的6腳、數(shù)字信號處理運算單元SCY的2腳連接,操作數(shù)A選擇器CXl的5腳分別與操作數(shù)B選擇器CX2的5腳、操作數(shù)C選擇器CX3的5腳、操作數(shù)L選擇器CX4的5腳連接,操作數(shù)B選擇器CX2的I腳分別與操作數(shù)C選擇器CX3的2腳、P2移位器Y2的I腳連接,操作數(shù)B選擇器CX2的4腳分別與操作數(shù)B選擇器CX2的6腳、數(shù)字信號處理運算單元SCY的3腳連接,操作數(shù)C選擇器CX3的4腳分別與操作數(shù)C選擇器CX3的6腳、數(shù)字信號處理運算單元SCY的I腳連接,操作數(shù)L選擇器CX4的4腳分別與操作數(shù)L選擇器CX4的6腳、邏輯運算單元LY的I腳連接,邏輯運算單元LY的3腳與數(shù)字信號處理運算單元SCY的4腳連接,數(shù)字信號處理運算單元SCY的6腳分別與P寄存器Jl的3腳、S寄存器J2的2腳連接。本具體實施方式
在XILINX的SPARTAN6系列FPGA上,它的工作頻率可以達到100MHz,對于有源電力濾波器應用,完成50個諧波檢測,對50個諧波補償?shù)南薹卜謩e控制,同時實現(xiàn)總有效值限幅,總共只需要不到1000個時鐘周期,少于10微秒既能完成控制運算。同時,在XC6SLX45芯片上,邏輯資源使用率僅有3%,達到了預期設計目標。本具體實施方式
能完成大功率電力電子裝置所需要的復雜的控制計算,執(zhí)行效率高,并且程序易于開發(fā),易于維護,僅占用少量的FPGA邏輯資源。
權利要求
1.一種基于FPGA的五流水線數(shù)字信號處理器,其特征在于它包括指令存儲器(ZC)、第一數(shù)據(jù)存儲器-第三數(shù)據(jù)存儲器(SC1-SC3)、數(shù)字信號處理運算單元(SCY)、邏輯運算單元(LY)、操作數(shù)A選擇器(CXl)、操作數(shù)B選擇器(CX2)、操作數(shù)C選擇器(CX3)、操作數(shù)L選擇器(CX4)、分支邏輯電路(FL)、程序計數(shù)器(CJ)、數(shù)據(jù)移位器(SY)、P1移位器(Yl)、P2移位器(Y2)、P寄存器(Jl)、S寄存器(J2)、第一選擇器-第六選擇器(Χ1-Χ6)、第一邏輯電路-第六邏輯電路(L1-L6),指令存儲器(ZC)的一端分別與程序計數(shù)器(CJ)的一端、第一選擇器(Xl)的4腳連接,程序計數(shù)器(CJ)的另一端與第一選擇器(Xl)的I腳連接,指令存儲器(ZC)的另一端分別與第一選擇器(Xl)的3腳、分支邏輯電路(FL)的2腳、第二選擇器(Χ2)的I腳、第二選擇器(Χ2)的4腳、第一數(shù)據(jù)存儲器(SCl)的2腳、第一邏輯電路(LI)的I腳、第四選擇器(Χ4)的I腳、第五選擇器(Χ5)的I腳、數(shù)據(jù)移位器(SY)的I腳、第二數(shù)據(jù)存儲器(SC2)的I腳、第二數(shù)據(jù)存儲器(SC2)的2腳、第二邏輯電路(L2)的I腳、第四選擇器(Χ4)的4腳、第五選擇器(Χ5)的4腳、第六選擇器(Χ6)的4腳、第三選擇器(Χ3)的2腳、第三邏輯電路(L3)的一端、第三數(shù)據(jù)存儲器(SC3)的3腳連接、第五邏輯電路(L5)的I腳、邏輯運算單元(LY)的2腳、數(shù)字信號處理運算單元(SCY)的5腳、S寄存器(J2)的I腳、第六邏輯電路(L6)的2腳、P寄存器(Jl)的I腳、Pl移位器(Yl)的2腳、Ρ2移位器(Υ2)的2腳連接,第一選擇器(Xl)的5腳與分支邏輯電路(FL)的4腳連接,分支邏輯電路(FL)的3腳分別與第一邏輯電路(LI)的2腳、第二邏輯電路(L2)的2腳、第五邏輯電路(L5)的2腳、S寄存器(J2)的3腳、第六邏輯電路(L6)的3腳連接,第二選擇器(Χ2)的3腳與第一數(shù)據(jù)存儲器(SCl)的I腳連接,第二選擇器(Χ2)的2腳分別與第三數(shù)據(jù)存儲器(SC3)的5腳、第六選擇器(Χ6)的2腳、操作數(shù)L選擇器(CX4)的3腳、第五選擇器(Χ5)的2腳連接,第一數(shù)據(jù)存儲器(SCl)的3腳與第一邏輯電路(LI)的3腳連接,第一數(shù)據(jù)存儲器(SCl)的4腳與操作數(shù)B選擇器(CX2)的2腳連接,第一數(shù)據(jù)存儲器(SCl)的5腳分別與第二數(shù)據(jù)存儲器(SC2)的5腳、第三數(shù)據(jù)存儲器(SC3)的6腳、Pl移位器(Yl)的I腳連接,第二數(shù)據(jù)存儲器(SC2)的3腳與第二邏輯電路(L2)的3腳連接,第二數(shù)據(jù)存儲器(SC2)的4腳分別與數(shù)據(jù)移位器(SY)的2腳、操作數(shù)L選擇器(CX4)的2腳連接,第三選擇器(Χ3)的3腳與第三數(shù)據(jù)存儲器(S C3)的I腳連接,第三選擇器(Χ3)的4腳分別與第三邏輯電路(L3)的另一端、第四邏輯電路(L4)的I腳連接,第四邏輯電路(L4)的3腳與第三數(shù)據(jù)存儲器(SC3)的2腳連接,第三數(shù)據(jù)存儲器(SC3)的4腳與第五邏輯電路(L5)的3腳連接,第四選擇器(Χ4)的2腳分別與數(shù)據(jù)移位器(SY)的3腳、第六選擇器(Χ6)的I腳、操作數(shù)A選擇器(CXl)的2腳連接,第四選擇器(Χ4)的3腳與操作數(shù)B選擇器(CX2)的3腳連接,第五選擇器(Χ5)的3腳與操作數(shù)A選擇器(CXl)的3腳連接,第六選擇器(Χ6)的3腳與操作數(shù)C選擇器(CX3)的3腳連接,操作數(shù)A選擇器(CXl)的I腳分別與操作數(shù)C選擇器(CX3)的I腳、Ρ2移位器(Υ2)的3腳、Pl移位器(Yl)的3腳、P寄存器(Jl)的2腳、操作數(shù)L選擇器(CX4)的I腳連接,操作數(shù)A選擇器(CXl)的4腳分別與操作數(shù)A選擇器(CXl)的6腳、數(shù)字信號處理運算單元(SCY)的2腳連接,操作數(shù)A選擇器(CXl)的5腳分別與操作數(shù)B選擇器(CX2)的5腳、操作數(shù)C選擇器(CX3)的5腳、操作數(shù)L選擇器(CX4)的5腳連接,操作數(shù)B選擇器(CX2)的I腳分別與操作數(shù)C選擇器(CX3)的2腳、Ρ2移位器(Υ2)的I腳連接,操作數(shù)B選擇器(CX2)的4腳分別與操作數(shù)B選擇器(CX2)的6腳、數(shù)字信號處理運算單元(SCY)的3腳連接,操作數(shù)C選擇器(CX3)的4腳分別與操作數(shù)C選擇器(CX3)的6腳、數(shù)字信號處理運算單元(SCY)的I腳連接,操作數(shù)L選擇器(CX4)的4腳分別與操作數(shù)L選擇器(CX4)的6腳、邏輯運算單元(LY)的I腳連接,邏輯運算單元(LY)的3腳與數(shù)字信號處理運算單元(SCY)的4腳連接,數(shù)字信號處理運算單元(SCY)的6腳分別與P寄存器(J l)的3腳、S寄存器(J2)的2腳連接。
全文摘要
一種基于FPGA的五流水線數(shù)字信號處理器,它涉及數(shù)字信號處理器領域,它包括指令存儲器、第一數(shù)據(jù)存儲器-第三數(shù)據(jù)存儲器、數(shù)字信號處理運算單元、邏輯運算單元、操作數(shù)A選擇器、操作數(shù)B選擇器、操作數(shù)C選擇器、操作數(shù)L選擇器、分支邏輯電路、程序計數(shù)器、數(shù)據(jù)移位器、P1移位器、P2移位器、P寄存器、S寄存器、第一選擇器-第六選擇器、第一邏輯電路-第六邏輯電路,它能完成大功率電力電子裝置所需要的復雜的控制計算,執(zhí)行效率高,并且程序易于開發(fā),易于維護,僅占用少量的FPGA邏輯資源。
文檔編號G06F9/30GK103150143SQ20131004625
公開日2013年6月12日 申請日期2013年2月6日 優(yōu)先權日2013年2月6日
發(fā)明者王鴻雁, 劉金虹, 王華東 申請人:王鴻雁, 劉金虹, 王華東