基于CPLDFPGA的數(shù)字溫度表設計_第1頁
基于CPLDFPGA的數(shù)字溫度表設計_第2頁
基于CPLDFPGA的數(shù)字溫度表設計_第3頁
基于CPLDFPGA的數(shù)字溫度表設計_第4頁
基于CPLDFPGA的數(shù)字溫度表設計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、CPLDFPGA 溫度傳感器 A/D轉換器目 錄摘要1.前言111背景介紹112 數(shù)字測溫系統(tǒng)12. 系統(tǒng)描述221可編程邏輯器件FPGA222 FPGA結構原理與特點223溫度傳感器AD590的介紹324 A/D轉換器ADC0804425硬件描述語言VHDL626數(shù)字開發(fā)工具Quartus627 Quartus開發(fā)系統(tǒng)的特點628 Quartus的設計流程73系統(tǒng)設計方案831數(shù)字溫度表的工作原理832功能模塊的設計8321測溫模塊8322溫度信號處理模塊9323模數(shù)轉換模塊10324進制轉換模塊13325動態(tài)掃描模塊1433系統(tǒng)綜合164系統(tǒng)的仿真分析及器件下載1741系統(tǒng)的仿真分析174

4、2系統(tǒng)的器件下載195. 結論20心得與體會21參考文獻22附 錄231. 前言11背景介紹檢測是控制的基礎和前提,而檢測的精度必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學技術領域無時不在進行檢測??茖W技術的發(fā)展和檢測技術的發(fā)展是密切相關的?,F(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學技術的發(fā)展水平。同時,科學技術的發(fā)展達到的水平越高,又為檢測技術、傳感器技術提供了新的前提手段。目前溫度計技術的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。目前的溫度計中

5、傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。溫度是一個非常重要的過程量,是工業(yè)生產中常見的工藝控制參數(shù)之一,它直接影響燃燒、化學反應、發(fā)酵、烘烤、煅燒、蒸餾、濃度、擠壓成形、結晶以及空氣流動等物理和化學過程。溫度控制不好就可能引起生產安全,產品質量和產量等一系列問題,由此可知溫度控制是生產自動化的重要任務。大規(guī)??删幊踢壿嬈骷﨏PLD/FPGA,是一種整合性較高的邏輯元件。由于具有高整合性的特點,故利用它進行產品開發(fā),不僅成本低、周期短、可靠性高,而且PCB面積及成本也會大大減少。本文介紹了一個以ALTERA公司可編程邏輯芯片EPF10K10LC

6、84-4為控制核心、附加一定外圍電路組成的數(shù)字溫度控制系統(tǒng)。介紹了數(shù)字溫度表系統(tǒng)的組成及工作原理,簡述了在EDA平臺上用FPGA器件構成該控制系統(tǒng)的設計思想和實現(xiàn)過程。論述了數(shù)據采集模塊、數(shù)據處理模塊、BCD譯碼模塊、動態(tài)掃描模塊等的設計方法與技巧。12 數(shù)字測溫系統(tǒng)溫度的采集與測量被廣泛應用在人們的日常生活中。在現(xiàn)今眾多的測溫系統(tǒng)中,測溫元件常常選用熱敏電阻、半導體測溫二極管以及集成模擬溫度傳感器等器件,中間環(huán)節(jié)則由低通濾波、多路轉換、信號放大、模數(shù)轉換等部分組成。由于以上各類溫度傳感器及其它器件的互換性差,溫漂和非線性誤差較大,因此,整個測溫系統(tǒng)的測量誤差也隨之增大;同時,由于中間環(huán)節(jié)較多

7、,系統(tǒng)抗干擾性能也不理想。本文介紹的是一種基于FPGA芯片控制的數(shù)字溫度計,本溫度計屬于多功能溫度計,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,能夠及時檢測溫度變化以及溫度變化,提供溫度數(shù)據值,使人們對溫度的變化做及時的調整。12. 系統(tǒng)描述21可編程邏輯器件FPGA可編程邏輯器件(Programmable Logic Device,PLD)是一類半定制的通用性器件,用戶可以通過對PLD器件進行編程來實現(xiàn)所需的邏輯功能。與專用集成電路ASIC相比,PLD具有靈活性高、設計周期短、成本低、風險小等優(yōu)勢,因而得到了廣泛應用,各項相關技術也迅速發(fā)展起來,PLD目前已經成為數(shù)字系統(tǒng)設

8、計的重要硬件基礎。 PLD從20世紀70年代發(fā)展到現(xiàn)在,已經形成了許多類型的產品,其結構、工藝、集成度、速度等方面都在不斷完善和提高。隨著數(shù)字系統(tǒng)規(guī)模和復雜度的增長,許多簡單PLD產品已經逐漸退出市場,目前使用最廣泛的可編程邏輯器件有兩類:現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)和復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)。 FPGA和CPLD的內部結構稍有不同,F(xiàn)PGA即現(xiàn)場可編程門陣列,其全稱為Field Programmable Gate Array。通常

9、,F(xiàn)PGA中的寄存器資源比較豐富,適合同步時序電路較多的數(shù)字系統(tǒng);CPLD中組合邏輯資源比較豐富,適合組合電路較多的控制應用。在這兩類可編程邏輯器件中,CPLD提供的邏輯資源較少,而FPGA提供了最高的邏輯密度、最豐富的特性和極高的性能,已經在通信、消費電子、醫(yī)療、工業(yè)和軍事等各應用領域當中占據重要地位。因此,本文主要針對FPGA進行闡述。 FPGA是一類高集成度的可編程邏輯器件,起源于美國的Xillnx公司,該公司于1985年推出了世界上第一塊FPGA芯片。在這二十年的發(fā)展過程中,F(xiàn)PGA的硬件體系結構和軟件開發(fā)工具都在不斷的完善,日趨成熟。從最初的1200個可用門,90年代時幾十萬個可用門

10、,發(fā)展到目前數(shù)百萬門至上千萬門的單片F(xiàn)PGA芯片,Xilinx、Altera等世界頂級廠商已經將FPGA器件的集成度提高到一個新的水平。FPGA結合了微電子技術、電路技術、EDA技術,使設計者可以集中精力進行所需邏輯功能的設計,縮短設計周期,提高設計質量。22 FPGA結構原理與特點前生產FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生產的FPGA品種和型號繁多。盡管這些FPGA的具體結構和性能指標各有特色,但它們都有一個共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實現(xiàn)不同的設計。 典型的FPGA通常包含三

11、類基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源,基本結構如圖1所示??删幊踢壿嫻δ軌K是實現(xiàn)用戶功能的基本單元,多個邏輯功能塊通常規(guī)則地排成一個陣列結構,分布于整個芯片;可編程輸入/輸出塊完成芯片內部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內部互連資源包括各2種長度的連線線段和一些可編程連接開關,它們將各個可編程邏輯塊或輸入/輸出塊連接起來,構成特定功能的電路。用戶可以通過編程決定每個單元的功能以及它們的互連關系,從而實現(xiàn)所需的邏輯功能。不同廠家或不同型號的FPGA,在可編程邏輯塊的內部結構、規(guī)模、內部互連的結構等方面經常存在較大的差異。 除了上述構成FPGA基

12、本結構的三種資源以外,隨著工藝的進步和應用系統(tǒng)需求的發(fā)展,一般在FPGA中還可能包含以下可選資源:存儲器資源(塊RAM、分布式RAM);數(shù)字時鐘管理單元(分頻/倍頻、數(shù)字延遲、時鐘鎖定);算數(shù)運算單元(高速硬件乘法器、乘加器);多電平標準兼容的I/O接口;高速串行I/O接口;特殊功能模塊(以太網MAC等硬IP核);微處理器(PowerPC405等硬處理器IP核)。下面以Xilinx公司的Spartan-II系列以及Altera公司的Cyclone-II系列FPGA為例,介紹FPGA的一般結構。Xilinx公司的Spartan-II系列FPGA器件的基本結構主要包括5個可配置部分:(1)可配置邏

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

14、Logic Array Blocks,LABs)排列而成,用于實現(xiàn)大部分邏輯功能;(2)在芯片四周分布著可編程的輸入輸出單元(Input/Output Elements,IOEs),提供封裝引腳與內部邏輯之間的連接接口;(3)豐富的多層互連結構的可編程連線(未畫出);(4)片上的隨機存取塊狀RAM;(5)鎖相環(huán)(PLL),用于時鐘的鎖定與同步、能夠實現(xiàn)時鐘的倍頻和分頻;(6)高速的硬件乘法器,有助于實現(xiàn)高性能的DSP功能。23溫度傳感器AD590的介紹1AD590電流輸出型兩端溫度傳感器,AD590是AD公司利用PN結構正向電流與溫度的關系制成的電流輸出型兩端溫度傳感器(熱敏器件)AD590是

15、美國模擬器件公司生產的單片集成兩端感溫電流源。它的主要特性如下:1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學溫度(開爾文)度數(shù),即:mA/K式中:流過器件(AD590)的電流,單位為mA;T熱力學溫度,單位為K。2、AD590的測溫范圍為-55+150。3、AD590的電源電壓范圍為4V30V。電源電壓可在4V6V范圍變化,電流變化31mA,相當于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。4、輸出電阻為710MW。 5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55+150范圍內,非線性誤差為±0.3。A

16、D590溫度感測器是一種已經IC化的溫度感測器,它會將溫度轉換為電流,在8051的各種課本中??吹剿喈敵S玫?。其規(guī)格如下:(1)、溫度每增加1,它會增加1A輸出電流。(2)、可量測范圍-55至150。(3)、供應電壓范圍+4V至30V。AD590的輸出電流值說明如下:其輸出電流是以絕對溫度零度(-273)為基準,每增加1,它會增加1A輸出電流,因此在室溫25時其輸出電流Io=(273+25)=298A。Vo的值為Io乘上10K,以室溫25而言,輸出值為2.98V(10K×298A)。量測Vo時,不可分出任何電流,否則量測值會不準。電路分析:AD590的輸出電流I=(273+T)A(

17、T為攝氏溫度),因此量測的電壓V為(273+T)A ×10K= (2.73+T/100)V。為了將電壓量測出來又需使輸出電流I不分流出來我們使用電壓追隨器其輸出電壓V2等于輸入電壓V。由于一般電源供應較多零件之后電源是帶雜訊的因此我們使用齊納二極體作為穩(wěn)壓零件再利用可變電阻分壓, 其輸出電壓V1需調整至2.73V。24 A/D轉換器ADC0804工業(yè)生產過程中,被控參數(shù),如液位、速度、溫度、流量、壓力等都是連續(xù)變化的量,稱為模擬量,而微型計算機所能識別的數(shù)據只能是數(shù)字量。所以在把數(shù)據送入微型計算機之前,必須把模擬量轉換成數(shù)字量,也就是我們所說的模數(shù)轉換(A/D)。信號的輸入端可以是傳

18、感器,也可以是轉換器的輸出,最后把經過模數(shù)轉換的數(shù)字信號提供給FPGA器件,以便進行信息處理。模數(shù)轉換器與FPGA器件的接口框圖如圖2-2所示。A/D轉換器FPGA數(shù)據總線控制總線圖2-2 模數(shù)轉換器與FPGA的接口框圖4目前,模數(shù)轉換的常用方法主要包括計數(shù)器式A/D轉換,逐次逼近式A/D轉換,雙積分式A/D轉換和V/F變換型A/D轉換。在上述這些常用的轉換方法中,逐次逼近式A/D轉換具有較高的轉換速度、轉換程序固定和精度高的特點,適用于快速自動檢測系統(tǒng)與多回路的快速數(shù)據采集系統(tǒng),是目前應用較多的A/D轉換器結構。其框圖如圖2-3所示。數(shù)字輸出啟動信號轉換結束VXD/A逐次逼近寄存器控制邏輯W

19、1 W2 比較器時鐘模擬量輸入VREFVC 圖2-3 逐次逼近型A/D轉換器原理圖其轉換過程說明如下:當啟動脈沖信號進入A/D轉換器后,在時鐘作用下,控制邏輯首先使N位逐次逼近寄存器的最高位置1(其余N-1位置0),經D/A轉換成模擬量VC后,與輸入的模擬量VX在比較器中比較,從而給出比較結果。當VX VC時,保留該位,否則清零。然后,再使DN-2位置1,與上一位DN-1一起被送入轉換器,經D/A轉換后的模擬量VC再次與模擬量VX進行比較。如此循環(huán)下去,直到最后一位D0比較完成為止。此時,N位寄存器中的數(shù)字量即為模擬量所對應的數(shù)字量。當A/D轉換結束后,由控制邏輯發(fā)出一個轉換結束信號,通知微型

20、計算機轉換已經結束,可以讀取數(shù)據。在日常生活中,溫度的變化范圍不會太大,本系統(tǒng)要求最小溫度分辨率為1,即使溫度變化范圍為100,整個系統(tǒng)的溫度采集點應為100×2=200個,8位轉換器分辨率為1/256,完全滿足轉換精度要求,所以本系統(tǒng)的模數(shù)轉換采用的是8位逐次逼近式A/D轉換器ADC0804。ADC0804是采用CMOS工藝制成的逐次逼近型轉換芯片,具有8位分辨率,即分辨率為1/281/256,轉換值介于0255之間。轉換誤差為±1LSB,轉換時間100s(fck=640kHz時),輸入電壓范圍為05V,增加某些外部電路后,輸入模擬電壓可為5V。在該芯片的內部有輸出數(shù)據鎖

21、存器,與計算機連接時,可以將轉換電路的輸出直接連接在CPU數(shù)據總線上,不需要再附加邏輯接口電路。525硬件描述語言VHDLVHDL 2是Very High-Speed Integrated Cir-cuit Hardware Description Language的縮寫,即超高速集成電路(VHSIC)硬件描述語言.它是一種面向設計的多領域、多層次的標準HDL語言, 已經在電子系統(tǒng)自動化設計中成為主要的硬件描述工具。如今在電子系統(tǒng)設計領域中,它已成為軟件設計人員必須掌握的一種語言。VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top to Down)和基于庫(Li

22、braryBased)的設計的特點,因此設計者可以不必了解硬件結構。,設計時,首先從系統(tǒng)級功能設計開始,對系統(tǒng)高層模塊進行行為描述和功能驗證,. 這樣,可以在系統(tǒng)細節(jié)設計之前及早發(fā)現(xiàn)問題修改問題,大大提高設計效率。系統(tǒng)的功能和結構進行驗證后,就可以自頂而下逐級進行設計的細化,電路結構清楚的模塊可以采用結構描述;而不確定使用什么電路結構的模塊可以采用行為描述。然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網表,下載到具體的FPGA器件中去,從而實現(xiàn)可編程的專用集成電路的設計。VHDL的基本結構包括實體、結構體、配置、程序包、數(shù)據庫3。VHDL語言的描述對象稱為實體(EN

23、TI-TY), 實體是VHDL的描述對象,用來描述一個設計對外部的接口信號、端口數(shù)目、端口的方向和數(shù)據類型等,還包括一些其它的信息,如屬性等;結構體描述其內部的具體細節(jié),如實體的硬件結構、元件之間的互連關系、實體所完成的邏輯功能以及數(shù)據的傳輸變換等;配置語句的作用是根據設計者的不同需要,對同一個實體而給出的不同結構體的描述;程序包是用來定義常用的公用數(shù)據類型、常量、子程序等;設計庫用于存放編譯過的設計單元(包括實體說明、結構體、配置說明、程序包等)。以上五部分構成了一個完整的VHDL程序。26數(shù)字開發(fā)工具QuartusQuartus4是美國Altere公司自行設計的一種CAE軟件工具,其全稱為

24、Multiple Array Matrix and Programmable Logic User Systems。它支持Altera公司不同結構的可編程邏輯器件,為用戶開發(fā)、使用該公司生產的FPGA器件提供一個基于計算機的軟件開發(fā)與操作平臺。27 Quartus開發(fā)系統(tǒng)的特點多平臺系統(tǒng)。Quartus的設計輸入、處理與校驗功能一起提供了全集成化的可編程開發(fā)工具,可以加快動態(tài)調試,縮短開發(fā)周期。開放的界面。Quartus可與其他工業(yè)標準的設計輸入、綜合和校驗工具鏈接,具有EDIF,VHDL和VerilogHDL等網表接口,便于與許多公司的EDA工具接口。模塊組合式工具軟件。Quartus具有一

25、個完整的可編程邏輯設計環(huán)境,包括設計輸入、設計處理、設計校驗仿真和下載編程4個模塊,程序設計人員可以按照設計的需要選擇不同的工作模塊。6與結構無關。Quartus系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件系列,提供了世界上唯一真正與結構無關的可編程邏輯設計環(huán)境。硬件描述語言。Quartus軟件支持各種HDL設計輸入語言,包括VHDL、Verilog HDL和Altera自己的硬件描述語言AHDL等。28 Quartus的設計流程可編程邏輯器件的設計FPGA的設計

26、是指利用軟件開發(fā)、編程工具對器件進行開發(fā)的過程。Quartus的設計流程,包括設計準備、設計輸入、設計處理(項目編譯)、仿真和定時分析、器件編程下載4個步驟,如圖2-4所示。設計修改設計輸入項目編譯仿真和定時分析完成編程下載設計準備圖2-4 Quartus設計流程73系統(tǒng)設計方案31數(shù)字溫度表的工作原理本設計主要是利用溫度傳感器把溫度信號轉換成電信號5,然后經過模數(shù)轉換器送入FPGA中進行處理,最后通過數(shù)碼管顯示出來。數(shù)字溫度表的結構主要包括:FPGA控制核心、復位電路、AD590測溫電路、ADC模數(shù)轉換電路、4位溫度數(shù)據顯示電路以及外圍電源等組成。32功能模塊的設計通過深入研究了該數(shù)字溫度表

27、所要實現(xiàn)的功能后,從而形成了整個系統(tǒng)設計的基本組成框圖,如圖3-1所示。FPGA溫度顯示電路AD590測溫電路模數(shù)轉換器ADC0804圖3-1 系統(tǒng)組成框圖通過對系統(tǒng)基本原理圖的分析后,可以把系統(tǒng)分為測溫模塊、溫度信號處理模塊、模數(shù)轉換模塊、進制轉換模塊、動態(tài)掃描模塊五個模塊分別進行設計,從而實現(xiàn)此次設計的數(shù)字溫度表的核心系統(tǒng)。以下將對各模塊分別進行詳細的闡述。321測溫模塊測溫模塊即數(shù)據采集模塊6,本次設計主要應用美國模擬器件公司生產的AD590。AD590是電流型溫度傳感器,當作為電流輸出元件時,等同于一個恒流源,溫度每升高1K,電流就增加1A。設計測溫模塊時,由于輸出電流比較小,且模數(shù)轉

28、換器要求輸入是電壓信號,因此在AD590輸出端串接一個10KW的恒值電阻,把電流信號轉換成電壓信號,那么,此電阻上流過的電壓將和被測溫度成正比,此時溫度每變化1,電壓變化10mV。如圖3-2所示。8圖3-2 溫度采集電路我們知道AD590的溫度感測能力是,溫度每升高1K就增加1uA的電流量,而AD590輸出電流是以絕對溫度零度(-273)為基準的,即0時等于273uA,則該系統(tǒng)電流量流入10K后,將會產生273u×10K2.73V的電壓。322溫度信號處理模塊 由AD590所采集到的信號并不能滿足實際的需要,還要進行進一步的處理才能輸入到ADC0804中進行模數(shù)轉換,這里運用運算放大

29、器RC4558P進行放大。RC4558P是8腳雙通道運算放大器7,內部包好兩組形式完全形同的運算放大器,兩組運算放大器相互獨立,公用一組電源。每組運算放大器的表示如圖3-3所示,包括5個引腳,其中“V+”、“V-”為正、負電源端,“Vo”為輸出端。Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同;Vi-(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的位相反。RC4558P的引腳排列圖如圖3-4所示。圖3-3 運算放大器 圖3-4 引腳排列圖對AD590采集到的信號進行處理的電路連接如圖3-5所示。9圖3-5 AD590與ADC0804連接圖323模數(shù)轉換模塊ADC

30、0804在該設計中起到數(shù)據的模數(shù)轉換以及數(shù)據鎖存的作用。ADC0804與FPGA的模塊電路如圖3-6所示。10圖3-6 ADC0804與FPGA的連接模塊圖ADC0804是屬于逐次逼近式的模數(shù)轉換器。根據圖3-6 ADC0804與FPGA的連接和圖3-7 ADC0804的控制信號時序圖的信號流向可知,只有CS,WR,RD控制著ADC0804動作的信號。當INTR由高電平(1)轉為低電平(0)后,ADC0804這次的模數(shù)轉換完成,DB0-DB7就是轉換后的數(shù)字資料。ADC0804的控制信號時序如圖3-7所示。圖3-7 ADC0804的控制信號時序圖如果將圖3-7的動作分為S0,S1,S2,S3四

31、個步驟區(qū)間的話,那么每個步驟區(qū)間的動作方式分析如下:S0:CS=0,WR=0,RD=1(由FPGA發(fā)出信號要求ADC0804開始進行數(shù)據的模數(shù)轉換);S1:CS=1,WR=1,RD=1(ADC0804開始轉換動作,轉換完畢后INTR由高電位轉為低電位,轉換時間>100S)。S2:CS=0,WR=1,RD=0(由FPGA發(fā)出信號以讀取ADC0804的轉換資料)。S3:CS=1,WR=1,RD=1(由FPGA讀取DB0-DB7上的轉換資料)。根據控制時序圖利用有限狀態(tài)機實現(xiàn)模數(shù)轉換的控制。狀態(tài)機分成4個狀態(tài):S0啟動轉換(CS=0,RD=0);S1等待轉換結束,即等待INTR由低電平變?yōu)楦唠?/p>

32、平;S2 A/D轉換結果輸出;S3停止A/D。由于FPGA所能讀取的是VHDL語言,所以應用VHDL語言描述有限狀態(tài)機的設計,其進程如圖3-8所示。COM組合進程以INTR和上升狀態(tài)為敏感信號,當INTR由低電平轉變?yōu)楦唠娖綍r對現(xiàn)狀態(tài)進行判斷,通過改變CS和RD的狀態(tài)完成對ADC0804的控制。REG時序進程以CLK為敏感信號,在CLK的上升沿將上升狀態(tài)轉換到下降狀態(tài)。LATCH進程以LOCK為敏感信號,在LOCK的上升沿鎖存ADC0804的輸出值。11如圖3-8 狀態(tài)機進程圖實驗程序開始之前,A/D轉換器處于重啟狀態(tài)即RST=1,以使A/D轉換器處于初始狀態(tài),當RST=0時A/D轉換器進入S

33、0狀態(tài)。核心程序如下:StateChange:Block -Signal GeneratorBegin PROCESS(CP,RST) BEGIN IF RST='1'Then -Reset State nCS<='1' nWR<='1' nRD<='1' EC<='0' State<=S0;END IF;對S0,S1,S2,S3四個狀態(tài)作具體的分析如下:S0:由FPGA發(fā)出信號通知模擬/數(shù)字的轉換開始,處于寫入模擬信號狀態(tài),并且由S0狀態(tài)進入S1狀態(tài),核心程序如下:WHEN S0=&

34、gt; nCS<='0' nWR<='0' nRD<='1' EC<='0' State<=S1;12S1:ADC0804進行轉換時INTR由高電位轉至低電位,等待轉換結束;當轉換完成后,INTR將低電平變?yōu)楦唠娖?,并且由S1狀態(tài)進入S2狀態(tài),核心程序為:when S1=> nCS<=1; nWR<=1; nRD<=1; EC<=0; if nIN=0then State<=S2; End if;S2:由FPGA發(fā)出信號讀取ADC0804的轉換數(shù)據結果輸出,處于讀取

35、數(shù)字信號狀態(tài),并且由S2狀態(tài)進入S3狀態(tài),核心程序為:when S2=> nCS<=0; nWR<=1; nRD<=0; EC<=1; State<=S3;S3:由FPGA讀取DB0-DB7上的數(shù)字信號,讀取結束后停止A/D轉換器,并且由S3狀態(tài)返回S0狀態(tài),核心程序為:when S3=> nCS<=1; nWR<=1; nRD<=1; EC<=0; State<=S0; when others=> State<=S0;324進制轉換模塊通過模數(shù)轉換模8塊處理后被送入FPGA器件中的數(shù)據均為二進制的數(shù)字量, 如

36、果要想通過數(shù)碼管顯示所測溫度的值,我們必須把二進制數(shù)字量轉化為十進制的數(shù)字量。這樣13才能通過動態(tài)掃描模塊和數(shù)碼顯示模塊,從而將所測溫度的值在8位七段數(shù)碼管上準確的顯示出來。VHDL核心程序如下:Conversion:Block Signal V:Std_Logic_Vector(8 downto 0); -A/D Conversion Data Signal T:Std_Logic_Vector(7 downto 0); Begin V<=(D & '0') -"100010001" -(2) T<=V(7 downto 0); -(3

37、) Temp<=T; -(4) Value <= "000000000000" When T = 0 Else "000000000001" When T = 1 Else "000000000010" When T = 2 Else "000000000011" When T = 3 Else "000010011000" When T = 98 Else "000010011001" When T = 99 Else "000100000000&qu

38、ot; - 100End Block Conversion;其中,程序(2)將讀取到的ADC0804的數(shù)字轉換值乘以2的用意是將該位左移一位,然后減去273(100010001)2。由于所測溫度范圍0100,它們的十六進制是064H,只要較低的8位就可以表示了,而且通過減去273之后,最高位一定是0。所以,在程序(3)只取后面的8位。在程序(4)模塊中利用的是查表的方法,把相減的結果,轉換成對應的12位BCD碼,供以后的7段顯示器掃描電路使用。325動態(tài)掃描模塊動態(tài)掃描9就是利用人眼視覺暫留的現(xiàn)象,只要掃描信號頻率大于或者等于24 Hz時,人眼就不會感覺到顯示器的閃爍。該設計系統(tǒng)24Hz的掃描

39、脈沖由相應的外圍電路提供。在本設計中采用八進制計數(shù)器提供同步脈沖,因為動態(tài)掃描電路設計的位選信號必須要與顯示的數(shù)據在時序上一一對應,這就要求電路中必須提供同步脈沖信號。顯示電路的作用是完成BCD碼到7段顯示器段碼的譯碼,然后傳送到顯示器。在此要求3個顯示器輪流點亮,由于要求掃描顯示的速度必須與數(shù)據選擇器同步,所以需要一個計數(shù)器提供二者的掃描信號。應用VHDL語言設計的顯示電路如圖3-9所示,主要包括數(shù)據選擇器、BCD譯碼電路、可逆計數(shù)器、掃描譯碼4個部分。14圖3-9 顯示電路的結構數(shù)據選擇器和掃描譯碼電路的核心VHDL程序如下:Free_Counter:Block Signal Q :STD

40、_LOGIC_VECTOR(15 DOWNTO 0);BeginPROCESS(CP)Begin IF CP'Event AND CP='1'then Q<=Q+1; END IF; END PROCESS;ST<=Q(15 DOWNTO 14); SELOUT<="010"WHEN ST=0 ELSE "001"WHEN ST=1 ELSE "000"WHEN ST=2 ELSE "111"SEL<="110"WHEN ST=0 ELSE &qu

41、ot;101"WHEN ST=1 ELSE "011"WHEN 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 ELSE15 VALUE(11 DOWNTO 8);End Block SELECT_BCD;在上述程序中, ST是可逆計數(shù)器的計數(shù)值(范圍02);VALUE是數(shù)據緩存器(包含3組BCD碼)。兩部分電路的驅動基于同一個計數(shù)值,工作

42、時是完全同步的。33系統(tǒng)綜合將以上各模塊加以綜合,可以得出該數(shù)字溫度表整體,清晰的設計思路如下:AD590傳感器在加5V電壓時產生電流,此電流通過10K電阻接地,在其電阻兩端產生一個電壓,經過放大器4558放大后,模擬信號送入ADC0804中進行A/D轉換,由CPLD控制信號控制ADC0804轉換后將數(shù)字信號輸入FPGA芯片中,經過S0(啟動轉換CS=0,RD=0,WR0);S1(等待轉換結束,即等待INTR由低電平變?yōu)楦唠娖剑籗2 (A/D轉換結果輸出);S3(停止A/D)四個狀態(tài)后,F(xiàn)PGA運算讀取的二進制數(shù)值計算出十進制數(shù)值,控制系統(tǒng)編碼ST分段顯示出所測量的數(shù)字溫度值,從而讀取測量溫

43、度值。該數(shù)字溫度測量系統(tǒng)的整體電路原理圖如圖3-10所示。圖3-10 數(shù)字溫度測量系統(tǒng)原理圖164系統(tǒng)的仿真分析及器件下載1041系統(tǒng)的仿真分析該數(shù)字溫度測量系統(tǒng)采用的編譯軟件為:ALTERA公司的Quartus。將上述五個設計模塊的程序綜合成的總程序經過Quartus軟件編譯以后,得到的總模塊圖如圖4-1所示。圖4-1 系統(tǒng)總程序模塊圖系統(tǒng)的程序編譯好后,通過Quartus軟件的波形編輯器(aveform Editor)進行波形仿真,通過仿真可以檢驗設計的邏輯關系是否準確,而且能夠更清楚的看到結果,在這里先將數(shù)字溫控系統(tǒng)的顯示譯碼電路省略,直接仿真A/D轉換器輸出的結果,連接編譯完成后,進行

44、波形仿真,波形圖如圖4-2所示。17圖4-2 A/D轉換器的控制狀態(tài)波形圖由圖4-2可以看出,當CP處于第二個上升沿時,由S0狀態(tài)進入S1狀態(tài);當CP處于第三個上升沿時,由S1狀態(tài)進入S2狀態(tài);當CP處于第四個上升沿時,由S2狀態(tài)進入S3狀態(tài);當CP處于第五個上升沿時,由S3狀態(tài)返回S0狀態(tài),符合系統(tǒng)設計要求。將數(shù)字溫控系統(tǒng)的顯示譯碼部分去掉,直接顯示FPGA輸出的結果,連接編譯完成后,進行波形仿真,波形圖如圖4-3所示。圖4-3 FPGA的二進制輸出仿真圖圖4-3中Din的二進制值即為A/D轉換器數(shù)字信號的輸出量,將此值帶入公式中取低八位數(shù)據可得:T(10100100)×2(100

45、010001)(00110111),換算成十進制數(shù)據為55;Value即為十進制查表后所賦予的值,(000001010101)在七段顯示器上顯示的值為18055,即溫度為55;可以看到計算后結果一致,且與設計理念相符,至此波形仿真成功。42系統(tǒng)的器件下載系統(tǒng)所使用的芯片為Altera公司的FLEX10K系列11的EPF10K10LC84-4。運用Quartus軟件的管腳(底層)編輯窗口(Floorplan Editor)進行管腳的分配,管腳分配分為手動和自動分配,為了便于配置,現(xiàn)采用手動分配引腳,作用是將已設計好邏輯電路的輸入輸出節(jié)點賦予實際芯片的引腳。通過鼠標的拖拉,方便的定義管腳的功能。分

46、配完成后,進行FPGA下載,將實驗箱與電腦主機相連,下載。按照手動分配的引腳進行連接,將輸入連接到按鍵開關上,連接完畢,進行系統(tǒng)運行。此時,七位數(shù)碼管上會有相應的輸出值顯示。通過給其不同的高低電平改變數(shù)據的不同位數(shù),最終得到的結果與波形仿真的結果相同,完成實驗題目。195. 結論本設計采用FPGA器件做主控芯片,利用AD590溫度傳感器采集溫度信號,經信號處理和模數(shù)轉換,送入FPGA器件中進行數(shù)據處理,最后通過LED顯示溫度的數(shù)值,以達到溫度測量的目的。該數(shù)字溫度表克服了傳統(tǒng)的基于單片機的數(shù)字溫度表的諸多缺點,其具有結構簡單、抗干擾能力強、可靠性高、速度快、功耗小、外圍電路少、反應時間短等優(yōu)點

47、。而且FPGA器件采用VHDL語言編程,大部分的電路設計工作都可以在計算機上完成,這樣大大縮短了儀表的開發(fā)時間,提高了工作效率,因而被廣泛應用于人們日常生活和工、農業(yè)生產中的各種溫度的測量。經過本課題的設計與學習,不僅讓我了解到數(shù)字溫度表的設計,而且對我的自學能力也有很大的幫助,使我從課本上學到的知識掌握得更加牢固,拓寬了我的知識面,這些對我今后的工作或學習來說是一個非常寶貴的經驗。設計的過程中由于經驗不足,能力有限,該設計還存在很多缺點和不足,比如數(shù)碼管顯示位數(shù)少,導致精度下降;軟件功能相對簡單等等。系統(tǒng)功能不是很完善,不足之處敬請老師指正。20心得與體會經過一周的忙碌,課程設計已經結束。在

48、整個課題的進行過程中,我得到了同學和老師耐心的指導和幫助,從設計的選題,課題的研究,查閱資料,翻譯外文文獻,設計電路的確定和修改,后期詳細設計,到畫制電路等整個過程中都給予了我悉心的指導。這次課程設計讓我認識到了知識和實踐的重要性,更讓我鞏固了很多知識。只有牢固掌握了所學的知識,才能有清晰的思路,知道每一步該怎樣走。才能順利的解決每一個問題。都是重新在書本上看他的原理和結構,感覺有點麻煩,但畢竟我完成了。知識才是王道,以這次課程設計為例,拿到題目的時候,大致看一下要求,根據平時所學的知識,腦海中就立刻會想到應該用到的元器件,然后再去查這些元器件的資料,很快地初步方案以及大概的電路原理圖就出來了

49、。我堅信如果做的多了,我們一定可以做到拿到要求后就能很快的想到要用的元件,然后易如反掌的完成,但這樣快的速度是要以我們對知識的熟練掌握為前提的。所以,這次課程設計在讓我認識了知識的重要性之外,更讓我明白了自己理論知識和實踐知識的欠缺,讓我更加堅定了以后努力學習知識的決心。感謝學校和老師給我這樣的機會,如果能多一些這樣的機會,我想我會一次比一次更嚴格要求自己,努力讓自己成為合格的工程技術人員,為國家的電子事業(yè)貢獻自己微薄的力量。21參考文獻1 何希才.傳感器及其應用電路.北京:電子工業(yè)出版社,2001.3,45 1342 李宗伯、王蓉暉、(美)James R.Armstrong,F.Gail F

50、ray.VHDL設計表示和綜合. 北京:機械工業(yè)出版社, 2002,77 1663 J.Bhasker.Verilog HDL 硬件描述語言. 北京: 機械工業(yè)出版社, 2000,54 1424 求是科技.CPLD/FPGA應用開發(fā)技術與工程實踐. 北京: 人民郵電出版社,2005,88 1235 侯伯亨.數(shù)字系統(tǒng)設計基礎. 西安:西安電子科技大學出版社,2000, 95 1286 胡漢輝.傳感器技術與運用. 北京:科學出版社, 2009, 85 1247 余孟嘗.數(shù)字電子技術基礎. 北京:高等教育出版社, 1985.5, 18 1128 楊暉.大規(guī)??删幊踢壿嬈骷c數(shù)字系統(tǒng)設計. 北京:北京

51、航空航天大學出版社,1998,122 1469 朱明程、孫普譯、Skahill K.可編程控制系統(tǒng)的VHDL設計技術. 南京:東南大學出版社,1998, 86 11710 侯伯亨、顧新.硬件描述語言與數(shù)字邏輯電路設計. 西安:西安電子科技大學出 版社,1999, 34 15511 盧毅、賴杰.VHDL與數(shù)字電路設計. 北京:科學出版社,2002,386 39912 Cooper G R、M cGillem C D. Modern Communications and Sp read Spectrum. N ew Yo rk: M cGraw- Hill Book Co, 1986, 56 11322附 錄現(xiàn)附本課題的全部源程序如下:-*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_

溫馨提示

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

評論

0/150

提交評論