




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于fpga的電壓測(cè)量系統(tǒng)設(shè)計(jì)學(xué) 院:專 業(yè) 班:姓 名:學(xué) 號(hào):指導(dǎo)教師: 年 月基于fpga的電壓測(cè)量系統(tǒng)設(shè)計(jì)design of acquisition digital voltage based on fpga摘 要 伴隨著集成電路(ic)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(eda)逐漸成為重要的設(shè)計(jì)手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。目前電子技術(shù)的發(fā)展主要體現(xiàn)在eda領(lǐng)域,數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。電子設(shè)計(jì)自動(dòng)化是近幾年迅速發(fā)展起來的將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)學(xué)科。其中eda設(shè)計(jì)語言的vhdl語言是一種快速的電路設(shè)計(jì)工
2、具,功能涵蓋了電路描述、電路合成、電路仿真等三大電路設(shè)計(jì)工作。本電壓表的電路設(shè)計(jì)正是用vhdl語言完成的。此次設(shè)計(jì)主要應(yīng)用的軟件是美國(guó)altera公司自行設(shè)計(jì)的一種軟件工具,即max+plus。本次設(shè)計(jì)的電壓表測(cè)量范圍是05v,精度為0.01v。此電壓表的設(shè)計(jì)特點(diǎn)為:通過軟件編程下載到硬件實(shí)現(xiàn),設(shè)計(jì)周期短,開發(fā)效率高。關(guān)鍵詞:電子設(shè)計(jì)自動(dòng)化(eda) fpga vhdl a/d采集 數(shù)字電壓表abstractthe electronic design automation(eda) technology has become an important design method of anal
3、og and digital circuit system as the intergrated circuits growing.the development of the current electronic technology is incarnated the eda realm.the design of digital system is becoming faster,bulkier,smaller and lighter than before.electronic design automation developed quickly in the last few ye
4、ars,it makes use of software,hardware,micro-electronics technology to form a course of electronic design.among them,the vhdl language of eda is a kind of tool of fast circuit design,the function covered the circuit describe,the circuit synthesize,the circuit imitate the true etc.the circuit of the d
5、esign that use vhdl language to complete.this time the design applied software max+plus primarily which is made by the united states altera company.this systems range is 0v to +5v and precision is 0.01v.characteristics of this electric voltage watch are:pass the software program to download the hard
6、ware to realize,the design time is short,efficiency of the development is high.key words: electronic design automation(eda) fpga vhdl a/d acquisition digital voltage目 錄摘 要iabstractii緒 論11 模擬數(shù)字轉(zhuǎn)換器51.1 模數(shù)轉(zhuǎn)換器51.2 adc0809工作原理51.2.1 芯片介紹51.2.2 工作原理52 系統(tǒng)設(shè)計(jì)92.1 數(shù)字電壓表的種類介紹92.2數(shù)字儀表的發(fā)展趨勢(shì)92.2.1 積分型轉(zhuǎn)換積分型92.2.2
7、逐次逼近型轉(zhuǎn)換102.3 系統(tǒng)原理及基本框圖122.4 vhdl語言簡(jiǎn)介122.5 fpga的概念與特點(diǎn)132.6 fpga功能模塊設(shè)計(jì)142.6.1控制模塊142.6.2數(shù)據(jù)處理模塊152.6.3 掃描、顯示模塊172.7 數(shù)字電壓表接線說明182.8 本章小結(jié)193 數(shù)字電壓表的軟件設(shè)計(jì)與實(shí)現(xiàn)203.1 軟件工具max+plus的簡(jiǎn)介203.2 max+plus的設(shè)計(jì)流程203.2.1 數(shù)字電壓表的模塊圖203.2.2 adcint的vhdl文本輸入法步驟213.2.3 cnt10b的vhdl文本輸入法步驟273.2.4 ram8b的vhdl文本輸入法步驟283.3 本章小結(jié)28結(jié)論30致
8、謝31參考文獻(xiàn)32附錄1模擬電壓的bcd值程序33附錄2掃描、顯示模塊程序35附錄3adcint程序37附錄4cnt10b程序41附錄5ram8b程序43緒 論隨著信息技術(shù)獲得了突飛猛進(jìn)的發(fā)展,信息技術(shù)滲透了我們生活的幾乎全部領(lǐng)域,改變著人類的生存狀態(tài)和思維模式。而我們的課題所涉及的電子設(shè)計(jì)自動(dòng)化(eda)技術(shù)就是在這種時(shí)代背景下產(chǎn)生的,并影響巨大。fpga是新型的可編程邏輯器件,與傳統(tǒng)asic相比,具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)等優(yōu)點(diǎn),特別適合于產(chǎn)品的樣品開發(fā)和小批量生產(chǎn)。傳統(tǒng)的數(shù)字電壓表多以單片機(jī)為控制核心,芯片集成度不高,系統(tǒng)連線復(fù)雜,難以小型化,尤其在產(chǎn)品需求發(fā)生變化
9、時(shí),不得不重新布版、調(diào)試,增加了投資風(fēng)險(xiǎn)和成本。而采用fpga進(jìn)行產(chǎn)品開發(fā),可以靈活地進(jìn)行模塊配置,大大縮短了開發(fā)周期,也有利于數(shù)字電壓表向小型化、集成化的方向發(fā)展。數(shù)字電壓表自從一九五二年問世以來,隨著電子技術(shù)的飛躍發(fā)展,特別是目前,作為測(cè)量?jī)x表、模擬指示儀表的數(shù)字化以及自動(dòng)測(cè)量的系統(tǒng),而得到了很大的發(fā)展。目前數(shù)字電壓表的設(shè)計(jì)可以直接面向用戶需要,根據(jù)儀器設(shè)備的行為和功能要求自上而下地逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成器件。所有的設(shè)計(jì)過程幾乎可以用計(jì)算機(jī)來自動(dòng)完成,也就是說做到了電子設(shè)計(jì)自動(dòng)化(eda)。電子設(shè)計(jì)自動(dòng)化(eda)的關(guān)鍵技術(shù)之一是要求用形式化方法來描述數(shù)字系統(tǒng)
10、的硬件電路,即要求用所謂硬件描述語言來描述硬件電路。此技術(shù)是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān)。eda技術(shù)的每一次進(jìn)步,都引起了設(shè)計(jì)層次上的一個(gè)飛躍。vhdl是硬件描述語言的一種,是ieee公布的工業(yè)標(biāo)準(zhǔn),對(duì)同一事物可以有很多種描述方法,對(duì)于數(shù)字集成電路而言,常見的方法有圖形描述和語言描述兩種。而硬件描述語言具有抽象層次高、更為簡(jiǎn)潔的優(yōu)點(diǎn),更適合于描述大型電路。可以用任何一個(gè)文本編輯器編寫vhdl代碼,但是max+plus提供的文本編輯器給編寫vhdl代碼提供了許多方便,為此需要介紹該文本編輯器的某些特殊之處。(1) 利用vhdl語言設(shè)計(jì)的特點(diǎn)本次
11、設(shè)計(jì)的數(shù)字電壓表是基于fpga芯片利用vhdl語言來編譯的,它的主要功能是完成0v到5v的電壓量程,要求誤差在5以內(nèi)。本次設(shè)計(jì)主要應(yīng)用的是vhdl語言,因?yàn)槠渚邆湟韵聝?yōu)點(diǎn)。設(shè)計(jì)技術(shù)齊全、方法靈活、支持廣泛vhdl語言可以支持自上而下(top down)和基于庫(kù)的設(shè)計(jì)方法,而且還支持同步電路、異步電路、fpga以及其他隨機(jī)電路的設(shè)計(jì)。其范圍之廣是其他hdl語言所不能比擬的。例如,sfl語言和udl/i語言,它們只能描述同步電路。另外,由于vhdl語言早在1987年12月已作為ieee_std_1076標(biāo)準(zhǔn)公布。因此,目前大多數(shù)eda工具幾乎在不同程度上都支持vhdl語言。這樣給vhdl語言進(jìn)一步
12、推廣和應(yīng)用創(chuàng)造了良好的環(huán)境。系統(tǒng)硬件描述能力強(qiáng)如前所述,vhdl語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)字模型直到門級(jí)電路。另外,高層次的行為描述可以與低層次rtl描述和結(jié)構(gòu)描述混合使用。vhdl具有功能強(qiáng)大的語言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后直接生成電路級(jí)描述。vhdl支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用,一個(gè)大規(guī)模的設(shè)計(jì)不可能由一個(gè)人獨(dú)立完成,必須由多人共同承擔(dān),vhdl為設(shè)計(jì)的分
13、解和已有設(shè)計(jì)的再利用提供了有力的支持。另外,vhdl語言還具有良好的可讀性,即容易被計(jì)算機(jī)接受,也容易被讀者理解,使用期長(zhǎng),不會(huì)因工藝變化而使描述過時(shí),因?yàn)関hdl的硬件描述與工藝無關(guān),當(dāng)工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。(2) 研究的目標(biāo)和內(nèi)容本課題主要研究數(shù)字電壓表的一般設(shè)計(jì)原理,并結(jié)合新型的可編程器件(fpga)設(shè)計(jì)了一種方便、實(shí)用的數(shù)字電壓表。課題的具體要求有:熟悉基于adc0809數(shù)模轉(zhuǎn)換電路的設(shè)計(jì),熟悉fpga的硬件接口和軟件編程,熟悉vhdl程序設(shè)計(jì)和軟件開發(fā)環(huán)境,設(shè)計(jì)數(shù)字電壓測(cè)量系統(tǒng)的硬件和軟件。采用altera的一款fpga芯片ep1k30tc144-3實(shí)現(xiàn)電壓表
14、的數(shù)碼顯示功能。設(shè)計(jì)中所要求設(shè)計(jì)的數(shù)字電壓表為4位,由三大部分組成,每一部分又包含了若干子電路,將各電路組合起來,就構(gòu)成了一個(gè)整體。以fpga為核心設(shè)計(jì)一個(gè)數(shù)字電壓表。將電壓測(cè)量結(jié)果在led上顯示出來。被測(cè)電壓可以是直流,也可以是交流。要求測(cè)量誤差5,課顯示三位有效值。所需完成的主要任務(wù)簡(jiǎn)介:完成基于altera fpga ep1k30tc144-3的數(shù)字電壓計(jì)的硬件和軟件的設(shè)計(jì),電壓測(cè)量范圍為05v,在設(shè)計(jì)中要熟悉altera fpga ep1k30tc144-3芯片的特點(diǎn)以及基于a/d轉(zhuǎn)換器adc0809采樣電路的設(shè)計(jì),熟悉基于vhdl硬件描述語言的軟件的設(shè)計(jì)。硬件設(shè)計(jì)所需要的硬件主要有:
15、altera公司的ep1k30tc144-3芯片、adc0809、七段顯示器、實(shí)驗(yàn)箱。(3) 本課題的意義、國(guó)內(nèi)外研究概況、應(yīng)用前景等目前電子技術(shù)的發(fā)展主要體現(xiàn)在eda領(lǐng)域,數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。電子設(shè)計(jì)自動(dòng)化是近幾年迅速發(fā)展起來的將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)學(xué)科。其中eda設(shè)計(jì)語言的vhdl語言是一種快速的電路設(shè)計(jì)工具,功能涵蓋了電路描述、電路合成、電路仿真等三大電路設(shè)計(jì)工作。本電壓表的電路設(shè)計(jì)正是用vhdl語言完成的。在電子工程、通信工程、自動(dòng)控制、遙測(cè)控制、測(cè)量?jī)x器、儀表和計(jì)算機(jī)等技術(shù)領(lǐng)域,經(jīng)常需要用到各種各樣的電壓表,隨著
16、科學(xué)技術(shù)的發(fā)展,數(shù)字電壓表的應(yīng)用也將更加廣泛。在硬件描述語言的發(fā)展至今已有幾十年的歷史,并成功的應(yīng)用到系統(tǒng)的仿真、驗(yàn)證和設(shè)計(jì)綜合等方面。到本世紀(jì)80年代后期,已出現(xiàn)了上百種的硬件描述語言,它們對(duì)設(shè)計(jì)自動(dòng)化起到了促進(jìn)和推動(dòng)作用。但是,它們大多數(shù)各自針對(duì)特定的設(shè)計(jì)領(lǐng)域,沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),從而使一般用戶難以使用。廣大用戶所期盼的是一種面向設(shè)計(jì)的多層次、多領(lǐng)域且得到一致認(rèn)同的標(biāo)準(zhǔn)的硬件語言。80年代后期由美國(guó)國(guó)防部開發(fā)研究的vhdl語言恰好滿足了上述的要求,并在1987年12月由ieee標(biāo)準(zhǔn)化。它的出現(xiàn)為電子設(shè)計(jì)自動(dòng)化(eda)的普及和推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。根據(jù)1991年有關(guān)統(tǒng)計(jì)資料表明,vhdl語
17、言已被廣大設(shè)計(jì)者所接受,據(jù)稱已有90的設(shè)計(jì)者使用或即將使用vhdl語言來設(shè)計(jì)數(shù)字系統(tǒng)。另外,眾多cad廠商也紛紛使自己新開發(fā)的電子實(shí)際軟件與vhdl語言兼容。因此,必須采用先進(jìn)的設(shè)計(jì)方法和大規(guī)模可編程邏輯器件加以實(shí)現(xiàn)才能適應(yīng)這種發(fā)展趨勢(shì),cpld/fpga等大規(guī)模可編程邏輯器件的發(fā)展和eda技術(shù)的成熟為此奠定了良好的軟硬件基礎(chǔ)。1 模擬數(shù)字轉(zhuǎn)換器1.1 模數(shù)轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的電路,稱為模數(shù)轉(zhuǎn)換器(簡(jiǎn)稱a/d轉(zhuǎn)換器或adc,analog to digital converter);將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)的電路稱為數(shù)模轉(zhuǎn)換器(簡(jiǎn)稱d/a轉(zhuǎn)換器或dac,digital to anal
18、og converter);a/d轉(zhuǎn)換器和d/a轉(zhuǎn)換器已成為計(jì)算機(jī)系統(tǒng)中不可或缺的接口電路。數(shù)模轉(zhuǎn)換器,又稱d/a轉(zhuǎn)換器,簡(jiǎn)稱dac,它是把數(shù)字量轉(zhuǎn)變成模擬的器件。d/a轉(zhuǎn)換器基本上由4個(gè)部分組成,即權(quán)電阻網(wǎng)絡(luò)、運(yùn)算放大器、基準(zhǔn)電源和模擬開關(guān)。模數(shù)轉(zhuǎn)換器中一般都要用到數(shù)模轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器即a/d轉(zhuǎn)換器,簡(jiǎn)稱adc,它是把連續(xù)的模擬信號(hào)轉(zhuǎn)變?yōu)殡x散的數(shù)字信號(hào)的器件。為確保系統(tǒng)處理結(jié)果的精確度,a/d轉(zhuǎn)換器必須具有足夠的轉(zhuǎn)換精度:如果要實(shí)現(xiàn)快速變化信號(hào)的實(shí)時(shí)控制與檢測(cè),a/d轉(zhuǎn)化器還要求具有較高的轉(zhuǎn)換速度。轉(zhuǎn)換精度與轉(zhuǎn)換速度是衡量a/d轉(zhuǎn)換器的重要技術(shù)指標(biāo)。隨著集成技術(shù)的發(fā)展,現(xiàn)已研制和生產(chǎn)出許多
19、單片的和混合集成型的a/d轉(zhuǎn)換器,它們具有愈來愈先進(jìn)的技術(shù)指標(biāo)。1.2 adc0809工作原理1.2.1 芯片介紹這里采用的是adc0809,是單片雙列直插式集成芯片;總的不可調(diào)誤差1 lsb;當(dāng)模擬輸入電壓范圍為05 v時(shí),可使用單一的+5 v電源;溫度范圍-40+85;不需另加接口邏輯可直接與cpu連接;可以輸入8路模擬信號(hào);輸出帶鎖存器;邏輯電平與ttl兼容。adc0809是cmos的8位a/d轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個(gè)模擬量中的一個(gè)進(jìn)入轉(zhuǎn)換器中。adc0809的分辨率為8位,轉(zhuǎn)換時(shí)間約100s,含鎖存控制的8路多路開關(guān),輸出有三態(tài)緩沖器控制。1.2.2 工作原理在a/d轉(zhuǎn)換
20、器的內(nèi)部,含有一個(gè)高阻抗斬波穩(wěn)定比較器,一個(gè)帶有模擬開關(guān)樹組的256r分壓器,以及一個(gè)逐次逼近的寄存器。8路的模擬開關(guān)由地址鎖存器和譯碼器控制,可以在8個(gè)通道中任意訪問一個(gè)單邊的模擬信號(hào)。其工作框圖如圖1-1所示。圖1-1 adc0809工作框圖該ad轉(zhuǎn)換器無需調(diào)零和滿量程調(diào)整。由于多路開關(guān)的地址輸入能夠進(jìn)行鎖存和譯碼,而且三態(tài)ttl輸出也可以鎖存,易于與微處理器進(jìn)行接口。 如圖1-1所示,它由兩大部分所組成:第一部分是8通道多路模擬開關(guān),它用于控制c,b,a端子和地址鎖存允許端子,可使其中一個(gè)通道被選中;第二部分為一個(gè)逐次逼近型ad轉(zhuǎn)換器,它由比較器、控制邏輯、輸出緩沖鎖存器、逐次逼近寄存器
21、以及開關(guān)樹組和256r電阻分壓器組成。后兩種電路,即開關(guān)樹和256r電阻分壓器,組成了da轉(zhuǎn)換器。控制邏輯用來控制逐次逼近寄存器從高位到低位逐次取1,然后將此數(shù)字量送到開關(guān)樹組,即8位開關(guān),用來控制開關(guān)s7s0與參考電平相連接。參考電平經(jīng)256r電阻分壓器,輸出一個(gè)模擬電壓uo,uo,ui在比較器中進(jìn)行比較。當(dāng)uoui時(shí),本位d=o;當(dāng)uoui時(shí),則本位d=1。因此,從d7d0比較8次即可逐次逼近寄存器中的數(shù)字量,即與模擬量ui所相當(dāng)于的數(shù)字量相等。此數(shù)字量送入輸出鎖存器,并同時(shí)發(fā)轉(zhuǎn)換結(jié)束脈沖。start是轉(zhuǎn)換啟動(dòng)信號(hào),高電平有效;ale是3位通道選擇地址(addc,addb,adda)信號(hào)的
22、鎖存信號(hào)。當(dāng)模擬量送至某一輸入端,由3位地址信號(hào)進(jìn)行選擇,而地址信號(hào)由ale鎖存;eoc是檔位轉(zhuǎn)換的狀態(tài)信號(hào)。eoc輸出高電平時(shí),表示轉(zhuǎn)換結(jié)束;在eoc的上升沿后,若使能輸出信號(hào)oe為高電平,則三態(tài)緩沖器打開,將轉(zhuǎn)換完畢的8位數(shù)據(jù)結(jié)果輸至數(shù)據(jù)總線,至此adc0809的一次轉(zhuǎn)換結(jié)束。各引腳功能如下:(1) in7in0模擬量輸入通道。adc0809對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍05v,若信號(hào)過小,還需進(jìn)行放大。另外,模擬量輸入在a/d轉(zhuǎn)換的過程中,其值應(yīng)保持不變,因此,對(duì)變化速度快的模擬輸入量,在輸入前應(yīng)增加采樣保持電路。(2) a、b、c地址線。a為低位地址,c為高位地址,用于
23、對(duì)8路模擬通道進(jìn)行選擇,引腳圖中相應(yīng)為adda、addb和addc。由低至高電平的正跳變將通道地址鎖存至地址鎖存器中。(3) ale地址鎖存允許信號(hào)。由低至高電平的正跳變將通道地址鎖存至地址鎖存器中。(4) start啟動(dòng)轉(zhuǎn)換信號(hào)。start上跳沿時(shí),所有內(nèi)部寄存器清0;start下跳沿時(shí),開始進(jìn)行a/d轉(zhuǎn)換。在a/d轉(zhuǎn)換期間,start應(yīng)保持低電平。(5) d7d0數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。(6) oe輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)上輸出轉(zhuǎn)換得到的數(shù)據(jù)。oe=0,輸出數(shù)據(jù)線呈高電阻態(tài);oe=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。(7) clock時(shí)鐘信號(hào)。
24、adc0809內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供要求頻率范圍10khz1.2mhz。通常使用頻率為500khz的時(shí)鐘信號(hào)。(8) eoc轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。eoc=0,正在進(jìn)行轉(zhuǎn)換;eoc=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號(hào)既可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用。(9) vcc+5v電源。(10) ref(+)、ref(-)參考電壓。參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為ref(+)=+5v,ref(-)=0v。adc0809的引腳圖如圖1-2所示,工作時(shí)序如圖1-3所示。圖1-2 adc0809引腳圖圖1-3 adc0809時(shí)序圖1.3 本章小結(jié)本章詳細(xì)地闡
25、述了模數(shù)轉(zhuǎn)換器件adc0809的功能。2 系統(tǒng)設(shè)計(jì)2.1 數(shù)字電壓表的種類介紹dvm的種類有多種,分類方法也很多,又按位數(shù)分的,如3/2位、5位、8位;有按測(cè)量速度分的,如高速、低速;有按體積、重量分的,如袖珍式、便攜式、臺(tái)式。但通常是按a/d轉(zhuǎn)換方式的不同將dvm分為兩大類,一類是直接轉(zhuǎn)換型,也稱比較型;另一類是間接轉(zhuǎn)換型,又稱積分型,包括電壓-時(shí)間變換。系統(tǒng)的核心電路由fpga完成,本設(shè)計(jì)選用altera公司的ep1k30tc144-3芯片,用vhdl語言對(duì)它進(jìn)行設(shè)計(jì),實(shí)現(xiàn)三大功能模塊:(1)控制模塊,激活a/d轉(zhuǎn)換器動(dòng)作、接收a/d轉(zhuǎn)換器傳遞過來的數(shù)字轉(zhuǎn)換值;(2)數(shù)據(jù)處理模塊,將接收到
26、的轉(zhuǎn)換值調(diào)整成對(duì)應(yīng)的數(shù)字信號(hào);(3)掃描、顯示模塊,產(chǎn)生數(shù)碼管的片選信號(hào),并將數(shù)值處理模塊輸出的bcd碼譯成相應(yīng)的7段數(shù)碼驅(qū)動(dòng)值。工作時(shí),系統(tǒng)按一定的速率采集輸入的模擬電壓,經(jīng)adc0809轉(zhuǎn)換成8位數(shù)字量,此8位數(shù)字量經(jīng)fpga中的數(shù)據(jù)處理模塊處理后得到模擬電壓的數(shù)字碼,再輸入數(shù)碼管獲得被測(cè)電壓的數(shù)字顯示。2.2 數(shù)字儀表的發(fā)展趨勢(shì)為了適應(yīng)模數(shù)轉(zhuǎn)換發(fā)展是要求,模數(shù)轉(zhuǎn)換技術(shù)也變得越來越復(fù)雜。模數(shù)轉(zhuǎn)換技術(shù)是實(shí)現(xiàn)各種模擬信號(hào)通向數(shù)字世界的橋梁,作為將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的模數(shù)轉(zhuǎn)換技術(shù)主要有以下兩種:2.2.1 積分型轉(zhuǎn)換積分型模數(shù)轉(zhuǎn)換技術(shù)在低速、高精度測(cè)量領(lǐng)域有著廣泛的應(yīng)用,特別是在數(shù)字儀表領(lǐng)域
27、。積分型模數(shù)轉(zhuǎn)換技術(shù)有單積分和雙積分兩種轉(zhuǎn)換方式,單積分模數(shù)轉(zhuǎn)換的工作原理是將被轉(zhuǎn)換的電信號(hào)先變成一段時(shí)間間隔,然后再對(duì)時(shí)間間隔記數(shù),從而間接把模擬量轉(zhuǎn)換成數(shù)字量的一種模數(shù)轉(zhuǎn)換方式,它的主要缺陷是轉(zhuǎn)換精度不高,主要受到斜坡電壓發(fā)生器、比較器精度以及時(shí)鐘脈沖穩(wěn)定型的影響。為了提高積分型轉(zhuǎn)換器在同樣條件下的轉(zhuǎn)換精度,可采用雙積分型轉(zhuǎn)換方式,雙積分型轉(zhuǎn)換器通過對(duì)模擬輸入信號(hào)的兩次積分,部分抵消了由于斜坡發(fā)生器所產(chǎn)生的誤差,提高了轉(zhuǎn)換精度。雙積分型轉(zhuǎn)換方式的特點(diǎn)表現(xiàn)在:精度較高,可以達(dá)到22位;抗干擾能力強(qiáng),由于積分電容的作用,能夠大幅抑制高頻噪聲。但是,它的轉(zhuǎn)換速度太慢,轉(zhuǎn)換精度隨著轉(zhuǎn)換速率的增加而
28、降低,每秒100300次(sps)對(duì)應(yīng)的轉(zhuǎn)換精度為12位。所以這種轉(zhuǎn)換方式應(yīng)用在低速高精度的轉(zhuǎn)換領(lǐng)域。2.2.2 逐次逼近型轉(zhuǎn)換逐次逼近型轉(zhuǎn)換方式在當(dāng)今的模數(shù)轉(zhuǎn)換領(lǐng)域有著廣泛的應(yīng)用,它是按照二分搜索法的原理,類似于天平稱物的一種模數(shù)轉(zhuǎn)換過程。也就是將需要進(jìn)行轉(zhuǎn)換的模擬信號(hào)與已知的不同的參考電壓進(jìn)行多次比較,使轉(zhuǎn)換后的數(shù)字量在數(shù)值上逐次逼近輸入模擬量的對(duì)應(yīng)值。逐次逼近型轉(zhuǎn)換方式的特點(diǎn)是:轉(zhuǎn)換速度高,可以達(dá)到100萬次/秒(mpsp);在低于12位分辨率的情況下,電路實(shí)現(xiàn)上較其他轉(zhuǎn)換方式成本低;轉(zhuǎn)換時(shí)間確定。但這種轉(zhuǎn)換方式需要數(shù)模轉(zhuǎn)換電路,由于高精度的數(shù)模轉(zhuǎn)換電路需要較高的電阻和電容匹配網(wǎng)絡(luò),故精
29、度不會(huì)很高。逐次逼近式ad轉(zhuǎn)換器由逐次逼近寄存器、da轉(zhuǎn)換器、比較器和緩沖寄存器等組成。當(dāng)啟動(dòng)信號(hào)由高電平變?yōu)榈碗娖綍r(shí),逐次逼近寄存器清零,這時(shí),da轉(zhuǎn)換器輸出電壓v0也為0,當(dāng)啟動(dòng)信號(hào)變?yōu)楦唠娖綍r(shí),轉(zhuǎn)換開始,同時(shí),逐次逼近寄存器進(jìn)行計(jì)數(shù)。轉(zhuǎn)換原理如圖2-1所示。圖2-1 逐次逼近式ad轉(zhuǎn)換器原理逐次逼近寄存器工作時(shí)與普通計(jì)數(shù)器不同,它不是從低位向高位逐一進(jìn)行計(jì)數(shù)和進(jìn)位,而是從最高位開始,通過設(shè)置試探值來進(jìn)行計(jì)數(shù)。在第一個(gè)時(shí)鐘脈沖到來時(shí),控制電路把最高位送到逐次逼近寄存器,使它的輸出為1000 0000,這個(gè)輸出數(shù)字一出現(xiàn),da轉(zhuǎn)換器的輸出電壓vo就成為滿量程值的128255。這時(shí),若vovi
30、則作為比較器的運(yùn)算放大器的輸出就成為低電平,控制電路據(jù)此清除逐次逼近寄存器中的最高位;若vovi則比較器輸出高電平,控制電路使最高位的1保留下來。若最高位被保留下來,則逐次逼近寄存器的內(nèi)容為1000 0000,下一個(gè)時(shí)鐘脈沖使次低位d6為1。于是,逐次逼近寄存器的值為1100 0000,da轉(zhuǎn)換器的輸出電壓vo到達(dá)滿量程值的192255。此后,若vovi則比較器輸出為低電平,從而使次高位域復(fù)位;若vovi則比較器輸出為高電平,從而保留次高位為1。重復(fù)上述過程,經(jīng)過n次比較以后,逐次逼近寄存器中得到的值就是轉(zhuǎn)換后的數(shù)值。轉(zhuǎn)換結(jié)束后,控制電路送出一個(gè)低電平作為結(jié)束信號(hào),此信號(hào)的下降沿將逐次逼近寄存
31、器中的數(shù)字量送入緩沖寄存器,從而得到數(shù)字量輸出。本設(shè)計(jì)利用adc0809作為電壓采樣端口,fpga作為系統(tǒng)的核心器件,用led(發(fā)光二極管)進(jìn)行數(shù)碼顯示。其系統(tǒng)原理圖如圖2-2所示。圖2-2 系統(tǒng)原理采用altera公司的ep1k30tc144-3芯片fpga作為系統(tǒng)的核心器件,負(fù)責(zé)adc0809的a/d轉(zhuǎn)換的啟動(dòng)、地址鎖存、輸入通道選擇、數(shù)據(jù)讀取。同時(shí),把讀取的8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成便于輸出的3位十進(jìn)制bcd碼送給數(shù)碼管,以顯示當(dāng)前測(cè)量電壓值。這些工作由adc0809轉(zhuǎn)換控制模塊、數(shù)據(jù)轉(zhuǎn)換模塊、譯碼模塊完成。fpga軟件模塊原理如圖2-3所示。圖2-3 fpga軟件模擬設(shè)計(jì)原理2.3 系統(tǒng)原理
32、及基本框圖如圖2-4所示,模擬電壓經(jīng)過檔位切換到不同的分壓電路衰減后,經(jīng)隔離干擾送到a/d轉(zhuǎn)換器進(jìn)行a/d轉(zhuǎn)換,然后送到fpga中進(jìn)行數(shù)據(jù)處理。處理后的數(shù)據(jù)送到數(shù)碼管中顯示,同時(shí)通過串行通訊與上位機(jī)通信。圖2-4 基本框圖2.4 vhdl語言簡(jiǎn)介vhdl語言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),所以用vhdl語言作為硬件模型建模很合適。設(shè)計(jì)者的原始描述是非常簡(jiǎn)練的硬件描述,經(jīng)過eda工具綜合處理,最終生成付諸生產(chǎn)的電路描述或版圖參數(shù)描述的工藝文件。整個(gè)過程通過eda工具自動(dòng)完成,大大減輕了設(shè)計(jì)人員的工作強(qiáng)度,提高了設(shè)計(jì)質(zhì)量,減少了出錯(cuò)機(jī)會(huì)。vhdl語言可讀性好。vhdl既能被人容易讀懂,又能被計(jì)算
33、機(jī)識(shí)別,作為技術(shù)人員編寫的源文件,它既是計(jì)算機(jī)程序,技術(shù)文檔和技術(shù)人員硬件信息交流的文件,又是簽約雙方的合同文件。vhdl語言中的設(shè)計(jì)實(shí)體(design entity),程序包(package),設(shè)計(jì)庫(kù)(library),為設(shè)計(jì)人員重復(fù)利用他人的設(shè)計(jì)提供了技術(shù)手段。重復(fù)利用他人的ip模塊和軟核(soft core)是vhdl的特色,許多設(shè)計(jì)不必個(gè)個(gè)都從頭再來,而是只要在更高層次上把ip模塊利用起來,就能達(dá)到事半功倍的效果。一個(gè)完整的vhdl語言程序通常包含實(shí)體(entity)、結(jié)構(gòu)體(architecture)、配置(configuration)、包集合(package)、庫(kù)(library)
34、5個(gè)部分。前4種是可分別編譯的源設(shè)計(jì)單元。實(shí)體用于描述所設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等。配置用于從庫(kù)中選取所需單元來組成系統(tǒng)設(shè)計(jì)的不同版本;庫(kù)存放已經(jīng)編譯的實(shí)體、構(gòu)造體、包集合和配置。庫(kù)可由用戶生成或由asic芯片制造商提供,以便在設(shè)計(jì)中為大家所共享。2.5 fpga的概念與特點(diǎn)fpga是英文field programmable gate array的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。fpga器件是基于可編程的查找表結(jié)構(gòu),lut是可編程的最小邏輯構(gòu)成單元,fpga內(nèi)由大量邏輯宏單元構(gòu)成。通過配置,可以使這些邏輯宏單元形成不
35、同的硬件結(jié)構(gòu),從而構(gòu)成不同的電子系統(tǒng),完成不同的功能。正是fpga的這種硬件重構(gòu)的靈活性,使得設(shè)計(jì)者能夠講硬件描述語言描述的電路在fpga中實(shí)現(xiàn)。這樣,同一塊fpga能實(shí)現(xiàn)許多完全不同的電路結(jié)構(gòu)和功能。目前fpga的品種很多,有xilinx的xc系列、spartan系列、virtex系列,altera公司的flex系列、cyclone系列、acex系列、stratix系列等。cyclone系列器件是altera公司在2002年12月份推出的。cyclone器件支持大量的片外數(shù)據(jù)傳輸?shù)膯味薸/o標(biāo)注和差分i/o技術(shù)。為滿足設(shè)計(jì)者更快數(shù)據(jù)速率和信號(hào)傳輸能力的需要,cyclone器件還沒有高達(dá)311
36、mbps的低差分信令(lvds)兼容通道。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic 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ā)器和i/o引腳(4) fpga是asic電路設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一(
37、5) fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容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的
38、使用非常靈活。fpga有多種配置模式;并行主模式為一片fpga加一片eprom的方式;主從模式可以支持一片prom編程多片fpga;串行模式可以采用串行prom編程fpga;外設(shè)模式可以將fpga作為微處理器的外設(shè),由微處理器對(duì)其編程。2.6 fpga功能模塊設(shè)計(jì)我們使用的fpga是altera公司的ep1k30tc144-3器件。數(shù)字電壓表的三大模塊都是用vhdl語言編程實(shí)現(xiàn)的。fpga設(shè)計(jì)可分為設(shè)計(jì)輸入、綜合、功能仿真(前仿真)、實(shí)現(xiàn)、時(shí)序仿真(后仿真)、配置下載等六個(gè)步驟,下面分別介紹各個(gè)設(shè)計(jì)步驟。2.6.1 控制模塊用狀態(tài)機(jī)作法,產(chǎn)生adc0809的片選信號(hào)、讀/寫控制信號(hào),通過狀態(tài)信
39、號(hào)intr判斷轉(zhuǎn)換是否結(jié)束;轉(zhuǎn)換結(jié)束后將轉(zhuǎn)換數(shù)據(jù)鎖存并輸出。其狀態(tài)轉(zhuǎn)換圖如圖2-5所示。圖2-5 控制模塊轉(zhuǎn)換圖我們可以將整個(gè)控制器分成八個(gè)步驟狀態(tài):idle,write,swait,read,disp1,disp2,disp3,disp4各狀態(tài)的動(dòng)作方式如表2-1:表2-1 各狀態(tài)動(dòng)作方式 狀態(tài)cswrrdidle111write101swait111read110disp1101disp2111disp3101disp4111由上述的八個(gè)狀態(tài)可以歸納出整個(gè)控制器的動(dòng)作功能有:負(fù)責(zé)在每個(gè)步驟送出所需的cs、wr、rd控制信號(hào)。當(dāng)110時(shí)為wait等待,當(dāng)111時(shí)為read讀,當(dāng)101時(shí)開始從
40、adc中讀數(shù)。譯碼波形仿真圖如圖2-6所示。圖2-6 譯碼波形仿真圖2.6.2 數(shù)據(jù)處理模塊adc0809是8位模數(shù)轉(zhuǎn)換器,它的輸出狀態(tài)共有28=256種。如果輸入信號(hào)vin為05v電壓范圍,則每?jī)蓚€(gè)狀態(tài)值為5/(256-1),約為0.0196v,故測(cè)量分辨率為0.02v。常用測(cè)量范圍是:當(dāng)讀取到db7db0,轉(zhuǎn)換值是xxh時(shí),電壓測(cè)量值為uxxh0.02v。考慮到直接使用乘法計(jì)算對(duì)應(yīng)的電壓值將耗用大量的fpga內(nèi)部組件,本設(shè)計(jì)用查表命令來得到正確的電壓值。如表2-2所示。表2-2 對(duì)應(yīng)電壓表進(jìn)制參考電壓(vref/2)為2.56v162高4為電壓低4位電壓000000.000.0010001
41、0.320.02200100.640.04810002.560.16910012.880.18e11104.480.28f11114.800.30由圖2-4的對(duì)應(yīng)關(guān)系,編一個(gè)查表程序,對(duì)電壓進(jìn)行bcd碼編碼,然后根據(jù)對(duì)應(yīng)的4位bcd碼相加的結(jié)果決定是否進(jìn)位,從而得到待處理數(shù)據(jù)的bcd碼。例如:從ad0809上取得的數(shù)據(jù)為“1101 1110”,1101對(duì)應(yīng)的電壓值為4.16 v,其對(duì)應(yīng)的bcd編碼為“0100 0001 0110”,1110對(duì)應(yīng)的電壓值為0.28 v,其對(duì)應(yīng)的bcd編碼為“0000 0010 1000”。低4位相加為1110,大于9,加6將其調(diào)整為bcd碼,其值為0100,并且
42、向前有一進(jìn)位。4位相加的結(jié)果為0011,由于低位有進(jìn)位,因此最終結(jié)果為0100。高4位的結(jié)果為0100。3位合計(jì)的值為4.44 v,與4.16+0.28的結(jié)果相符。其他計(jì)算依此類推。在讀取到adc0809的轉(zhuǎn)換數(shù)據(jù)后,先用查表指令算出高、低4位的連個(gè)電壓值,并分別用16位bcd表示;接著設(shè)計(jì)16位的bcd碼加法,如果每4位相加結(jié)果超過9需進(jìn)行減10進(jìn)1。這樣得到模擬電壓的bcd碼。bed_add:=hbcd+lbcd;高、低4位的連個(gè)電壓值bcd碼相加if bed_add(3 downto 0)“1001” then bed_add:=bed_add+“0110”;end if;if bed_
43、add(7 downto 4)“1001” then bed_add:=bed_add+“0110 0000”;end if;其程序見附錄1。仿真圖如圖2-7所示。圖2-7 d7-d0輸出仿真波形圖2.6.3 掃描、顯示模塊如圖2-8所示,clk是掃描時(shí)鐘,其頻率為100mhz,由給定的20khz時(shí)鐘分頻得到;datain是數(shù)據(jù)處理模塊輸出的電壓值的bcd碼;sel是數(shù)碼管的片選信號(hào);point是數(shù)碼管小數(shù)點(diǎn)的驅(qū)動(dòng);通過掃描分別輸出3位電壓值的bcd碼dataout,并通過disp將bcd碼譯成相應(yīng)的7段數(shù)碼驅(qū)動(dòng)值,送數(shù)碼管顯示。掃描顯示模塊如圖2-8所示,七段碼顯示器如圖2-9所示。圖2-8
44、 掃描顯示模塊圖2-9 七段碼顯示器其程序見附錄2。datout0-datout11波形圖如圖2-10所示。圖2-10 datout0-datout11波形圖2.7 數(shù)字電壓表接線說明 (1) 接線說明:ep1k30tc144-3上時(shí)鐘clk接100mhz,reset接k1,cs,rd,wr分別接0809的控制輸入端,int接0809的int。d7-0接0809的d7-d0(注意0809數(shù)據(jù)線標(biāo)識(shí)反),datdout接a-dp,sle3-sle0。0809的a0、a1、a2接d0-d2(置低),vref+接vcc,vref-接gnd,clk接mcu的ale,in0接模擬輸出out。如圖2-11
45、所示。圖2-11 系統(tǒng)原理圖(3) 實(shí)驗(yàn)結(jié)果:轉(zhuǎn)動(dòng)電位器,數(shù)碼管上顯示當(dāng)前電壓值。2.8 本章小結(jié)本章簡(jiǎn)單的介紹了fpga的主要特點(diǎn)、數(shù)字電壓表的種類和發(fā)展趨勢(shì),并闡述了如何利用max+plus設(shè)計(jì)好數(shù)字電壓表的控制模塊,數(shù)據(jù)處理模塊和掃描顯示模塊,以及數(shù)字電壓表的連線說明,然后下載到實(shí)驗(yàn)開發(fā)系統(tǒng)上顯示結(jié)果。3 數(shù)字電壓表的軟件設(shè)計(jì)與實(shí)現(xiàn)3.1 軟件工具max+plus的簡(jiǎn)介altera公司推出的max+plus軟件支持多種硬件描述語言,提供fpga/cpld的設(shè)計(jì)、仿真和燒寫環(huán)境。max+plus界面友好(如圖3-1所示)、使用便捷,具有原理圖輸入和文本輸入兩種輸入手段,以及波形與edif等
46、格式文件,并支持這些文件的任意混合設(shè)計(jì)。利用max+plus自身配置的邏輯綜合及芯片編程等功能,可將涉及電路圖或電路描述的程序變成基本的邏輯單元寫入可編程芯片中,作為asic芯片。但是,由于軟件是為可編程芯片設(shè)計(jì)的,因此它不支持系統(tǒng)行為級(jí)的描述和仿真,某些vhdl語言中的語句,如wait語句等將得不到支持,并且它也不能進(jìn)行模擬電路的設(shè)計(jì)。因此,max+plus工具還需要不斷地改進(jìn)和完善。圖3-1 max+plus方便的使用界面3.2 max+plus的設(shè)計(jì)流程3.2.1 數(shù)字電壓表的模塊圖當(dāng)三大模塊圖的vhdl語言組合在一起就得到了數(shù)字電壓表的vhdl程序,然后進(jìn)行程序燒寫,排線,就形成了數(shù)字
47、電壓表數(shù)字電壓表的模塊圖如圖3-2所示。圖3-2 數(shù)字電壓表的模塊圖3.2.2 adcint的vhdl文本輸入法步驟:(1) 建立新文件。選擇filenew菜單項(xiàng),在彈出的新建對(duì)話框中選擇text editor file選項(xiàng),單擊ok按鈕,進(jìn)入文字編輯畫面,輸入源程序。如圖3-3所示。圖3-3 建立新文件(2) 輸入以下程序,邏輯描述界面如圖3-4所示。圖3-4 邏輯描述界面adcint工作情況如下:上電瞬間,fpga初始化,add置成01,狀態(tài)機(jī)處于第1個(gè)狀態(tài),此時(shí)ale、start、oe、lock(數(shù)據(jù)鎖存信號(hào))均置0,初始化adc0809。第1個(gè)上升沿到來時(shí),狀態(tài)機(jī)由狀態(tài)1轉(zhuǎn)換到狀態(tài)2,
48、ale、start置1,oe、lock為0,此時(shí)地址鎖存信號(hào)有效,由ale將add的01狀態(tài)鎖存到地址鎖存器并譯碼,選擇in1即通道1作為模擬信號(hào)輸入端,同時(shí)strat信號(hào)有效,啟動(dòng)采樣。第2個(gè)上升沿到來時(shí),狀態(tài)機(jī)由狀態(tài)2轉(zhuǎn)換到狀態(tài)3,ale、start返回到低電平,oe、lock繼續(xù)為低電平,此時(shí)如果fpga檢測(cè)到adc0809的eoc引腳由低電平變成高電平(a/d轉(zhuǎn)換完成),則當(dāng)時(shí)鐘上升沿到來時(shí),轉(zhuǎn)換到狀態(tài)3,否則繼續(xù)保持在狀態(tài)2,直到轉(zhuǎn)換完成。由狀態(tài)2轉(zhuǎn)換到狀態(tài)3后,oe置高電平,允許轉(zhuǎn)換數(shù)據(jù)輸出,其余信號(hào)狀態(tài)保持不變。時(shí)鐘上升沿再次到來時(shí),狀態(tài)機(jī)由狀態(tài)3轉(zhuǎn)換到狀態(tài)4,lock置高電平,
49、其余信號(hào)與狀態(tài)3一樣。當(dāng)lock由低電平轉(zhuǎn)換到高電平的瞬間,穩(wěn)定的數(shù)據(jù)鎖存到鎖存器。上升沿再次到來,則狀態(tài)機(jī)返回狀態(tài)0。控制器在時(shí)鐘信號(hào)控制下完成狀態(tài)轉(zhuǎn)換,實(shí)現(xiàn)對(duì)adc0809的控制。adcint程序見附錄3。(3) 保存。選擇filesave菜單項(xiàng),在彈出的保存對(duì)話框中輸入一個(gè)名字,adcint.vhd,單擊ok按鈕。如圖3-5所示。圖3-5 保存(4) 指定項(xiàng)目名與文件名相同。選擇fileprojectname菜單項(xiàng),輸入一個(gè)名字,adcint,單擊ok按鈕。如入3-6所示。圖3-6 指定項(xiàng)目名(5) 指定設(shè)計(jì)器件。選擇assigndevice菜單項(xiàng),彈出如圖3-7所示的對(duì)話框,在devi
50、ce family下拉列表框中選擇系列號(hào)adex1k,在device列表框中選擇器件ep1k30tc144-1。圖3-7 fpga/cpld器件選擇(6) 保存并檢查。選擇fileprojectsave&check菜單項(xiàng),即可針對(duì)電路設(shè)計(jì)文件進(jìn)行檢查。(7) 除錯(cuò)。針對(duì)massage-complier窗口所提供的信息做修改,直到?jīng)]有錯(cuò)誤信息為止。如圖3-8所示。圖3-8 除錯(cuò)(8) 保存并編譯。選擇fileprojectsave&complier菜單項(xiàng),即可進(jìn)行編譯,產(chǎn)生adcint.pof可燒寫文件。如圖3-9所示。圖3-9 保存并編譯(9) 創(chuàng)建電路符號(hào)。選擇filecreate defa
51、ult symbol菜單項(xiàng),可以產(chǎn)生adcint.sym文件以代表現(xiàn)在所設(shè)計(jì)電路的符號(hào)。如圖3-10所示。選擇fileedit symbol菜單項(xiàng),進(jìn)入symbol editor畫面,設(shè)計(jì)電路封裝如圖3-11所示。圖3-10 創(chuàng)建電路符號(hào)圖3-11 adcint的設(shè)計(jì)電路模塊封裝圖(10) 創(chuàng)建電路包含文件。選擇filecreate default include file菜單項(xiàng),可以產(chǎn)生代表現(xiàn)在設(shè)計(jì)的電路函數(shù)類型的adcint.inc文件,供其他vhdl編輯時(shí)調(diào)用。如圖3-12所示。圖3-12 電路類型文件(11) 時(shí)間分析。選擇utilitiesanalyze timing菜單項(xiàng),再選擇a
52、nalysisdelay matrix菜單項(xiàng),可以產(chǎn)生時(shí)間分析的結(jié)果。如圖3-13所示。圖3-13 時(shí)間分析窗口(12) 編寫程序時(shí),downto拼寫錯(cuò)誤,改正后,編譯無誤。3.2.3 cnt10b的vhdl文本輸入法步驟:(1) 如上述的3.2.2的11個(gè)步驟,得到cnt10b的設(shè)計(jì)電路模塊封裝圖,如圖3-14所示。遇到問題了,如圖3-15所示,逐步查詢,直到錯(cuò)誤為0為止。圖3-14 cnt10b的設(shè)計(jì)電路模塊封裝圖圖3-15 編譯后有錯(cuò)誤(2) cnt10b程序見附錄4。(3) 編寫程序時(shí),有兩個(gè)問題,一個(gè)是標(biāo)點(diǎn)符號(hào),要英文輸入法的,不能是漢字的;另一個(gè)是進(jìn)程要取名字,改正后,編譯無誤。3
53、.2.4 ram8b的vhdl文本輸入法步驟:(1) 如上述的3.2.2的11個(gè)步驟,得到ram8b的設(shè)計(jì)電路模塊封裝圖,如圖3-16所示。圖3-16 ram8b的設(shè)計(jì)電路模塊封裝圖(2) ram8b程序見附錄5。3.3 本章小結(jié)設(shè)計(jì)的vhdl語言程序已在max+plus工具軟件上進(jìn)行了編譯、仿真和調(diào)試,并通過編譯器下載到了ep1k30tc144-3芯片上。經(jīng)過驗(yàn)證,本設(shè)計(jì)是正確的,其電壓顯示值誤差沒有超過量化臺(tái)階上限(5)。本設(shè)計(jì)給出的設(shè)計(jì)思想也適用于其他pld芯片的系統(tǒng)設(shè)計(jì)。結(jié) 論畢業(yè)設(shè)計(jì)是一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會(huì),通過這次比較完整的數(shù)字電壓表設(shè)計(jì),我擺脫了單純的理論知識(shí)學(xué)習(xí)狀
54、態(tài),完全將理論和實(shí)際設(shè)計(jì)相結(jié)合,鍛煉了我將所學(xué)的專業(yè)基礎(chǔ)知識(shí)進(jìn)行綜合運(yùn)用,提高解決實(shí)際fpga/cpld應(yīng)用問題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、eda課程等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富,并且意志力,抗壓能力及耐力也都得到了不同程度的提升。這是我們都希望看到的也正是我們進(jìn)行畢業(yè)設(shè)計(jì)的目的所在。經(jīng)過這次對(duì)數(shù)字電壓表的設(shè)計(jì),我對(duì)eda中的vhdl語言又來一定的了解,關(guān)于用vhdl和原理圖輸入進(jìn)行cpld/fpga設(shè)計(jì)的粗略比較:在設(shè)計(jì)中,如果采用原理圖輸入的設(shè)計(jì)方式是比較直觀的。你要設(shè)計(jì)的是什么,你就直接從庫(kù)中調(diào)
55、出來用就行了。這樣比較符合人們的習(xí)慣。但是這樣做需要設(shè)計(jì)人員要在兩方面有較高的素質(zhì):(1) 對(duì)電路的知識(shí)要比較豐富。(2) 對(duì)cpld/fpga的結(jié)構(gòu)比較熟悉。有了這兩個(gè)條件才能在設(shè)計(jì)的過程中選用適當(dāng)?shù)钠骷瑥亩岣咴O(shè)計(jì)的可靠性、提高器件的利用率,及縮短設(shè)計(jì)的周期。但是有一個(gè)重大的問題是在于,如果你的產(chǎn)品有所改動(dòng),需要采用另外的cpld/fpga時(shí),你將需要重新輸入原理圖。改用不同的器件在今天這種競(jìng)爭(zhēng)環(huán)境下是會(huì)經(jīng)常發(fā)生的,公司為了提高產(chǎn)品的性能或者降低產(chǎn)品的造價(jià),提高保密性等等,都會(huì)考慮選用不同的器件。但是當(dāng)你采用vhdl等高級(jí)語言來設(shè)計(jì)時(shí),這些問題都會(huì)得到較好的解決。由于在使用vhdl等高級(jí)語言時(shí),有專用的工具來實(shí)現(xiàn)將語言描述的電路功能轉(zhuǎn)換為實(shí)際的電路,所以你就用不著對(duì)底層的電路很熟悉,也用不著對(duì)cpld/fpga的結(jié)構(gòu)很熟悉(因?yàn)橛袑iT的工具針對(duì)你的描述采用相應(yīng)的器件)。當(dāng)你要換器件時(shí),你只需要將原來設(shè)計(jì)好的vhdl文件在新器件的設(shè)計(jì)工具中再次實(shí)現(xiàn)就行了。致 謝本設(shè)計(jì)及論文是在老師的親切關(guān)懷和悉心指導(dǎo)下完成的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)業(yè)科技研發(fā)合作協(xié)議范本:農(nóng)村種植基地租賃合同
- 2025年度定期時(shí)間勞動(dòng)合同樣本
- 2025年廣州市外地員工勞動(dòng)合同模板
- 人教版數(shù)學(xué)五年級(jí)下冊(cè)實(shí)踐活動(dòng)計(jì)劃
- 勞務(wù)合同與勞動(dòng)合同行業(yè)差異分析3篇
- 學(xué)生嚴(yán)于律己保證書3篇
- 2025-2030中國(guó)厄貝沙坦分散片行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)衛(wèi)生間環(huán)繞欄桿行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 地面施工合同中的安全生產(chǎn)3篇
- 二手物品銷售合同樣本3篇
- 工程推動(dòng)會(huì)監(jiān)理單位總監(jiān)辦發(fā)言稿
- 石家莊市既有建筑改造利用消防設(shè)計(jì)審查指南(2024年版)
- 《中華人民共和國(guó)突發(fā)事件應(yīng)對(duì)法》知識(shí)培訓(xùn)
- 《智能家居系統(tǒng)》課件
- 電信網(wǎng)絡(luò)維護(hù)與故障處理指南
- 《護(hù)理心理學(xué)》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 胖東來企業(yè)文化指導(dǎo)手冊(cè)
- 注射相關(guān)感染預(yù)防與控制(全文)
- 古詩(shī)閱讀賞析泊船瓜洲
- 熔斷器安裝施工方案
- AQ 1044-2007 礦井密閉防滅火技術(shù)規(guī)范(正式版)
評(píng)論
0/150
提交評(píng)論