【正文】
錄檢索與閱覽服務;學校可以采用影印、縮印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績?nèi)容。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期: 年 月 日導師簽名: 日期: 年 月 日基于FPGA的空調(diào)控制系統(tǒng)設計摘 要本論文主要任務是設計基于FPGA的空調(diào)控制系統(tǒng)的設計。最后實現(xiàn)使用FPGA比較設置溫度與測量所得溫度,并發(fā)出指令給空調(diào)電機執(zhí)行部分,按設置的時長實現(xiàn)升溫或降溫,當設置溫度與測量溫度相等時,不執(zhí)行調(diào)節(jié)溫度功能。同時可以大大縮短FPGA的開發(fā)時間。但是,隨著微電子技術的發(fā)展,設計與制造集成電路的任務己不完全由半導體廠商來獨立承擔。由于具備上述兩方面的特點,CPLD和FPGA受到了世界范圍內(nèi)廣大電子設計工程師們的普遍歡迎,應用日益廣泛。而可編程邏輯器件從出現(xiàn)至今只有短短二十年的發(fā)展歷史,有很多電子設計工程師以至可編程邏輯器件產(chǎn)品的用戶對這一器件的特性、優(yōu)勢還不是非常了解,部分有經(jīng)驗的設計師依然習慣于用單片機等傳統(tǒng)工具從事電路設計,這樣就影響了電子產(chǎn)品的市場競爭力,也忽略了產(chǎn)品的升級空間。比較主要的PLD大公司的產(chǎn)品、設計工具和編程語言,分析各公司產(chǎn)品的優(yōu)勢和不足。第二章 對可編程邏輯器件的發(fā)展歷程、結(jié)構、分類、應用前景、發(fā)展新趨勢等做了比較細致的介紹和分析。最后對本次設計進行總結(jié),并指出其中有待于完善之處。 可編程邏輯器件介紹 PLD的發(fā)展歷程從可編程邏輯器件的發(fā)展歷史上看,其主要經(jīng)歷了從PROM、PLA、PAL、EPLD到CPLD和FPGA的發(fā)展過程。仿真和設計兩方面支持標準硬件描述語言的功能強大的EDA軟件不斷推出。CPLD:早期的CPLD主要用來代替PAL器件,所以其結(jié)構與PAL、GAL基本相同,采用了可編程的與陣列和固定的或陣列結(jié)構。反熔絲工藝占用面積小,有利于提高芯片集成度但需要專門的編程器,且只能進行一次性編程。目前PLD尚無嚴格的劃分標準,下面僅從集成度、可編程原理及結(jié)構特點三方面對PLD進行簡單的分類。一次性可編程的典型產(chǎn)品是PROM、PAL和熔絲型FPGA,其他的可編程產(chǎn)品大多是重復可編程的。 陣列型PLD的基本結(jié)構由與陣列和或陣列組成。目前,HDPLD有兩種用途:一是用于最終產(chǎn)品;一是用于ASIC化的前道工序的開發(fā)試制品。目前PLD/CPLD約占全球市場規(guī)模的6成 ,IP內(nèi)核得到進一步發(fā)展。,價格不斷降低,向系統(tǒng)級發(fā)展。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構,行為,功能和接口。3系統(tǒng)及電路方案選擇 空調(diào)技術概述 世界空調(diào)的發(fā)展可分為四個階段??照{(diào)進入了超空調(diào)時代,其顯著特點是空調(diào)不僅僅是空調(diào)。 方案論證與確定 方案的選擇目前大多數(shù)的的空調(diào)溫度控制系統(tǒng)都采用了以單片機作為控制器的設計,但是隨著可編程邏輯器件的發(fā)展,家用電器的控制部分也越來越多地使用可編程邏輯器件來實現(xiàn),所以下面提供了以單片機和可編程邏輯器件(FPGA)為核心控制器件的2個方案進行選擇。同時通過FPGA芯片還可以實現(xiàn)定時和控制顯示,使用6個數(shù)碼管將傳感器測量到的溫度,設置的溫度、定時時長都顯示出來。而且FPGA芯片所具有的可編程修改的特點以及其強大的邏輯功能都是單片機難以達到的,這樣不但給設計過程中帶來一系列的便利,而且在空調(diào)的功能日趨人性化和智能話的發(fā)展趨勢下,以FPGA為控制器件的設計無疑更加具有市場競爭力。整個硬件的框圖如圖41所示: FPGA20MHz石英晶振 電源空調(diào)執(zhí)行機構數(shù)碼管顯示 溫度傳感器按鈕圖41 整個硬件框圖整個電路的工作原理是由20MHz石英晶振FPGA提供時鐘信號。同時,將定時的時長和設置溫度的值通過6個數(shù)碼管顯示出來[9]。衡量傳感器靜態(tài)特性的重要特性的重要指標是: (1)線性范圍:即傳感器的輸出量與輸入量成正比的范圍。 (3)精度的確定:傳感器精度越高,價格越高。方案一:采用溫度傳感器鉑電阻Pt1000。但其成本太貴,不適合做普通設計。DS18B20可以程序設置9~12位的分辨率,可以設置的報警溫度存儲在 EEPROM中,掉電后依然保存[5]??芍苯訉囟绒D(zhuǎn)化成串行數(shù)字信號供微機處理??赏ㄟ^軟件寫入用戶報警上下限值。它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器,用于存儲用戶設置的溫度上下限值的TH和TL觸發(fā)器存儲與控制邏輯,8位循環(huán)冗余校驗碼(CRC)發(fā)生器等七部分,其測得的溫度數(shù)據(jù)如表所示。其管腳排列如圖423(b)所示。VDD是外部+5V電源端,不用時應接地。在本設計中采用的是DS18B20的3腳封裝形式。記數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前首先將55℃所對應的一個基數(shù)分別置入減法計數(shù)器溫度寄存器中,減法計數(shù)器1和溫度寄存器被預置在55℃所對應的一個基數(shù)值。ACEX 。(4)靈活的內(nèi)部連線:快速、可預測聯(lián)縣延時的快速通道;實現(xiàn)算術功能(諸如快速加法器、計數(shù)器和比較器)的專用進位鏈;實現(xiàn)高速、多扇入功能的專用級聯(lián)鏈;實現(xiàn)內(nèi)部總線的三態(tài)模擬;多達6個全局時鐘信號和4個全局清除信號。EAB可以獨立使用。8個LE可實現(xiàn)中規(guī)模的邏輯塊,如八位計數(shù)器、地趾解碼器和狀態(tài)機,也可以跨LAB進行結(jié)合以實現(xiàn)更大的功能塊。IOE位于快速通道互聯(lián)結(jié)構的行和列的末端,每個IOE包含一個雙向I/O緩沖器和一個可驅(qū)動輸入信號、輸出信號或雙向信號的輸出寄存器或輸入寄存器。根據(jù)LED的接法不同分為共陰和共陽兩類,將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。所謂LED靜態(tài)驅(qū)動:靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二十進制譯碼器譯碼進行驅(qū)動:其點亮和關閉有該I/O口來對其控制,互不干涉,對I/O驅(qū)動能力弱的MCU,必須增加外部驅(qū)動芯片或三極管等器件。在輪流顯示過程中,每位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一 組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,卻能夠節(jié)省大量的I/O端口,而且功耗更低。本設計基于空調(diào)使用中的一般性,設置的溫度調(diào)節(jié)范圍為16℃~30℃,溫度調(diào)節(jié)的最小單位為1℃。低電平時計數(shù)器在時鐘下進行加減工作。同理當檢測到CLK的上升沿到來且DOWN信號為高電平、同時此時的設置溫度大于16℃時,溫度輸出信號DOUT=DOWN并將值輸出給控制和顯示模塊。ENTITY TIAOJIE ISPORT(CLK :IN BIT。 DOUT :BUFFER INTEGER RANGE 30 DOWNTO 16)。 THEN DOUT = 22。 THEN IF RISE30 THEN DOUT = RISE。 IF (RISE30) AND (DOWN16) THEN DOUT=22。 END。 定時模塊定時模塊的功能是對空調(diào)的設置溫度時間進行控制管理,利用計數(shù)器來實現(xiàn)定時功能,這里的定時有4個檔可以選擇,、2小時。其他時長的計數(shù)器原理都一樣的。 當sel為“01”時選擇c2。該模塊用VHDL語言描述,其關鍵程序段如下:LIBRARY IEEE。 ENB :IN STD_LOGIC。 Y :OUT STD_LOGIC。SIGNAL C2:STD_LOGIC。SIGNAL B:INTEGER。 BEGIN IF CLK39。139。 ELSE IF QA=1799 THEN QA:=0。 END IF。 THEN IF QB1799 THEN QB:=QB+1。C2=39。 END IF。C3=39。039。 IF ENE=39。139。 END IF。 END PROCESS。 WHEN 3 = SEL:= 10 。 CASE SEL IS WHEN 00 = Y=C1。 WHEN 10 = Y=C3。 WHEN OTHERS = NULL。3) 定時模塊的時序仿真波形如圖54所示: 圖54 定時模塊時序仿真波形,當上升沿到來,使能信號ENA為高電平,按鈕KEY為1,相應顯示電路顯示5,定時時長由Y輸出給控制模塊使能端。 en:使能信號,高電平有效,此信號接定時器的輸出,定時器計數(shù)器未滿時,為高電平,即wendu模塊工作。 cool: 溫度控制信號,高電平有效,驅(qū)動空調(diào)機制冷。第二部分當clk的上升沿到來,當lowt為高電平的時候:控制信號輸出端口heat和cool賦值‘1’和‘0’;當hight為高電平的時候:控制信號輸出端口heat和cool賦值‘0’和‘1’。 ENTITY WENDU ISPORT(CLK1 :IN STD_LOGIC。 HOT :OUT STD_LOGIC。EVENT AND CLK1=39。 THEN IF TEMPERTURE_IN TEMPERTURE_D THEN COLD = 39。 ELSIF TEMPERTURE_IN = TEMPERTURE_D THEN COLD = 39。 ELSE COLD = 39。 END IF。 END。 ENTITY AIR_CONDITIONER IS PORT(CLK :IN STD_LOGIC。 COOL :OUT STD_LOGIC)。139。139。 IF HIGHT=39。COOL = 39。039。039。 END IF。HIGHT跟LOWT都為低電平的時候分別對HEAT和COOL賦值‘0’和‘0’。 EN :IN STD_LOGIC。 COOL :OUT STD_LOGIC)。SIGNAL HIGHT :STD_LOGIC。139。139。039。039。039。039。139。 END IF。EVENT AND CLK=39。 THEN HEAT = 39。 END IF。039。 IF (HIGHT=39。) THEN HEAT = 39。 END IF??刂破髂K整體的時序仿真波形如圖58所示: 圖58 控制器模塊整體時序仿真波形 時鐘信號CLK上升沿到來,使能信號EN為高電平,設置溫度信號TEMPERTURE_D為20,測量溫度信號TEMPERTURE_IN為24,加熱信號COOL輸出高電平;未設置溫度時,默認溫度為22,小于測量溫度,輸出信號COOL輸出高電平;設置溫度信號TEMPERTURE_D為26,加熱信號HEAT輸出高電平。顯示輸入端口信號采用5位二進制數(shù)字輸入碼,可以表示32個數(shù)字。顯示模塊共三部分:傳感器測量所得溫度的顯示,此部分溫度顯示范圍0℃~31℃。USE 。END。C=0000000。C=0000000。C=0000000。C=0000000。C=0000000。C=0000110。C=0000110。C=0000110。C=0000110。C=0000110。C=1011011。C=1011011。C=1011011。C=1011011。C=1011011。C=1001111。 END。2)原理分析 本設計以1s為例進行說明。 EN :IN STD_LOGIC。 BEGIN IF CLK39。139。 CASE COUNT IS WHEN 0 TO 9999999 = CLK_OUT1 = 39。 WHEN OTHERS = NULL。 END PROCESS。綜和本章節(jié)各個模塊設計步驟,采用了VHDL的設計步驟,按要求的功能模塊劃分;VHDL的設計描述;代碼仿真模擬;設計綜合、優(yōu)化和布局布線;布局布線后的仿真模擬;設計的實現(xiàn)。 通過這次較完整的FPGA空調(diào)控制系統(tǒng)設計,我擺脫了單純的理論知識學習狀態(tài),和實際設計的結(jié)合鍛煉了我的綜合運用所學的專業(yè)基礎知識,解決實際工程問題的能力,同時也提高我查閱文獻資料、設計規(guī)范以及電腦編程等專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富。 首先,也是最主要感謝的是我的指導老師,董老師。 其次,要感謝幫我查資料的肖文政同學,后期因為實習的關系,不能隨時去學校的圖書館查閱資料,在此也十分感謝他能抽出時間幫我找的一些外文資料。ENTITY TIAOJIE ISPORT(CLK :IN BIT。 DOUT :BUFFER INTEGER RANGE 30 DOWNTO 16)。139。139。 END IF。 END PROCESS。ENTITY TIM ISPORT( CLK :IN STD_LOGIC。 ENE :IN STD_LOGIC。END。SIGNAL C4:STD_LOGIC。SIGNAL D:INTEGER。139。C1=39。039。 IF ENB=39。139。 END IF。139