本科畢業(yè)論文-基于fpga的空調(diào)控制系統(tǒng)設計_第1頁
本科畢業(yè)論文-基于fpga的空調(diào)控制系統(tǒng)設計_第2頁
本科畢業(yè)論文-基于fpga的空調(diào)控制系統(tǒng)設計_第3頁
本科畢業(yè)論文-基于fpga的空調(diào)控制系統(tǒng)設計_第4頁
本科畢業(yè)論文-基于fpga的空調(diào)控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于FPGA的空調(diào)控制系統(tǒng)設計作者姓名專業(yè)名稱電子科學與技術摘要近幾年來,隨著中國科學技術的進步和人民生活水平的不斷提高,各種產(chǎn)業(yè)在迅速發(fā)展,當然,空調(diào)業(yè)也包括其中,空調(diào)在公共場所,專用場地和普通家庭等場所都廣泛應用。但是隨著空調(diào)數(shù)量的增加,相應的負面問題也隨之出現(xiàn),耗能的日益增加已成為我國部分地區(qū)能源及電力供需矛盾的主要原因之一,當務之急必須采取有效措施降低空調(diào)的能耗。如何降低空調(diào)能耗,實現(xiàn)空調(diào)自動控制,利用空調(diào)改善室內(nèi)溫度,延長空調(diào)使用壽命已成為當前首要課題。本文介紹了空調(diào)控制器的設計,提出了一種采用現(xiàn)場可編程門陣列器件FPGA實現(xiàn)空調(diào)控制器的方法,該設計采用采用ALTERA公司高性價比FPGA,CYCLONEIV系列EP4CE6E22C8做主控制器,使用高精度的溫度傳感器DS18B20采集環(huán)境溫度,LCD1602用于顯示控制溫度情況,并用按鍵調(diào)節(jié)控制溫度和定時,LED燈模擬空調(diào)電機狀態(tài),本設計給出了用VERILOGHDL語言實現(xiàn)高效率空調(diào)控制器的設計,最后給出了其在FPGA硬件上實現(xiàn)關鍵詞空調(diào)控制器FPGACYCLONEIVVERILOGHDLABSTRACTINRECENTYEARS,WITHTHECONTINUOUSIMPROVEMENTOFSCIENTIFICANDTECHNOLOGICALPROGRESSANDTHECHINESEPEOPLESLIVINGSTANDARDS,THERAPIDDEVELOPMENTOFVARIOUSINDUSTRIESINTHECOURSE,WHICHALSOINCLUDESTHEAIRCONDITIONINGINDUSTRY,AIRCONDITIONERSAREWIDELYUSEDINPUBLICPLACES,SPECIALVENUESANDORDINARYFAMILIESANDOTHERPLACESHOWEVER,WITHTHEINCREASINGNUMBEROFAIRCONDITIONING,THECORRESPONDINGNEGATIVEISSUESAPPEARED,INCREASINGENERGYCONSUMPTIONHASBECOMEONEOFTHEENERGYANDELECTRICITYSUPPLYANDDEMANDINSOMEAREASOFTHEMAINREASONS,ITISIMPERATIVETOTAKEEFFECTIVEMEASURESTOREDUCETHEENERGYCONSUMPTIONOFAIRCONDITIONINGHOWTOREDUCEAIRCONDITIONINGENERGYCONSUMPTIONFORAIRCONDITIONINGAUTOMATICCONTROL,THEUSEOFAIRCONDITIONINGTOIMPROVETHEINDOORTEMPERATUREANDPROLONGTHELIFEOFAIRCONDITIONINGHASBECOMEAPRIORITYISSUETHISPAPERDESCRIBESTHEDESIGNOFAIRCONDITIONINGCONTROLLERPRESENTSAMETHODUSINGFIELDPROGRAMMABLEGATEARRAYDEVICEFPGACONTROLLERFORAIRCONDITIONING,WHICHISDESIGNEDUSINGALTERASHIGHCOSTFPGA,CYCLONEIVSERIESEP4CE6E22C8MASTERCONTROLLER,USINGHIGHPRECISIONTEMPERATURECOLLECTINGTHEAMBIENTTEMPERATURESENSORDS18B20,LCD1602DISPLAYCONTROLFORTEMPERATURECONDITIONS,WITHTHETEMPERATUREANDTIMINGADJUSTMENTCONTROLBUTTONS,LEDLIGHTSSIMULATEAIRCONDITIONEDMOTORSTATE,THISDESIGNGIVESTHEVERILOGHDLLANGUAGEUSEDTOACHIEVEHIGHEFFICIENCYAIRCONDITIONINGCONTROLLERDESIGN,FINALLYITSIMPLEMENTATIONINFPGAHARDWAREKEYWORDSAIRCONDITIONINGCONTROLLER,F(xiàn)PGA,CYCLONEIV,VERILOGHDL目錄摘要IABSTRACTII目錄III前言11FPGA的概述211FPGA的特點212本設計中使用的FPGA具有的特點32系統(tǒng)方案論證與確定421方案的選擇4方案14方案2522方案論證與確定63硬件電路設計731硬件整體結構及原理732電源部分833時鐘電路934按鍵電路935溫度傳感器DS18B20的特點936DS18B20的測溫原理1037程序下載124軟件設計1341頂層結構框圖1442DS18B20的狀態(tài)機框圖1543LCD1602的狀態(tài)機框圖175MODELSIM仿真及仿真1951MODELSIM介紹1952書寫TESTBENCH激勵信號2053時鐘模塊仿真20531時鐘模塊的激勵信號TESTBENCH20532時鐘仿真波形及分析2254溫度數(shù)據(jù)處理及空調(diào)電機仿真23541LED模塊激勵信號TESTBENCH23542LED模塊仿真結果及分析256實際運行結果及總結2661配置管腳2662燒錄程序2763運行結果分析27致謝29參考文獻30附件程序代碼31頂層模塊VERILOGHDL代碼31DS18B20模塊VERILOGHDL代碼33LCD1602模塊VERILOGHDL代碼48CLOCK模塊VERILOGHDL代碼55按鍵模塊VERILOGHDL代碼57LED模塊VERILOGHDL代碼59前言本論文主要任務是設計基于FPGA的空調(diào)控制系統(tǒng)的設計。本課題的設計采用了溫度傳感器DS18B20作為前端溫度采集,采用ALTERA公司高性價比FPGACYCLONEIV系列EP4CE6E22C8做主控制器??刂破鞑糠衷赒UARTUSII平臺使用VERILOGHDL語言編寫,主體程序采用了狀態(tài)機作為主要控制方式。并使用MODELSIM進行軟件功能仿真,排除設計錯誤,提高軟件設計效率。硬件主要有五大模塊溫度設置模塊、定時模塊、LCD顯示模塊、分頻模塊、FPGA控制器模塊。最后實現(xiàn)使用FPGA比較設置溫度與測量所得溫度,并發(fā)出指令給空調(diào)電機執(zhí)行部分,使用LED燈模擬,根據(jù)按鍵設置溫度實現(xiàn)升溫或降溫,當設定溫度與測量溫度相等時,不執(zhí)行調(diào)節(jié)溫度功能。另外要能根據(jù)輸入數(shù)據(jù)的變化和溫度傳感器測量得到的溫度同步變化LCD上顯示。該課題的研究將有助于采用FPGA的系列產(chǎn)品的開發(fā)。同時可以大大縮短FPGA的開發(fā)時間。另外,由于模塊的易用性,也將使得更多的采用FPGA產(chǎn)品應用于溫控領域,為行業(yè)和我們的生活帶來新的變化。1FPGA的概述11FPGA的特點FPGA(FIELDPROGRAMMABLEGATEARRAY),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言(VERILOGHDL或VHDL)所完成的電路設計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至FPGA上進行測試,是現(xiàn)代IC設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(FLIPFLOP)或者其他更加完整的記憶塊。系統(tǒng)設計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。FPGA采用了邏輯單元陣列LCA(LOGICCELLARRAY)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(CONFIGURABLELOGICBLOCK)、輸出輸入模塊IOB(INPUTOUTPUTBLOCK)和內(nèi)部連線(INTERCONNECT)三個部分。FPGA的基本特點主要有(1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn)就能得到合用的芯片;(2)FPGA可做其他全定制或半定制ASIC電路的試樣片;(3)FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳;(4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一;(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度和可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的。因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中的數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關系消失。因此,F(xiàn)PGA能夠反復使用。FPGA的編程不需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA、不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。12本設計中使用的FPGA具有的特點1ALTERA新的CYCLONEIVFPGA器件系列擴展了CYCLONE系列EP4CE6E22C8,成本最低,功耗最低的FPGA。2具有6272個邏輯單元(LE)。350MHZ時鐘輸入。4高達270KBITS嵌入式存儲器。515個嵌入式18X18乘法器。62通用PLL鎖相環(huán)。78個用戶I/O塊,提供91個I/0口。2系統(tǒng)方案論證與確定21方案的選擇目前大多數(shù)的的空調(diào)溫度控制系統(tǒng)都采用了以單片機作為控制器的設計,但是隨著可編程邏輯器件的發(fā)展,家用電器的控制部分也越來越多地使用可編程邏輯器件來實現(xiàn),所以下面提供了以單片機和可編程邏輯器件(FPGA)為核心控制器件的2個方案進行選擇。方案1該方案采用的是AT89C51單片機為核心控制器件,用它來處理各個單元電路的工作以及檢測其運行情況。首先通過溫度傳感器對空氣進行溫度采集,將采集的溫度信號作A/D轉換,使其模擬信號轉變成數(shù)字信號,然后輸給單片機,再由單片機控制顯示,并比較采集的溫度與設定的溫度是否一致,然后驅動空調(diào)機的加熱或降溫循環(huán)對空氣進行處理,從而模擬實現(xiàn)空調(diào)溫度控制單元的工作情況,本設計中我們采用的是AD590溫度傳感器,通過溫度系統(tǒng)采集電路采集相關溫度數(shù)值,再由AD0809組成的A/D轉換電路進行轉換,最終的到數(shù)字信號,將其直接輸給單片機,然后由單片機機根據(jù)內(nèi)部程序判斷,執(zhí)行相關控制程序,驅動個單元電路的工作。其方框圖如圖21所示方案2該方案以FPGA為核心控制器件,采用數(shù)字溫度傳感器DS18B20進行溫度采集,將采集到的溫度數(shù)字直接以數(shù)字信號傳輸給FPGA控制器,控制器通過比較采集的溫度和用戶設定的溫度來做出發(fā)送降溫還是加熱的控制信號給空調(diào)機。同時通過FPGA芯片還可以實現(xiàn)定時和控制顯示,使用LCD1602將傳感器測量到的溫度,設定的溫度、定時時長都顯示出來。其方框圖如下圖22所示FPGA控制器DS18B20LCD1602空調(diào)電機按鍵輸入AT89C51控制器ADC0809A/D轉換器數(shù)碼管顯示空調(diào)電機AD950溫度傳感器圖21方案一按鍵輸入22方案論證與確定通過比較兩個方案,方案1采用單片機為核心控制器件,該方案的優(yōu)點是容易控制,系統(tǒng)原理比較簡單,電路可靠,容易實現(xiàn)控制目的。但是該方案中的溫度測量電路,譯碼電路復雜,容易產(chǎn)生誤差和由電路復雜而導致的設備使用壽命低等一系列問題。方案2采用的是以FPGA為核心控制器件,同時溫度傳感器采用的是高精度的數(shù)字溫度傳感器DS18B20,通過該傳感器采集的溫度信息不需要經(jīng)過信號放大和A/D轉換直接以數(shù)字信號的形式傳遞給控制芯片,使得電路的連接大大的簡化了,減小了電路復雜所帶來的誤差等問題。而且FPGA芯片所具有的可編程修改的特點以及其強大的邏輯功能都是單片機難以達到的,這樣不但給設計過程中帶來一系列的便利,而且在空調(diào)的功能日趨人性化和智能話的發(fā)展趨勢下,以FPGA為控制器件的設計無疑更加具有市場競爭力。所以同過上面的對兩個方案的比較論證,本次設計采用方案2來實現(xiàn)。圖22方案二3硬件電路設計31硬件整體結構及原理硬件電路主要包括電源電路、石英晶振、溫度傳感器、FPGA控制器、LCD1602顯示、按鍵組成。本設計采用ALTERA公司高性價比FPGA,CYCLONEIV系列EP4CE6E22C8做主控制器,溫度傳感器采用高精度數(shù)字溫度傳感器DS18B20。整個電路的工作原理是由50MHZ石英晶振FPGA提供時鐘信號,數(shù)字式溫度傳感器DS18B20將采集的溫度信息以數(shù)字信號的形式直接傳遞給FPGA芯片,用戶也可通過按鈕根據(jù)需要自己設定溫度值。采集溫度和設定溫度都送給FPGA控制器,控制器通過對兩個溫度值的比較做出判斷,當測量溫度大于設定溫度時就想空調(diào)的電機發(fā)出制冷的控制信號;當測量溫度小于設定溫度時,則發(fā)出一加熱的控制信號;當兩者相等時則不制冷也不加熱。通過執(zhí)行機構工作狀態(tài)的轉換來達到改變環(huán)境溫度的目的。同時,F(xiàn)PGA還可以對設定溫度進行定時,并將定時的時間、測量溫度和設定溫度的值通過LCD1602顯示出來。整個硬件的框圖如圖31所示FPGA控制器DS18B20LED燈閃爍仿真空調(diào)電機機LCD1602電源管理50MHZ時鐘輸入按鍵輸入JTAG下載圖31硬件框圖32電源部分使用DC/DC電源芯片AMS1117系列的111733V、111725V、111712V,分別給FPGA提供33VI/0口電壓,25V輔助電壓和12V內(nèi)核電壓。AMS1117是一個正向低壓降穩(wěn)壓器,在1A電流下壓降為12V。固定輸出電壓為15V、18V、25V、285V、30V、33V、50V和可調(diào)版本,具有1的精度。AMS1117內(nèi)部集成過熱保護和限流電路。其電路原理圖如圖32所示U11AMS11172V5VIN3GND1VOUT2U12AMS11171V2VIN3GND1VOUT2U13AMS11173V3VIN3GND1VOUT2D4LEDR121KU4USBVBUS1D2D3GND4VCC_INC510UF/16VC601UF/16VD51N40012211VCC_3V3C710UF/16VC801UF/16VC910UF/16VC1001UF/16VC1110UF/16VC1201UF/16VC1310UF/16VC1401UF/16VVCC_2V5VCC_3V3VCC_1V2C1510UF/16VC1601UF/16V圖32電源電路33時鐘電路為系統(tǒng)提供50MHZ的穩(wěn)定時鐘,如圖33所示。U2XTALEN1VCC4GND2CLK3VCC_3V3R1333RCLOCK_INC310UF/16V圖33時鐘電路34按鍵電路通過一個10K的上拉電阻使I/O保持確定狀態(tài),如圖35所示。R210KR310KR410KR510KVCC_3V3K1KEY1234K2KEY1234K3KEY1234K4KEY1234K3K2K1K4VCC_3V3VCC_3V3VCC_3V3圖35按鍵電路35溫度傳感器DS18B20的特點DS18B20是美國DALLS公司生產(chǎn)的單線數(shù)字溫度傳感器。它具有微型化、低功耗、高性能、抗干攏能力強、易配微處理器等優(yōu)點。特別適合于構成多點溫度測控系統(tǒng)。可直接將溫度轉化成串行數(shù)字信號供微機處理,而且每片DS18B20都有唯一的產(chǎn)品號并可存入其ROM中。以便在構成大型溫度測控系統(tǒng)時在單線上掛接任意多個DS18B20芯片。DS18B20的性能特點如下(1)獨特的單線接口引腳進行通信;(2)多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點組網(wǎng)功能;(3)無須外部器件;(4)可以通過數(shù)據(jù)線供電,電壓范圍3055V;(5)零待機功耗;(6)溫度以9或12位數(shù)字讀出;(7)用戶可定義的非易失性溫度報警設置;報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。36DS18B20的測溫原理經(jīng)過單線接口訪問DS18B20的協(xié)議如下1、初始化2、ROM操作3、RAM存貯器操作4、處理數(shù)據(jù)每次訪問單總線器件,必須嚴格遵守這個協(xié)議(即操作序列),如果出現(xiàn)序列混亂,則單總線器件不會響應主機。但是,這個準則對于搜索ROM命令和報警搜索命令例外,在執(zhí)行兩者中任何一條命令之后,主機不能執(zhí)行其后的功能命令,必須返回至第一步。初始化基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復位脈沖和從機響應的應答脈沖組成。應答脈沖使主機知道總線上有從機設備且準備就緒。ROM操作在主機檢測到應答脈沖后,就可以發(fā)出ROM命令。這些命令與各個從機設備的唯一64位ROM代碼相關,允許主機在單總線上連接多個從機設備時,指定操作某個從機設備。這些命令還允許主機能夠檢測到總線上有多少個從機設備以及其設備類型,或者有沒有設備處于報警狀態(tài)。從機設備可能支持5種ROM命令(實際情況與具體型號有關),每種命令長度為8位。主機在發(fā)出存貯器操作命令之前,必須送出合適的ROMRAM存貯器操作在主機發(fā)出ROM命令,以訪問某個指定的DS18B20,接著就可以發(fā)出DS18B20支持的某個存貯器操作命令。數(shù)據(jù)處理數(shù)據(jù)處理是當主機通過前三步的通信,在從機上得到了需要的數(shù)據(jù),再進行進一步處理的環(huán)節(jié),這部分根據(jù)用戶的需要而定。電路原理圖如圖36圖36溫度傳感器電路37程序下載通過JTAG接口電路,使用ALTERA的USBBLASTER程序下載器,通過計算機的USB接口可對ALTERA的FPGA/CPLD以及配置芯片進行編程、調(diào)試等操作,對程序燒錄的FPGA里面。TCKTMSTDOJ1HEADER5X224681013579VCC_3V3TDIR810KR910KR1010KR1110KVCC_3V3圖36程序下載電路4軟件設計在QUARTUSII110平臺使用VERILOGHDL語言編寫,主體程序采用了狀態(tài)機作為主要控制方式。程序中主要使用了狀態(tài)機對DS18B20進行了時序控制,通過一些命令使DS18B20采集獲得溫度值傳送到FPGA控制器。最后將數(shù)據(jù)送給LCD顯示電路進行顯示,從而可以實時地觀察到溫度變化,同時LED閃爍進行模擬空調(diào)電機運作。編寫好VERILGHDL代碼后,在MODELSIM65平臺上進行前仿真。同時通過MODELSIM書寫TESTBENCH,經(jīng)行RTL級功能仿真。主旨在于驗證電路的功能是否符合設計要求,其特點是不考慮電路門延遲與線延遲,主要是驗證電路與理想情況是否一致。可綜合FPGA代碼是用RTL級代碼語言描述的,其輸入為RTL級代碼與TESTBENCH。在設計的最初階段發(fā)現(xiàn)問題,可節(jié)省大量的精力41頂層結構框圖軟件設計分為六大模塊,頂層模塊,DS18B20模塊,時鐘分頻模塊,按鍵輸入模塊,LCD1602模塊,LED模塊。如圖41所示圖41頂層結構框圖42DS18B20的狀態(tài)機框圖DS18B20模塊采用狀態(tài)機方法設計,然而DS18B20對時序要求比較嚴格,所以設計中不得不使用非常多的狀態(tài)來解決這一問題。設計中采用格雷碼來進行狀態(tài)機編碼,使用格雷碼每個相鄰的狀態(tài)切換只有一個BIT的信號跳變,其DS18B20的狀態(tài)機框圖如圖42所示。/格雷碼狀態(tài)機PARAMETERS005H00PARAMETERS05H01PARAMETERS15H03PARAMETERS25H02PARAMETERS35H06PARAMETERS45H07PARAMETERS55H05PARAMETERS65H04PARAMETERS75H0CPARAMETERWRITE05H0DPARAMETERWRITE15H0FPARAMETERWRITE005H0EPARAMETERWRITE015H0APARAMETERREAD05H0BPARAMETERREAD15H09PARAMETERREAD25H08PARAMETERREAD35H18圖42DS18B20的狀態(tài)機框圖43LCD1602的狀態(tài)機框圖要實現(xiàn)LCD1602的顯示,程序設計同樣采用狀態(tài)機的設計方法,鑒于狀態(tài)機的個數(shù)并不多,這里采用獨熱碼編碼機制。使用獨熱碼,狀態(tài)機中為每一種狀態(tài)分配一個觸發(fā)器。只有一個觸發(fā)器當前設置為高位,其余均設置為低位。其狀態(tài)機框圖如圖43所示。/獨熱碼狀態(tài)機編碼/PARAMETERIDLE10B000000000,/初始狀態(tài),下一個狀態(tài)為CLEARCLEAR10B000000001,/清屏SET_FUNCTION10B000000010,/功能設置8位數(shù)據(jù)接口/2行顯示/58點陣字符SWITCH_MODE10B000000100,/顯示開關控制開顯示,光標和閃爍關閉SET_MODE10B000001000,/輸入方式設置數(shù)據(jù)讀寫操作后,地址自動加一/畫面不動SHIFT10B000010000,/光標、畫面位移設置光標向左平移一個字符位(光標顯示是關閉的,所以實際上設置是看不出效果的)SET_DDRAM110B000100000,/設置DDRAM的地址第一行起始為0X00(注意輸出時DB7一定要為1)SET_DDRAM210B001000000,/設置DDRAM的地址第二行為0X40(注意輸出時DB7一定要為1)WRITE_RAM110B010000000,/數(shù)據(jù)寫入DDRAM相應的地址WRITE_RAM210B100000000/數(shù)據(jù)寫入DDRAM相應的地址圖43LCD1602的狀態(tài)機框圖5MODELSIM仿真及仿真51MODELSIM介紹MODELSIM是業(yè)界最優(yōu)秀的HDL語言仿真器。它提供最友好的調(diào)試環(huán)境,是唯一的單內(nèi)核支持VHDL和VERILOG混合仿真的仿真器。是作FPGA/ASIC設計的RTL級和門級電路仿真的首選。它采用直接優(yōu)化的編譯技術、TCL/TK技術、和單一內(nèi)核仿真技術,編譯仿真速度快,編譯的代碼與平臺無關,便于保護IP核,個性化的圖形界面和用戶接口,為用戶加快調(diào)錯提供強有力的手段。全面支持VHDL和VERILOG語言的IEEE標準,支持C/C功能調(diào)用和調(diào)試。主要特點RTL和門級優(yōu)化,本地編譯結構,編譯仿真速度快;單內(nèi)核VHDL和VERILOG混合仿真;源代碼模版和助手,項目管理;集成了性能分析、波形比較、代碼覆蓋等功能;數(shù)據(jù)流CHASEX;SIGNALSPY;C和TCL/TK接口,C調(diào)試。它支持VERILOG、VHDL以及他們的混合仿真,它可以將整個程序分步執(zhí)行,使設計者直接看到他的程序下一步要執(zhí)行的語句,而且在程序執(zhí)行的任何步驟任何時刻都可以查看任意變量的當前值,可以在DATAFLOW窗口查看某一單元或模塊的輸入輸出的連續(xù)變化等,比QUARTUS自帶的仿真器功能強大的多,是目前業(yè)界最通用的仿真器之一。52書寫TESTBENCH激勵信號TESTBENCH是一種驗證的手段。首先,任何設計都是會有輸入輸出的。但是在軟環(huán)境中沒有激勵輸入,也不會對你設計的輸出正確性進行評估。那么此時便有一種,模擬實際環(huán)境的輸入激勵和輸出校驗的一種“虛擬平臺”的產(chǎn)生。在這個平臺上你可以對你的設計從軟件層面上進行分析和校驗,這個就是TESTBENCH的含義。53時鐘模塊仿真531時鐘模塊的激勵信號TESTBENCH本設計驗證功能,對時間不進行嚴格控制,為方便觀看仿真結果,在測試文件中將延時調(diào)小了。TESTBENCH代碼如下TIMESCALE1PS/1PSMODULEUSER_TEST_CLOCKREGCLKREGRST_NWIRE70HOURWIRE70MINWIRE70SECONDCLOCKMCLKCLK,RST_NRST_N,HOURHOUR,MINMIN,SECONDSECONDINITIALBEGINCLK0WHILE11CLKCLK/給出時鐘激勵信號ENDINITIALBEGINRST_N1100RST_N0/給出復位激勵信號100RST_N1ENDENDMODULE532時鐘仿真波形及分析時鐘波形仿真結果如下圖53所示CLK表示時鐘信號RST_N表示復位信號SECOND表示秒計數(shù)MIN表示分計數(shù)HOUR表示小時計數(shù)觀察波形,當給出復位信號時,時間全部清零當秒計數(shù)到59秒時,秒計數(shù)清零,同時分計數(shù)加一;當分計數(shù)到59秒時,分計數(shù)清零,同時小時計數(shù)加一;當小時計數(shù)到23秒時,小時計數(shù)清零;圖53時鐘仿真波形圖54溫度數(shù)據(jù)處理及空調(diào)電機仿真設計中采用4位LED燈來模擬空調(diào)電機的運轉,LED0表示空調(diào)電機處于待機狀態(tài);LED2表示空調(diào)電機進行升溫控制;LED3表示空調(diào)進行降溫控制;LED1保留;以上數(shù)據(jù)位低電平有效。541LED模塊激勵信號TESTBENCH本設計驗證功能,對時間不進行嚴格控制,為方便觀看仿真結果,在測試文件中將延時調(diào)小了。TESTBENCH代碼如下TIMESCALE1PS/1PSMODULEUSER_TEST_LEDREGCLKREGRST_NREG150DATAREG230TREG70S_TIMEREG70S_TMPWIRE30LEDLEDLCLKCLK,RST_NRST_N,DATADATA,TT,S_TMPS_TMP,S_TIMES_TIME,LEDLEDINITIALBEGINCLK0WHILE110CLKCLK/給出時鐘激勵信號ENDINITIALBEGINRST_N1200RST_N0/給出復位激勵信號20RST_N1ENDINITIALBEGINT0/初始化時間S_TIME0/初始化設置時間S_TMP0/初始化設置溫度DATA0/初始化溫度ENDINITIALBEGIN300DATA15016H0240S_TMP708H25/給出信號DATA和S_TMP350DATA0ENDINITIALBEGIN400DATA15016H0250S_TMP708H25/給出信號DATA和S_TMP450DATA0ENDINITIALBEGIN500DATA15016H0260S_TMP708H25/給出信號DATA和S_TMP550DATA0ENDINITIALBEGIN600T23024H002200S_TIME708H22650T0ENDENDMODULE542LED模塊仿真結果及分析仿真結果如圖54所示,CLK表示時鐘輸入信號,RST_N表示復位信號,DATA表示實際溫度數(shù)據(jù),S_TMP表示設置的溫度值,T表示實時時間,T_TIME表示設置的定時時間。根據(jù)仿真結果,可以得出以下結論1、設置溫度T_TMP為25,當實時溫度DATA為24,LED結果為1011和1111交替變換,表示LED2在閃爍,說明空調(diào)電機正在進行升溫控制;2、設置溫度為25T_TMP,當實時溫度DATA為25,LED結果為1110,表示LED0長亮,說明空調(diào)電機處于待機模式;3、設置溫度為25T_TMP,當實時溫度為DATA為26,LED結果為0111和1111交替變換,表示LED3在閃爍,說明空調(diào)電機正在進行降溫控制;4、設置定時時間S_TIME為22分,當實時時間T為22時,LED結果為1111,表示所有的LED燈都處于關閉狀態(tài),說明空調(diào)電機處于關機模式,停止工作;圖54LED模塊波形仿真圖6實際運行結果及總結61配置管腳在QUARTUSII110中通過PINPLANNER配置好相應管腳。設計中對于DS18B20的數(shù)據(jù)位設計為上拉電阻,所以在DS18B20的數(shù)據(jù)位管腳配置時設置為上拉模式。未用引腳需要設定約束,否則會出現(xiàn)未知情況。SET_LOCATION_ASSIGNMENTPIN_24TORESETSET_LOCATION_ASSIGNMENTPIN_23TOCLKSET_LOCATION_ASSIGNMENTPIN_32TODQSET_LOCATION_ASSIGNMENTPIN_89TOKEY0SET_LOCATION_ASSIGNMENTPIN_90TOKEY1SET_LOCATION_ASSIGNMENTPIN_91TOKEY2SET_LOCATION_ASSIGNMENTPIN_25TOKEY3SET_LOCATION_ASSIGNMENTPIN_88TOKEY4SET_LOCATION_ASSIGNMENTPIN_70TOLED0SET_LOCATION_ASSIGNMENTPIN_71TOLED1SET_LOCATION_ASSIGNMENTPIN_72TOLED2SET_LOCATION_ASSIGNMENTPIN_73TOLED3SET_LOCATION_ASSIGNMENTPIN_84TOLCD1SET_LOCATION_ASSIGNMENTPIN_85TOLCD2SET_LOCATION_ASSIGNMENTPIN_98TOLCD3SET_LOCATION_ASSIGNMENTPIN_99TOLCD4SET_LOCATION_ASSIGNMENTPIN_100TOLCD5SET_LOCATION_ASSIGNMENTPIN_101TOLCD6SET_LOCATION_ASSIGNMENTPIN_103TOLCD7SET_LOCATION_ASSIGNMENTPIN_104TOLCD8SET_LOCATION_ASSIGNMENTPIN_105TOLCD9SET_LOCATION_ASSIGNMENTPIN_106TOLCD10SET_LOCATION_ASSIGNMENTPIN_110TOLCD1162燒錄程序通過JTAG接口電路,使用ALTERA的USBBLASTER程序下載器,通過計算機的USB接口可對ALTERA的FPGA/CPLD以及配置芯片進行編程、調(diào)試等操作,對程序燒錄的FPGA里面。63運行結果分析運行結果如下圖61所示,分析結果如下1、LCD1602第一行顯示實時溫度,以及設置溫度。LCD1602第二行顯示實時時間以及定時時間。當設置溫度和設置時間均為0時表示未設置相關操作,即不設置定時和溫度。2、當給外界環(huán)境進行升溫或降溫時,可以看到LCD1602的顯示數(shù)值不斷增大或減小,說明DS18B20工作正常。3、當設定好設置溫度時,如果外界環(huán)境溫度低于設定溫度時,LED2不斷閃爍,表明模擬空調(diào)電機正在進行升溫操作。4、當設定好設置溫度時,如果外界環(huán)境溫度高于設定溫度時,LED3不斷閃爍,表明模擬空調(diào)電機正在進行降溫操作。5、當設定好設置溫度時,如果外界溫度和設定溫度相等,LED0長亮,表明模擬空調(diào)電機處于待機模式。6、當設置好定時時間時,如果實時時間和定時時間相等,LED燈全部熄滅,表明空調(diào)電機處于關機模式。在實際的FPGA開發(fā)板上的運行結果,跟在MODELSIM中運行完全一致,這也驗證了軟件程序設計的正確性。同時通按鍵的加減來設置的溫度和設置的定時都能夠順利實現(xiàn),LED能按設定要求經(jīng)行閃爍,完成了對空調(diào)電機的模擬控制。圖61實際運行結果圖致謝非常感謝各位老師在我大學的最后學習階段畢業(yè)設計階段給自己的指導,從最初的定題,到資料收集,到寫作、修改,到論文定稿,給了我耐心的指導和無私的幫助,在此表示我誠摯的謝意。同時,感謝所有任課老師和所有同學在這四年來給自己的指導和幫助,是他們教會了我專業(yè)知識,教會了我如何學習,教會了我如何做人。正是由于他們,我才能在各方面取得顯著的進步,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下通過這一階段的努力,我的畢業(yè)論文基于FPGA的空調(diào)控制系統(tǒng)設計終于完成了,這意味著大學生活即將結束。在大學階段,我在學習上和思想上都受益非淺,這除了自身的努力外,與各位老師、同學和朋友的關心、支持和鼓勵是分不開的。寫作畢業(yè)論文是一次再系統(tǒng)學習的過程,畢業(yè)論文的完成,同樣也意味著新的學習生活的開始。我將銘記我曾是一名理工學子,在今后的工作中把“窮究于理,成就于工”的優(yōu)良傳統(tǒng)發(fā)揚光大。感謝各位老師的批評指導參考文獻1夏宇聞,VERLOGHDL數(shù)字系統(tǒng)設計教程,北京航空航天大學出版社。20092杜慧敏,基于VERILOGHDL的FPGA設計基礎,西安電子科技大學出版社。20093黃志偉FPGA系統(tǒng)設計與實踐M北京清華大學出版社。20054袁俊泉,孫敏琪,曹瑞VERILOGHDL數(shù)字系統(tǒng)設計及其應用M西安西安電子出版社。20035王金明數(shù)字系統(tǒng)設計與VERILOGHDLM北京電子工業(yè)出版社。2011附件程序代碼頂層模塊VERILOGHDL代碼MODULEUESR_TESTCLK,RST,DQ,LCD_RS,LCD_RW,LCD_EN,LCD_DATA,KEY_IN,LEDINPUTCLK,RST/輸入50MHZ時鐘INOUTDQ/溫度數(shù)據(jù)總線INPUT30KEY_IN/按鍵輸入OUTPUT30LED/LED燈輸出OUTPUTLCD_RS/LCD1602片選信號OUTPUTLCD_RW/LCD1602讀寫信號OUTPUTLCD_EN/LCD1602使能信號OUTPUT70LCD_DATA/LCD1602數(shù)據(jù)位WIRE30KEY_VALUEWIRE150TEMPERATUREWIRE230TIMEDWIRE70SET_TMPWIRE70SET_TIMEDS18B20Q1/DS18B20模塊CLKCLK,/RST_NRST,ONE_WIREDQ,TEMPERATURETEMPERATUREKEY_SCANK0SYS_CLKCLK,/按鍵掃描模塊SYS_RSTNRST,KEY_INKEY_IN,KEY_VALUEKEY_VALUE,CLOCKC0CLKCLK,/時鐘分頻計時模塊TIMEDTIMEDLCD1602S0/LCD顯示模塊SYS_CLKCLK,SYS_RSTNRST,LCD_RSLCD_RS,LCD_RWLCD_RW,LCD_ENLCD_EN,LCD_DATALCD_DATA,DISPLAY_DATATEMPERATURE,DISPLAY_TIMETIMED,SET_TEMPKEY_VALUE,SET_TIMESET_TIME,SET_TMPSET_TMPLEDD0/LED閃爍模塊CLKCLK,SYS_RSTNRST,LEDLED,DATATEMPERATURE,TTIMED,S_TIMESET_TIME,S_TMPSET_TMPENDMODULEDS18B20模塊VERILOGHDL代碼MODULEDS18B20INPUTCLK,/50MHZ時鐘/INPUTRST_N,/異步復位INOUTONE_WIRE,/ONEWIRE總線OUTPUT150TEMPERATURE/輸出溫度值REGRST_NREG190COUNTALWAYSPOSEDGECLKBEGINIFCOUNT1MHZ開始/REG50CNT/計數(shù)子ALWAYSPOSEDGECLK,NEGEDGERST_NIFRST_NCNT1MHZ結束/延時模塊的使用/延時模塊開始/REG190CNT_1US/1US延時計數(shù)子REGCNT_1US_CLEAR/請1US延時計數(shù)子ALWAYSPOSEDGECLK_1USIFCNT_1US_CLEARCNT_1US4/小數(shù)點后一位/ASSIGNTEMPERATURE74T_BUF7410T_BUF7410T_BUF74/ASSIGNTEMPERATURE118T_BUF7410T_BUF1181T_BUF118/十位ASSIGNTEMPERATURE74T_BUF11410/個位ASSIGNTEMPERATURE118T_BUF114100/10/十位ASSIGNTEMPERATURE1512TEMPERATURE_BUF1210/正負位,0正1負ENDMODULELCD1602模塊VERILOGHDL代碼MODULELCD1602SYS_CLK,SYS_RSTN,LCD_RS,LCD_RW,LCD_EN,LCD_DATA,DISPLAY_DATA,DISPLAY_TIME,SET_TEMP,SET_TMP,SET_TIMEINPUT150DISPLAY_DATAINPUT230DISPLAY_TIMEINPUT30SET_TEMP/輸入輸出信號定義INPUTSYS_CLK/系統(tǒng)時鐘輸入INPUTSYS_RSTN/系統(tǒng)復位信號,低電平有效OUTPUTLCD_RS/LCD的寄存器選擇輸出信號OUTPUTLCD_RW/LCD的讀、寫操作選擇輸出信號OUTPUTLCD_EN/LCD使能信號OUTPUT70LCD_DATA/LCD的數(shù)據(jù)總線(不進行讀操作,故為輸出)OUTPUT70SET_TMPOUTPUT70SET_TIME/寄存器定義REGLCD_RSREGCLK_DIVREG170DELAY_CNTREG70LCD_DATAREG50CHAR_CNTREG70DATA_DISPREG90STATEREG70SET_TIMEREG70SET_TMPPARAMETERIDLE10B000000000,/初始狀態(tài),下一個狀態(tài)為CLEARCLEAR10B000000001,/清屏SET_FUNCTION10B000000010,/功能設置8位數(shù)據(jù)接口/2行顯示/58點陣字符SWITCH_MODE10B000000100,/顯示開關控制開顯示,光標和閃爍關閉SET_MODE10B000001000,/輸入方式設置數(shù)據(jù)讀寫操作后,地址自動加一/畫面不動SHIFT10B000010000,/光標、畫面位移設置光標向左平移一個字符位(光標顯示是關閉的,所以實際上設置是看不出效果的)SET_DDRAM110B000100000,/設置DDRAM的地址第一行起始為0X00(注意輸出時DB7一定要為1)SET_DDRAM210B001000000,/設置DDRAM的地址第二行為0X40(注意輸出時DB7一定要為1)WRITE_RAM110B010000000,/數(shù)據(jù)寫入DDRAM相應的地址WRITE_RAM210B100000000/數(shù)據(jù)寫入DDRAM相應的地址ASSIGNLCD_RW1B0/沒有讀操作,R/W信號始終為低電平ASSIGNLCD_ENCLK_DIV/E信號出現(xiàn)高電平以及下降沿的時刻與LCD時鐘相同/時鐘分頻ALWAYSPOSEDGESYS_CLKORNEGEDGESYS_RSTNBEGINIFSYS_RSTNBEGINDELAY_CNT4H9BEGINSET_TMP304H0SET_TMP74SET_TMP741B1IFSET_TMP744H9SET_TMP740ENDENDIFSET_TEMP4H2BEGINSET_TMP30SET_TMP301B1IFSET_TMP304HFBEGINSET_TMP304H9SET_TMP74SET_TMP741B1IFSET_TMP744HFSET_TMP749ENDENDIFSET_TEMP4H3BEGINSET_TIME30SET_TIME301B1IFSET_TIME304H9BEGINSET_TIME304H0SET_TIME74SET_TIME741B1IFSET_TIME744H9SET_TIME740ENDENDIFSET_TEMP4H4BEGINSET_TIME30SET_TIME301B1IFSET_TIME304HFBEGINSET_TIME304H9SET_TIME74SET_TIME741B1IFSET_TIME744HFSET_TIME749ENDENDENDENDMODULECLOCK模塊VERILOGHDL代碼MODULECLOCKCLK,RST_N,TIMEDINPUTCLKINPUTRST_NOUTPUT230TIMEDREG230TIMED/存放時間數(shù)據(jù)REGCLK1/1HZ分頻REG310COUNT/COUNTFOR1S1HZALWAYSPOSEDGECLK/50MHZ1HZBEGINIFCOUNT32D25000000BEGINCLK10LED2LED2ELSELED21B1ENDELSELED21B1ENDENDALWAYSPOSEDGECLK2,NEGEDGERST_NBEGINIFRST_NLED31ELSEBEGINIFT158S_TMP70ELSELED31B1ENDELSELED31B1ENDENDENDMODULE您好,為你提供優(yōu)秀的畢業(yè)論文參考資料,請您刪除以下內(nèi)容,O_O謝謝ANATIONALSURVEYWASRECENTLYLAUNCHEDTOEVALUATETHEEYEHEALTHOFCHINESECHILDRENANDTEENAGERSONJUNE6,CHINASANNUALNATIONALDAYFOREYECARE,THECHINAYOUTHDEVELOPMENTSERVICECENTERANDZHEJIANGMEDICINE,ALEADINGLISTEDCHINESEPHARMACEUTICALCOMPANY,JOINTLYANNOUNCEDTHEKICKOFFOFTHESURVEYINABOUTONEMONTH,AQUESTIONNAIRECOMPILEDBYTOPEYECAREMEDICALEXPERTSINCHINAWILLBEDISTRIBUTEDTHROUGHMULTIPLEONLINEPARTNERS,INCLUDINGHEALTHSOHUCOM,ASWELLASTHROUGHOFFLINESURVEYEVENTSHELDINUNIVERSITIES,MIDDLESCHOOLSANDPRIMARYSCHOOLSACROSSTHECOUNTRYAREPORTWILLBERELEASEDBASEDONTHESURVEYSTATISTICSANDANALYSIS,ANDMOSTIMPORTANTLY,GUIDELINESFORPARENTSANDYOUTHONHOWTOCAREFORTHEEYESANDPREVENTMYOPIAAGROWINGPROBLEMINCHINASDIGITIZEDSOCIETY,WILLALSOBEATTACHEDONTHEREPORT“MYOPIAISNOTONLYADISEASETHATMAKESPEOPLESEETHINGSBLURRILY,BUTALSOLEADSTOSEVERECOMPLICATIONS,SUCHASGLAUCOMAINCREASEDPRESSUREWITHINTHEEYEBALL,ANDCANCAUSEBLINDNESS,“SAIDZHOUYUEHUA,ANESTABLISHEDEYECARES

溫馨提示

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

評論

0/150

提交評論