九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文

上傳人:仙*** 文檔編號(hào):28297322 上傳時(shí)間:2021-08-25 格式:DOC 頁數(shù):22 大小:454.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文_第1頁
第1頁 / 共22頁
基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文_第2頁
第2頁 / 共22頁
基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文_第3頁
第3頁 / 共22頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)論文(22頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 FPGA課程設(shè)計(jì)題 目:基于FPGA的多通道采樣系統(tǒng)設(shè)計(jì)院 (系):電氣工程及其自動(dòng)化學(xué)院 專 業(yè):電子信息工程12-01 20 摘 要本論文介紹了基于FPGA的多通道采樣系統(tǒng)的設(shè)計(jì)。用FPGA設(shè)計(jì)一個(gè)多通道采樣控制器,利用VHDL語言設(shè)計(jì)有限狀態(tài)機(jī)來實(shí)現(xiàn)對(duì)AD7892的控制。由于FPGA器件的特性是可以實(shí)現(xiàn)高速工作,為此模擬信號(hào)選用音頻信號(hào)。由于音頻信號(hào)的頻率是20Hz-20KHz,這樣就對(duì)AD轉(zhuǎn)換的速率有很高的要求.因?yàn)镕PGA的功能很強(qiáng)大,所以我們把系統(tǒng)的許多功能都集成到FPGA器件中,例如AD通道選擇部分,串并輸出控制模塊,這樣使得整個(gè)系統(tǒng)的外圍電路簡單、系統(tǒng)的穩(wěn)定性強(qiáng)。FPGA的配

2、置模式選用被動(dòng)串行模式,這樣就增強(qiáng)了系統(tǒng)的可擴(kuò)展性。輸出模式可選擇性使得系統(tǒng)的應(yīng)用相當(dāng)廣泛,串行輸出可以用于通信信號(hào)的采集,方便調(diào)制后發(fā)射到遠(yuǎn)程接受端,遠(yuǎn)程接收端對(duì)采集的數(shù)據(jù)進(jìn)行解調(diào);而并行輸出模式則可以通過高速存儲(chǔ)器將采集的信號(hào)放到微機(jī)或者其他的處理器上,根據(jù)采集的數(shù)據(jù)進(jìn)行相應(yīng)的控制。此系統(tǒng)的缺點(diǎn)是由于FPGA器件配置是基于SRAM查找表單元,編程的信息是保持在SRAM中,但SRAM在掉電后編程信息立即丟失,所以每次系統(tǒng)上電都需要重新配置芯片,這對(duì)在野外作業(yè)的工作人員很不方便,解決的方法是專用的配置器件來配置FPGA,在每次系統(tǒng)上電的時(shí)候會(huì)自動(dòng)把編程信息配置到FPGA芯片中。但設(shè)計(jì)中沒有采用

3、到這種配置方案主要是考慮到專用配置器件的價(jià)格問題。本文開始介紹了多通道系統(tǒng)的組成部分,然后分別介紹了各個(gè)組成部分的原理和設(shè)計(jì)方法,其中重點(diǎn)介紹了FPGA軟件設(shè)計(jì)部分。還對(duì)當(dāng)前十分流行的基于FPGA的設(shè)計(jì)技術(shù)作了簡單的闡述,最后對(duì)系統(tǒng)的調(diào)試和應(yīng)用作了簡短的說明。關(guān)鍵詞:音頻放大;濾波器;FPGA;VHDL;AD7892;有限狀態(tài)機(jī);目 錄摘要 2引言31 題目來源32 研究意義33 多通道采樣系統(tǒng)的組成34 方案設(shè)計(jì)45 單元電路的設(shè)計(jì)45.1音頻放大、濾波部分4(1)音頻放大部分 4(2)有源濾波器的設(shè)計(jì) 45.2 AD采樣電路55.3 FPGA控制部分5(1)通道選擇模塊 6(2)延時(shí)模塊的

4、設(shè)計(jì) 6(3)串并輸出選擇控制 75.4 FPGA的硬件設(shè)計(jì) 86 軟件介紹 87 整機(jī)調(diào)試87.1 硬件電路的調(diào)試步驟8(1)音頻放大部分調(diào)試 8(2)濾波部分調(diào)試 8(3)FPGA硬件電路調(diào)試 9(4)AD采樣模塊調(diào)試 9(5) 聯(lián)機(jī)調(diào)試98 結(jié)論9參考文獻(xiàn)10附錄11引言FPGA(Field-Programmable Gate Array 現(xiàn)場可編程門陣列)是近年來廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度(單片集成的系統(tǒng)門數(shù)達(dá)上千萬門)、高速(200MHz以上)、在線系統(tǒng)可編程等優(yōu)點(diǎn),為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了突破性變革,大大推動(dòng)了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動(dòng)化,提高了單

5、片數(shù)字系統(tǒng)的設(shè)計(jì)周期、設(shè)計(jì)靈活性和可靠性。在超高速信號(hào)處理和實(shí)時(shí)測控方面有非常廣泛的應(yīng)用。硬件描述語言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語言。VHDL是硬件描述語言的幾種代表性語言的一種。VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成電路硬件描述語言)主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,與其它的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。用VHDL設(shè)計(jì)的程序,通過綜合工具產(chǎn)生網(wǎng)表文件,下載到目標(biāo)器件,從而生成硬件電路

6、。VHDL還是一種仿真語言,包括行為仿真、功能仿真和時(shí)序仿真,給系統(tǒng)設(shè)計(jì)各個(gè)階段的可行性做出了決策。1 題目來源課程設(shè)計(jì)庫2 研究意義數(shù)據(jù)采集在現(xiàn)代工業(yè)生產(chǎn)以及科學(xué)研究中的重要地位日益突出,并且實(shí)時(shí)高速數(shù)據(jù)采集的要求也不斷提高,在信號(hào)測量、圖像處理,音頻信號(hào)處理等一些高速、高精度的測量中,都需要進(jìn)行高速數(shù)據(jù)采集。本次設(shè)計(jì)就是用FPGA實(shí)現(xiàn)采樣系統(tǒng),來實(shí)現(xiàn)音頻信號(hào)的數(shù)據(jù)采集。3 多通道采樣系統(tǒng)的組成本系統(tǒng)硬件電路包括FPGA設(shè)計(jì)的多通道采樣控制器和相應(yīng)的通道選擇電路,A/D轉(zhuǎn)換電路,由于采樣音頻信號(hào),所以需要設(shè)計(jì)音頻的放大和濾波電路。系統(tǒng)組成部分如圖2.1所示:通道選擇部分音頻放大、濾波部分信號(hào)

7、1 模擬信號(hào)輸入 信號(hào)2AD轉(zhuǎn)換部分 控制 FPGA控制的通道選擇和AD控制部分信號(hào)7 控制采樣 信號(hào)8 數(shù)字信號(hào)存儲(chǔ)輸出圖2.1 多通道系統(tǒng)的組成4 方案設(shè)計(jì)用FPGA實(shí)現(xiàn)一個(gè)3位8進(jìn)制的計(jì)數(shù)器,記數(shù)脈沖是FPGA鎖存AD轉(zhuǎn)換數(shù)據(jù)的鎖存信號(hào),計(jì)數(shù)器的輸出作為數(shù)據(jù)開關(guān)CD4051的地址。用有限狀態(tài)機(jī)來實(shí)現(xiàn)對(duì)AD7892的控制,這樣電路實(shí)現(xiàn)比較簡單,而且AD7892的采樣速率可以達(dá)到500KHz,可以實(shí)現(xiàn)8個(gè)通道同時(shí)8路音頻信號(hào)采集。同時(shí)采用FIFO模塊,讓數(shù)字?jǐn)?shù)據(jù)先存到隊(duì)列中,一邊往隊(duì)列中寫數(shù)據(jù),一邊從隊(duì)列中讀數(shù)據(jù),這樣就對(duì)數(shù)字?jǐn)?shù)據(jù)起了一個(gè)高速緩存的作用,更加快了整個(gè)系統(tǒng)的運(yùn)行速度。5 單元電

8、路的設(shè)計(jì)系統(tǒng)可以分為4個(gè)大部分,分別是音頻放大、濾波部分,F(xiàn)PGA控制部分,AD采樣電路,F(xiàn)PGA硬件電路的設(shè)計(jì)。其中以FPGA控制部分為主體部分,它涉及到AD采樣控制,通道選擇控制,串并輸出模式選擇模塊,延時(shí)模塊以及FIFO模塊介紹。這些模塊的實(shí)現(xiàn)是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。下面分別對(duì)系統(tǒng)的這些單元電路做詳細(xì)的闡述。5.1 音頻放大、濾波部分(1)音頻放大部分音源采用普通CD輸出的音頻信號(hào),它產(chǎn)生輸出的信號(hào)的幅度約有300mV左右,根據(jù)設(shè)計(jì)AD7892的輸入電壓是10V,選擇放大器的放大倍數(shù)在10-30之間,通過一個(gè)精密可調(diào)電阻來調(diào)節(jié)放大倍數(shù)。音頻放大芯片NE5532特性是雙運(yùn)放、寬頻帶、低噪聲、轉(zhuǎn)換

9、速率大、電源范圍廣。(2)有源濾波器的設(shè)計(jì)在一個(gè)實(shí)際的電子系統(tǒng)中,輸入信號(hào)往往因受干擾等原因而含有一些不必要的成份,應(yīng)設(shè)法將干擾衰減到足夠小的程度。在其他一些情況,我們需要的信號(hào)和干擾信號(hào)混在一起,如果這兩個(gè)信號(hào)在頻率成分上有較大的差別,就可以用濾波的方法將所需要的信號(hào)濾出。為了解決上述問題,可采用濾波電路。濾波器包括電抗性元件L、C構(gòu)成的無源濾波器、由集成運(yùn)算放大器組成的有源濾波器、以及晶體濾波器等。本次設(shè)計(jì)需要的通帶頻率范圍是20Hz-20KHz,如果用有源帶通濾波器來實(shí)現(xiàn),考慮到該帶通濾波器的上下截止頻率之比20000/20=1000,大于一個(gè)倍頻程,為一個(gè)寬帶濾波器,所以采用一個(gè)低通濾

10、波器和一個(gè)高通濾波器級(jí)聯(lián)來實(shí)現(xiàn)帶通濾波。有源帶通濾波電路分成兩個(gè)部分,高通部分和低通部分,圖4.2是20HZ的高通濾波器,圖5.3是20KHZ的低通濾波器。圖5.2 低通濾波器電路圖圖5.3 高通濾波器電路圖音頻信號(hào)經(jīng)過音頻放大電路放大后就進(jìn)入了上圖的電路。經(jīng)過20HZ-20KHZ的帶通濾波電路進(jìn)行濾波。5.2 AD采樣電路由于人的耳朵能識(shí)別的音頻的頻率范圍是20Hz-20KHz,根據(jù)奈魁斯特(NYQUIST)采樣定理知道,要使采樣后的數(shù)字信號(hào)能恢復(fù)成模擬信號(hào),采樣的頻率必須是模擬信號(hào)的頻率的兩倍,即本次采樣系統(tǒng)的采樣頻率最低要設(shè)計(jì)在40KHz,而一般CD格式的音頻信號(hào)的采樣頻率是44.1KH

11、z,由于是8路通道的采樣,所以AD芯片的最低采樣頻率應(yīng)該是44.1KHz8=352.8KHz,所以選擇采樣頻率為500KHz的AD7892。這樣我們每個(gè)通道的采樣頻率就是500KHz/8=62.5KHz。5.3 FPGA控制部分(1)通道選擇模塊通道選擇部分是一個(gè)二進(jìn)制模8的計(jì)數(shù)器,計(jì)數(shù)器的時(shí)鐘是AD數(shù)字信號(hào)的鎖存信號(hào),每次鎖存數(shù)據(jù)后,計(jì)數(shù)器就會(huì)一次進(jìn)行加一操作,CD4051選擇下一個(gè)通道的音頻信號(hào)進(jìn)行采集。在MAX+Plus中用VHDL語言設(shè)計(jì)圖形如下圖5.8所示:圖5.8 通道選擇部分通過CNT0到CNT2來選擇相應(yīng)的通道,CD4051的輸出就是最后要進(jìn)行AD采樣的音頻信號(hào)。例如:若CNT

12、0CNT1CNT2=“000”,則選擇第一通道音頻信號(hào)進(jìn)行AD采樣。這個(gè)部分實(shí)現(xiàn)的重點(diǎn)是對(duì)數(shù)字鎖存信號(hào)記數(shù),計(jì)數(shù)器的輸出作為CD4051的通道選擇地址。通道選擇部分的主體程序如下:二進(jìn)制模8計(jì)數(shù)器signal q:std_logic_vector(2 downto 0); begin counter:process(clk) begin if(clkevent and clk=1) then if q=111 then q=000; else q=q+1; end if;end if;cnt=q; end process;通道選擇模塊的仿真圖如圖5.9所示:圖5.9 通道模塊仿真圖(2)延時(shí)模

13、塊的設(shè)計(jì)在采樣控制部分的狀態(tài)機(jī)中也加入了輸出數(shù)據(jù)編碼部分,因?yàn)槭茄h(huán)采集8路的模擬信號(hào),而輸出為一路輸出,這樣就需要對(duì)輸出信號(hào)進(jìn)行標(biāo)志,方法就是把12位數(shù)據(jù)轉(zhuǎn)換為16位數(shù)據(jù),第一位是0,第二位到第四位是標(biāo)志位,標(biāo)志是哪一通道數(shù)字信號(hào),如果是串行輸出的時(shí)候可以讓接受方知道是第幾通道的數(shù)據(jù)。又因?yàn)閿?shù)字信號(hào)數(shù)據(jù)鎖存信號(hào)是比通道選擇信號(hào)早一個(gè)周期,所以要加一個(gè)延時(shí)模塊,這樣就可以實(shí)現(xiàn)每次鎖存了通道的標(biāo)志位和采樣的數(shù)據(jù)。通過程序來實(shí)現(xiàn)對(duì)通道選擇信號(hào)的延時(shí)。如果當(dāng)前選擇第3個(gè)通道采樣,那么通道選擇信號(hào)就是“011”,在這個(gè)通道信號(hào)采集完畢后鎖存信號(hào)就會(huì)使計(jì)數(shù)器進(jìn)行加1操作,這樣通道選擇信號(hào)就是“100”,

14、而這個(gè)時(shí)候鎖存的數(shù)據(jù)需要“011”,所以將標(biāo)志位信號(hào)通過“100”的延時(shí)一個(gè)時(shí)鐘周期變成“011”即可。VHDL完成可以勝任。延時(shí)模塊程序主體部分process(in1,in2,in3)begincomin comout comout comout comout comout comout comout comoutcomout=ZZZ; end case;out1=comout(0);out2=comout(1);out3=comout(2); end process;(3)串并輸出選擇控制從AD控制模塊輸出的數(shù)據(jù)是并行16位數(shù)據(jù)。串行輸出的原理是:通過一個(gè)16選1的數(shù)據(jù)選擇器連續(xù)選擇輸出的

15、并行16位數(shù)據(jù),數(shù)據(jù)選擇器的選擇信號(hào)是一個(gè)對(duì)系統(tǒng)時(shí)鐘記數(shù)的二進(jìn)制模16的計(jì)數(shù)器輸出,這樣就可以實(shí)現(xiàn)將并行16位數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)。通過外部輸入信號(hào)P/S可以實(shí)現(xiàn)是串行輸出還是并行輸出,如果P/S是低電平,就選通16選1的選擇器,禁止16個(gè)與門的輸出,此時(shí)為串行輸出;如果P/S為高電平,則禁止16選1的選擇器,同時(shí)打開16個(gè)與門,此時(shí)為并行16位輸出。輸出模式可選擇性使得系統(tǒng)的應(yīng)用相當(dāng)廣泛,串行輸出可以用于通信信號(hào)的采集,方便調(diào)制后發(fā)射到遠(yuǎn)程接受端,遠(yuǎn)程接收端對(duì)采集的數(shù)據(jù)進(jìn)行解調(diào);而并行輸出模式則可以通過高速存儲(chǔ)器將采集的信號(hào)放到微機(jī)或者其他的處理器上,根據(jù)采集的數(shù)據(jù)進(jìn)行相應(yīng)的控制。5.4 FP

16、GA的硬件設(shè)計(jì)本次設(shè)計(jì)選用的FPGA芯片是ALTERA公司的ACEX1K系列的EP1K30TC144-3。由于它的高密度和易于在設(shè)計(jì)中實(shí)現(xiàn)復(fù)雜宏函數(shù)和存儲(chǔ)器,因此可以把一個(gè)子系統(tǒng)集成在單一芯片上,EP1K30包括一個(gè)嵌入式陣列,這為設(shè)計(jì)人員提供了有效的嵌入式門陣列和靈活的可編程邏輯。嵌入式陣列是由一系列嵌入式陣列塊(EAB)組成的,它能夠用來實(shí)現(xiàn)各種存儲(chǔ)器和復(fù)雜邏輯功能;該器件也提供多電壓I/O接口操作。它允許器件橋架在不同電壓工作的系統(tǒng)中。比如本次系統(tǒng)設(shè)計(jì)器件的I/O輸出就是2.5V,這樣不但使FPGA芯片工作安全,也可以讓AD7892能工作安全狀態(tài)。6 軟件介紹在實(shí)驗(yàn)中主要使用了MAX+P

17、lus、EWB、以及Protel99se三種軟件,其中,Max Plus主要完成對(duì)FPGA芯片的編程,仿真,芯片引腳鎖定以及編程在線配置等操作,EWB主要用于對(duì)放大、濾波電路作分析與設(shè)計(jì),并以分析為主,尤其是EWB能提供一個(gè)虛擬的實(shí)驗(yàn)室,可以對(duì)電路和系統(tǒng)進(jìn)行十分逼真的模擬;Protel99se則是整個(gè)電路設(shè)計(jì)PCB的重要工具?,F(xiàn)分別對(duì)這三種軟件進(jìn)行介紹,其中重點(diǎn)介紹使用MAX+Plus的常用基本設(shè)計(jì)方法。7 整機(jī)調(diào)試7.1硬件電路的調(diào)試步驟在硬件電路中用到了音頻放大、濾波電路,電源穩(wěn)壓電路,AD采樣電路,F(xiàn)PGA控制等主要部分,由于電路連線較多而且復(fù)雜,采用的方法是分塊調(diào)試,這樣比較容易發(fā)現(xiàn)問

18、題和解決問題。這種硬件調(diào)試方法在實(shí)際應(yīng)用是比較普遍的。在進(jìn)行硬件調(diào)試之前,首先要檢查電路板,看看電路板上的線路是否有短路、虛焊或者是斷路的情況,如果有則要修正它,如果沒有就可以進(jìn)行各個(gè)模塊的調(diào)試。(1)音頻放大部分調(diào)試對(duì)音頻放大部分調(diào)試需要一個(gè)函數(shù)信號(hào)發(fā)生源,一個(gè)示波器,一個(gè)萬用表和提供放大器電源的直流穩(wěn)壓電源。首先,給NE5532加上12V的電源,使之工作起來,用萬用表檢查NE5532除了正負(fù)電源引腳的電壓,電壓接近為零,這表明放大器正常工作,在輸入端輸入頻率為1KHz,幅度為300mV的正弦波,用示波器觀察輸出端的波形,可以看到輸出幅度為5.3V的正弦波,正弦波中包含了很多高頻干擾,這是由

19、于周圍的干擾在放大器的放大作用,使得干擾成為一個(gè)明顯波形出現(xiàn)在示波器上,通過濾波器后可以濾掉這些干擾。調(diào)節(jié)可調(diào)電阻,可以觀察到輸出波形的幅度變化。接上音源,可以看到示波器有不規(guī)則波形輸出,增大音源的音量可以看到輸出波形的幅度也隨之增大,只是這不規(guī)則波形中混有很多的干擾,通過濾波器后可以濾掉這些干擾。這表明音頻放大部分工作正常,達(dá)到設(shè)計(jì)要求。(2)濾波部分調(diào)試對(duì)濾波部分調(diào)試需要一個(gè)函數(shù)信號(hào)發(fā)生源,一個(gè)示波器,一個(gè)萬用表和提供放大器電源的直流穩(wěn)壓電源。首先,給LM324加上12V的電源,使之工作起來,用萬用表檢查LM324除了正負(fù)電源引腳的電壓,電壓接近為零,這表明濾波器的放大器正常工作。輸入1K

20、HZ,300mv的正弦波信號(hào),經(jīng)過音頻放大電路放大后得到的1KHZ,5.3V的正弦波信號(hào)從輸入點(diǎn)進(jìn)入濾波電路。調(diào)試過程中發(fā)現(xiàn)示波器中的波形一直有一定高頻和低頻的干擾,檢查電路沒有錯(cuò)誤,最后判斷是電源的干擾,在電源輸入端加上一個(gè)大電容和一個(gè)小電容分別濾掉電源的高頻干擾和低頻干擾,再調(diào)試可以看到完整的正弦波波形。減少輸入信號(hào)的頻率到10HZ,可以看到當(dāng)頻率減到20HZ的時(shí)候,輸出信號(hào)的幅度逐漸變小,這表明高通濾波部分已實(shí)現(xiàn)其功能,濾掉小于20HZ的低頻干擾;然后慢慢增加輸入信號(hào)的頻率到30KZ左右,可以看當(dāng)頻率大于18KHZ的時(shí)候,輸出信號(hào)的幅度開始減小,達(dá)到20KHZ,輸出信號(hào)幅度衰減到通帶內(nèi)的

21、幅度的75%,大于20KZ后,輸出幅度小于通帶內(nèi)幅度一半,達(dá)到衰減的目的,這表明低通濾波器也實(shí)現(xiàn)了其功能。整個(gè)濾波器部分調(diào)試完畢,達(dá)到設(shè)計(jì)要求。(3)FPGA硬件電路調(diào)試這部分調(diào)試是整個(gè)調(diào)試的主體,包括對(duì)有源晶振的調(diào)試,配置電路的調(diào)試。(4)AD采樣模塊調(diào)試將實(shí)現(xiàn)AD采樣的狀態(tài)機(jī)程序單獨(dú)寫成一個(gè)文件,選擇器件和鎖定引腳后,配置到FPGA芯片中,模擬信號(hào)采用+5V電源,在調(diào)試過程中,發(fā)現(xiàn)AD采樣在工作若干次后,就會(huì)出現(xiàn)“死機(jī)”現(xiàn)象,分析知道,在采樣過程中會(huì)出現(xiàn)控制AD開始采樣的CONV信號(hào)丟失現(xiàn)象,導(dǎo)致AD無限期等待采樣開始信號(hào)CONV,而狀態(tài)機(jī)又無限期等待采樣結(jié)束信號(hào)EOC,這樣就使得狀態(tài)機(jī)進(jìn)

22、入“死機(jī)”狀態(tài)。解決的方法是加入一段“看門狗”程序,當(dāng)狀態(tài)機(jī)進(jìn)入死機(jī)狀態(tài)后,用一個(gè)變量判斷狀態(tài)機(jī)是否等待超過一個(gè)采樣周期,如果超過,就復(fù)位狀態(tài)機(jī),使?fàn)顟B(tài)機(jī)重新進(jìn)入開始狀態(tài)。這樣就可以解決狀態(tài)機(jī)的“死機(jī)”現(xiàn)象了。加入“看門狗”程序后,通過示波器可以看到12位數(shù)據(jù)的任何一位的電平信號(hào)。這樣AD采樣部分就調(diào)試完畢。(5)聯(lián)機(jī)調(diào)試聯(lián)機(jī)調(diào)試需要實(shí)驗(yàn)工具有:示波器,穩(wěn)壓電源,EDA實(shí)驗(yàn)臺(tái),PC機(jī),ByteBlaster(MV)下載電纜。按照?qǐng)D2.1中各模塊連接順序連接好整個(gè)采樣系統(tǒng),分別接上12V的放大器工作電壓,5V的AD采樣電壓和2.5V的FPGA芯片工作電壓,把串并選擇端口選擇串行輸出,也即將短路帽

23、短路,這樣輸入到器件是低電平。將示波器連接到串行輸出口,用EDA實(shí)驗(yàn)臺(tái)上的下載電路連接PC機(jī)上的打印并行口和硬件電路板上的下載口,可以看到示波器有高低的電平輸出。將串并選擇端口選為并行輸出,也即將短路帽斷開,這樣輸入到器件是高電平,任意選擇一位連接到示波器,也可以看到有高低電平輸出。通過調(diào)試可以證實(shí)整個(gè)高速多通道采樣系統(tǒng)基本實(shí)現(xiàn),聯(lián)機(jī)調(diào)試完畢。8 結(jié)論 本次設(shè)計(jì)采用FPGA實(shí)現(xiàn)采樣系統(tǒng),從而系統(tǒng)具有高速、穩(wěn)定、低功耗等特點(diǎn),音頻模擬信號(hào)經(jīng)放大器NE5532放大后,經(jīng)過8路選擇后,進(jìn)入濾波器進(jìn)行濾波,濾掉高頻干擾信號(hào)和低頻干擾信號(hào)的干擾,然后進(jìn)入AD7892進(jìn)行AD采樣,采樣后的12位數(shù)據(jù)通過一

24、個(gè)FIFO隊(duì)列存儲(chǔ),最后從FIFO中讀出數(shù)字信號(hào),在串并輸出模式的選擇下在示波器上顯示出來。本系統(tǒng)基本達(dá)到了預(yù)期的設(shè)計(jì),但還有一些不足之處,例如:在對(duì)FIFO隊(duì)列的讀寫操作中是通過狀態(tài)機(jī)來實(shí)現(xiàn)的,但這樣FIFO隊(duì)列就只起了一個(gè)緩存的作用。由于本人水平有限,無法實(shí)現(xiàn)其存儲(chǔ)后再進(jìn)行讀寫的操作,懇請(qǐng)各位老師多多批評(píng)指教。多通道采樣系統(tǒng)應(yīng)用十分廣泛,特別是在控制系統(tǒng)上的應(yīng)用,比如說溫度,濕度等,通過傳感器把模擬信號(hào)采集到微機(jī)或者控制部分,根據(jù)采集的數(shù)據(jù)來對(duì)系統(tǒng)進(jìn)行相應(yīng)的控制,同時(shí)基于FPGA的多通道采樣系統(tǒng)的實(shí)現(xiàn),為一些特殊領(lǐng)域的實(shí)時(shí)測控提供了一個(gè)簡單、靈活、可靠的方案.參考文獻(xiàn)1 張亦華.數(shù)字電路E

25、DA入門VHDL程序?qū)嵗疢.北京:北京郵電大學(xué)出版社,2003.32 李洋.EDA技術(shù)實(shí)用教程M.北京:機(jī)械工業(yè)出版社,2004.73 肖蕙蕙.傅曉林.數(shù)字電子技術(shù)基礎(chǔ)M.重慶:重慶大學(xué)出版社,2002.104 張凱.VHDL實(shí)例剖析M.北京:國防工業(yè)出版社,2004.15 姜立東.VHDL語言程序設(shè)計(jì)及應(yīng)用(第2版)M.北京:北京郵電大學(xué)出版社,2004.6附 錄1 各模塊程序(1)通道選擇模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count is port(clk:i

26、n std_logic; -cnt:out integer range 0 to 7; cnt : out std_logic_vector(2 downto 0); -oc : out std_logic);end count;architecture archcount of count issignal q:std_logic_vector(2 downto 0); begin counter:process(clk) begin if(clkevent and clk=1) then if q=111 then q=000;-oc=1; else q=q+1;-oc=0; end if

27、;end if;cnt=q; end process;end archcount;(2)延時(shí)模塊library ieee;use ieee.std_logic_1164.all;entity delay isport(in1,in2,in3:in std_logic; out1,out2,out3:out std_logic);end delay;architecture behav of delay issignal comin:std_logic_vector(2 downto 0);signal comout:std_logic_vector(2 downto 0);beginproce

28、ss(in1,in2,in3)begincomin comout comout comout comout comout comout comout comoutcomout=ZZZ; end case;out1=comout(0);out2=comout(1);out3=comout(2); end process;end behav;(3)AD采樣控制模塊library ieee;use ieee.std_logic_1164.all;entity adcontrol isport(D : in std_logic_vector(11 downto 0); clk,eoc : in std

29、_logic; b0,b1,b2:in std_logic; wr_en,rd_en : out std_logic; lock0,conv,rd,cs: out std_logic; Q : out std_logic_vector(15 downto 0);end entity;architecture behav of adcontrol istype states is(st1,st2,st3,st4,st5,st6,st7,st8);signal current_state,next_state:states:=st1;signal regl1 : std_logic_vector(

30、11 downto 0);signal regl : std_logic_vector(15 downto 0);signal lock : std_logic;beginlock0 next_state next_state next_state if (eoc=1) then next_state = st4; else next_state if (eoc=0) then next_state = st5; else next_state next_state next_state next_state next_state conv=1;cs=1;rd=1;lock=0;wr_en=0

31、;rd_en conv=0;cs=1;rd=1;lock=0;wr_en=0;rd_en conv=1;cs=1;rd=1;lock=0;wr_en=0;rd_en conv=1;cs=1;rd=1;lock=0;wr_en=0;rd_en conv=1;cs=1;rd=1;lock=0; wr_en=0;rd_en conv=1;cs=0;rd=0;lock=1; wr_en=1;rd_en conv=1;cs=1;rd=1;lock=0; wr_en=0;rd_en conv=1;cs=1;rd=1;lock=0;wr_en=0;rd_en conv=1;cs=1;rd=1;lock=0;

32、wr_en=0;rd_en=0; end case; end process com2;com3:process(clk)variable dog_count:integer range 0 to 64;variable com3_num_count:integer range 0 to 16553500; begin if(clkevent and clk=1) then current_state=next_state; -看門狗 if(current_state=st4) thenm_watchdog = s0; end if; if(current_state=st6) thenm_w

33、atchdog 40) then current_state=st1; dog_count:=0; end if;end if; -看門狗 end if; end process com3;latch1:process(lock) begin if lock=1 and lockevent then regl1=D; end if; end process latch1;regl=0&b2&b1&b0®l1;Q=regl1;end behav;(4)串并轉(zhuǎn)換模塊部分程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_

34、unsigned.all;entity counter4 is port(clk:in std_logic; cnt4 : out std_logic_vector(3 downto 0) );end counter4;architecture archcount of counter4 issignal q:std_logic_vector(3 downto 0); begin counter:process(clk) begin if(clkevent and clk=1) then if q=1111 then q=0000; else q=q+1; end if;end if;cnt4=q; end process;end archcount;1 FPGA頂層設(shè)計(jì)圖3 電路設(shè)計(jì)圖(1)音頻放大(2)濾波器(3)AD7892電路

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!