【正文】
從論文中反映出,該同學(xué)掌握了比較扎實(shí)的基礎(chǔ)理論知識和專業(yè)知識,具有一定的綜合運(yùn)用所學(xué)知識和技能分析問題和解決問題的能力。}《基于 FPGA 的多波形發(fā)生器的設(shè)計(jì)》論文評語論文結(jié)構(gòu)合乎撰寫規(guī)范,文字表述流暢,思路清晰,邏輯性強(qiáng)。 IOWR_ALTERA_AVALON_PIO_DATA(DATA_BASE,data)。 //***************read A/D******************************* ad_data=IORD_ALTERA_AVALON_PIO_DATA(DATA_IN_BASE)。 if(selt_data==1) seg7_data3=1。 yu_zhi=(156250/temp1)%10。 seg7_data1=temp。 } else if(k29) k2++。 } if(key2==0) {22 usleep(50000)。 key3=IORD_ALTERA_AVALON_PIO_DATA(KEY3_BASE)。 while(1) { key3=IORD_ALTERA_AVALON_PIO_DATA(KEY3_BASE)。 }//**************************************int main(){ u8 key3,key2,k3=1,k2=0。//move the value to the d6=24。//move the value to the d2=8。d5=d5%a1。// ,display value d3=data1/a2。 d0=0。, and 39。, 39。end end endmodule附錄 7:C 語言程序設(shè)計(jì)/* * Hello World example. * This example prints 39。 end else begin if(i= =5000000) begin i=0。 reg [31:0]i。 end endendmodule附錄 6:控制 A/D 周期轉(zhuǎn)換程序19module ad_clk(reset,f_50m,rd,wd)。 i=0。 output f_100k。 239。 endcase endalways (posedge clk) begin 18 case(tmp) 239。 239。 else tmp=239。b0) t=0。initial begin tmp=239。17reg [9:0] t。input KEY1。end process。 when 63=d=255。 when 59=d=245。 when 55=d=217。 when 51=d=174。 when 47=d=124。 when 43=d=75。 when 39=d=34。 when 35=d=8。 when 31=d=0。 when 27=d=13。 when 23=d=43。 when 19=d=87。 when 15=d=137。 when 11=d=186。 15 when 07=d=225。 when 03=d=249。 end if。event and clk=39。begin if clr=39。entity sin isport(clk,clr:in std_logic。end delta_arc。 end if。 a:=39。139。then if a=39。 then tmp:=00000000。architecture delta_arc of delta isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0)。use 。 end process。if t 32 then13q= 255。beginprocess(clk,clr)beginif clk39。 q: out integer range 0 to 255)。附錄 3:波形產(chǎn)生程序方波library ieee。 end if。 d:=not d。 b:=39。139。architecture chu_arc of fana isbegin process(clk) variable b,d:std_logic。entity fana is port(a:in integer range 0 to 1023。6 致謝在此,我要感謝我的導(dǎo)師林漢老師,謝謝他一直以來給我的幫助。從圖 中可以看出,三種波形的輸出是相當(dāng)完整的,頻率的控制也相當(dāng)準(zhǔn)確。正弦波模塊 用于定義正弦數(shù)據(jù)表,每到一個(gè)脈沖,逐次查找并輸出相應(yīng)的正弦數(shù)據(jù),以便生成正弦波形。從 NiosII 輸出 10 位頻率控制字,轉(zhuǎn)換為相對應(yīng)的整數(shù)輸出;由分頻模塊 對輸入時(shí)鐘 clk 分頻,對分頻計(jì)數(shù)a 逐次減 1,當(dāng) a 減到 0 時(shí),輸出后;即為三角波模塊 (delta)、方波模塊(square)、正弦波模塊(sin)的輸入時(shí)鐘 clk。 VHDL、VerilogHDL 語言程序設(shè)計(jì)用 VHDL 語言分別對輸出波形控制、分頻控制和三角波、正弦波、方波發(fā)生的各個(gè)模塊進(jìn)行子程序編程,并把每一個(gè)模圖 ADC0804 的 A/D 轉(zhuǎn)換時(shí)序9塊轉(zhuǎn)換成圖形文件,然后在原理圖編輯框中調(diào)用這些圖形模塊,并連接電路。啟動 A/D 轉(zhuǎn)換的時(shí)序如圖 中的圖 B,實(shí)現(xiàn)片選以后,使用一個(gè)寫信號就可以啟動一個(gè)轉(zhuǎn)換過程。模數(shù)轉(zhuǎn)換器 ADC0804 的工作分為三個(gè)過程:①復(fù)位中斷觸發(fā)信號信號表明 ADC0804 轉(zhuǎn)換已經(jīng)結(jié)束,它提示單片機(jī)隨時(shí)可以讀取轉(zhuǎn)換結(jié)果,是 ADC0804 的一個(gè)輸出信號。D GND:數(shù)字電源的地線。A GND:模擬電源的地線。對單片機(jī)INTR可以稱為中斷觸發(fā)信號。WCLK IN:時(shí)鐘輸入引腳。低電平有效,高電平時(shí)芯片不工作,CS:外部讀數(shù)據(jù)控制信號。 A/D 轉(zhuǎn)換器ADC0804 是一個(gè)早期的 A/D 轉(zhuǎn)換器,因其價(jià)格低廉而在要求不高的場合得到廣泛應(yīng)用。(7) AGND :模擬量地,即模擬電路接地端。(4) RFB :反饋電阻引出端,DAC0832 內(nèi)部已經(jīng)有反饋電阻,所以 R FB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個(gè)反饋電阻接在運(yùn)算放大器的輸出端和輸入端之間。對第二級鎖存來說,傳送控制信號 和寫信號 同時(shí)為低電平時(shí),二級鎖存控制信號XFER2為高電平,8 位的 DAC 寄存器的輸出隨輸入而變化,此后,當(dāng) 由低電平變高時(shí),控制信號變R為低電平,于是將輸入寄存器的信息鎖存到 DAC 寄存器中。1LSB,參考電壓為(10~+10)V,供電電源為(+5~+15)V,邏輯電平輸入與 TTL 兼容。其實(shí)這兩部分是可以集成為一個(gè)整體外圍電路 [10],如圖 所示。5圖 DAC0832 引腳圖具體程序見附錄 3。每種波形數(shù)字化描述頻率均采用波形頻率的 64 倍,以保證產(chǎn)生的波形穩(wěn)定且不失真。而頻率顯示則由鍵盤處理程序直接產(chǎn)生一個(gè)相應(yīng)數(shù)值送數(shù)碼管顯示。(2) 鍵盤處理程序設(shè)計(jì)利用掃描法對鍵盤進(jìn)行檢測,若有鍵盤按下,則產(chǎn)生相應(yīng)的操作。其指令和數(shù)據(jù)總線符合 AVALON 總線規(guī)范。 FPGA 核心模塊的各組成單元本設(shè)計(jì)的 FPGA 核心模塊由 4 個(gè)功能模塊組成: NiosⅡ軟核為核心的鍵盤處理、頻率控制及頻率、電壓值顯示模塊;(FANA)模塊;(分別是三角波、方波和正弦波)模塊;( CHANGE)模塊。本設(shè)計(jì)充分利用硬件電路的可靠性、穩(wěn)定性和芯片的方便性,使整體電路達(dá)到比較高的穩(wěn)定性。通過 Nios II 和 VHDL 的相互結(jié)合,從而實(shí)現(xiàn)了完整的多種波形發(fā)生器。在 FPGA 內(nèi)部,以軟核 CPU Nios II 為控制核心,用 VHDL 語言分別對輸出波形控制、分頻控制和三角波、正弦波、方波發(fā)生的各個(gè)模塊進(jìn)行子程序編程 [6],并把每一個(gè)模塊轉(zhuǎn)換成圖形文件,然后在原理圖編輯框中調(diào)用這些圖形模塊,并連接電路。它是根據(jù)硬件系統(tǒng)要實(shí)現(xiàn)的功能合理地使用各種 IP,并為各個(gè)實(shí)例定義地址范圍、輸出端口和時(shí)鐘。為此,本設(shè)計(jì)提出并實(shí)現(xiàn)了一種利用數(shù)字調(diào)制技術(shù) [3]并基于現(xiàn)場可編程門陣列(FPGA)器件實(shí)現(xiàn)信號發(fā)生器的方法 [4]。EDA 技術(shù)的出現(xiàn),使得完全利用硬件來實(shí)現(xiàn)波形信號發(fā)生成為可能 [1]。本設(shè)計(jì)為生產(chǎn)低成本,高性能,操作簡易的電子系統(tǒng)測試信號提供一種簡單易行的方法。目 錄摘要....................................................................................................................................