基于CPLDFPGA的數(shù)字溫度表課程設(shè)計(jì)報(bào)告_第1頁
基于CPLDFPGA的數(shù)字溫度表課程設(shè)計(jì)報(bào)告_第2頁
基于CPLDFPGA的數(shù)字溫度表課程設(shè)計(jì)報(bào)告_第3頁
基于CPLDFPGA的數(shù)字溫度表課程設(shè)計(jì)報(bào)告_第4頁
基于CPLDFPGA的數(shù)字溫度表課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 PAGE1 / NUMPAGES35 輕工業(yè)學(xué)院可編程數(shù)字系統(tǒng)課程設(shè)計(jì)題 目:基于FPGA的數(shù)字溫度計(jì)的設(shè)計(jì) 成 績:學(xué)生: 專業(yè)班級(jí): 學(xué) 號(hào): 院 (系): 電子信息工程學(xué)院 指導(dǎo)教師: 完成時(shí)間: 年 月 日 基于FPGA的數(shù)字溫度計(jì)的設(shè)計(jì)摘 要微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,而EDA技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控制以與日常生活帶來了極大的方便,大規(guī)??删幊踢壿嬈骷﨔PGA以成本低、周期短、可靠性高等特點(diǎn),給設(shè)計(jì)人員進(jìn)行產(chǎn)品開發(fā)方面帶來了諸多方便。本系統(tǒng)設(shè)計(jì)的數(shù)字溫度表正是應(yīng)用FPGA來實(shí)現(xiàn)數(shù)字溫度表的各種相關(guān)功能。本文主要介紹采用EDA技術(shù)自上而下的設(shè)計(jì)思路,從硬件和軟件

2、兩個(gè)方面闡述了如何通過FPGA器件實(shí)現(xiàn)數(shù)字溫度表系統(tǒng)功能,有效的克服了傳統(tǒng)的數(shù)字溫度計(jì)的缺點(diǎn)?;贔PGA在Quartus II 9.0軟件下應(yīng)用VHDL語言編寫程序,采用ALTRA公司Cyclone系列的EP2C5T144芯片進(jìn)行了計(jì)算機(jī)仿真,并給出了相應(yīng)的仿真結(jié)果。此系統(tǒng)利用溫度傳感器AD590采集溫度信號(hào),產(chǎn)生的溫度信號(hào)經(jīng)過調(diào)零、放大處理后,利用A/D轉(zhuǎn)換器ADC0804將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),將數(shù)字信號(hào)送入EPF10K10LC84-4進(jìn)行處理,最后送入顯示電路,由數(shù)碼管顯示溫度值。該溫度表具有結(jié)構(gòu)簡單,抗干擾能力強(qiáng),功耗小,可靠性高,速度快反應(yīng)時(shí)間短等優(yōu)點(diǎn)。關(guān)鍵詞:數(shù)字溫度表 CPL

3、DFPGA 溫度傳感器 A/D轉(zhuǎn)換器目 錄HYPERLINK l _Toc139105017摘要TOC o 1-3 h z uHYPERLINK l _Toc4233346101.前言 PAGEREF _Toc423334610 h 1HYPERLINK l _Toc42333461111背景介紹 PAGEREF _Toc423334611 h 1HYPERLINK l _Toc42333461212 數(shù)字測溫系統(tǒng) PAGEREF _Toc423334612 h 1HYPERLINK l _Toc4233346132. 系統(tǒng)描述2HYPERLINK l _Toc42333461421可編程邏輯

4、器件FPGA2HYPERLINK l _Toc42333461522 FPGA結(jié)構(gòu)原理與特點(diǎn)2HYPERLINK l _Toc42333461623溫度傳感器AD590的介紹3HYPERLINK l _Toc42333461724 A/D轉(zhuǎn)換器ADC08044HYPERLINK l _Toc42333461825硬件描述語言VHDL6HYPERLINK l _Toc42333461926數(shù)字開發(fā)工具Quartus6HYPERLINK l _Toc42333462027 Quartus開發(fā)系統(tǒng)的特點(diǎn)6HYPERLINK l _Toc42333462128 Quartus的設(shè)計(jì)流程7HYPERLI

5、NK l _Toc4233346223系統(tǒng)設(shè)計(jì)方案8HYPERLINK l _Toc42333462331數(shù)字溫度表的工作原理8HYPERLINK l _Toc42333462432功能模塊的設(shè)計(jì)8HYPERLINK l _Toc423334625321測溫模塊8HYPERLINK l _Toc423334626322溫度信號(hào)處理模塊9HYPERLINK l _Toc423334627323模數(shù)轉(zhuǎn)換模塊10HYPERLINK l _Toc423334628324進(jìn)制轉(zhuǎn)換模塊13HYPERLINK l _Toc423334629325動(dòng)態(tài)掃描模塊14HYPERLINK l _Toc4233346

6、3033系統(tǒng)綜合16HYPERLINK l _Toc4233346314系統(tǒng)的仿真分析與器件下載17HYPERLINK l _Toc42333463241系統(tǒng)的仿真分析17HYPERLINK l _Toc42333463342系統(tǒng)的器件下載19HYPERLINK l _Toc4233346345. 結(jié)論20HYPERLINK l _Toc423334635心得與體會(huì)21HYPERLINK l _Toc423334636參考文獻(xiàn)22HYPERLINK l _Toc423334637附錄231. 前言11背景介紹檢測是控制的基礎(chǔ)和前提,而檢測的精度必須高于控制的精確度,否則無從實(shí)現(xiàn)控制的精度要求。

7、不僅如此,檢測還涉與國計(jì)民生各個(gè)部門,可以說在所以科學(xué)技術(shù)領(lǐng)域無時(shí)不在進(jìn)行檢測。科學(xué)技術(shù)的發(fā)展和檢測技術(shù)的發(fā)展是密切相關(guān)的?,F(xiàn)代化的檢測手段能達(dá)到的精度、靈敏度與測量圍等,在很大程度上決定了科學(xué)技術(shù)的發(fā)展水平。同時(shí),科學(xué)技術(shù)的發(fā)展達(dá)到的水平越高,又為檢測技術(shù)、傳感器技術(shù)提供了新的前提手段。目前溫度計(jì)技術(shù)的發(fā)展很快,從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電偶溫度計(jì)、數(shù)字溫度計(jì)、電子溫度計(jì)等等。目前的溫度計(jì)中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計(jì)的精度、測量圍、控制圍和用途等。溫度是一個(gè)非常重要的過程量,是工業(yè)生產(chǎn)中常見的工藝控制參數(shù)之一,它直接影響燃燒、化學(xué)反應(yīng)、發(fā)

8、酵、烘烤、煅燒、蒸餾、濃度、擠壓成形、結(jié)晶以與空氣流動(dòng)等物理和化學(xué)過程。溫度控制不好就可能引起生產(chǎn)安全,產(chǎn)品質(zhì)量和產(chǎn)量等一系列問題,由此可知溫度控制是生產(chǎn)自動(dòng)化的重要任務(wù)。大規(guī)??删幊踢壿嬈骷﨏PLD/FPGA,是一種整合性較高的邏輯元件。由于具有高整合性的特點(diǎn),故利用它進(jìn)行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且PCB面積與成本也會(huì)大大減少。本文介紹了一個(gè)以ALTERA公司可編程邏輯芯片EPF10K10LC84-4為控制核心、附加一定外圍電路組成的數(shù)字溫度控制系統(tǒng)。介紹了數(shù)字溫度表系統(tǒng)的組成與工作原理,簡述了在EDA平臺(tái)上用FPGA器件構(gòu)成該控制系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)過程。論述了數(shù)據(jù)采集模

9、塊、數(shù)據(jù)處理模塊、BCD譯碼模塊、動(dòng)態(tài)掃描模塊等的設(shè)計(jì)方法與技巧。12 數(shù)字測溫系統(tǒng)溫度的采集與測量被廣泛應(yīng)用在人們的日常生活中。在現(xiàn)今眾多的測溫系統(tǒng)中,測溫元件常常選用熱敏電阻、半導(dǎo)體測溫二極管以與集成模擬溫度傳感器等器件,中間環(huán)節(jié)則由低通濾波、多路轉(zhuǎn)換、信號(hào)放大、模數(shù)轉(zhuǎn)換等部分組成。由于以上各類溫度傳感器與其它器件的互換性差,溫漂和非線性誤差較大,因此,整個(gè)測溫系統(tǒng)的測量誤差也隨之增大;同時(shí),由于中間環(huán)節(jié)較多,系統(tǒng)抗干擾性能也不理想。本文介紹的是一種基于FPGA芯片控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),具有讀數(shù)方便,測溫圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,能夠與時(shí)檢測溫度變化以與

10、溫度變化,提供溫度數(shù)據(jù)值,使人們對溫度的變化做與時(shí)的調(diào)整。2. 系統(tǒng)描述21可編程邏輯器件FPGA可編程邏輯器件(Programmable Logic Device,PLD)是一類半定制的通用性器件,用戶可以通過對PLD器件進(jìn)行編程來實(shí)現(xiàn)所需的邏輯功能。與專用集成電路ASIC相比,PLD具有靈活性高、設(shè)計(jì)周期短、成本低、風(fēng)險(xiǎn)小等優(yōu)勢,因而得到了廣泛應(yīng)用,各項(xiàng)相關(guān)技術(shù)也迅速發(fā)展起來,PLD目前已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)的重要硬件基礎(chǔ)。PLD從20世紀(jì)70年代發(fā)展到現(xiàn)在,已經(jīng)形成了許多類型的產(chǎn)品,其結(jié)構(gòu)、工藝、集成度、速度等方面都在不斷完善和提高。隨著數(shù)字系統(tǒng)規(guī)模和復(fù)雜度的增長,許多簡單PLD產(chǎn)品已經(jīng)逐

11、漸退出市場,目前使用最廣泛的可編程邏輯器件有兩類:現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)和復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)。FPGA和CPLD的部結(jié)構(gòu)稍有不同,F(xiàn)PGA即現(xiàn)場可編程門陣列,其全稱為FieldProgrammableGateArray。通常,F(xiàn)PGA中的寄存器資源比較豐富,適合同步時(shí)序電路較多的數(shù)字系統(tǒng);CPLD中組合邏輯資源比較豐富,適合組合電路較多的控制應(yīng)用。在這兩類可編程邏輯器件中,CPLD提供的邏輯資源較少,而FPGA提供了最高的邏輯密度、最豐富的特性和極高

12、的性能,已經(jīng)在通信、消費(fèi)電子、醫(yī)療、工業(yè)和軍事等各應(yīng)用領(lǐng)域當(dāng)中占據(jù)重要地位。因此,本文主要針對FPGA進(jìn)行闡述。FPGA是一類高集成度的可編程邏輯器件,起源于美國的Xillnx公司,該公司于1985年推出了世界上第一塊FPGA芯片。在這二十年的發(fā)展過程中,F(xiàn)PGA的硬件體系結(jié)構(gòu)和軟件開發(fā)工具都在不斷的完善,日趨成熟。從最初的1200個(gè)可用門,90年代時(shí)幾十萬個(gè)可用門,發(fā)展到目前數(shù)百萬門至上千萬門的單片F(xiàn)PGA芯片,Xilinx、Altera等世界頂級(jí)廠商已經(jīng)將FPGA器件的集成度提高到一個(gè)新的水平。FPGA結(jié)合了微電子技術(shù)、電路技術(shù)、EDA技術(shù),使設(shè)計(jì)者可以集中精力進(jìn)行所需邏輯功能的設(shè)計(jì),縮短

13、設(shè)計(jì)周期,提高設(shè)計(jì)質(zhì)量。22 FPGA結(jié)構(gòu)原理與特點(diǎn)前生產(chǎn)FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生產(chǎn)的FPGA品種和型號(hào)繁多。盡管這些FPGA的具體結(jié)構(gòu)和性能指標(biāo)各有特色,但它們都有一個(gè)共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實(shí)現(xiàn)不同的設(shè)計(jì)。典型的FPGA通常包含三類基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源,基本結(jié)構(gòu)如圖1所示??删幊踢壿嫻δ軌K是實(shí)現(xiàn)用戶功能的基本單元,多個(gè)邏輯功能塊通常規(guī)則地排成一個(gè)陣列結(jié)構(gòu),分布于整個(gè)芯片;可編程輸入/輸出塊完成芯片部邏輯與外部管腳之間的

14、接口,圍繞在邏輯單元陣列四周;可編程部互連資源包括各種長度的連線線段和一些可編程連接開關(guān),它們將各個(gè)可編程邏輯塊或輸入/輸出塊連接起來,構(gòu)成特定功能的電路。用戶可以通過編程決定每個(gè)單元的功能以與它們的互連關(guān)系,從而實(shí)現(xiàn)所需的邏輯功能。不同廠家或不同型號(hào)的FPGA,在可編程邏輯塊的部結(jié)構(gòu)、規(guī)模、部互連的結(jié)構(gòu)等方面經(jīng)常存在較大的差異。除了上述構(gòu)成FPGA基本結(jié)構(gòu)的三種資源以外,隨著工藝的進(jìn)步和應(yīng)用系統(tǒng)需求的發(fā)展,一般在FPGA中還可能包含以下可選資源:存儲(chǔ)器資源(塊RAM、分布式RAM);數(shù)字時(shí)鐘管理單元(分頻/倍頻、數(shù)字延遲、時(shí)鐘鎖定);算數(shù)運(yùn)算單元(高速硬件乘法器、乘加器);多電平標(biāo)準(zhǔn)兼容的I

15、/O接口;高速串行I/O接口;特殊功能模塊(以太網(wǎng)MAC等硬IP核);微處理器(PowerPC405等硬處理器IP核)。下面以Xilinx公司的Spartan-II系列以與Altera公司的Cyclone-II系列FPGA為例,介紹FPGA的一般結(jié)構(gòu)。Xilinx公司的Spartan-II系列FPGA器件的基本結(jié)構(gòu)主要包括5個(gè)可配置部分:(1)可配置邏輯塊(Configurable Logic Blocks,CLBs),用于實(shí)現(xiàn)大部分邏輯功能;(2)在CLBs的四周分布著可編程的輸入輸出塊(Input/Output Blocks,IOBs),提供封裝引腳與部邏輯之間的連接接口;(3)豐富的多層

16、互連結(jié)構(gòu)的可編程連線(未畫出);(4)片上的隨機(jī)存取塊狀RAM(BLOCK RAM);(5)全數(shù)字式延遲鎖相環(huán)(DLL)時(shí)鐘控制塊,與每個(gè)全局時(shí)鐘輸入緩沖器相連,該閉環(huán)系統(tǒng)確保時(shí)鐘邊沿到達(dá)部觸發(fā)器與其到達(dá)輸入引腳同步,有效地消除時(shí)鐘分配的延遲。Altera公司FPGA器件Cyclone-II系列的基本結(jié)構(gòu)主要包括:(1)邏輯陣列,由多個(gè)邏輯陣列塊(Logic Array Blocks,LABs)排列而成,用于實(shí)現(xiàn)大部分邏輯功能;(2)在芯片四周分布著可編程的輸入輸出單元(Input/Output Elements,IOEs),提供封裝引腳與部邏輯之間的連接接口;(3)豐富的多層互連結(jié)構(gòu)的可編程

17、連線(未畫出);(4)片上的隨機(jī)存取塊狀RAM;(5)鎖相環(huán)(PLL),用于時(shí)鐘的鎖定與同步、能夠?qū)崿F(xiàn)時(shí)鐘的倍頻和分頻;(6)高速的硬件乘法器,有助于實(shí)現(xiàn)高性能的DSP功能。23溫度傳感器AD590的介紹1AD590電流輸出型兩端溫度傳感器,AD590是AD公司利用PN結(jié)構(gòu)正向電流與溫度的關(guān)系制成的電流輸出型兩端溫度傳感器(熱敏器件)AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù),即:mA/K式中:流過器件(AD590)的電流,單位為mA;T熱力學(xué)溫度,單位為K。2、AD590的測溫圍為-55+1

18、50。3、AD590的電源電壓圍為4V30V。電源電壓可在4V6V圍變化,電流變化1mA,相當(dāng)于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會(huì)被損壞。4、輸出電阻為710MW。 5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55+150圍,非線性誤差為0.3。AD590溫度感測器是一種已經(jīng)IC化的溫度感測器,它會(huì)將溫度轉(zhuǎn)換為電流,在8051的各種課本中常看到它相當(dāng)常用到。其規(guī)格如下:(1)、溫度每增加1,它會(huì)增加1A輸出電流。(2)、可量測圍-55至150。(3)、供應(yīng)電壓圍+4V至30V。AD590的輸出電流值說明如下:其輸出電流

19、是以絕對溫度零度(-273)為基準(zhǔn),每增加1,它會(huì)增加1A輸出電流,因此在室溫25時(shí)其輸出電流Io=(273+25)=298A。Vo的值為Io乘上10K,以室溫25而言,輸出值為2.98V(10K298A)。量測Vo時(shí),不可分出任何電流,否則量測值會(huì)不準(zhǔn)。電路分析:AD590的輸出電流I=(273+T)A(T為攝氏溫度),因此量測的電壓V為(273+T)A 10K= (2.73+T/100)V。為了將電壓量測出來又需使輸出電流I不分流出來我們使用電壓追隨器其輸出電壓V2等于輸入電壓V。由于一般電源供應(yīng)較多零件之后電源是帶雜訊的因此我們使用齊納二極體作為穩(wěn)壓零件再利用可變電阻分壓,其輸出電壓V1

20、需調(diào)整至2.73V。24 A/D轉(zhuǎn)換器ADC0804工業(yè)生產(chǎn)過程中,被控參數(shù),如液位、速度、溫度、流量、壓力等都是連續(xù)變化的量,稱為模擬量,而微型計(jì)算機(jī)所能識(shí)別的數(shù)據(jù)只能是數(shù)字量。所以在把數(shù)據(jù)送入微型計(jì)算機(jī)之前,必須把模擬量轉(zhuǎn)換成數(shù)字量,也就是我們所說的模數(shù)轉(zhuǎn)換(A/D)。信號(hào)的輸入端可以是傳感器,也可以是轉(zhuǎn)換器的輸出,最后把經(jīng)過模數(shù)轉(zhuǎn)換的數(shù)字信號(hào)提供給FPGA器件,以便進(jìn)行信息處理。模數(shù)轉(zhuǎn)換器與FPGA器件的接口框圖如圖2-2所示。A/D轉(zhuǎn)換器FPGA數(shù)據(jù)總線控制總線圖2-2 模數(shù)轉(zhuǎn)換器與FPGA的接口框圖目前,模數(shù)轉(zhuǎn)換的常用方法主要包括計(jì)數(shù)器式A/D轉(zhuǎn)換,逐次逼近式A/D轉(zhuǎn)換,雙積分式A/

21、D轉(zhuǎn)換和V/F變換型A/D轉(zhuǎn)換。在上述這些常用的轉(zhuǎn)換方法中,逐次逼近式A/D轉(zhuǎn)換具有較高的轉(zhuǎn)換速度、轉(zhuǎn)換程序固定和精度高的特點(diǎn),適用于快速自動(dòng)檢測系統(tǒng)與多回路的快速數(shù)據(jù)采集系統(tǒng),是目前應(yīng)用較多的A/D轉(zhuǎn)換器結(jié)構(gòu)。其框圖如圖2-3所示。數(shù)字輸出啟動(dòng)信號(hào)轉(zhuǎn)換結(jié)束VXD/A逐次逼近寄存器控制邏輯W1 W2 比較器時(shí)鐘模擬量輸入VREFVC圖2-3 逐次逼近型A/D轉(zhuǎn)換器原理圖其轉(zhuǎn)換過程說明如下:當(dāng)啟動(dòng)脈沖信號(hào)進(jìn)入A/D轉(zhuǎn)換器后,在時(shí)鐘作用下,控制邏輯首先使N位逐次逼近寄存器的最高位置1(其余N-1位置0),經(jīng)D/A轉(zhuǎn)換成模擬量VC后,與輸入的模擬量VX在比較器中比較,從而給出比較結(jié)果。當(dāng)VX VC時(shí)

22、,保留該位,否則清零。然后,再使DN-2位置1,與上一位DN-1一起被送入轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換后的模擬量VC再次與模擬量VX進(jìn)行比較。如此循環(huán)下去,直到最后一位D0比較完成為止。此時(shí),N位寄存器中的數(shù)字量即為模擬量所對應(yīng)的數(shù)字量。當(dāng)A/D轉(zhuǎn)換結(jié)束后,由控制邏輯發(fā)出一個(gè)轉(zhuǎn)換結(jié)束信號(hào),通知微型計(jì)算機(jī)轉(zhuǎn)換已經(jīng)結(jié)束,可以讀取數(shù)據(jù)。在日常生活中,溫度的變化圍不會(huì)太大,本系統(tǒng)要求最小溫度分辨率為1,即使溫度變化圍為100,整個(gè)系統(tǒng)的溫度采集點(diǎn)應(yīng)為1002=200個(gè),8位轉(zhuǎn)換器分辨率為1/256,完全滿足轉(zhuǎn)換精度要求,所以本系統(tǒng)的模數(shù)轉(zhuǎn)換采用的是8位逐次逼近式A/D轉(zhuǎn)換器ADC0804。ADC0804是采用

23、CMOS工藝制成的逐次逼近型轉(zhuǎn)換芯片,具有8位分辨率,即分辨率為1/281/256,轉(zhuǎn)換值介于0255之間。轉(zhuǎn)換誤差為1LSB,轉(zhuǎn)換時(shí)間100s(fck=640kHz時(shí)),輸入電壓圍為05V,增加某些外部電路后,輸入模擬電壓可為5V。在該芯片的部有輸出數(shù)據(jù)鎖存器,與計(jì)算機(jī)連接時(shí),可以將轉(zhuǎn)換電路的輸出直接連接在CPU數(shù)據(jù)總線上,不需要再附加邏輯接口電路。25硬件描述語言VHDLVHDL 2是Very High-Speed Integrated Cir-cuit Hardware Description Language的縮寫,即超高速集成電路(VHSIC)硬件描述語言.它是一種面向設(shè)計(jì)的多領(lǐng)域、

24、多層次的標(biāo)準(zhǔn)HDL語言,已經(jīng)在電子系統(tǒng)自動(dòng)化設(shè)計(jì)中成為主要的硬件描述工具。如今在電子系統(tǒng)設(shè)計(jì)領(lǐng)域中,它已成為軟件設(shè)計(jì)人員必須掌握的一種語言。VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(ToptoDown)和基于庫(LibraryBased)的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。,設(shè)計(jì)時(shí),首先從系統(tǒng)級(jí)功能設(shè)計(jì)開始,對系統(tǒng)高層模塊進(jìn)行行為描述和功能驗(yàn)證,. 這樣,可以在系統(tǒng)細(xì)節(jié)設(shè)計(jì)之前與早發(fā)現(xiàn)問題修改問題,大大提高設(shè)計(jì)效率。系統(tǒng)的功能和結(jié)構(gòu)進(jìn)行驗(yàn)證后,就可以自頂而下逐級(jí)進(jìn)行設(shè)計(jì)的細(xì)化,電路結(jié)構(gòu)清楚的模塊可以采用結(jié)構(gòu)描述;而不確定使用什么電路結(jié)構(gòu)的模塊可以采用行為描述。然后在系統(tǒng)

25、一級(jí)進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,下載到具體的FPGA器件中去,從而實(shí)現(xiàn)可編程的專用集成電路的設(shè)計(jì)。VHDL的基本結(jié)構(gòu)包括實(shí)體、結(jié)構(gòu)體、配置、程序包、數(shù)據(jù)庫3。VHDL語言的描述對象稱為實(shí)體(ENTI-TY), 實(shí)體是VHDL的描述對象,用來描述一個(gè)設(shè)計(jì)對外部的接口信號(hào)、端口數(shù)目、端口的方向和數(shù)據(jù)類型等,還包括一些其它的信息,如屬性等;結(jié)構(gòu)體描述其部的具體細(xì)節(jié),如實(shí)體的硬件結(jié)構(gòu)、元件之間的互連關(guān)系、實(shí)體所完成的邏輯功能以與數(shù)據(jù)的傳輸變換等;配置語句的作用是根據(jù)設(shè)計(jì)者的不同需要,對同一個(gè)實(shí)體而給出的不同結(jié)構(gòu)體的描述;程序包是用來定義常用的公用數(shù)據(jù)類型、常量、子程

26、序等;設(shè)計(jì)庫用于存放編譯過的設(shè)計(jì)單元(包括實(shí)體說明、結(jié)構(gòu)體、配置說明、程序包等)。以上五部分構(gòu)成了一個(gè)完整的VHDL程序。26數(shù)字開發(fā)工具QuartusQuartus4是美國Altere公司自行設(shè)計(jì)的一種CAE軟件工具,其全稱為Multiple Array Matrix and Programmable Logic User Systems。它支持Altera公司不同結(jié)構(gòu)的可編程邏輯器件,為用戶開發(fā)、使用該公司生產(chǎn)的FPGA器件提供一個(gè)基于計(jì)算機(jī)的軟件開發(fā)與操作平臺(tái)。27 Quartus開發(fā)系統(tǒng)的特點(diǎn)多平臺(tái)系統(tǒng)。Quartus的設(shè)計(jì)輸入、處理與校驗(yàn)功能一起提供了全集成化的可編程開發(fā)工具,可以加

27、快動(dòng)態(tài)調(diào)試,縮短開發(fā)周期。開放的界面。Quartus可與其他工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸入、綜合和校驗(yàn)工具,具有EDIF,VHDL和VerilogHDL等網(wǎng)表接口,便于與許多公司的EDA工具接口。模塊組合式工具軟件。Quartus具有一個(gè)完整的可編程邏輯設(shè)計(jì)環(huán)境,包括設(shè)計(jì)輸入、設(shè)計(jì)處理、設(shè)計(jì)校驗(yàn)仿真和下載編程4個(gè)模塊,程序設(shè)計(jì)人員可以按照設(shè)計(jì)的需要選擇不同的工作模塊。與結(jié)構(gòu)無關(guān)。Quartus系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件系列,提供了世界上唯一真正與結(jié)構(gòu)無關(guān)的可

28、編程邏輯設(shè)計(jì)環(huán)境。硬件描述語言。Quartus軟件支持各種HDL設(shè)計(jì)輸入語言,包括VHDL、Verilog HDL和Altera自己的硬件描述語言AHDL等。28 Quartus的設(shè)計(jì)流程可編程邏輯器件的設(shè)計(jì)FPGA的設(shè)計(jì)是指利用軟件開發(fā)、編程工具對器件進(jìn)行開發(fā)的過程。Quartus的設(shè)計(jì)流程,包括設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、設(shè)計(jì)處理(項(xiàng)目編譯)、仿真和定時(shí)分析、器件編程下載4個(gè)步驟,如圖2-4所示。設(shè)計(jì)修改設(shè)計(jì)輸入項(xiàng)目編譯仿真和定時(shí)分析完成編程下載設(shè)計(jì)準(zhǔn)備圖2-4 Quartus設(shè)計(jì)流程3系統(tǒng)設(shè)計(jì)方案31數(shù)字溫度表的工作原理本設(shè)計(jì)主要是利用溫度傳感器把溫度信號(hào)轉(zhuǎn)換成電信號(hào)5,然后經(jīng)過模數(shù)轉(zhuǎn)換器送入F

29、PGA中進(jìn)行處理,最后通過數(shù)碼管顯示出來。數(shù)字溫度表的結(jié)構(gòu)主要包括:FPGA控制核心、復(fù)位電路、AD590測溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫度數(shù)據(jù)顯示電路以與外圍電源等組成。32功能模塊的設(shè)計(jì)通過深入研究了該數(shù)字溫度表所要實(shí)現(xiàn)的功能后,從而形成了整個(gè)系統(tǒng)設(shè)計(jì)的基本組成框圖,如圖3-1所示。FPGA溫度顯示電路AD590測溫電路模數(shù)轉(zhuǎn)換器ADC0804圖3-1 系統(tǒng)組成框圖通過對系統(tǒng)基本原理圖的分析后,可以把系統(tǒng)分為測溫模塊、溫度信號(hào)處理模塊、模數(shù)轉(zhuǎn)換模塊、進(jìn)制轉(zhuǎn)換模塊、動(dòng)態(tài)掃描模塊五個(gè)模塊分別進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)此次設(shè)計(jì)的數(shù)字溫度表的核心系統(tǒng)。以下將對各模塊分別進(jìn)行詳細(xì)的闡述。321測溫模塊測

30、溫模塊即數(shù)據(jù)采集模塊6,本次設(shè)計(jì)主要應(yīng)用美國模擬器件公司生產(chǎn)的AD590。AD590是電流型溫度傳感器,當(dāng)作為電流輸出元件時(shí),等同于一個(gè)恒流源,溫度每升高1K,電流就增加1A。設(shè)計(jì)測溫模塊時(shí),由于輸出電流比較小,且模數(shù)轉(zhuǎn)換器要求輸入是電壓信號(hào),因此在AD590輸出端串接一個(gè)10KW的恒值電阻,把電流信號(hào)轉(zhuǎn)換成電壓信號(hào),那么,此電阻上流過的電壓將和被測溫度成正比,此時(shí)溫度每變化1,電壓變化10mV。如圖3-2所示。圖3-2 溫度采集電路我們知道AD590的溫度感測能力是,溫度每升高1K就增加1uA的電流量,而AD590輸出電流是以絕對溫度零度(-273)為基準(zhǔn)的,即0時(shí)等于273uA,則該系統(tǒng)電

31、流量流入10K后,將會(huì)產(chǎn)生273u10K2.73V的電壓。322溫度信號(hào)處理模塊由AD590所采集到的信號(hào)并不能滿足實(shí)際的需要,還要進(jìn)行進(jìn)一步的處理才能輸入到ADC0804中進(jìn)行模數(shù)轉(zhuǎn)換,這里運(yùn)用運(yùn)算放大器RC4558P進(jìn)行放大。RC4558P是8腳雙通道運(yùn)算放大器7,部包好兩組形式完全形同的運(yùn)算放大器,兩組運(yùn)算放大器相互獨(dú)立,公用一組電源。每組運(yùn)算放大器的表示如圖3-3所示,包括5個(gè)引腳,其中“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位一樣;Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反。RC45

32、58P的引腳排列圖如圖3-4所示。圖3-3 運(yùn)算放大器 圖3-4 引腳排列圖對AD590采集到的信號(hào)進(jìn)行處理的電路連接如圖3-5所示。圖3-5 AD590與ADC0804連接圖323模數(shù)轉(zhuǎn)換模塊ADC0804在該設(shè)計(jì)中起到數(shù)據(jù)的模數(shù)轉(zhuǎn)換以與數(shù)據(jù)鎖存的作用。ADC0804與FPGA的模塊電路如圖3-6所示。圖3-6 ADC0804與FPGA的連接模塊圖ADC0804是屬于逐次逼近式的模數(shù)轉(zhuǎn)換器。根據(jù)圖3-6 ADC0804與FPGA的連接和圖3-7 ADC0804的控制信號(hào)時(shí)序圖的信號(hào)流向可知,只有CS,WR,RD控制著ADC0804動(dòng)作的信號(hào)。當(dāng)INTR由高電平(1)轉(zhuǎn)為低電平(0)后,ADC

33、0804這次的模數(shù)轉(zhuǎn)換完成,DB0-DB7就是轉(zhuǎn)換后的數(shù)字資料。ADC0804的控制信號(hào)時(shí)序如圖3-7所示。圖3-7 ADC0804的控制信號(hào)時(shí)序圖如果將圖3-7的動(dòng)作分為S0,S1,S2,S3四個(gè)步驟區(qū)間的話,那么每個(gè)步驟區(qū)間的動(dòng)作方式分析如下:S0:CS=0,WR=0,RD=1(由FPGA發(fā)出信號(hào)要求ADC0804開始進(jìn)行數(shù)據(jù)的模數(shù)轉(zhuǎn)換);S1:CS=1,WR=1,RD=1(ADC0804開始轉(zhuǎn)換動(dòng)作,轉(zhuǎn)換完畢后INTR由高電位轉(zhuǎn)為低電位,轉(zhuǎn)換時(shí)間100S)。S2:CS=0,WR=1,RD=0(由FPGA發(fā)出信號(hào)以讀取ADC0804的轉(zhuǎn)換資料)。S3:CS=1,WR=1,RD=1(由FPG

34、A讀取DB0-DB7上的轉(zhuǎn)換資料)。根據(jù)控制時(shí)序圖利用有限狀態(tài)機(jī)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換的控制。狀態(tài)機(jī)分成4個(gè)狀態(tài):S0啟動(dòng)轉(zhuǎn)換(CS=0,RD=0);S1等待轉(zhuǎn)換結(jié)束,即等待INTR由低電平變?yōu)楦唠娖?;S2 A/D轉(zhuǎn)換結(jié)果輸出;S3停止A/D。由于FPGA所能讀取的是VHDL語言,所以應(yīng)用VHDL語言描述有限狀態(tài)機(jī)的設(shè)計(jì),其進(jìn)程如圖3-8所示。COM組合進(jìn)程以INTR和上升狀態(tài)為敏感信號(hào),當(dāng)INTR由低電平轉(zhuǎn)變?yōu)楦唠娖綍r(shí)對現(xiàn)狀態(tài)進(jìn)行判斷,通過改變CS和RD的狀態(tài)完成對ADC0804的控制。REG時(shí)序進(jìn)程以CLK為敏感信號(hào),在CLK的上升沿將上升狀態(tài)轉(zhuǎn)換到下降狀態(tài)。LATCH進(jìn)程以LOCK為敏感信號(hào),在L

35、OCK的上升沿鎖存ADC0804的輸出值。如圖3-8 狀態(tài)機(jī)進(jìn)程圖實(shí)驗(yàn)程序開始之前,A/D轉(zhuǎn)換器處于重啟狀態(tài)即RST=1,以使A/D轉(zhuǎn)換器處于初始狀態(tài),當(dāng)RST=0時(shí)A/D轉(zhuǎn)換器進(jìn)入S0狀態(tài)。核心程序如下:StateChange:Block -Signal GeneratorBegin PROCESS(CP,RST) BEGIN IF RST=1Then -Reset State nCS=1; nWR=1; nRD=1; EC=0; State nCS=0; nWR=0; nRD=1; EC=0; State nCS=1; nWR=1; nRD=1; EC=0; if nIN=0then St

36、ate nCS=0; nWR=1; nRD=0; EC=1; State nCS=1; nWR=1; nRD=1; EC=0; State State=S0;324進(jìn)制轉(zhuǎn)換模塊通過模數(shù)轉(zhuǎn)換模8塊處理后被送入FPGA器件中的數(shù)據(jù)均為二進(jìn)制的數(shù)字量, 如果要想通過數(shù)碼管顯示所測溫度的值,我們必須把二進(jìn)制數(shù)字量轉(zhuǎn)化為十進(jìn)制的數(shù)字量。這樣才能通過動(dòng)態(tài)掃描模塊和數(shù)碼顯示模塊,從而將所測溫度的值在8位七段數(shù)碼管上準(zhǔn)確的顯示出來。VHDL核心程序如下:Conversion:Block Signal V:Std_Logic_Vector(8 downto 0); -A/D Conversion Data Si

37、gnal T:Std_Logic_Vector(7 downto 0); Begin V=(D & 0) -100010001; -(2) T=V(7 downto 0); -(3) Temp=T; -(4) Value = 0 When T = 0 Else 1 When T = 1 Else 0 When T = 2 Else 1 When T = 3 Else 0 When T = 98 Else 1 When T = 99 Else 0; - 100End Block Conversion;其中,程序(2)將讀取到的ADC0804的數(shù)字轉(zhuǎn)換值乘以2的用意是將該位左移一位,然后減去273

38、(100010001)2。由于所測溫度圍0100,它們的十六進(jìn)制是064H,只要較低的8位就可以表示了,而且通過減去273之后,最高位一定是0。所以,在程序(3)只取后面的8位。在程序(4)模塊中利用的是查表的方法,把相減的結(jié)果,轉(zhuǎn)換成對應(yīng)的12位BCD碼,供以后的7段顯示器掃描電路使用。325動(dòng)態(tài)掃描模塊動(dòng)態(tài)掃描9就是利用人眼視覺暫留的現(xiàn)象,只要掃描信號(hào)頻率大于或者等于24 Hz時(shí),人眼就不會(huì)感覺到顯示器的閃爍。該設(shè)計(jì)系統(tǒng)24Hz的掃描脈沖由相應(yīng)的外圍電路提供。在本設(shè)計(jì)中采用八進(jìn)制計(jì)數(shù)器提供同步脈沖,因?yàn)閯?dòng)態(tài)掃描電路設(shè)計(jì)的位選信號(hào)必須要與顯示的數(shù)據(jù)在時(shí)序上一一對應(yīng),這就要求電路中必須提供同步

39、脈沖信號(hào)。顯示電路的作用是完成BCD碼到7段顯示器段碼的譯碼,然后傳送到顯示器。在此要求3個(gè)顯示器輪流點(diǎn)亮,由于要求掃描顯示的速度必須與數(shù)據(jù)選擇器同步,所以需要一個(gè)計(jì)數(shù)器提供二者的掃描信號(hào)。應(yīng)用VHDL語言設(shè)計(jì)的顯示電路如圖3-9所示,主要包括數(shù)據(jù)選擇器、BCD譯碼電路、可逆計(jì)數(shù)器、掃描譯碼4個(gè)部分。圖3-9 顯示電路的結(jié)構(gòu)數(shù)據(jù)選擇器和掃描譯碼電路的核心VHDL程序如下:Free_Counter:Block Signal Q :STD_LOGIC_VECTOR(15 DOWNTO 0);BeginPROCESS(CP)Begin IF CPEvent AND CP=1then Q=Q+1; E

40、ND IF; END PROCESS;ST=Q(15 DOWNTO 14); SELOUT=010WHEN ST=0 ELSE 001WHEN ST=1 ELSE 000WHEN ST=2 ELSE 111;SEL=110WHEN ST=0 ELSE 101WHEN ST=1 ELSE 011WHEN ST=2 ELSE 111;END Block Free_Counter;SELECT_BCD:BlockBEGIN NUM= VALUE(3 DOWNTO 0)WHEN ST=0 ELSE VALUE(7 DOWNTO 4)WHEN ST=1 ELSE VALUE(11 DOWNTO 8);E

41、nd Block SELECT_BCD;在上述程序中, ST是可逆計(jì)數(shù)器的計(jì)數(shù)值(圍02);VALUE是數(shù)據(jù)緩存器(包含3組BCD碼)。兩部分電路的驅(qū)動(dòng)基于同一個(gè)計(jì)數(shù)值,工作時(shí)是完全同步的。33系統(tǒng)綜合將以上各模塊加以綜合,可以得出該數(shù)字溫度表整體,清晰的設(shè)計(jì)思路如下:AD590傳感器在加5V電壓時(shí)產(chǎn)生電流,此電流通過10K電阻接地,在其電阻兩端產(chǎn)生一個(gè)電壓,經(jīng)過放大器4558放大后,模擬信號(hào)送入ADC0804中進(jìn)行A/D轉(zhuǎn)換,由CPLD控制信號(hào)控制ADC0804轉(zhuǎn)換后將數(shù)字信號(hào)輸入FPGA芯片中,經(jīng)過S0(啟動(dòng)轉(zhuǎn)換CS=0,RD=0,WR0);S1(等待轉(zhuǎn)換結(jié)束,即等待INTR由低電平變?yōu)楦?/p>

42、電平);S2 (A/D轉(zhuǎn)換結(jié)果輸出);S3(停止A/D)四個(gè)狀態(tài)后,F(xiàn)PGA運(yùn)算讀取的二進(jìn)制數(shù)值計(jì)算出十進(jìn)制數(shù)值,控制系統(tǒng)編碼ST分段顯示出所測量的數(shù)字溫度值,從而讀取測量溫度值。該數(shù)字溫度測量系統(tǒng)的整體電路原理圖如圖3-10所示。圖3-10 數(shù)字溫度測量系統(tǒng)原理圖4系統(tǒng)的仿真分析與器件下載1041系統(tǒng)的仿真分析該數(shù)字溫度測量系統(tǒng)采用的編譯軟件為:ALTERA公司的Quartus。將上述五個(gè)設(shè)計(jì)模塊的程序綜合成的總程序經(jīng)過Quartus軟件編譯以后,得到的總模塊圖如圖4-1所示。圖4-1 系統(tǒng)總程序模塊圖系統(tǒng)的程序編譯好后,通過Quartus軟件的波形編輯器(aveform Editor)進(jìn)行

43、波形仿真,通過仿真可以檢驗(yàn)設(shè)計(jì)的邏輯關(guān)系是否準(zhǔn)確,而且能夠更清楚的看到結(jié)果,在這里先將數(shù)字溫控系統(tǒng)的顯示譯碼電路省略,直接仿真A/D轉(zhuǎn)換器輸出的結(jié)果,連接編譯完成后,進(jìn)行波形仿真,波形圖如圖4-2所示。圖4-2 A/D轉(zhuǎn)換器的控制狀態(tài)波形圖由圖4-2可以看出,當(dāng)CP處于第二個(gè)上升沿時(shí),由S0狀態(tài)進(jìn)入S1狀態(tài);當(dāng)CP處于第三個(gè)上升沿時(shí),由S1狀態(tài)進(jìn)入S2狀態(tài);當(dāng)CP處于第四個(gè)上升沿時(shí),由S2狀態(tài)進(jìn)入S3狀態(tài);當(dāng)CP處于第五個(gè)上升沿時(shí),由S3狀態(tài)返回S0狀態(tài),符合系統(tǒng)設(shè)計(jì)要求。將數(shù)字溫控系統(tǒng)的顯示譯碼部分去掉,直接顯示FPGA輸出的結(jié)果,連接編譯完成后,進(jìn)行波形仿真,波形圖如圖4-3所示。圖4-3

44、 FPGA的二進(jìn)制輸出仿真圖圖4-3中Din的二進(jìn)制值即為A/D轉(zhuǎn)換器數(shù)字信號(hào)的輸出量,將此值帶入公式中取低八位數(shù)據(jù)可得:T(10100100)2(100010001)(00110111),換算成十進(jìn)制數(shù)據(jù)為55;Value即為十進(jìn)制查表后所賦予的值,(1)在七段顯示器上顯示的值為055,即溫度為55;可以看到計(jì)算后結(jié)果一致,且與設(shè)計(jì)理念相符,至此波形仿真成功。42系統(tǒng)的器件下載系統(tǒng)所使用的芯片為Altera公司的FLEX10K系列11的EPF10K10LC84-4。運(yùn)用Quartus軟件的管腳(底層)編輯窗口(Floorplan Editor)進(jìn)行管腳的分配,管腳分配分為手動(dòng)和自動(dòng)分配,為了

45、便于配置,現(xiàn)采用手動(dòng)分配引腳,作用是將已設(shè)計(jì)好邏輯電路的輸入輸出節(jié)點(diǎn)賦予實(shí)際芯片的引腳。通過鼠標(biāo)的拖拉,方便的定義管腳的功能。分配完成后,進(jìn)行FPGA下載,將實(shí)驗(yàn)箱與電腦主機(jī)相連,下載。按照手動(dòng)分配的引腳進(jìn)行連接,將輸入連接到按鍵開關(guān)上,連接完畢,進(jìn)行系統(tǒng)運(yùn)行。此時(shí),七位數(shù)碼管上會(huì)有相應(yīng)的輸出值顯示。通過給其不同的高低電平改變數(shù)據(jù)的不同位數(shù),最終得到的結(jié)果與波形仿真的結(jié)果一樣,完成實(shí)驗(yàn)題目。5. 結(jié)論本設(shè)計(jì)采用FPGA器件做主控芯片,利用AD590溫度傳感器采集溫度信號(hào),經(jīng)信號(hào)處理和模數(shù)轉(zhuǎn)換,送入FPGA器件中進(jìn)行數(shù)據(jù)處理,最后通過LED顯示溫度的數(shù)值,以達(dá)到溫度測量的目的。該數(shù)字溫度表克服了

46、傳統(tǒng)的基于單片機(jī)的數(shù)字溫度表的諸多缺點(diǎn),其具有結(jié)構(gòu)簡單、抗干擾能力強(qiáng)、可靠性高、速度快、功耗小、外圍電路少、反應(yīng)時(shí)間短等優(yōu)點(diǎn)。而且FPGA器件采用VHDL語言編程,大部分的電路設(shè)計(jì)工作都可以在計(jì)算機(jī)上完成,這樣大大縮短了儀表的開發(fā)時(shí)間,提高了工作效率,因而被廣泛應(yīng)用于人們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的各種溫度的測量。經(jīng)過本課題的設(shè)計(jì)與學(xué)習(xí),不僅讓我了解到數(shù)字溫度表的設(shè)計(jì),而且對我的自學(xué)能力也有很大的幫助,使我從課本上學(xué)到的知識(shí)掌握得更加牢固,拓寬了我的知識(shí)面,這些對我今后的工作或?qū)W習(xí)來說是一個(gè)非常寶貴的經(jīng)驗(yàn)。設(shè)計(jì)的過程中由于經(jīng)驗(yàn)不足,能力有限,該設(shè)計(jì)還存在很多缺點(diǎn)和不足,比如數(shù)碼管顯示位數(shù)少,導(dǎo)致

47、精度下降;軟件功能相對簡單等等。系統(tǒng)功能不是很完善,不足之處敬請老師指正。心得與體會(huì)經(jīng)過一周的忙碌,課程設(shè)計(jì)已經(jīng)結(jié)束。在整個(gè)課題的進(jìn)行過程中,我得到了同學(xué)和老師耐心的指導(dǎo)和幫助,從設(shè)計(jì)的選題,課題的研究,查閱資料,翻譯外文文獻(xiàn),設(shè)計(jì)電路的確定和修改,后期詳細(xì)設(shè)計(jì),到畫制電路等整個(gè)過程中都給予了我悉心的指導(dǎo)。這次課程設(shè)計(jì)讓我認(rèn)識(shí)到了知識(shí)和實(shí)踐的重要性,更讓我鞏固了很多知識(shí)。只有牢固掌握了所學(xué)的知識(shí),才能有清晰的思路,知道每一步該怎樣走。才能順利的解決每一個(gè)問題。都是重新在書本上看他的原理和結(jié)構(gòu),感覺有點(diǎn)麻煩,但畢竟我完成了。知識(shí)才是王道,以這次課程設(shè)計(jì)為例,拿到題目的時(shí)候,大致看一下要求,根據(jù)平

48、時(shí)所學(xué)的知識(shí),腦海中就立刻會(huì)想到應(yīng)該用到的元器件,然后再去查這些元器件的資料,很快地初步方案以與大概的電路原理圖就出來了。我堅(jiān)信如果做的多了,我們一定可以做到拿到要求后就能很快的想到要用的元件,然后易如反掌的完成,但這樣快的速度是要以我們對知識(shí)的熟練掌握為前提的。所以,這次課程設(shè)計(jì)在讓我認(rèn)識(shí)了知識(shí)的重要性之外,更讓我明白了自己理論知識(shí)和實(shí)踐知識(shí)的欠缺,讓我更加堅(jiān)定了以后努力學(xué)習(xí)知識(shí)的決心。感學(xué)校和老師給我這樣的機(jī)會(huì),如果能多一些這樣的機(jī)會(huì),我想我會(huì)一次比一次更嚴(yán)格要求自己,努力讓自己成為合格的工程技術(shù)人員,為國家的電子事業(yè)貢獻(xiàn)自己微薄的力量。參考文獻(xiàn)1 何希才.傳感器與其應(yīng)用電路.:電子工業(yè),

49、2001.3,45 1342 宗伯、王蓉暉、(美)James R.Armstrong,F.Gail Fray.VHDL設(shè)計(jì)表示和綜合. :機(jī)械工業(yè), 2002,77 1663J.Bhasker.Verilog HDL 硬件描述語言. : 機(jī)械工業(yè),2000,54 1424科技.CPLD/FPGA應(yīng)用開發(fā)技術(shù)與工程實(shí)踐. : 人民郵電,2005,88 1235侯伯亨.數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ). :電子科技大學(xué),2000, 95 1286胡漢輝.傳感器技術(shù)與運(yùn)用. :科學(xué), 2009, 85 1247余孟嘗.數(shù)字電子技術(shù)基礎(chǔ). :高等教育, 1985.5, 18 1128 暉.大規(guī)??删幊踢壿嬈骷c數(shù)字系

50、統(tǒng)設(shè)計(jì). :航空航天大學(xué),1998,122 1469朱明程、普譯、Skahill K.可編程控制系統(tǒng)的VHDL設(shè)計(jì)技術(shù). :東南大學(xué),1998, 86 11710 侯伯亨、顧新.硬件描述語言與數(shù)字邏輯電路設(shè)計(jì). :電子科技大學(xué)出 版社,1999, 34 15511 盧毅、賴杰.VHDL與數(shù)字電路設(shè)計(jì). :科學(xué),2002,386 39912Cooper G R、M cGillem C D. Modern Communications and Sp read Spectrum. N ew Yo rk: M cGraw- HillBook Co, 1986, 56 113附 錄現(xiàn)附本課題的全部源程序

51、如下:-*LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; -*ENTITY Ch9_3_1 is PORT( Din :IN STD_LOGIC_VECTOR(7 Downto 0); Temp :OUT STD_LOGIC_VECTOR(7 Downto 0); Dout :OUT STD_LOGIC_VECTOR(3 Downto 0); Tout :OUT STD_LOGIC_VECTOR(11 Downto 0); SELOUT

52、:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); SEGOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); CP :IN STD_LOGIC; RST :IN STD_LOGIC; nINTR :IN STD_LOGIC nCS,nWR,nRD:OUT STD_LOGIC; );END Ch9_3_1;-*ARCHITECTURE a OF Ch9_3_1 IS TYpE STATE_TYPE IS (S0,S1,S2,S3); SIGNAL State :STATE_TYPE; SIGNAL EC,nIN :STD_LOGIC; SIGNAL D

53、:STD_LOGIC_VECTOR(7 Downto 0); SIGNAL Value :STd_LOGIC_VECTOR(11 Downto 0); SIGNAL NUM : STD_LOGIC_VECTOR(3 Downto 0); SIGNAL SEG :STD_LOGIC_VECTOR(6 Downto 0); SIGNAL SEL :STD_LOGIC_VECTOR(2 DOWNTO 0); Signal ST :STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINSystemConnection:BlockBegin nIn=nINTR; SEGOUT(6 DOW

54、NTO 0)=SEG; SEGOUT(7)=0; Dout=NUM; Tout=Value;END Block SystemConnection;StateChange:Block Begin PROCESS(CP,RST) BEGIN IF RST=1Then nCS=1; nWR=1; nRD=1; EC=0; State nCS=0;nWR=0; nRD=1; EC=0; State nCS=1; nWR=1; nRD=1; EC=0; if nIN=0Then State nCS=0; nWR=1; nRD=0; EC=1; State nCS=1; nWR=1; nRD=1; EC=

55、0; State State=S0; END CASE; END If; END PROCESS; End Block StateChange;ReadData: BlockBegin PROCESS(CP) BEGIN IF CPEvent AND CP=1THEN IF EC=1THEN D=Din; END IF; END IF; END PROCESS;End Block ReadData;Conversion:Block Signal V:Std_Logic_Vector(8 downto 0); Signal T:Std_Logic_Vector(7 downto 0); Begi

56、n V=(D & 0) -100010001; T=V(7 downto 0); Temp=T; Value = 0 When T = 0 Else 1 When T = 1 Else 0 When T = 2 Else 1 When T = 3 Else 0 When T = 4 Else 1 When T = 5 Else 0 When T = 6 Else 1 When T = 7 Else 0 When T = 8 Else 1 When T = 9 Else 0 When T = 10 Else 1 When T = 11 Else 0 When T = 12 Else 1 When

57、 T = 13 Else 0 When T = 14 Else 1 When T = 15 Else 0 When T = 16 Else 1 When T = 17 Else 0 When T = 18 Else 1 When T = 19 Else 0 When T = 20 Else 1 When T = 21 Else 0 When T = 22 Else 1 When T = 23 Else 0 When T = 24 Else 1 When T = 25 Else 0 When T = 26 Else 1 When T = 27 Else 0 When T = 28 Else 1 When T = 29 Else 0 When T = 30 Else 1 When T = 31 Else 0 When T = 32 Else 1 When T = 33 Else 0 When T = 34 Else 1 When T = 35 Else 0 When T = 36 Else 1 When T = 37 Else 0 When T = 38 Else 1 When T = 39 Else 0 When T =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論