晏勇
(阿壩師范高等專(zhuān)科學(xué)校物理與電子科學(xué)系,四川汶川 623002)
基于FPGA三相正弦信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
晏勇
(阿壩師范高等專(zhuān)科學(xué)校物理與電子科學(xué)系,四川汶川 623002)
Alter公司CycloneⅡ系列EP2C20Q240C8為核心處理器,設(shè)計(jì)基于LPM_ROM三相正弦信號(hào)發(fā)生器。通過(guò)讀寫(xiě)LPM_ROM正弦波數(shù)據(jù),QuartusⅡ開(kāi)發(fā)平臺(tái)完成綜合仿真配置,SignalTapⅡ嵌入式邏輯分析儀實(shí)時(shí)捕獲顯示三相正弦信號(hào),連接10位串行D/A轉(zhuǎn)換器TLC5615實(shí)現(xiàn)既定功能。
EP2C20Q240C8;LPM_ROM;三相正弦波;SignalTapⅡ;TLC5615
隨著電子信息技術(shù)的發(fā)展,三相正弦信號(hào)發(fā)生器作為一種基礎(chǔ)測(cè)量?jī)x器廣泛應(yīng)用于計(jì)算機(jī)、通信、電力電子等行業(yè)及相關(guān)實(shí)驗(yàn)室。傳統(tǒng)模擬信號(hào)發(fā)生器硬件電路復(fù)雜繁瑣,輸出波形受使用時(shí)間、硬件和環(huán)境因素影響大,輸出信號(hào)頻率和幅度漂移大、穩(wěn)定性差、精度低。本文根據(jù)實(shí)際需要設(shè)計(jì)了基于FPGA三相正弦信號(hào)發(fā)生器,采用FPGA為核心控制器,用純軟件方法實(shí)現(xiàn)三相信號(hào),實(shí)踐證明利用FPGA設(shè)計(jì)三相信號(hào)發(fā)生器體積小、可靠性高、精度高、漂移小、功耗低,具有很高的實(shí)用價(jià)值,可廣泛用于實(shí)際生產(chǎn)。
基于FPGA三相正弦波發(fā)生器由FPGA最小系統(tǒng)、頻率合成器、地址發(fā)生器、LPM_ROM正弦波查找表、D/A轉(zhuǎn)換器和濾波電路等模塊構(gòu)成如圖1。FPGA最小系統(tǒng)包含系統(tǒng)供電電路、系統(tǒng)基準(zhǔn)時(shí)鐘、JTAG配置端口、AS配置端口、EPCS4配置器件、USB-blaster等;LPM_ROM存儲(chǔ)器存儲(chǔ)正弦波數(shù)據(jù);頻率合成器由FPGA內(nèi)部鎖相環(huán)構(gòu)成,實(shí)現(xiàn)系統(tǒng)時(shí)鐘倍變頻,在頻率合成器輸出時(shí)鐘控制下產(chǎn)生LPM_ROM正弦波查找表地址,通過(guò)D/A轉(zhuǎn)換與濾波電路還原正弦波信號(hào)。頻率合成器輸出時(shí)鐘越高,地址發(fā)生器產(chǎn)生地址頻率越高,查找表尋址速度越快,輸出正弦信號(hào)頻率越高。三相正弦交流信號(hào)電壓相位相差120°,計(jì)算三相正弦信號(hào)周期,改變LPM_ROM正弦波數(shù)據(jù),得到穩(wěn)定三相信號(hào)。
圖1 基于FPGA三相正弦波發(fā)生器系統(tǒng)框圖
2.1 LPM_ROM宏功能模塊制定
LPM_ROM宏功能模塊制定分為ROM初始化和LPM_ROM宏功能模塊調(diào)用及設(shè)定。ROM初始化是向ROM中寫(xiě)入三相正弦波一個(gè)周期采集數(shù)據(jù)點(diǎn),ROM地址發(fā)生器通過(guò)尋址查找存儲(chǔ)在ROM的正弦波數(shù)據(jù)信號(hào)。QuartusⅡ接受兩種初始化文件Memory Initialization File(.mif)和Hexadecimal(.hex)格式,常用mif格式[1]。Mif文件生成方法有直接編輯法、文件編輯法、編程語(yǔ)言生成法和專(zhuān)用mif文件生成器,正弦波信號(hào)采集用直接編輯法和編程語(yǔ)言生成法混合生成正弦波mif文件。新建Memory Initialization File文件,設(shè)置采集數(shù)據(jù)寬度為10位,深度1024;將生成數(shù)據(jù)導(dǎo)入mif文件,完成mif文件制定[2],C語(yǔ)言程序格式如下:
LPM_ROM調(diào)用和設(shè)置,在原理圖模式下單擊Mega Wizard Plug-In Manager管理器,選擇Create a new Megafunction variation復(fù)選框,Memory Compiler選擇ROM:1-PORT,設(shè)置輸出數(shù)據(jù)寬度10 bit,數(shù)據(jù)深度1 024 bit,存儲(chǔ)器構(gòu)建方式M9K,指定路徑載入mif文件,完成ROM制定。
ROM地址信號(hào)發(fā)生器,由計(jì)數(shù)器產(chǎn)生,數(shù)據(jù)寬度10 bit,可以采用VHDL文本制定,也可以采用LPM_Counter制定,改變計(jì)數(shù)器步進(jìn)長(zhǎng)度,可改變輸出信號(hào)頻率。單相正弦波頂層文件包含地址發(fā)生器和ROM存儲(chǔ)器,頂層文件如圖2,功能仿真如圖3。原理圖模式下選擇Creat/Update-Creat Symbol Current File建立原件符號(hào)為三相正弦波發(fā)生器調(diào)用[3]。
圖2 正弦波頂層文件
圖3 正弦波功能仿真圖
2.2 移相模塊設(shè)計(jì)
地址信號(hào)發(fā)生器時(shí)鐘inclk頻率f0與每個(gè)周期采集正弦波點(diǎn)數(shù)及D/A輸出正弦波頻率關(guān)系f=,正弦波每個(gè)周期采集1 024個(gè)點(diǎn),周期內(nèi)采集正弦波點(diǎn)數(shù)越多輸出波形失真越小,ROM地址總線(xiàn)寬10 bit,深度1 024,輸入信號(hào)頻率為系統(tǒng)時(shí)鐘頻率50 MHz,D/A輸出正弦波頻率48 kHz。三相正弦波相與相間幅度頻率相同,位相差120°,一個(gè)周期內(nèi)B相比A相滯后,C相比B相滯后,ABC三相分別建立3個(gè)ROM頂層文件,通過(guò)文件中不同mif文件產(chǎn)生ABC三相信號(hào)[5],A相mif文件周期正弦信號(hào)采集點(diǎn)相位從0°~360°,B相mif文件周期正弦信號(hào)采集點(diǎn)相位從+120°~-120°,C相mif文件周期正弦信號(hào)采集點(diǎn)相位從+240°~-240°,實(shí)現(xiàn)ABC三相正弦信號(hào)[6-7]。
2.3 頂層電路設(shè)計(jì)與仿真
三相正弦信號(hào)發(fā)生器分別由ABC單相正弦信號(hào)作為底層文件生成頂層文件,三相信號(hào)發(fā)生器頂層文件如圖4,功能仿真后波形文件[8-9]如圖5。
圖4 三相正弦波發(fā)生器頂層文件
圖5 三相正弦波發(fā)生器波形仿真圖
SignalTapⅡ嵌入式邏輯分析儀捕捉系統(tǒng)內(nèi)部節(jié)點(diǎn)或總線(xiàn)數(shù)據(jù)流,不影響系統(tǒng)正常工作,將捕捉樣本信號(hào)暫存于目標(biāo)器件嵌入式RAM中,通過(guò)JTAG配置端口送入計(jì)算機(jī)顯示和分析[10]。在NEW窗口中選擇SignalTapⅡLogic Analyzer File建立SignalTapⅡ文件,SignalTapⅡ待測(cè)文件Instance與文本文件實(shí)體名相同;調(diào)入待測(cè)信號(hào)并設(shè)置SignalTapⅡ參數(shù),工作時(shí)鐘CLK,采樣深度4K,JTAG模式下啟動(dòng)SOFManager下載sof文件并進(jìn)行配置,待測(cè)信號(hào)選擇總線(xiàn)模式Bus Display Format-Unsigned Line Chart[11]運(yùn)行SignalTapⅡ?qū)崟r(shí)采集波形如圖6。
圖6 三相正弦波發(fā)生器SignalTapⅡ嵌入式邏輯分析儀采集波形圖
TLC5615是TI公司SPI串行10位D/A轉(zhuǎn)換器DIP8封裝,電源VCC為5 V,基準(zhǔn)電壓VREF為2 V,片選信號(hào)CS低電平有效,串行輸入最高頻率14MHz,3根串行總線(xiàn)完成10位D/A轉(zhuǎn)換數(shù)據(jù)輸入輸出[12]。TLC5615內(nèi)部包含一個(gè)10位DAC寄存器;一個(gè)16位移位寄存器分為高4位虛擬位,低兩位填充位和10位有效位;兩種工作模式,模式1:12位數(shù)據(jù)序列方式,向16位移位寄存器輸入高10位D/A轉(zhuǎn)換有效位,低兩位填充位輸入任意兩位數(shù)字,12個(gè)時(shí)鐘脈沖;模式2:16位數(shù)據(jù)序列方式,比模式1增加4位虛擬位,16個(gè)時(shí)鐘脈沖。輸出電壓,N輸入二進(jìn)制數(shù),D/A串行通信VHDL程序如下[13]。
設(shè)計(jì)利用EDA技術(shù),在QuartusⅡ上完成了系統(tǒng)開(kāi)發(fā)與仿真測(cè)試,使硬件功能通過(guò)軟件實(shí)現(xiàn),縮短了開(kāi)發(fā)周期,提高開(kāi)發(fā)效率。測(cè)試結(jié)果證明基于FPGA三相正弦波發(fā)生器具有精度高,穩(wěn)定度高,設(shè)計(jì)靈活簡(jiǎn)單易升級(jí)等特點(diǎn),可廣泛用于實(shí)際生產(chǎn)和教學(xué)。
[1]陳賾.CPLD/FPGA與ASIC設(shè)計(jì)實(shí)踐教程[M].北京:科學(xué)出版社.2010,9:120-160.
[2]潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程—VHDL版[M].北京:科學(xué)出版社.2010,6:160-293.
[3]李俊.EDA技術(shù)與VHDL編程[M].北京:電子工業(yè)出版社,2012,6:91-136.
[4]張洪潤(rùn),張亞凡.FPGA/CPLD應(yīng)用設(shè)計(jì)200例(下冊(cè))[M].北京:北京航空航天大學(xué)出版社.2009,1:113-332.
[5]鄒宏.基于FPGA的三相高精度工頻信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:杭州電子科技大學(xué).2012,5:11-42.
[6]張博,孫偉波,張軼鵬.?dāng)?shù)字合成式三相低頻正弦波信號(hào)發(fā)生器的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用.2013,24(4):80-86.
[7]童子權(quán),李雙力,任麗軍,等.基于SOPC的三相信號(hào)源的研究[J].電子測(cè)量技術(shù).2009,16(12):10-13.
[8]徐運(yùn)武,周澤湘.基于FPGA_LPM多功能信號(hào)發(fā)生器設(shè)計(jì)[J].電子設(shè)計(jì)工程.2011,32(8):197-182.
[9]朱其新,李輝,楊輝,等.基于SOPC的三相信號(hào)發(fā)生器設(shè)計(jì)[J].自動(dòng)化與儀表.2010,26(4):16-19.
[10]鄭爭(zhēng)兵,魏瑞,陳正濤.一種基于FPGA的高速數(shù)據(jù)通道的實(shí)驗(yàn)方法[J].實(shí)驗(yàn)室研究與探索.2012,19(12):78-81.
[11]應(yīng)芳琴.基于FPGA的內(nèi)部信號(hào)實(shí)時(shí)監(jiān)測(cè)方法研究[J].中國(guó)現(xiàn)代教育裝備.2011,17(1):70-71.
[12]左現(xiàn)剛,余周,侯志松,等.基于SPI總線(xiàn)的TLC5615在AVR單片機(jī)中的應(yīng)用[J].河南科技學(xué)院學(xué)報(bào)(自然科學(xué)版).2011,15(8):94-97.
[13]王媛媛,劉樹(shù)林,劉寧莊,等.基于FPGA的串行通信控制系統(tǒng)的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2011,12(3):57-63.
Design and Realization of a FPGA-based 3-phase Sinusoidal Signal Generator
YAN Yong
(Department of Physical and ElectronicScience,Aba Teachers Junior College,Wenchuan Sichuan 623002,China)
Using Alter's Cyclone IIseries EP2C20Q240C8 as the core processor,this paper designs a 3-phase sinusoidal signal generator based on LPM_ROM.By reading and writing LPM_ROM sinusoidal data,QuartusⅡdevelopment platform completes comprehensive simulation configuration.SignalTapⅡembedded logic analyzer conducts real-time capture and display of the 3-phase sinusoidal signal and connects 10-bit serial D/A converter TLC5615 to perform the designated function.
EP2C20Q240C8;LPM_ROM;3-phase sinusoidalwave;SignalTapⅡ;TLC5615
10.3969/j·issn.1000-3886.2014.04.013
TP346
A
1000-3886(2014)04-0038-03
晏勇(1983-),男,四川郫縣人,物理與電子科學(xué)系講師,研究方向嵌入式系統(tǒng)。
定稿日期:2014-03-20
阿壩師范高等專(zhuān)科學(xué)校校級(jí)課題資助項(xiàng)目(ASB10-15),基于fpga和dds技術(shù)的變頻三相交流電源研發(fā)