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

下載本文檔

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

文檔簡(jiǎn)介

1、 信息工程學(xué)院2014 / 2015學(xué)年第 二 學(xué)期課程設(shè)計(jì)報(bào)告題 目:基于fpga的音樂硬件演奏電路設(shè)計(jì) 課 程 名 稱 fpga系統(tǒng)開發(fā) 班 級(jí) 學(xué) 號(hào) 23/15/16 學(xué) 生 姓 名 劉嘉穎/李瀅/陳領(lǐng)指 導(dǎo) 教 師 王 棟 2015年7月3日課程設(shè)計(jì)報(bào)告任務(wù)書學(xué) 號(hào)136105011537951361010515119113610108151852姓名劉嘉穎/李瀅/陳領(lǐng)專業(yè)電子信息工程設(shè)計(jì)題目基于fpga的音樂硬件演奏電路設(shè)計(jì)設(shè)計(jì)技術(shù)要求這是一種運(yùn)用純硬件實(shí)現(xiàn)樂曲播放的電路,比運(yùn)用微處理器實(shí)現(xiàn)樂曲播放更加復(fù)雜。它運(yùn)用了強(qiáng)大功能的eda工具fpga和硬件描述語言vhdl。本設(shè)計(jì)以歌曲媽

2、媽的吻來實(shí)現(xiàn)樂曲播放電路的功能。1順序播放樂曲功能:當(dāng)電路開始工作時(shí),如果存儲(chǔ)器中有多首樂曲,那么演奏電路將從頭到尾順序播放這些樂曲。2循環(huán)播放樂曲功能:當(dāng)演奏完后一首樂曲時(shí),將自動(dòng)返回到第一首歌曲開始播放,反復(fù)不止,直到關(guān)閉電源電路停止工作為止。3樂曲簡(jiǎn)譜顯示功能:當(dāng)演奏電路播放樂曲時(shí),能夠?qū)?dāng)前播放的音符通過一列發(fā)光二極管以二進(jìn)制的形式予以顯示。4樂曲高音顯示功能:如果電路正在播放高音音符,那么將有一個(gè)發(fā)光二極管點(diǎn)亮來顯示。5音量大小可調(diào)功能:運(yùn)用eda實(shí)驗(yàn)箱上的數(shù)字功率放大器lm386n,對(duì)數(shù)控分頻器輸出的音頻信號(hào)予以處理,輸出大小連續(xù)可調(diào)的音頻信號(hào)到揚(yáng)聲器。設(shè)計(jì)要求1本次設(shè)計(jì)在eda開

3、發(fā)平臺(tái)quartus ii 9.0上利用vhdl語言設(shè)計(jì)數(shù)控分頻器電路,利用數(shù)控分頻的原理設(shè)計(jì)音樂硬件演奏電路,并定制lpm-rom存儲(chǔ)音樂數(shù)據(jù),以“梁?!焙汀霸铝链砦业男摹眱墒讟非鸀槔瑢⒁魳窋?shù)據(jù)存儲(chǔ)到lpm-rom,就達(dá)到了以純硬件的手段來實(shí)現(xiàn)樂曲的演奏效果。只要修改lpm-rom所存儲(chǔ)的音樂數(shù)據(jù),將其換成其他樂曲的音樂數(shù)據(jù),再重新定制lpm-rom,連接到程序中就可以實(shí)現(xiàn)其它樂曲的演奏。2認(rèn)真完成本課程設(shè)計(jì)報(bào)告,確保報(bào)告的完整性,按時(shí)提交,不得抄襲他人成果。參考文獻(xiàn)1 康華光,陳大欽.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)m.高等教育出版社,1987:45-59.2 潘松.eda技術(shù)實(shí)用教程m

4、.北京:科學(xué)教育出版社,2006:2-38.3 盧毅編著.vhdl與數(shù)字電路設(shè)計(jì)m.北京.科技大學(xué)出版,2001:38-40.4 侯佰亨,顧新編著.vhdl硬件描述語言與實(shí)際應(yīng)用m.西安.西安電子科社,2000:269-280.5 謝自美.電子線路設(shè)計(jì)(第二版)m.華中科技大學(xué)出版社,2000:130-135.6 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與verilog hdl(第四版) m.電子工業(yè)出版社,2011:264-270.課程設(shè)計(jì)報(bào)告成績(jī)姓名: 劉嘉穎/李瀅/陳領(lǐng) 學(xué)號(hào):23/15/16 專業(yè): 電子信息工程 課程設(shè)計(jì)題目: 基于fpga音樂硬件演奏系統(tǒng)設(shè)計(jì) 指導(dǎo)教師評(píng)語:成績(jī):指導(dǎo)教師:年 月 日摘

5、 要數(shù)據(jù)采集系統(tǒng)是信號(hào)與信息處理系統(tǒng)中不可缺少的重要組成部分,同時(shí)也是軟件無線電系統(tǒng)中的核心模塊,在現(xiàn)代雷達(dá)系統(tǒng)以及無線基站系統(tǒng)中的應(yīng)用越來越廣泛。其中fpga作為本系統(tǒng)的控制核心和傳輸橋梁,發(fā)揮了極其重要的作用。通過fpga不僅完成了系統(tǒng)中全部數(shù)字電路部分的設(shè)計(jì),并且使系統(tǒng)具有了較高的可適應(yīng)性、可擴(kuò)展性和可調(diào)試性。fpga是近年來廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度、高速、可編程等優(yōu)點(diǎn),大大推動(dòng)了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動(dòng)化,縮短了單片數(shù)字系統(tǒng)的設(shè)計(jì)周期、提高了設(shè)計(jì)的靈活性和可靠性,在超高速信號(hào)處理和實(shí)時(shí)測(cè)控方面有非常廣泛的應(yīng)用。本文對(duì)fpga的數(shù)據(jù)采集與處理技術(shù)進(jìn)

6、行研究,基于fpga在數(shù)據(jù)采樣控制和信號(hào)處理方面的高性能和單片系統(tǒng)發(fā)展的新熱點(diǎn),把fpga作為整個(gè)數(shù)據(jù)采集與處理系統(tǒng)的控制核心。關(guān)鍵詞:fpga,采集和控制,單片機(jī),電路板,vhdl目 錄第一章 緒論11.1引言11.2eda簡(jiǎn)介11.3 fpga簡(jiǎn)介11.4 vhdl語言簡(jiǎn)介21.5 quartus ii簡(jiǎn)介31.6 數(shù)據(jù)采集技術(shù)簡(jiǎn)介3第二章 總體設(shè)計(jì)52.1 硬件設(shè)計(jì)52.1.1 線性電源模塊52.1.2 數(shù)據(jù)采集模塊52.1.3 數(shù)據(jù)輸出模塊82.1.4 按鍵控制模塊112.2 軟件設(shè)計(jì)122.2.1 adcint設(shè)計(jì)122.2.2 cnt10b設(shè)計(jì)122.2.3 ram8設(shè)計(jì)132.2

7、.4時(shí)鐘控制設(shè)計(jì)132.2.5系統(tǒng)頂層設(shè)計(jì)15第三章 系統(tǒng)軟硬件調(diào)試16結(jié)論18致謝18參考文獻(xiàn)19附錄20第一章 緒論1.1 引言隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)也迅速地得到應(yīng)用。在生產(chǎn)過程中,應(yīng)用這一系統(tǒng)可對(duì)生產(chǎn)現(xiàn)場(chǎng)的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供信息和手段。在科學(xué)研究中,應(yīng)用數(shù)據(jù)采集系統(tǒng)可獲得大量的動(dòng)態(tài)信息,是研究瞬間物理過程的有力工具,也是獲取科學(xué)奧秘的重要手段之一。隨著技術(shù)的發(fā)展,各種各樣基于數(shù)字化的產(chǎn)品不斷推陳出新,給我們的生活帶來了極大的好處。數(shù)字化之所以能如此得到廣泛拓展開來,其主要在于以下兩個(gè)優(yōu)點(diǎn):1、數(shù)字處理靈活、方便。在軟件無線電領(lǐng)

8、域,正在構(gòu)建個(gè)較通用的平臺(tái),通過軟件來實(shí)現(xiàn)現(xiàn)在許多“僵化”硬件平臺(tái)的功能。這正是基于數(shù)字化帶來的靈活性。2、數(shù)字系統(tǒng)穩(wěn)定可靠。在早期,較之模擬系統(tǒng),數(shù)字系統(tǒng)的最優(yōu)點(diǎn)就在于有良好的穩(wěn)定性。1.2 eda簡(jiǎn)介eda是電子設(shè)計(jì)自動(dòng)化(electronic design automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測(cè)試(cat)和計(jì)算機(jī)輔助工程(cae)的概念發(fā)展而來的。eda技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在eda軟件平臺(tái)上,用硬件描述語言hdl完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,

9、直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。eda技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。1.3 fpga簡(jiǎn)介 fpga是英文field programmable gate array的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊clb(configurable l

10、ogic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個(gè)部分。fpga的基本特點(diǎn)主要有1)采用fpga設(shè)計(jì)asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2)fpga可做其它全定制或半定制asic電路的中試樣片。3)fpga內(nèi)部有豐富的觸發(fā)器和io引腳。4)fpga是asic電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5)fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容??梢哉f,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。目前fpga的品種很多,有xilinx的xc系列、

11、ti公司的tpc系列、altera公司的fiex系列等。fpga是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時(shí),只需換一片eprom即可。這樣,同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。fp

12、ga有多種配置模式:并行主模式為一片fpga加一片eprom的方式;主從模式可以支持一片prom編程多片fpga;串行模式可以采用串行prom編程fpga;外設(shè)模式可以將fpga作為微處理器的外設(shè),由微處理器對(duì)其編程。1.4 vhdl語言簡(jiǎn)介vhdl 的英文全名是vhsic hardware description language(vhsic硬件描述語言)。vhsic是very high speed integrated circuit的縮寫,是20世紀(jì)80年代在美國(guó)國(guó)防部的資助下始創(chuàng)的,并最終導(dǎo)致了vhdl語言的出現(xiàn)。1987 年底,vhdl被 ieee 和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言

13、。vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,vhdl的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。vhdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是vhdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)1.5 quartus ii簡(jiǎn)介quartus ii可以在xp、linux以及unix上使用,除了可以使用

14、tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方eda工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方eda工具。此外,quartus ii 通過和dsp builder工具與matlab/simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種dsp應(yīng)用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,

15、是一種綜合性的開發(fā)平臺(tái)。quartusii圖標(biāo)maxplus ii 作為altera的上一代pld設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前altera已經(jīng)停止了對(duì)maxplus ii 的更新支持,quartus ii 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。altera在quartus ii 中包含了許多諸如signaltap ii、chip editor和rtl viewer的設(shè)計(jì)輔助工具,集成了sopc和hardcopy設(shè)計(jì)流程,并且繼承了maxplus ii 友好的圖形界面及簡(jiǎn)便的使用方法。 altera quartus ii 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于

16、其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。1.6數(shù)據(jù)采集技術(shù)簡(jiǎn)介 數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個(gè)接口。數(shù)據(jù)采集技術(shù)廣泛應(yīng)用在各個(gè)領(lǐng)域。比如攝像頭,麥克風(fēng),都是數(shù)據(jù)采集工具。 被采集數(shù)據(jù)是已被轉(zhuǎn)換為電訊號(hào)的各種物理量,如溫度、水位、風(fēng)速、壓力等,可以是模擬量,也可以是數(shù)字量。采集一般是采樣方式,即隔一定時(shí)間(稱采樣周期)對(duì)同一點(diǎn)數(shù)據(jù)重復(fù)采集。采集的數(shù)據(jù)大多是瞬時(shí)值,也可是某段時(shí)間內(nèi)的一個(gè)特征值。準(zhǔn)確的數(shù)據(jù)量測(cè)是數(shù)據(jù)采集的基礎(chǔ)。數(shù)據(jù)量測(cè)方法有接觸式和非接觸式,檢測(cè)元件多種多樣。不論哪種方法和元件,均以不影響被測(cè)對(duì)象狀態(tài)和測(cè)量

17、環(huán)境為前提,以保證數(shù)據(jù)的正確性。數(shù)據(jù)采集含義很廣,包括對(duì)面狀連續(xù)物理量的采集。在計(jì)算機(jī)輔助制圖、測(cè)圖、設(shè)計(jì)中,對(duì)圖形或圖像數(shù)字化過程也可稱為數(shù)據(jù)采集,此時(shí)被采集的是幾何量(或包括物理量,如灰度)數(shù)據(jù)。 在互聯(lián)網(wǎng)行業(yè)快速發(fā)展的今天,數(shù)據(jù)采集已經(jīng)被廣泛應(yīng)用于互聯(lián)網(wǎng)及分布式領(lǐng)域,數(shù)據(jù)采集領(lǐng)域已經(jīng)發(fā)生了重要的變化。首先,分布式控制應(yīng)用場(chǎng)合中的智能數(shù)據(jù)采集系統(tǒng)在國(guó)內(nèi)外已經(jīng)取得了長(zhǎng)足的發(fā)展。其次,總線兼容型數(shù)據(jù)采集插件的數(shù)量不斷增大,與個(gè)人計(jì)算機(jī)兼容的數(shù)據(jù)采集系統(tǒng)的數(shù)量也在增加。國(guó)內(nèi)外各種數(shù)據(jù)采集機(jī)先后問世,將數(shù)據(jù)采集帶入了一個(gè)全新的時(shí)代。第二章 總體設(shè)計(jì)2.1 硬件設(shè)計(jì)2.1.1 線性電源模塊 根據(jù)系統(tǒng)

18、要求,需提供+12v、-12v、+5v的電源。因此我采用了濾波電容、防自激電容、led燈及固定式三端穩(wěn)壓器lm7905、lm7812和lm7912等器件搭建成能產(chǎn)生精度高、穩(wěn)定度好的直流輸出電壓的線性電源電路。系統(tǒng)的線性電源電路部分原理圖如圖1所示:圖1 系統(tǒng)的線性電源模塊電路 當(dāng)電路接通后,如果led燈亮起,則代表能產(chǎn)生出要求的電壓。為了實(shí)驗(yàn)的攜帶方便,我另外再加上電源變壓器和整流電橋。2.1.2 數(shù)據(jù)采集模塊 系統(tǒng)采用adc0809進(jìn)行數(shù)據(jù)采集。 adc0809是逐次逼近式a/d轉(zhuǎn)化器,由8位a/d轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容組成的控制邏輯的cmos組件。adc0809每進(jìn)行一次比

19、較,即決定數(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í)鐘頻率。系統(tǒng)用的時(shí)鐘為500khz,所以adc0809的轉(zhuǎn)換時(shí)間為128us6。因?yàn)椴蓸訒r(shí)需要滿足采樣定理,即采樣頻率需要大于等于輸入信號(hào)最高頻率的2倍,所以adc0809能采樣的最高頻率為3906.25hz。 adc0809的主要特性: 1.分辨率為8位。 2.具有轉(zhuǎn)換啟停控制端。 3.單個(gè)+5v電源供電。 4.模擬輸入電壓范圍0+5v,不需要零點(diǎn)和滿刻度校準(zhǔn)。系統(tǒng)中由可調(diào)電位器提供。 5.工作溫度范圍為-40+85攝氏度。

20、 6.低功耗,約15mw。 它的內(nèi)部邏輯結(jié)構(gòu)如圖2所示:圖2adc0809內(nèi)部邏輯結(jié)構(gòu)adc0809引腳排列如圖3所示:圖3 adc0809引腳排列adc0809實(shí)物圖如圖4:圖4 adc0809實(shí)物圖adc0809為28引腳雙列直插式封裝,各引腳含義如下:in0in7:8位模擬量輸入引腳。d0d7:8位數(shù)字輸出量引腳。start:a/d轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。eoc:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。oe:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。clk:時(shí)鐘信號(hào)輸入端。vcc:+5v工作電壓。vref():參考電壓正端。gnd:地。vref():參考電壓負(fù)端。a

21、le:地址鎖存允許信號(hào)輸入端。abc:地址輸入線。系統(tǒng)的數(shù)據(jù)采集模塊部分電路原理圖如圖5所示:圖5 系統(tǒng)數(shù)據(jù)采集模塊電路 當(dāng)ale高電平有效時(shí),因?yàn)閍bc接的都是低電平,所以選擇的是in0通道。當(dāng)start為上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始a/d轉(zhuǎn)換;在轉(zhuǎn)換期間,start需保持低電平不變。而當(dāng)eoc為高電平時(shí),表明a/d轉(zhuǎn)換結(jié)束。當(dāng)oe=1時(shí),輸出轉(zhuǎn)換得來的數(shù)據(jù);否則,輸出數(shù)據(jù)線呈高阻態(tài)。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à)格

22、低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),而得到了廣泛的應(yīng)用7。 dac0832的主要參數(shù)有: 1.分辨率為8位。 2.轉(zhuǎn)換時(shí)間為1us。 3.滿量程誤差為1lsb。 4.參考電壓為-10+10v。 5.供電電源為+5+15v。 6.邏輯電平輸入與ttl兼容。 它的內(nèi)部邏輯結(jié)構(gòu)如圖6所示:圖6 dac0832內(nèi)部邏輯結(jié)構(gòu)dac0832引腳排列如圖7所示:圖7 dac0832引腳排列dac0832實(shí)物圖如圖8:圖8 dac0832實(shí)物圖 各引腳含義如下: cs:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效。 wr1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。 agnd:模擬信號(hào)地。d

23、0d7:8位數(shù)據(jù)輸入線。vref:基準(zhǔn)電壓輸入線,范圍為-10v+10v。rfb:反饋信號(hào)輸入線,可通過改變r(jià)fb端外接電阻值來調(diào)整轉(zhuǎn)換滿量程精度。dgnd:數(shù)字信號(hào)地。iout1:電流輸出端1,其值隨dac寄存器的內(nèi)容線性變化。iout2:電流輸出端2,其值與iout1值之和為一常數(shù)。xfer:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效。wr2:dac寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。ile:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效。vcc:電源輸入端,范圍為+5v+15v。本實(shí)驗(yàn)用的是+5v。dac0832的輸出放大和濾波電路采用tl082芯片搭建。tl082是一通用j-fet雙

24、運(yùn)算放大器。它的內(nèi)部結(jié)構(gòu)和引腳排列如圖9所示:圖9 tl082內(nèi)部結(jié)構(gòu)和引腳排列tl082為8引腳雙列直插式封裝,各引腳含義如下:(1)output 1輸出1;(2)inverting input 1反向輸入1;(3)non-inverting input 1正向輸入1;(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ù)輸出電路部分原理圖如圖10所示:圖10 系統(tǒng)數(shù)據(jù)輸出模塊電路2.1.4 按鍵控制模塊 系統(tǒng)采用兩個(gè)按鍵開關(guān)設(shè)計(jì)正/負(fù)電平

25、輸入信號(hào)電路,作按鍵控制模塊。一個(gè)按鍵控制clr,另一個(gè)按鍵控制wren。兩個(gè)按鍵開關(guān)電路如圖11所示:圖11 系統(tǒng)按鍵控制模塊電路2.2 軟件設(shè)計(jì)2.2.1 adcint設(shè)計(jì)adcint是控制0809的采樣狀態(tài)機(jī)。 由adc0809驅(qū)動(dòng)程序生成的原理圖如圖12所示:圖12 adcintadcint仿真圖如圖13所示:圖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來自于adc0809采樣控制器,這時(shí)處于采樣允許階段,ram的地址鎖存時(shí)鐘inclock

26、=clkout=lock0;這樣每當(dāng)一個(gè)lock0的脈沖通過adc0809時(shí)采到一個(gè)數(shù)據(jù),并將它存入ram中。 當(dāng)wren=0時(shí),采樣禁止,允許讀出ram中的數(shù)據(jù)。把示波器接到dac0832的輸出端就能看到波形。 cnt10b原理圖如圖14所示: 圖14 cnt10b2.2.3 ram8設(shè)計(jì) ram8是lam_ram,它有8位數(shù)據(jù)線和9位地址線。wren是寫時(shí)能,高電平有效。 ram8原理圖如圖15所示:圖15 ram82.2.4 時(shí)鐘控制設(shè)計(jì) 由芯片ep2c8q208c8n產(chǎn)生的20mhz的時(shí)鐘做輸入,經(jīng)過分頻以后,一路輸出與芯片ep2c8q208c8n的169引腳相連的500khz的時(shí)鐘,

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

28、件寫入芯片中,如圖19所示:圖19 程序下載通過反復(fù)調(diào)試、修改、功能驗(yàn)證確認(rèn)無誤后,用示波器探頭接dac0832輸出端。測(cè)得的實(shí)驗(yàn)數(shù)據(jù)見表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,具有較

29、高的精度,基本達(dá)到了設(shè)計(jì)要求。結(jié) 論本設(shè)計(jì)從可編程邏輯器件(fpga)著手,用vhdl語言,結(jié)合adc0809、dac0832、tl082等芯片實(shí)現(xiàn)了數(shù)據(jù)采集與輸出。首先通過對(duì)數(shù)據(jù)采集原理進(jìn)行分析,總體上提出實(shí)現(xiàn)數(shù)據(jù)采集與輸出方案,通過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芯片。第二,濾波部分可以找到更合適的

30、濾波器件,以提高波形的平滑度。第三,ram8采用8位,針對(duì)輸出平坦度不夠的問題,可以通過軟硬件修正的方法來解決,可以擴(kuò)充rom的容量。設(shè)計(jì)中何帥帥負(fù)責(zé)程序編寫和軟件仿真,羅騰利負(fù)責(zé)編寫報(bào)告,周彪負(fù)責(zé)資料查找。致 謝首先要感謝指導(dǎo)老師王棟的嚴(yán)格指導(dǎo)和親切關(guān)懷,從一開始選題方向的指導(dǎo),以及vhdl程序上的幫助,又提供了實(shí)驗(yàn)室這么好的良好的設(shè)計(jì)環(huán)境和條件,最終才使我能夠順利完成項(xiàng)目的設(shè)計(jì),老師兢兢業(yè)業(yè)的工作精神、踏實(shí)真誠(chéng)的處事態(tài)度也讓我受益匪淺。值此成文之際,我向老師表示衷心的感謝。 同時(shí)也感謝同組的同學(xué)以及我們專業(yè)其他同學(xué),此次設(shè)計(jì)的順利完成少不了你們的毫無保留幫助和傾盡全力的支持,在此我衷心感謝

31、你們。 由于自身水平有限,設(shè)計(jì)中難免存在一些不足之處,敬請(qǐng)老師批評(píng)指正。參考文獻(xiàn)1 潘松,黃繼業(yè).eda技術(shù)實(shí)用教程(第三版)m.北京:科學(xué)出版社,2006:1-22 趙曙光,郭萬有.可編程邏輯器件原理、開發(fā)與應(yīng)用m.西安:電子科技大學(xué)出版社,2000:80-853 4 甘歷.vhdl應(yīng)用與開發(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.

32、數(shù)字信號(hào)處理的fpga實(shí)現(xiàn)m.北京:清華大學(xué)出版社,2002附 錄時(shí)鐘控制的vhdl源程序:library 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;signa

33、l temp1: integer range 0 to 49; signal temp2: integer range 0 to 2499;begin process(clk)-500khzbeginif clkevent and clk=1 thentemp1=temp1+1;if temp1=24 thenclk1=not clk1;temp1=0;end if; end if;end process;process(clk)-10khzbeginif clkevent and clk=1 thentemp2=temp2+1;if temp2=1249 thenclk2=not clk2;

34、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); -來自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_logic; -8個(gè)模擬信號(hào)通

35、道地址鎖存信號(hào)start : out std_logic; -轉(zhuǎn)換開始信號(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; -觀察數(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)子類型 signal current_state, next_

36、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 ale=0;start=0;lock=0;oe=0; next_state ale=1;start=1;lock=0;oe=0; next_state ale=0;start=0;lock=0;oe=0; if (eoc=1) then next_st

37、ate = st3; -eoc=1表明轉(zhuǎn)換結(jié)束 else next_state ale=0;start=0;lock=0;oe=1; next_state ale=0;start=0;lock=1;oe=1; next_state next_state = st0; end case ; end process com ; reg: process (clk) begin if (clkevent and clk=1) then current_state=next_state; end if; end process reg ; - 由信號(hào)current_state將當(dāng)前狀態(tài)值帶出此進(jìn)程:r

38、eg latch1: process (lock) - 此進(jìn)程中,在lock的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入 begin if lock=1 and lockevent 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 (lock0,clr : in std_logic; clk : in std_logic; we : in std_logic; dout : out std_logic_vector(8 downto 0); clkout : out std_

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論