【正文】
腳;(4) FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一;(5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。所以,EAB不僅可以用于內(nèi)存,還可以事先寫入查表值來(lái)用它構(gòu)成如乘法器、糾錯(cuò)邏輯等電路。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。 FPGA器件配置方式Aletra公司的FPGA器件配置的方式組要分為兩大類:主動(dòng)方式和被動(dòng)方式。使用FPGA器件設(shè)計(jì)數(shù)字系統(tǒng)電路的主要優(yōu)點(diǎn)如下:。Verilog HDL可用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象層次的數(shù)字系統(tǒng)建模。對(duì)于過(guò)程賦值,變量和網(wǎng)絡(luò)值的計(jì)算結(jié)果可以存儲(chǔ)于變量當(dāng)中,它提供了基本的行為級(jí)建模方法。用Verilog HDL語(yǔ)言開發(fā)FPGA的完整流程為::用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯環(huán)境。本章主要是利用VerilogHDL,把數(shù)字電路系統(tǒng)從上層到下層(從抽象到具體)逐層描述設(shè)計(jì)思想,用一系列分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。 Quartus II設(shè)計(jì)流程:完成器件的硬件描述,包括文本編輯器、塊與符號(hào)編輯器、MegaWizard插件管理器、約束編輯器和布局編輯器等工具。任何一項(xiàng)設(shè)計(jì)都是一項(xiàng)工程,都必須首先為此工程建立一個(gè)放與此工程相關(guān)的所有文件的文件夾,此文件夾將被EDA軟件默認(rèn)為工作庫(kù)(Work Libray)。源程序工程編譯無(wú)誤后,可生成模塊電路。圖35設(shè)置仿真時(shí)間早期的DDS系統(tǒng)使用分離的數(shù)字器件搭接,隨著整個(gè)電路系統(tǒng)運(yùn)行頻率的升高,采用分離器件構(gòu)建的DDS電路有其自身無(wú)法克服的缺點(diǎn),主要表現(xiàn)在電磁兼容和系統(tǒng)工作頻率上。另外,將DDS設(shè)計(jì)嵌入到FPGA芯片所構(gòu)成的系統(tǒng)中,其系統(tǒng)成本并不會(huì)增加多少,而購(gòu)買專用芯片的價(jià)格則是前者的很多倍。本系統(tǒng)采用Altera公司生產(chǎn)的FPGA器件CycloneII系列芯片EP2C35F672C8,該芯片存儲(chǔ)器密度為33216個(gè)邏輯單元(LE),總的RAM空間為483840位,包括了1818位乘法器,105個(gè)M4K RAM塊,有16個(gè)全局時(shí)鐘網(wǎng)絡(luò),內(nèi)嵌4個(gè)鎖相環(huán)電路,最大用戶I/O引腳數(shù)為475個(gè),并且支持多種不同的單端和高速差分I/O標(biāo)準(zhǔn)。本系統(tǒng)可實(shí)現(xiàn)固定波形和任意波形的輸出。函數(shù)信號(hào)的選擇模塊,主要是由用FPGA設(shè)計(jì)的DDS模塊控制的,其由加法器及相位寄存器構(gòu)成的相位累加器和ROM數(shù)據(jù)表構(gòu)成。LOAD:頻率鎖存信號(hào),上升沿到來(lái)時(shí)刻,對(duì)頻率控制字進(jìn)行鎖存后,將其送入DDS模塊,經(jīng)相位累加,實(shí)現(xiàn)頻率合成。lLOAD:頻率鎖存信號(hào),上升沿時(shí)刻鎖存頻率控制字。 DATA:OUT std_logic_vector(31 downto 0) )。 then if LOAD=39。圖42頻率寄存器模塊仿真波形圖 DDS模塊設(shè)計(jì)DDS模塊主要功能是由頻率控制字合成所要產(chǎn)生的波形頻率,并且產(chǎn)生ROM波形數(shù)據(jù)表的的地址。32位加法器模塊功能設(shè)計(jì)的VerilogHDL部分程序如下(詳細(xì)程序見附錄2):library ieee。 end one。Data_out[31..0]:上一次加法器累加和數(shù)值,送入加法器中進(jìn)行運(yùn)算。 add:out std_logic_vector(8 downto 0)。event and clk=39。在軟件工具Quartus II的編譯和波形仿真后得到的波形如圖46所示。也可用高級(jí)語(yǔ)言編程實(shí)現(xiàn)。USE 。該模塊的結(jié)構(gòu)框圖如圖411所示。ARCHITECTURE one OF juchi IS begin wave=addr when addr512/2 else addr512/2。USE 。該模塊的結(jié)構(gòu)框圖如圖413所示。本系統(tǒng)仿真時(shí),時(shí)鐘頻率設(shè)為50MHz。圖51正弦波不同時(shí)間段,周期明顯不同,通過(guò)改變頻率控制字即可改變波形周期。從本課題寫開題報(bào)告和查找資料以及仿真過(guò)程開始,直至今天完成課題的研究和論文的撰寫,賈老師在學(xué)習(xí)和生活上都給予了我無(wú)私的幫助。output [31:0] Q。wire [30:0] CY。 adder2 FA07 (A[7],B[7],CY[6],SUM[7],CY[7])。 adder2 FA15 (A[15],B[15],CY[14],SUM[15],CY[15])。 adder2 FA23 (A[23],B[23],CY[22],SUM[23],CY[23])。 adder2 FA31 (A[31],B[31],CY[30],SUM[31],)。CY_IN)。reg [9:0] dram。 endendmodule正弦ROM數(shù)據(jù)填充:width=8。,39。data_radix=dec。\n39。assign out={8{data}}。assign result =mult_result6。data39。end:\n39。content begin\n39。adderss_radix=dec。 sin_d=fix(sin_a*(2^width1))。to control t16 always (posedge CLK or negedge clr) begin Q=(!clr)?3139。output [31:0] Q。assign SUM=A^B^CY_IN。 adder2 FA27 (A[27],B[27],CY[26],SUM[27],CY[27])。 adder2 FA19 (A[19],B[19],CY[18],SUM[19],CY[19])。 adder2 FA11 (A[11],B[11],CY[10],SUM[11],CY[11])。 adder2 FA03 (A[3],B[3],CY[2],SUM[3],CY[3])。 Endmodule32位加法器源程序://32bits adder//module adder32 (A,B,SUM)。同時(shí),感謝我的家人對(duì)我學(xué)業(yè)的支持,并對(duì)所有關(guān)心、支持和幫助我的老師、親人和朋友們表示深深的謝意!作者認(rèn)真進(jìn)行了課題的研究并完成了本論文,由于水平有限,論文中可能仍有錯(cuò)誤和不足之處,敬請(qǐng)大家批評(píng)指正!最后,衷心感謝各位評(píng)審老師!感謝您們?cè)诎倜χ袇⑴c我的論文評(píng)閱工作,謝謝!參考文獻(xiàn)[1] Douglas (第四版)[M].北京:電子工業(yè)出版社.[2] ——VHDL程序?qū)嵗痆M].北京:北京郵電大學(xué)出版社.[3] [M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社.[4] 盧毅,[M].北京:科學(xué)出版社,2001:256261.[5] 褚振勇,[M].西安:西安電子科技大學(xué)出版社,2003:122.[6] 潘松,[M].北京:科學(xué)出版社,2003:114.[7] [D].四川:電子科技大學(xué),2007[8] [D].黑龍江:哈爾濱理工大學(xué),2006[9] [D].江蘇:江蘇大學(xué),2009[10] [J].科學(xué)技術(shù)與工程,2008(8)[11] Milan Fractional Frequency Synthesizer Based on J Elec Engin,2006[12] Altera Corp,Cyclone II Device Handbook[EB/OL].附錄附錄1系統(tǒng)整體設(shè)計(jì)圖附錄2各模塊源程序頻率寄存器模塊源程序:module D_FFbe (clr,D,loadCLK,Q)。本系統(tǒng)采用模塊化的思想進(jìn)行設(shè)計(jì),主要實(shí)現(xiàn)三個(gè)功能模塊,即:DDS模塊、波形產(chǎn)生模塊、調(diào)幅模塊。頻率控制字及調(diào)幅模塊的倍乘數(shù)值改變,應(yīng)適當(dāng)增加時(shí)間間隔,以免不同頻率、幅度的波形交界處產(chǎn)生毛刺,導(dǎo)致波形不平滑。編譯若有錯(cuò)誤,可將鼠標(biāo)移到顯示錯(cuò)誤信息行,通過(guò)F1鍵顯示幫助。ARCHITECTURE one OF sanjiao ISbegin wave=addr when addr=512/2 else 512addr。該模塊的結(jié)構(gòu)框圖如圖411所示。USE 。ARCHITECTURE one OF square IS begin wave=255 when addr512/2 else 0。該模塊的結(jié)構(gòu)框圖如圖49所示。程序中存儲(chǔ)0~的數(shù)據(jù),且輸出幅度值最高位由相位累加器最高位決定,則實(shí)際ROM存儲(chǔ)的數(shù)據(jù)寬度只需8位即可滿足要求,并設(shè)尋址深度為512,輸入和輸出采用單時(shí)鐘脈沖,如圖47所示。end process。begin process(clk,rstn)begin if rstn=39。 use 。該模塊的結(jié)構(gòu)框圖如圖45所示。 data:in std_logic_vector(31 downto 0)。該模塊的結(jié)構(gòu)框圖如圖43所示。END IF。 then DATA=X00000000。 use 。圖39系統(tǒng)整體原理圖4系統(tǒng)模塊設(shè)計(jì)及仿真該模塊主要功能是鎖存頻率控制字,LOAD信號(hào)上升沿到來(lái)時(shí)刻,鎖存頻率控制字,將頻率控制字送入DDS模塊,進(jìn)行相位累加,實(shí)現(xiàn)頻率合成,確定輸出波形頻率。1個(gè)輸出信號(hào)是最終波形的輸出,本系統(tǒng)實(shí)現(xiàn)信號(hào)波形輸出,方便調(diào)頻、調(diào)幅。累加器高十位輸出同時(shí)送入鋸齒波發(fā)生模塊,生成鋸齒波和三角波模塊。外圍電路模塊為模擬電路,主要完成輸出波形的低通濾波及增益放大功能。其中,正弦波采用查找表法產(chǎn)生其基本波形。而且它的時(shí)鐘頻率已可達(dá)到幾百兆赫茲,加上它的靈活性和高可靠性,非常適合用于實(shí)現(xiàn)波形發(fā)生器的數(shù)字電路部分。將各模塊連接后,則可得系統(tǒng)的完整模塊圖。即將設(shè)計(jì)項(xiàng)目適配進(jìn)FPGA/CPLD目標(biāo)器中,同時(shí)產(chǎn)生多種用途的輸出文件,如功能和時(shí)序仿真文件、器件編程的目標(biāo)文件等。圖31指定項(xiàng)目目錄、名稱和頂層實(shí)體,執(zhí)行默認(rèn)操作,單擊Next按鈕。:Quartus II提供了功能仿真和時(shí)序仿真兩種工具。(電路)平面布局連線編輯。:,即把設(shè)計(jì)好的邏輯安放到PLD/FPGA內(nèi)。一個(gè)完整的VerilogHDL設(shè)計(jì)模塊包括端口定義、I/O聲明、信號(hào)類型聲明和功能描述四部分。Verilog HDL包含了豐富的內(nèi)建原語(yǔ),包括邏輯門、用戶定義的原語(yǔ)、開關(guān)以及線邏輯。根據(jù)數(shù)據(jù)線的多少又可以將FPGA器件配置分為并行和串行配置兩類。其中,SRAM是迄今為止應(yīng)用范圍最廣的架構(gòu),主要因?yàn)樗俣瓤烨揖哂锌芍鼐幊棠芰?,而反熔絲FPGA只具有一次可編程(one Time Programmabfe,OTP)能力。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。用單片機(jī)配置FPGA器件時(shí),關(guān)鍵在于產(chǎn)生合適的時(shí)序。CLB以陣列形式分布在FPGA芯片中。在比較新的DDS芯片中普遍都采用了12bit的D/A轉(zhuǎn)換器。圖25波形ROM示意圖用相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器的相位取樣地址,這樣就可以把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。假設(shè),相位累加器字長(zhǎng)為N,DDS控制時(shí)鐘頻率為,時(shí)鐘周期為,頻率控制字為K。每來(lái)一個(gè)時(shí)鐘脈沖fc,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。 DDS原理DDS是一種全數(shù)字的頻率合成方法,其基本結(jié)構(gòu)主要由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器四個(gè)部分構(gòu)成,如圖23所示。利用頻率合成技術(shù)制成的信號(hào)發(fā)生器,通常被稱為頻率合成器。直接數(shù)字頻率合成即DDS,它是目前最新的產(chǎn)生頻率源的頻率合成技術(shù)。直接頻率合成技術(shù)的固有缺點(diǎn)在間接頻率合成技術(shù)中得到了很好的改善。頻率合成大致經(jīng)歷了三個(gè)主要階段:直接頻率合成、采用鎖相技術(shù)的間接頻率合成、直接數(shù)字頻率合成。由于用硬件電路取代了計(jì)算機(jī)的控制,信號(hào)輸出穩(wěn)定度高。在一個(gè)DMA操作中,只能在一個(gè)D/A轉(zhuǎn)換器和存儲(chǔ)器之間傳送數(shù)據(jù),無(wú)法實(shí)現(xiàn)多通道的信號(hào)輸出。2系統(tǒng)基本原理任意波形發(fā)生器的實(shí)現(xiàn)方案主要有程序控制輸出、DMA輸出、可變時(shí)鐘計(jì)數(shù)器尋址和直接數(shù)字頻率合成等多種方式。而且外形尺寸與價(jià)格,都比過(guò)去的類似產(chǎn)品減少了一半。目前可以利用可視化編程語(yǔ)言(如 Visual Basic,VisualC等等)編寫任意波形發(fā)生器的軟面板,這樣允許從計(jì)算機(jī)顯示屏上輸入任意波形,來(lái)實(shí)現(xiàn)波形的輸入。2003年,Agilent的產(chǎn)品33220A能夠產(chǎn)生17種波形,最高頻率可達(dá)20M。這個(gè)時(shí)期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價(jià)格貴、功耗大等缺點(diǎn),并且要產(chǎn)生較為復(fù)雜的信號(hào)波形,則電路結(jié)構(gòu)非常復(fù)雜。不論是在生產(chǎn)、科研還是教學(xué)上,信號(hào)發(fā)生器都是電子工程師信號(hào)仿真實(shí)驗(yàn)的最佳工具。隨著我國(guó)經(jīng)濟(jì)和科技的發(fā)展,對(duì)相應(yīng)的測(cè)試儀器和測(cè)試手段也提出了更高的要求,信號(hào)發(fā)生器己成為測(cè)試儀器中至關(guān)重要的一類。實(shí)驗(yàn)表明,用現(xiàn)場(chǎng)可編程門陣列(FPGA)設(shè)計(jì)實(shí)現(xiàn)的采用直接數(shù)字頻率合成(DDS)技術(shù)的函數(shù)信號(hào)發(fā)生器,克服了傳統(tǒng)方法的局限,實(shí)現(xiàn)了信號(hào)發(fā)生器多波形輸出以及方便調(diào)頻、調(diào)幅的功能。波形發(fā)生器是能夠產(chǎn)生大量的標(biāo)準(zhǔn)信號(hào)和用戶定義信號(hào),并保證高精度、高穩(wěn)定性、可重復(fù)性和易操作性的電子儀器。HP877OA實(shí)際上也只能產(chǎn)生8種波形,而且價(jià)