畢業(yè)設(shè)計(jì)論文基于FPGA的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)論文基于FPGA的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)論文基于FPGA的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)論文基于FPGA的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)論文基于FPGA的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、泉 州 師 范 學(xué) 院 畢業(yè)論文(設(shè)計(jì)) 題目 基于fpga的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)物理與信息工程 學(xué)院 電子信息科學(xué)與技術(shù) 專(zhuān)業(yè) 2007 級(jí)學(xué)生姓名 學(xué)號(hào) 指導(dǎo)教師 職稱(chēng) 講師 完成日期 2011年4月2日 教務(wù)處 制基于fpga的數(shù)字采集系統(tǒng)電路設(shè)計(jì)泉州師范學(xué)院 電子信息科學(xué)與技術(shù)專(zhuān)業(yè)指導(dǎo)教師 講師【摘要】本文介紹了基于fpga的數(shù)據(jù)采集系統(tǒng)電路的工作原理和設(shè)計(jì)過(guò)程。根據(jù)數(shù)據(jù)采集技術(shù)原理,以altera公司的ep2c8q208c8n芯片為核心器件,通過(guò)adc0809采集數(shù)據(jù),并用dac0832輸出數(shù)據(jù),在quartus ii平臺(tái)上,通過(guò)vhdl語(yǔ)言編程完成數(shù)據(jù)采集系統(tǒng)電路的軟件設(shè)計(jì)、編譯、

2、調(diào)試、仿真和下載,再與外圍硬件電路相結(jié)合調(diào)試,最終設(shè)計(jì)出數(shù)據(jù)采集系統(tǒng)電路。【關(guān)鍵詞】fpga;quartus ii;vhdl;數(shù)據(jù)采集目錄第一章 緒論31.1 引言31.2 eda簡(jiǎn)介31.3 fpga簡(jiǎn)介31.4 vhdl語(yǔ)言簡(jiǎn)介31.5 quartus ii簡(jiǎn)介41.6 數(shù)據(jù)采集技術(shù)簡(jiǎn)介4第二章 總體設(shè)計(jì)42.1 硬件設(shè)計(jì)42.1.1 線(xiàn)性電源模塊42.1.2 數(shù)據(jù)采集模塊62.1.3 數(shù)據(jù)輸出模塊82.1.4 按鍵控制模塊102.2 軟件設(shè)計(jì)112.2.1 adcint設(shè)計(jì)112.2.2 cnt10b設(shè)計(jì)122.2.3 ram8設(shè)計(jì)122.2.4時(shí)鐘控制設(shè)計(jì)122.2.5系統(tǒng)頂層設(shè)計(jì)13

3、第三章 系統(tǒng)軟硬件調(diào)試14結(jié)論15致謝15參考文獻(xiàn)15英文翻譯17附錄一 線(xiàn)性電源、fpga外圍電路和fpga最小系統(tǒng)連接口pcb18附錄二 系統(tǒng)各模塊vhdl程序19第一章 緒論1.1 引言隨著數(shù)字系統(tǒng)的發(fā)展,廣泛應(yīng)用于各種學(xué)科領(lǐng)域及日常生活,微型計(jì)算機(jī)就是一個(gè)典型的數(shù)學(xué)系統(tǒng)。但是它只能對(duì)輸入的數(shù)字信號(hào)進(jìn)行處理,其輸出信號(hào)也是數(shù)字信號(hào)。而在工業(yè)檢測(cè)控制和生活中的許多物理量都是連續(xù)變化的模擬量,如溫度、壓力、流量、速度等,這些模擬量可以通過(guò)傳感器或換能器變成與之對(duì)應(yīng)的電壓、電流或頻率等電模擬量。為了實(shí)現(xiàn)數(shù)字系統(tǒng)對(duì)這些電模擬量進(jìn)行檢測(cè)、運(yùn)算和控制,就需要一個(gè)模擬量與數(shù)字量之間的相互轉(zhuǎn)換的過(guò)程。即

4、常常需要將模擬量轉(zhuǎn)換成數(shù)字量,簡(jiǎn)稱(chēng)為ad轉(zhuǎn)換,完成這種轉(zhuǎn)換的電路稱(chēng)為模數(shù)轉(zhuǎn)換器,簡(jiǎn)稱(chēng)adc。1.2 eda簡(jiǎn)介eda,即電子設(shè)計(jì)自動(dòng)化(electronic design automation)的縮寫(xiě)。它融合了大規(guī)模集成電路制造急速、asic測(cè)試和封裝技術(shù)、fpga/cpld編程下載技術(shù)、自動(dòng)測(cè)試技術(shù)、計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測(cè)試(cat)和計(jì)算機(jī)輔助工程(cae)設(shè)計(jì)的設(shè)計(jì)概念,為現(xiàn)代電子理論和設(shè)計(jì)的實(shí)現(xiàn)和發(fā)展提供了可能性1。eda技術(shù)是一種綜合性學(xué)科,打破了軟件和硬件見(jiàn)的壁壘,把計(jì)算機(jī)的軟件技術(shù)與硬件技術(shù)、設(shè)計(jì)效率和產(chǎn)品性能結(jié)合在一起,它代表了電子設(shè)計(jì)

5、技術(shù)和應(yīng)用技術(shù)的發(fā)展方向。 eda技術(shù)一般包括以下內(nèi)容:1.大規(guī)模可編程邏輯器件;2.硬件描述語(yǔ)言;3.軟件開(kāi)發(fā)工具;4.實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)2。1.3 fpga簡(jiǎn)介fpga,即現(xiàn)場(chǎng)可編程門(mén)陣列(fieldprogrammable gate array)的縮寫(xiě)。它是一種集成度較高的器件,屬于復(fù)雜pld。fpga具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn),在產(chǎn)品研發(fā)和開(kāi)發(fā)中具有很大的優(yōu)勢(shì)。用fpga做一些協(xié)議實(shí)現(xiàn)和邏輯控制,如果協(xié)議理解錯(cuò)誤或者邏輯需要更改,不需要?jiǎng)觩cb。另外,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。目前fpga的品種很多,有xilinx的xc系列、

6、ti公司的tpc系列、altera公司的fiex系列等。本設(shè)計(jì)用的是altera公司的ep2c8q208c8n芯片,里面有68416個(gè)邏輯單元,并提供了622個(gè)可用的輸入/輸出引腳和1.1m比特的嵌入式寄存器。它提高了百分之六十的性能和降低了一半的功耗,而低成本和優(yōu)化特征使它為各種各樣的汽車(chē)、消費(fèi)、通訊、視頻處理、測(cè)試與測(cè)量、和其他最終市場(chǎng)提供理想的解決方案3。1.4 vhdl語(yǔ)言簡(jiǎn)介誕生于1983年的vhdl,是very-high-speed integrated circuit hardware description language的簡(jiǎn)稱(chēng),1987年底,vhdl被作為“ieee標(biāo)準(zhǔn)10

7、76”發(fā)布。vhdl不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,能通過(guò)quartus ii把vhdl源碼自動(dòng)轉(zhuǎn)化為基本邏輯元件連接圖,這極大的推進(jìn)了電路自動(dòng)設(shè)計(jì)4。vhdl能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,所以大大簡(jiǎn)化了電路設(shè)計(jì)的任務(wù),提高了設(shè)計(jì)效率。1.5 quartus ii簡(jiǎn)介由altera提供的fpga開(kāi)發(fā)集成環(huán)境quartus ii,因?yàn)槠溥\(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn),迅速占領(lǐng)了市場(chǎng)5。quartus ii支持vhdl、verilog的設(shè)計(jì)流程,提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿(mǎn)足各種特定設(shè)計(jì)的需要,同時(shí),它還具備仿真功能,因此給系統(tǒng)的軟硬件設(shè)

8、計(jì)和調(diào)試帶來(lái)了很大的便利。1.6 數(shù)據(jù)采集技術(shù)簡(jiǎn)介系統(tǒng)利用fpga直接控制adc0809對(duì)模擬信號(hào)進(jìn)行采樣,將轉(zhuǎn)換好的8位二進(jìn)制數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,在完成對(duì)模擬信號(hào)一個(gè)或數(shù)個(gè)周期的采樣后,通過(guò)dac0832的輸出端將數(shù)據(jù)讀取出來(lái)。第二章 總體設(shè)計(jì)2.1 硬件設(shè)計(jì)2.1.1 線(xiàn)性電源模塊根據(jù)系統(tǒng)要求,需提供+12v、-12v、+5v的電源。因此我采用了濾波電容、防自激電容、led燈及固定式三端穩(wěn)壓器lm7905、lm7812和lm7912等器件搭建成能產(chǎn)生精度高、穩(wěn)定度好的直流輸出電壓的線(xiàn)性電源電路。系統(tǒng)的線(xiàn)性電源電路部分原理圖如圖2.1所示:圖2.1 系統(tǒng)的線(xiàn)性電源模塊電路當(dāng)電路接通后,如果l

9、ed燈亮起,則代表能產(chǎn)生出要求的電壓。為了實(shí)驗(yàn)的攜帶方便,我另外再加上電源變壓器和整流電橋。在畫(huà)pcb的時(shí)候,用大面積覆銅,有助于美觀(guān)和節(jié)約實(shí)驗(yàn)器材。實(shí)物如圖2.2所示:圖2.2系統(tǒng)的線(xiàn)性電源實(shí)物圖pcb圖見(jiàn)附錄一。2.1.2 數(shù)據(jù)采集模塊系統(tǒng)采用adc0809進(jìn)行數(shù)據(jù)采集。adc0809是逐次逼近式a/d轉(zhuǎn)化器,由8位a/d轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容組成的控制邏輯的cmos組件。adc0809每進(jìn)行一次比較,即決定數(shù)字碼中的以為碼的去留操作,需要8個(gè)時(shí)鐘的脈沖,而它是8位a/d轉(zhuǎn)換器,所以它完成一次轉(zhuǎn)換需要8*8=64個(gè)時(shí)鐘,這樣它的轉(zhuǎn)換時(shí)間為t=64*(1/f),f為時(shí)鐘頻率。系

10、統(tǒng)用的時(shí)鐘為500khz,所以adc0809的轉(zhuǎn)換時(shí)間為128us6。因?yàn)椴蓸訒r(shí)需要滿(mǎn)足采樣定理,即采樣頻率需要大于等于輸入信號(hào)最高頻率的2倍,所以adc0809能采樣的最高頻率為3906.25hz。adc0809的主要特性:1.分辨率為8位。2.具有轉(zhuǎn)換啟??刂贫?。3.單個(gè)+5v電源供電。4.模擬輸入電壓范圍0+5v,不需要零點(diǎn)和滿(mǎn)刻度校準(zhǔn)。系統(tǒng)中由可調(diào)電位器提供。5.工作溫度范圍為-40+85攝氏度。6.低功耗,約15mw。它的內(nèi)部邏輯結(jié)構(gòu)如圖2.3所示:圖2.3 adc0809內(nèi)部邏輯結(jié)構(gòu)adc0809引腳排列如圖2.4所示:圖2.4 adc0809引腳排列adc0809為28引腳雙列直

11、插式封裝,各引腳含義如下:in0in7:8位模擬量輸入引腳。d0d7:8位數(shù)字輸出量引腳。start:a/d轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。eoc:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。oe:輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。clk:時(shí)鐘信號(hào)輸入端。vcc:+5v工作電壓。vref():參考電壓正端。gnd:地。vref():參考電壓負(fù)端。ale:地址鎖存允許信號(hào)輸入端。abc:地址輸入線(xiàn)。系統(tǒng)的數(shù)據(jù)采集模塊部分電路原理圖如圖2.5所示:圖2.5 系統(tǒng)數(shù)據(jù)采集模塊電路當(dāng)ale高電平有效時(shí),因?yàn)閍bc接的都是低電平,所以選擇的是in0通道。當(dāng)start為上跳沿時(shí),所有內(nèi)部

12、寄存器清零;下跳沿時(shí),開(kāi)始a/d轉(zhuǎn)換;在轉(zhuǎn)換期間,start需保持低電平不變。而當(dāng)eoc為高電平時(shí),表明a/d轉(zhuǎn)換結(jié)束。當(dāng)oe=1時(shí),輸出轉(zhuǎn)換得來(lái)的數(shù)據(jù);否則,輸出數(shù)據(jù)線(xiàn)呈高阻態(tài)。pcb圖見(jiàn)附錄一。2.1.3 數(shù)據(jù)輸出模塊系統(tǒng)采用的數(shù)據(jù)輸出為dac0832。dac0832是8分辨率的d/a轉(zhuǎn)換集成芯片,由8位輸入鎖存器、8位dac寄存器、8位d/a轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。它因?yàn)閮r(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),而得到了廣泛的應(yīng)用7。dac0832的主要參數(shù)有:1.分辨率為8位。2.轉(zhuǎn)換時(shí)間為1us。3.滿(mǎn)量程誤差為±1lsb。4.參考電壓為-10+10v。5.供電電源為+5

13、+15v。6.邏輯電平輸入與ttl兼容。它的內(nèi)部邏輯結(jié)構(gòu)如圖2.6所示:圖2.6 dac0832內(nèi)部邏輯結(jié)構(gòu)dac0832引腳排列如圖2.7所示:圖2.7dac0832引腳排列cs:片選信號(hào)輸入線(xiàn)(選通數(shù)據(jù)鎖存器),低電平有效。wr1:數(shù)據(jù)鎖存器寫(xiě)選通輸入線(xiàn),負(fù)脈沖(脈寬應(yīng)大于500ns)有效。agnd:模擬信號(hào)地。d0d7:8位數(shù)據(jù)輸入線(xiàn)。vref:基準(zhǔn)電壓輸入線(xiàn),范圍為-10v+10v。rfb:反饋信號(hào)輸入線(xiàn),可通過(guò)改變r(jià)fb端外接電阻值來(lái)調(diào)整轉(zhuǎn)換滿(mǎn)量程精度。dgnd:數(shù)字信號(hào)地。iout1:電流輸出端1,其值隨dac寄存器的內(nèi)容線(xiàn)性變化。iout2:電流輸出端2,其值與iout1值之和為

14、一常數(shù)。xfer:數(shù)據(jù)傳輸控制信號(hào)輸入線(xiàn),低電平有效。wr2:dac寄存器選通輸入線(xiàn),負(fù)脈沖(脈寬應(yīng)大于500ns)有效。ile:數(shù)據(jù)鎖存允許控制信號(hào)輸入線(xiàn),高電平有效。vcc:電源輸入端,范圍為+5v+15v。本實(shí)驗(yàn)用的是+5v。dac0832的輸出放大和濾波電路采用tl082芯片搭建。tl082是一通用j-fet雙運(yùn)算放大器。它的內(nèi)部結(jié)構(gòu)和引腳排列如圖2.8所示8:圖2.8 tl082內(nèi)部結(jié)構(gòu)和引腳排列tl082為8引腳雙列直插式封裝,各引腳含義如下:(1)output 1輸出1;(2)inverting input 1反向輸入1;(3)non-inverting input 1正向輸入1

15、;(4)vcc-電源-12v;(5)non-inverting input 2正向輸入2;(6)inverting input 2反向輸入2;(7)output 2輸出2;(8)vcc+電源+12v。系統(tǒng)的數(shù)據(jù)輸出電路部分原理圖如圖2.9所示:圖2.9 系統(tǒng)數(shù)據(jù)輸出模塊電路2.1.4 按鍵控制模塊系統(tǒng)采用兩個(gè)按鍵開(kāi)關(guān)設(shè)計(jì)正/負(fù)電平輸入信號(hào)電路,作按鍵控制模塊。一個(gè)按鍵控制clr,另一個(gè)按鍵控制wren。兩個(gè)按鍵開(kāi)關(guān)電路如圖2.10所示:圖2.10 系統(tǒng)按鍵控制模塊電路系統(tǒng)實(shí)物如圖2.11所示:圖2.11 系統(tǒng)實(shí)物圖在畫(huà)pcb的時(shí)候,用大面積覆銅,有助于美觀(guān)和節(jié)約實(shí)驗(yàn)器材。系統(tǒng)pcb圖見(jiàn)附錄一。

16、2.2 軟件設(shè)計(jì)2.2.1 adcint設(shè)計(jì)adcint是控制0809的采樣狀態(tài)機(jī)。由adc0809驅(qū)動(dòng)程序生成的原理圖如圖2.12所示:圖2.12 adcintadcint仿真圖如圖2.13所示:圖2.13 adcint仿真圖2.2.2 cnt10b設(shè)計(jì)cnt10b中有一個(gè)用于ram的9位地址計(jì)數(shù)器,它的工作時(shí)鐘clk0由wren控制:當(dāng)wren=1時(shí),clk0=lock0,lock0來(lái)自于adc0809采樣控制器,這時(shí)處于采樣允許階段,ram的地址鎖存時(shí)鐘inclock=clkout=lock0;這樣每當(dāng)一個(gè)lock0的脈沖通過(guò)adc0809時(shí)采到一個(gè)數(shù)據(jù),并將它存入ram中。當(dāng)wren=

17、0時(shí),采樣禁止,允許讀出ram中的數(shù)據(jù)。把示波器接到dac0832的輸出端就能看到波形。cnt10b原理圖如圖2.14所示:圖2.14 cnt10b2.2.3 ram8設(shè)計(jì)ram8是lam_ram,它有8位數(shù)據(jù)線(xiàn)和9位地址線(xiàn)。wren是寫(xiě)時(shí)能,高電平有效。ram8原理圖如圖2.15所示:圖2.15 ram82.2.4時(shí)鐘控制設(shè)計(jì)由芯片ep2c8q208c8n產(chǎn)生的20mhz的時(shí)鐘做輸入,經(jīng)過(guò)分頻以后,一路輸出與芯片ep2c8q208c8n的169引腳相連的500khz的時(shí)鐘,另一路則輸出給adc0809供電的10khz的時(shí)鐘。時(shí)鐘控制原理圖如圖2.16所示:圖2.16 時(shí)鐘控制2.2.5系統(tǒng)頂

18、層設(shè)計(jì)系統(tǒng)頂層原理框圖如圖2.17所示,圖中d為8位數(shù)據(jù)輸入,clk為系統(tǒng)時(shí)鐘輸入信號(hào)頻率,由系統(tǒng)時(shí)鐘信號(hào)輸入電路控制。q為ram8的8位輸出,與dac0832相接。圖2.17 系統(tǒng)頂層原理框圖系統(tǒng)頂層仿真圖如圖2.18所示:圖2.18 系統(tǒng)頂層仿真圖系統(tǒng)引腳鎖定示意圖如圖2.19所示:圖2.19系統(tǒng)引腳連接圖系統(tǒng)各模塊vhdl程序見(jiàn)附錄二。第三章 系統(tǒng)軟硬件調(diào)試根據(jù)系統(tǒng)總體要求,把寫(xiě)好的vhdl程序進(jìn)行引腳鎖定,綜合,適配,編程下載,調(diào)試。將線(xiàn)性電源模塊、數(shù)據(jù)采集模塊、fpga模塊、數(shù)據(jù)輸出模塊及按鍵控制模塊連接好,時(shí)鐘頻率由系統(tǒng)時(shí)鐘信號(hào)輸入電路提供,然后通過(guò)jtag下載模式在線(xiàn)將生成的配置

19、文件寫(xiě)入芯片中,如圖3.1所示:圖3.1 程序下載通過(guò)反復(fù)調(diào)試、修改、功能驗(yàn)證確認(rèn)無(wú)誤后,用示波器探頭接dac0832輸出端。測(cè)得的實(shí)驗(yàn)數(shù)據(jù)見(jiàn)表1:表1 系統(tǒng)測(cè)試數(shù)據(jù)輸入波形的頻率輸出波形的頻率50.050hz50.031 hz99.630 hz99.611 hz113.77 hz113.40 hz150.24 hz150.29 hz199.18 hz199.22 hz250.61 hz250.53 hz300.54 hz300.59 hz350.96 hz351.03 hz407.50 hz407.40 hz測(cè)得的數(shù)據(jù)范圍從50.050 hz到407.50 hz,平均相對(duì)誤差為0.0039,

20、具有較高的精度,基本達(dá)到了設(shè)計(jì)要求。結(jié)論本設(shè)計(jì)從可編程邏輯器件(fpga)著手,用vhdl語(yǔ)言,結(jié)合adc0809、dac0832、tl082等芯片實(shí)現(xiàn)了數(shù)據(jù)采集與輸出。首先通過(guò)對(duì)數(shù)據(jù)采集原理進(jìn)行分析,總體上提出實(shí)現(xiàn)數(shù)據(jù)采集與輸出方案,通過(guò)cnt10b和ram8等模塊的設(shè)計(jì),用fpga實(shí)現(xiàn)了數(shù)據(jù)的采集與輸出,并完成了軟硬件設(shè)計(jì)和調(diào)試。其放大電路和濾波電路用的芯片是tl082,其放大倍數(shù)合適,低通濾波性能較好,輸出波形較為平滑。同時(shí),設(shè)計(jì)中還存在一些不足之處,主要表現(xiàn)在以下幾個(gè)方面。第一,外圍電路的數(shù)據(jù)采集模塊不夠理想,成為影響波形輸出的主要因素,可以用更好的ad芯片。第二,濾波部分可以找到更合

21、適的濾波器件,以提高波形的平滑度。第三,ram8采用8位,針對(duì)輸出平坦度不夠的問(wèn)題,可以通過(guò)軟硬件修正的方法來(lái)解決,可以擴(kuò)充rom的容量。致謝首先要感謝指導(dǎo)老師曾永西的嚴(yán)格指導(dǎo)和親切關(guān)懷,從一開(kāi)始選題方向的指導(dǎo),以及vhdl程序上的幫助,又提供了實(shí)驗(yàn)室這么好的良好的設(shè)計(jì)環(huán)境和條件,最終才使我能夠順利完成項(xiàng)目的設(shè)計(jì),曾老師兢兢業(yè)業(yè)的工作精神、踏實(shí)真誠(chéng)的處事態(tài)度也讓我受益匪淺。值此成文之際,我向曾老師表示衷心的感謝。同時(shí)也感謝同組的同學(xué)以及我們專(zhuān)業(yè)其他同學(xué),此次設(shè)計(jì)的順利完成少不了你們的毫無(wú)保留幫助和傾盡全力的支持,在此我衷心感謝你們。由于自身水平有限,設(shè)計(jì)中難免存在一些不足之處,敬請(qǐng)各位老師批評(píng)

22、指正。參考文獻(xiàn)1 潘松,黃繼業(yè).eda技術(shù)實(shí)用教程(第三版)m.北京:科學(xué)出版社,2006:1-22 趙曙光,郭萬(wàn)有.可編程邏輯器件原理、開(kāi)發(fā)與應(yīng)用m.西安:電子科技大學(xué)出版社,2000:80-853 4 甘歷.vhdl應(yīng)用與開(kāi)發(fā)實(shí)踐m.北京:科技出版社,2003:50-515 徐志軍.大規(guī)??删幊踢壿嬈骷捌鋺?yīng)用m.成都:電子科技大學(xué)出版社,20006 程佩清.數(shù)字信號(hào)處理教程m.北京:清華大學(xué)出版社,20017 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與 verilog hdlm.北京:電子工業(yè)出版社,20018 uwemeyer-baese.數(shù)字信號(hào)處理的fpga實(shí)現(xiàn)m.北京:清華大學(xué)出版社,2002英文翻

23、譯digital acquisition system circuit based on fpgaphysics and information engineering collegeelectronic information science and technology major 070303029 borui lifaculty adviser yongxi zeng lecturer【abstract】: this paper introduces the working principle and design process of the data acquisition sys

24、tem circuit based on fpga. according to the principle of data collection technology, altera company in ep2c8q208c8n chip in for the core device, collect data by the adc0809 output data by the dac0832, through the vhdl language programming complete simple oscilloscope software design, compilation, de

25、bugging, simulation and download and peripheral hardware circuit, and combining the final design debugging, data acquisition system circuit in quartus ii platform.【key words】: fpga;quartus ii;vhdl;data acquisition附錄一 線(xiàn)性電源、fpga外圍電路和fpga最小系統(tǒng)連接口pcb線(xiàn)性電源fpga外圍電路和fpga最小系統(tǒng)連接口附錄二 系統(tǒng)各模塊vhdl程序時(shí)鐘控制的vhdl源程序:lib

26、rary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clk_b is port(clk: in std_logic; clk500k,clk10k: out std_logic);end entity; architecture behave of clk_b is signal clk1,clk2: std_logic;signal temp1: integer range 0 to 49; signal temp2: int

27、eger range 0 to 2499;begin process(clk)-500khzbeginif clk'event and clk='1' thentemp1<=temp1+1;if temp1=24 thenclk1<=not clk1;temp1<=0;end if; end if;end process;process(clk)-10khzbeginif clk'event and clk='1' thentemp2<=temp2+1;if temp2=1249 thenclk2<=not clk2

28、;temp2<=0;end if; end if;end process;clk500k <= clk1; clk10k <= clk2;end behave;adcint的vhdl源程序:library ieee;use ieee.std_logic_1164.all;entity adcint is port(d : in std_logic_vector(7 downto 0); -來(lái)自0809轉(zhuǎn)換好的8位數(shù)據(jù)clk : in std_logic; -狀態(tài)機(jī)工作時(shí)鐘eoc : in std_logic; -轉(zhuǎn)換狀態(tài)指示,低電平表示正在轉(zhuǎn)換ale : out std_lo

29、gic; -8個(gè)模擬信號(hào)通道地址鎖存信號(hào)start : out std_logic; -轉(zhuǎn)換開(kāi)始信號(hào)oe : out std_logic; -數(shù)據(jù)輸出3態(tài)控制信號(hào)adda : out std_logic; -信號(hào)通道最低位控制信號(hào)lock0 : out std_logic; -觀(guān)察數(shù)據(jù)鎖存時(shí)鐘q : out std_logic_vector(7 downto 0); -8位數(shù)據(jù)輸出end adcint;architecture behav of adcint istype states is (st0, st1, st2, st3,st4) ; -定義各狀態(tài)子類(lèi)型 signal current

30、_state, next_state: states :=st0 ; signal regl : std_logic_vector(7 downto 0); signal lock : std_logic; - 轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時(shí)鐘信號(hào) beginadda <= '0'-當(dāng)adda<='0',模擬信號(hào)進(jìn)入通道in0;當(dāng)adda<='1',則進(jìn)入通道in1q <= regl; lock0 <= lock ; com: process(current_state,eoc) begin -規(guī)定各狀態(tài)轉(zhuǎn)換方式 case c

31、urrent_state is when st0=>ale<='0'start<='0'lock<='0'oe<='0' next_state <= st1; -0809初始化 when st1=>ale<='1'start<='1'lock<='0'oe<='0' next_state <= st2; -啟動(dòng)采樣 when st2=> ale<='0'start<

32、;='0'lock<='0'oe<='0' if (eoc='1') then next_state <= st3; -eoc=1表明轉(zhuǎn)換結(jié)束 else next_state <= st2; end if ; -轉(zhuǎn)換未結(jié)束,繼續(xù)等待 when st3=> ale<='0'start<='0'lock<='0'oe<='1' next_state <= st4;-開(kāi)啟oe,輸出轉(zhuǎn)換好的數(shù)據(jù) when st4=&

33、gt; ale<='0'start<='0'lock<='1'oe<='1' next_state <= st0; when others => next_state <= st0; end case ; end process com ; reg: process (clk) begin if (clk'event and clk='1') then current_state<=next_state; end if; end process reg ; -

34、 由信號(hào)current_state將當(dāng)前狀態(tài)值帶出此進(jìn)程:reg latch1: process (lock) - 此進(jìn)程中,在lock的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入 begin if lock='1' and lock'event then regl <= d ; end if; end process latch1 ; end behav;cnt10b的vhdl源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10b is port (lo

35、ck0,clr : in std_logic; clk : in std_logic; we : in std_logic; dout : out std_logic_vector(8 downto 0); clkout : out std_logic ); end cnt10b;architecture behav of cnt10b is signal cqi : std_logic_vector(8 downto 0); signal clk0 : std_logic;beginclk0 <= lock0 when we='1' else clk; process(clk0,clr,cqi) begin if clr = '1' then cqi <= "000000000" elsif clk0'event and clk0 = '1' then cqi <= cqi + 1; end if; end process; dout <= cqi; clkou

溫馨提示

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

評(píng)論

0/150

提交評(píng)論