

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 二〇一一年六月</b></p><p><b> 摘 要</b></p><p> 近幾年來,隨著中國科學技術的進步和人民生活水平的不斷提高,各種產業(yè)在迅速發(fā)展,當然,空調業(yè)也包括其中,空調在公共場所,專用場地和普通家庭等場所都廣泛應用。但是隨著空調數(shù)量的增加,相應的負面問題也隨之出現(xiàn),耗能的日益增加已成為我國部
2、分地區(qū)能源及電力供需矛盾的主要原因之一,當務之急必須采取有效措施降低空調的能耗。同時,利用傳統(tǒng)的方法調節(jié)室內溫度也是存在很多缺陷的,如空調始終處于同一溫度,無法隨室溫的變化而自動改變,造成能源的浪費以及給人們生活帶來不便;室內的空氣質量沒有得到保證;運行時間太長導致空調的使用壽命縮短等。如何降低空調能耗,實現(xiàn)空調自動控制,利用空調改善室內溫度,延長空調使用壽命已成為當前首要課題。</p><p> 本文介紹了空
3、調控制器的設計,提出了一種采用現(xiàn)場可編程門陣列器件FPGA實現(xiàn)空調控制器的方法,該設計采用A/D轉換器,用于模擬環(huán)境溫度、采用跑馬燈程序,用于顯示控制溫度情況。首先,闡述了空調控制器的基本原理。其次,本文給出了用Verilog HDL語言實現(xiàn)高效率空調控制器的設計及在Quartus II中的仿真結果,并對仿真結果進行了分析、比較,確保了輸出波形的精確度。最后給出了其在FPGA上的實現(xiàn)。同時,引入了A/D,故本設計可以根據不同的要求在不同
4、規(guī)模的FPGA上加以實現(xiàn)。</p><p> 關鍵詞:空調控制器;FPGA;Verilog HDL;Quartus II;A/D</p><p><b> Abstract</b></p><p> In recent years, With China's scientific and technological progres
5、s and the improvement of people’s standard of living, all kinds of industries are developing rapidly, Of course, including the industry of air conditioning. Air- conditionings are widely used in many places, such as in p
6、ublic places, special field and ordinary families. However, with the increasing number of air-conditioning, the corresponding negative issues appeared. Increasing energy consumption has become one of the major reas</p
7、><p> This paper introduces a design of air-conditioning controller, proposing a method that uses FPGA devices to realize air-conditioning controlling. This design uses A/D converter, to simulate environmental
8、 temperature, and adopts scrolling program, to show the control over temperature. Firstly, this paper expounds the basic principle of air-condition. Secondly, the paper presets Verilog HDL language with highly efficient
9、design of the air-controller and the simulation results in Quartus II, and th</p><p> Keywords: Air-Controller;FPGA;Verilog HDL;Quartus II;A/D</p><p><b> 目 錄</b></p><p&g
10、t;<b> 摘 要I</b></p><p> AbstractII</p><p><b> 引 言1</b></p><p><b> 第一章 緒論2</b></p><p> 1.1 課題背景2</p><p> 1.2 研
11、究目的及意義2</p><p> 1.3 國內外研究現(xiàn)狀3</p><p> 1.4 主要研究內容3</p><p> 第二章 空調的基本簡介5</p><p> 2.1 空調基本原理5</p><p> 2.2 空調控制系統(tǒng)原理5</p><p> 2.2.1 空氣溫度
12、調節(jié)5</p><p> 2.2.2 空氣濕度調節(jié)6</p><p> 2.2.3 空氣其他參數(shù)調節(jié)6</p><p> 第三章 空調控制器的Verilog HDL設計7</p><p> 3.1 Verilog HDL簡介7</p><p> 3.2 Quartus II簡介7</p>
13、;<p> 3.3 空調控制器的Verilog HDL設計及仿真8</p><p> 3.3.1 空調控制器程序的設計及分析8</p><p> 3.3.2 空調控制器的時序仿真17</p><p> 第四章 空調控制器的FPGA實現(xiàn)19</p><p> 4.1 FPGA簡介19</p>&l
14、t;p> 4.2 FPGA設計及驗證20</p><p><b> 結 論23</b></p><p><b> 參考文獻24</b></p><p><b> 謝 辭25</b></p><p><b> 引 言</b></
15、p><p> 近幾十年來,隨著中國科學技術進步,各行各業(yè)發(fā)生翻天覆地的變化,當今社會也隨之是數(shù)字化的社會,是數(shù)字集成電路廣泛應用的社會。數(shù)字集成電路不是一成不變的產品,它本身也是在不斷地進行更新?lián)Q代以適應人們的需求。它由早期的電子管、晶體管、小中規(guī)模集成電路,發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術的發(fā)展,人們對集成電路提出更高的要求,因此競爭也越來越
16、激烈,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統(tǒng)設計師們更愿意自己設計專用集成電路(ASIC)芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD),其中應用最廣泛的當屬現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。利用PLD器件實現(xiàn)時,可以采用硬件乘加模塊,從而使其運算速度比采用DSP器件快很多。因此基
17、于FPGA的自編程實現(xiàn)方式成了空調控制器實現(xiàn)的首選[1]。本文主要介紹空調控制器的設計方案和基于FPGA的實現(xiàn)方法。</p><p> 在本次空調控制器設計中,溫度數(shù)據是基于ADC0809芯片中完成的。在設計A/D采樣控制器中,ADC0809是CMOS的8為A/D轉換器,片內有8路模擬開關,可控制8個模擬量中的一個進入轉換器。轉換時間約為100us,ADC0809含鎖存控制的8路開光,輸出由三態(tài)緩沖器控制,單5
18、v電源供電??照{控制器接收到ADC0809轉換過來的數(shù)據進行相關的處理,并且在LED中顯示實驗結果。同時可以用七段譯碼器程序替換流水燈程序,用數(shù)字44444444表示制熱,22222222表示制冷,11111111表示初始狀態(tài)。</p><p><b> 第一章 緒論</b></p><p><b> 1.1 課題背景</b></p&g
19、t;<p> 過去很長一段時間以來,人們大多數(shù)采用單片機來實現(xiàn)空調控制器的設計,因為它具有成本較低的特點。但設計出來的控制器性能一般,并且普通單片機的集成度通常較低,例如Intel公司自己開發(fā)的AT89S51只有128個字節(jié)片的內數(shù)據存儲器,32根可編程I/O口線,5個中斷源。顯然,我們要完成更為復雜的運算和控制功能,就不得不對外擴展,可是外部硬件電路具有延時等不可預知風險,這又迫使擴展犧牲整機性能為代價。而且這種設計方
20、法具有局限性,受制于硬件電路,開發(fā)有一定的難度。而一些愛好者自己研發(fā)的空調專用芯片,大多數(shù)因技術上的限制,靈活性和壽命方面沒有什么優(yōu)勢。</p><p> FPGA作為一種新興的可編程技術,是進行原型設計最理想的載體,其準確的可測試性和目前已達到的深亞微米級工藝,能較好的解決傳統(tǒng)設計方法中的諸多難題。其豐富的編程資源和靈活的編程特性,能將許多原體需要借助外部硬件實現(xiàn)的功能,轉化為軟件編程來完成,使升級改進更為靈
21、活。而且這種設計方法能在軟件階段就對設計做出準確的預測和評估,從而能極大的開發(fā)效率,有效避免前期的風險投資?,F(xiàn)代先進的FPGA工藝技術,使得FPGA在功耗和價格方面大為降低。FPGA也可以用來做模型機,因為在設計一個電路時,首選要確定線路,然后進行軟件模擬及優(yōu)化,以確定所設計電路的功能入性能。然而隨著電路規(guī)模的不斷增大,工作頻率的不斷提高,將會給電路引入許多分布參數(shù)的影響,而這在用軟件模擬中很難反映出來,這時候就有必要做硬件仿真,由于F
22、PGA具有非常靈活的可編程特性,所以就可以用來做硬件仿真的模型機了。有了該模型機就可以直觀地測試其邏輯功能及性能指標[2]。研究基于FPGA的空調控制器的設計有著重大的意義。</p><p> 1.2 研究目的及意義</p><p> 隨著我國近幾年來空調業(yè)得迅猛發(fā)展與空調的普遍應用,其能耗占我國總能耗的比重日益增大,已成為我國部分地區(qū)能源及電力供需矛盾的主要原因之一,而且由于空調回風
23、等問題很難保證室內人員獲得的新風質量。我國已成為世界上空調用戶最多的國家,也是“空調病”發(fā)病率最多的國家。因此如何改善和提高空調系統(tǒng)運行效率,減少能耗,改善室內空氣品質,已成為我國空調業(yè)發(fā)展的一個急需解決的問題 [3] 。</p><p> 對于電信業(yè)來說,隨著市場經濟的不斷深入,各種規(guī)章制度的不斷完善,市場的運作模式逐步與國際接軌,同時企業(yè)之間的競爭也越來越殘酷。對于中國電信怎樣已經上市的大型電信企業(yè),必須考
24、慮以最小的成本投入創(chuàng)造最大的利潤回報。在這樣的形式下,節(jié)電降耗不僅符合我國的基本國情,又滿足企業(yè)的生存發(fā)展策略。</p><p> 移動通信站的人工降溫的,空氣凈化及其運行管理是電信維護部門的工作重點之一,現(xiàn)有的移動基站絕大多數(shù)依然采用空調降溫的方法,投資大,運行時間長,占用了大量的運營成本[4]。</p><p> 本次用FPGA設計空調控制器對如何降低空調能耗,開發(fā)周期短,可移植性
25、好,升級靈活等有重要意義。</p><p> 1.3 國內外研究現(xiàn)狀</p><p> 目前,國內外空調控制器的實現(xiàn)方法有很多種:</p><p> ?。?)基于ARM7的空調控制器的實現(xiàn)。這種方法的缺點是PID控制參數(shù)調整有一定的難度,并且應用程序不夠完善[5]。</p><p> ?。?)用單片機來實現(xiàn)。單片機的接口性能比較良發(fā)好,容
26、易實現(xiàn)人機接口。但是由于單片機集成度通常較低,系統(tǒng)設計比較復雜[6]。</p><p> ?。?)基于嵌入式的VRV空調控制器的研究[7]。</p><p> ?。?)利用特殊用途的芯片實現(xiàn)。這種方案的缺點是靈活性差,而且開發(fā)工具很不完善[8]。</p><p> ?。?)用FPGA等可編程器件來設計空調控制器。由于FPGA產品的迅速發(fā)展,人們可以利用Altera、
27、Xilinx等公司提供的產品,使用其相關開發(fā)工具和VHDL等硬件開發(fā)語言,通過軟件編程用硬件實現(xiàn)特定的功能。這一方法由于具有通用性的特點并可以實現(xiàn)其他功能,因此目前都是有比較活躍的研究領域。</p><p> 1.4 主要研究內容</p><p> 本論文主要研究內容是:</p><p> ?。?)空調控制器的理論和結構</p><p>
28、 空調控制系統(tǒng),即利用計算機控制技術,將空調系統(tǒng)中各種信號(溫度、濕度、壓力、狀態(tài)等),通過輸入裝置輸入計算機,經相應程序運算處理,將處理后的信號經輸出裝置輸出,進而控制相應的執(zhí)行機構[9]。</p><p> ?。?)空調控制器的設計方法</p><p> FPGA技術的一個巨大優(yōu)勢,就是用自頂向下的設計思路,將設計化處理,為完成控制器的各項功能,設計劃分為多個模塊進行。</p
29、><p> ?。?)空調控制器的FPGA實現(xiàn)</p><p> 當今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應用的社會。數(shù)字集成電路本身在不斷地進行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路,發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術的發(fā)展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統(tǒng)設計師們更愿意自己設計
30、專用集成電路(ASIC)芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD),其中應用最廣泛的當屬現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。利用PLD器件實現(xiàn)時,可以采用硬件乘加模塊,從而使其運算速度比采用DSP器件快很多。因此基于FPGA的自編程實現(xiàn)方式成了空調控制器實現(xiàn)的首選。本文主要介紹空調控制器的設計方案和基
31、于FPGA的實現(xiàn)方法。</p><p> 第二章 空調的基本簡介</p><p> 2.1 空調基本原理</p><p> 空調在作制冷運行時,低溫低壓的制冷劑氣體被壓縮機吸入后加壓變成高溫高壓的制冷劑氣體,高溫高壓的制冷劑氣體在室外換熱器中發(fā)熱(通過冷凝器冷凝)變成中溫高壓的液體(熱量通過室外循環(huán)空氣帶走),中溫高壓的液體在經過節(jié)流部件節(jié)流降壓后變?yōu)榈蜏氐蛪?/p>
32、的氣體(室內空氣經過換熱器表面被冷卻降溫,達到使室內溫度下降的目的),低溫低壓的制冷劑氣體再被壓縮機吸入,如此循環(huán)。</p><p> 空調在制熱運行時,低溫低壓的制冷劑氣體被壓縮機吸入后加壓變成高溫高壓的制冷劑氣體,高溫高壓的制冷氣體在室內換熱器中放熱變成中溫高壓的液體(室內空氣經過換熱器表面被加熱,達到使室內溫度升高的目的),中溫高壓的液體再經過節(jié)流部分節(jié)流降壓后變?yōu)榈蜏氐蛪旱囊后w,低溫低壓的液體在換熱器中
33、吸熱蒸發(fā)后變?yōu)榈蜏氐蛪旱臍怏w(室外空氣經過換熱器表面被冷卻降溫),低溫低壓的氣體再被壓縮機機吸收,如此循環(huán)。</p><p> 2.2 空調控制系統(tǒng)原理</p><p> 空調控制系統(tǒng),即利用計算控制技術,將空調系統(tǒng)中各種信號(溫度,濕度,壓力狀態(tài)等),通過輸入裝置輸入計算機,經相應程序運算處理,將處理后的信號經過輸出裝置輸出,進而控制相應的執(zhí)行機構。</p><p
34、> 空氣調節(jié)的簡稱就是空調。它的主要作用是對空氣的溫度、濕度、潔凈度和空氣流速等參數(shù)進行調節(jié)創(chuàng)造一個使人感到很舒適的室內(大氣)環(huán)境;或者是滿足生產工藝過程,實驗過程的需求。為了實現(xiàn)這一功能,空氣調節(jié)所依靠的技術手段只要是通風換氣,具體地說,就是加工和處理一定的空氣進入室內,使室內大氣環(huán)境滿足要求。對空氣處理過程包括加溫(降溫),加濕(除濕),凈化等,即常說的熱濕處理??諝庹{節(jié)主要包括溫度調節(jié)和濕度調節(jié)[10]。</p&g
35、t;<p> 2.2.1 空氣溫度調節(jié)</p><p> 通過空調可以調節(jié)室內的溫度,保證我們有一個舒適的生活環(huán)境。不過,我們在冬季(夏季)使用空調的時候,溫度并不是調的越高(低)越好。這是因為一個合理的房間溫度應使人既感到舒適,又有利于健康。所以說,合理調節(jié)空調溫度對于消費者來說也是很重要的??照{房間合理的溫度在夏天應為26℃~28℃,冬天應在18℃~20℃。</p><p
36、> 2.2.2 空氣濕度調節(jié)</p><p> 人應生活在一個濕度相對適宜的環(huán)境里,如果空氣相對濕度過高或者是過低都將使人感到不舒適,甚至引起疾病。正常情況下,冬季相對濕度在45%~55%之間,夏季在55%~65%之間,人在此環(huán)境下生活才適應。但是我們得結合溫度綜合考慮,如果溫度變化在正常范圍內,那么相對濕度即時便在45%~75%的范圍內變化,人們也是能適應的。</p><p>
37、 2.2.3 空氣其他參數(shù)調節(jié)</p><p> 除了常規(guī)的空氣溫度、濕度調節(jié)以外,在特殊的場合,空調系統(tǒng)還實現(xiàn)控制質量、空氣壓力等調節(jié)。舒適空調要保證一定的新風量,否則人們會感到不舒服;在對空間潔凈度有要求的場合,如精密生產加工車間、生物醫(yī)藥制品間等特殊的高潔凈度場合,需要正壓調節(jié),以免不滿足要求的空氣進入而損害潔凈間的清潔度;對產生有害氣體的有害有毒物品生產車間,污染物處理間或是病毒經空氣傳染的嚴重傳染病
38、隔離病房等場合,須采用負壓調節(jié)以免有毒,有害氣體泄漏造成空氣的污染和破壞[11]。</p><p> 第三章 空調控制器的Verilog HDL設計</p><p> 3.1 Verilog HDL簡介</p><p> 硬件描述語言(HDL: Hardware Description Language)是硬件設計人員和EDA工具之間的界面,它主要用于從算法級
39、、門級到開關級的多種抽象設計層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對象的復雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。硬件描述語言的主要功能是編寫設計文件,建立電子系統(tǒng)行為級的仿真模型,然后利用高性能的計算機對用數(shù)字Verilog HDL建模的復雜數(shù)字邏輯進行仿真,之后再對它進行自動綜合以生成符合要求且在電路結構上可以實現(xiàn)的數(shù)字邏輯網表(Netlist),然后根據網絡表和適合某種工藝的器件自動生成具體電路,最后生成該工藝條件下具體電路的
40、延時模型。仿真驗證無誤后用于制造ASIC芯片或寫入FPGA和CPLD中。系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進行時序建模。Verilog HDL是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀80年代中期開發(fā)出來的,前者由Gateway Desig</p>
41、<p> Verilog HDL語言具有下述描述能力:設計的行為特性、設計的數(shù)據流特性、設計的結構組成以及包含響應監(jiān)控和設計驗證方面的時延和波形產生機制;提供編程語言接口(PLI),通過該接口可以在模擬,驗證期間從設計外部訪問設計,包括模擬的具體控制和運行。支持多個設計層次的混合層次建模;最重要的是Verilog HDL語言與C語言很相似,從C語言中繼承多種操作符和結構,其核心子集非常易于學習和使用,而這對大多數(shù)建模應用
42、來說已經足夠。由于HDL語言本身是專門面向硬件與系統(tǒng)設計的,這樣的安排可以使學習者同時獲得設計實際電路的經驗。</p><p> 3.2 Quartus II簡介</p><p> Quartus II 是Altera的新一代集成開發(fā)軟件,使用Quartus II可完成從設計輸入、綜合配置、仿真到編程下載整個的設計過程,Quartus II也可以直接調用Synplify Pro、Leo
43、nardo Spectrum以及ModelSim等第三方EDA工具來完成設計任務的綜合和仿真。此外,Quartus II與MATLAB和DSP Builder結合可以進行基于FPGA的DSP系統(tǒng)開發(fā),方便而快捷;Quartus II還可以與SOPC Builder結合,實現(xiàn)SOPC系統(tǒng)的開發(fā)。</p><p> Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設計流程外,
44、提供了完善的用戶圖形界面設計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。</p><p> Quartus II支持Altera的IP核,包含了LPM/Mega Function宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具[13]。</p><p>
45、此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現(xiàn)各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。</p><p> Maxplus II 作為Altera的上一代PLD設計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經停止了對Max
46、plus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設計輔助工具,集成了SOPC和HardCopy設計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。</p><p> Altera Quartus II 作為一種可編
47、程邏輯的設計環(huán)境, 由于其強大的設計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設計者的歡迎。Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設計要求,其中包括支持基于Internet的協(xié)作設計。Quartus平臺與Cadence、Exemplar Logic、 Mentor Graphics、Synopsys和Synplicity等EDA供應商的開發(fā)工具相兼容。改進了軟件的Logic
48、Lock模塊設計功能,增添 了FastFit編譯選項,推進了網絡編輯性能,而且提升了調試能力。支持MAX7000/MAX3000等乘積項器件[14]。</p><p> 3.3 空調控制器的Verilog HDL設計及仿真</p><p> 3.3.1 空調控制器程序的設計及分析</p><p> 空調機的工作過程如下:</p><p>
49、; 空調分為單冷空調和冷暖兩用空調,工作原理是一樣的,空調一般使用的制冷劑是氟利昂。 氟利昂的特性是:由氣態(tài)變?yōu)橐簯B(tài)時,釋放大量的熱量。而由液態(tài)轉變?yōu)闅鈶B(tài)時,會吸收大量的熱量??照{就是據此原理而設計的。 </p><p> 壓縮機將氣態(tài)的制冷劑壓縮為高溫高壓的液態(tài)制冷劑,所以室外機吹出來的是熱風。然后到毛細管,進入蒸發(fā)器(室內機),由于制冷劑從毛細管到達蒸發(fā)器后空間突然增大,壓力減小,液態(tài)的制冷劑就會汽化,變
50、成氣態(tài)低溫的制冷劑,從而吸收大量的熱量,蒸發(fā)器就會變冷,室內機的風扇將室內的空氣從蒸發(fā)器中吹過,所以室內機吹出來的就是冷風;空氣中的水蒸汽遇到冷的蒸發(fā)器后就會凝結成水滴,順著水管流出去,這就是空調會出水的原因。</p><p> 接通電源后,用戶通過按鍵設定溫度(默認為25℃)并指定工作模式(手動/自動),空調機開始運行。</p><p> 當溫度高于設定溫度,且超過允許誤差范圍時,壓
51、縮機開始運行,環(huán)境溫度隨壓縮機運行而下降。當環(huán)境溫度降到設定溫度附近,且進入允許誤差范圍之內時,壓縮機停止運行。</p><p> 當環(huán)境溫度低于設定溫度,且超過允許誤差范圍時,加熱裝置開始運行,環(huán)境溫度隨加熱裝置運行而上升。當環(huán)境溫度到達設定溫度附近,且進入允許誤差范圍之內時,加熱裝置停止運行。</p><p> 壓縮機和加熱器周而復始的運行,保證環(huán)境溫度控制在設定的溫度范圍之內。&
52、lt;/p><p> 本設計的Verilog HDL程序由一個主程序模塊和四個子程序模塊組成,其中主程序如下:</p><p> modul air-condition(clk,reset,temp_Setkey,Auto_switch,temp_Test,to_hot,to_cool, temp_Set);</p><p> input clk,reset;&l
53、t;/p><p> input[1:0]temp_Setkey;</p><p> input[2:0]Auto_switch;</p><p> input[5:0]temp_Test;</p><p> output reg to_hot,to_cool;</p><p> output reg[5:0]te
54、mp_Set;</p><p> parameter s0=2'b00,s1=2'b01,s2=2'b10;</p><p> reg[1:0]current_state,next_state;</p><p> wire[5:0]temp_H,temp_L;</p><p> wire test_H,test
55、_L;</p><p> reg w1,w2,w3,w4;</p><p> always @(posedge clk,posedge reset)</p><p><b> begin</b></p><p> if(reset)temp_Set<=25;</p><p><
56、b> else</b></p><p><b> begin</b></p><p> w1<=temp_Setkey[0];</p><p><b> w2<=w1;</b></p><p> w3<=temp_Setkey[1];</p>
57、<p><b> w4<=w3;</b></p><p> if((w1&w2==0)&(w1==1))temp_Set<=temp_Set+1;</p><p> else if((w3&w4==0)&(w3==1))temp_Set<=temp_Set-1;</p><p&g
58、t;<b> end</b></p><p><b> end</b></p><p> assign temp_H=temp_Set+1,</p><p> temp_L=temp_Set-1;</p><p> assign test_H=(temp_Test>temp_H)?1
59、:0,</p><p> test_L=(temp_Test<temp_L)?1:0;</p><p> always @(posedge reset,posedge clk)</p><p><b> begin</b></p><p> if(reset)current_state=s0;</p&
60、gt;<p> else current_state=next_state;</p><p><b> end</b></p><p> always @(Auto_switch,current_state,test_H,test_L)</p><p><b> begin</b></p>
61、<p> if(Auto_switch[2]==1)</p><p><b> begin</b></p><p> if(Auto_switch[0]==1)</p><p><b> begin</b></p><p> to_hot<=0;</p>
62、<p> to_cool<=0;</p><p><b> end</b></p><p> else if(Auto_switch[1]==1)</p><p><b> begin</b></p><p> to_hot<=1;</p><p&
63、gt; to_cool<=0;</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> to_hot<=0;</p><p> to_c
64、ool<=1;</p><p><b> end</b></p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> case
65、(current_state)</p><p><b> s0:</b></p><p><b> begin</b></p><p> to_hot<=0;</p><p> to_cool<=0;</p><p> if(test_H==1&
66、test_L==0)</p><p> next_state<=s1;</p><p> else if(test_H==0&test_L==1)</p><p> next_state<=s2;</p><p> else next_state<=s0;</p><p><b&
67、gt; end</b></p><p><b> s1:</b></p><p><b> begin</b></p><p> to_hot<=0;</p><p> to_cool<=1;</p><p> if(test_H==0&a
68、mp;test_L==0)</p><p> next_state<=s0;</p><p> else if(test_H==0&test_L==1)</p><p> next_state<=s2;</p><p> else next_state<=s1;</p><p><
69、;b> end</b></p><p><b> s2:</b></p><p><b> begin</b></p><p> to_hot<=1;</p><p> to_cool<=0;</p><p> if(test_H==
70、0&test_L==0)</p><p> next_state<=s0;</p><p> else if(test_H==1& test_L==0)</p><p> next_state<=s1;</p><p> else next_state<=s2;</p><p>
71、;<b> end</b></p><p> default:next_state<=s0;</p><p><b> endcase</b></p><p><b> end</b></p><p><b> end</b></p&
72、gt;<p><b> endmodule</b></p><p> 主程序里調用了三個子程序,分別是A/D采樣控制電路、跑馬燈程序,之后是7段顯示器程序設計。</p><p> 在設計A/D采樣控制器中,ADC0809是CMOS的8為A/D轉換器,片內有8路模擬開關,可控制8個模擬量中的一個進入轉換器。轉換時間約為100us,ADC0809含鎖存
73、控制的8路開光,輸出由三態(tài)緩沖器控制,單5v電源供電。START是轉換啟動信號,高電平有效。ALE是3位通道選擇地址信號(ADDC、ADDB、ADDA)的鎖存信號。當模擬量送至某一輸入端(如IN1或IN2等)時,由3位地址信號選擇,而地址信號有ALE鎖存。EOC是轉換狀態(tài)信號,轉換開始后EOC為低電平,當啟動轉換約100us后,EOC由負變正,以示轉換結束。在EOC的上升沿后,若使輸出使能信號OE為高電平,則控制打開三態(tài)緩沖期,把轉換好
74、的8為數(shù)據結果輸至數(shù)據總線,至此ADC0809的一次結束。下面分別給ADC0809采樣的控制狀態(tài)圖和主要程序。如下圖3.1為控制ADC0809采樣的狀態(tài)圖。</p><p><b> 對0809初始化</b></p><p><b> 由LOCK信號鎖存</b></p><p><b> 轉換好的數(shù)據<
75、;/b></p><p><b> 啟動A/D轉換</b></p><p><b> 對采樣周期中等待</b></p><p> OE=“1”數(shù)據輸出有效</p><p> EOC=“1”,轉換結束 EOC=“0”,正在轉換&l
76、t;/p><p> 圖3.1 控制ADC0809采樣的狀態(tài)圖</p><p><b> 主要程序如下: </b></p><p> module ADCINT_v(D,CLK,EOC,ALE,START,OE,ADDA,LOCK0,Q);</p><p> input[7:0]D;</p><p&
77、gt; input CLK;</p><p> input EOC;</p><p> output reg ALE;</p><p> output reg START;</p><p> output reg OE;</p><p> output ADDA;</p><p>
78、 output LOCK0;</p><p> output [7:0]Q;</p><p> parameter st0=3'b000,</p><p> st1=3'b001,</p><p> st2=3'b010,</p><p> st3=3'b011,</p&
79、gt;<p> st4=3'b100;</p><p> reg[2:0]current_state,next_state;</p><p> reg[7:0]REGL;</p><p><b> reg LOCK;</b></p><p> assign ADDA=1'b1;&l
80、t;/p><p> assign Q=REGL,LOCK0=LOCK;</p><p> always @(current_state,EOC)</p><p><b> begin:COM</b></p><p> case(current_state)</p><p><b>
81、 st0:</b></p><p><b> begin</b></p><p> ALE<=1'b0;START<=1'B0;LOCK<=1'B0;OE<=1'b0;</p><p> next_state<=st1;</p><p>&l
82、t;b> end</b></p><p><b> st1:</b></p><p><b> begin</b></p><p> ALE<=1'b1;START<=1'b1;LOCK<=1'b0;OE<=1'b0;</p>
83、<p> next_state<=st2;</p><p><b> end</b></p><p><b> st2:</b></p><p><b> begin</b></p><p> ALE<=1'b0;START<=1&
84、#39;b0;LOCK<=1'b0;OE<=1'b0;</p><p> if(EOC==1)next_state<=st3;</p><p> else next_state<=st2;</p><p><b> end</b></p><p><b> st3
85、:</b></p><p><b> begin</b></p><p> ALE<=1'b0;START<=1'b0;LOCK<=1'b1;OE<=1'b1;</p><p> next_state<=st4;</p><p><b&
86、gt; end</b></p><p><b> st4:</b></p><p><b> begin</b></p><p> ALE<=1'b0;START<=1'b0;LOCK<=1'b1;OE<=1'b1;</p><
87、p> next_state<=st0;</p><p><b> end</b></p><p><b> default:</b></p><p> next_state<=st0;</p><p><b> endcase</b></p&g
88、t;<p><b> end</b></p><p> always @(posedge CLK)</p><p><b> begin:REG</b></p><p> current_state<=next_state;</p><p><b> end&
89、lt;/b></p><p> always @(posedge LOCK)</p><p> begin:LATCH1</p><p><b> REGL<=D;</b></p><p><b> end</b></p><p><b> e
90、ndmodule</b></p><p> 為了模擬電機轉動還得用一個簡單的跑馬燈程序作為子模塊,其輸入端口為rst、clk、sel[1..0],輸出端口為led[7..0],其中sel用于模塊選擇,led用于控制8個LED燈。</p><p> 該子程序的Verilog HDL編程如下:</p><p> module maomadeng (cl
91、k,led,to_hot,to_cool,rst);</p><p> input rst,clk;</p><p> input to_hot,to_cool;</p><p> output [7:0]led;</p><p> reg [7:0] led;</p><p> reg[2:0]cnt1;&
92、lt;/p><p> reg[2:0]cnt2;</p><p> always @(posedge clk)</p><p><b> begin</b></p><p> if(rst) begin cnt1<=0;cnt2<=0;end</p><p><b>
93、else</b></p><p> case ({to_hot,to_cool}) </p><p><b> 2'b01:</b></p><p><b> begin</b></p><p> if(cnt1==0)led=8'b00000001;<
94、;/p><p> else led<=led<<1;</p><p> cnt1=cnt1+1;</p><p><b> end</b></p><p><b> 2'b10:</b></p><p><b> begin</
95、b></p><p> if(cnt2==0) led=8'b10000000;</p><p> else led<=led>>1;</p><p> cnt2=cnt2+1;</p><p><b> end</b></p><p><b>
96、 2'b11:</b></p><p><b> begin</b></p><p> led=8'b00000000;</p><p><b> end</b></p><p> default:led=8'b01010101;</p>&
97、lt;p><b> endcase</b></p><p><b> end</b></p><p><b> endmodule</b></p><p><b> 七段顯示器程序:</b></p><p> module paomaden
98、g(bcd,leds);</p><p> input [3:0]bcd;</p><p> output reg [1:7]leds;</p><p> always @(bcd)</p><p> case (bcd) </p><p> 0:leds=7'b1111110;</p>
99、<p> 1:leds=7'b0110000;</p><p> 2:leds=7'b1101101;</p><p> 3:leds=7'b1111001;</p><p> 4:leds=7'b0110011;</p><p> 5:leds=7'b1011011;</
100、p><p> 6:leds=7'b1011111;</p><p> 7:leds=7'b1110000;</p><p> 8:leds=7'b1111111;</p><p> 9:leds=7'b1111011;</p><p> 4'b1010:leds=7'
101、;b1110111;</p><p> 4'b1011:leds=7'b0011111;</p><p> 4'b1100:leds=7'b1001110;</p><p> 4'b1101:leds=7'b0111101;</p><p> 4'b1110:leds=7'
102、;b1001111;</p><p> 4'b1111:leds=7'b1000111;</p><p> default :leds=7'bx; </p><p><b> endcase</b></p><p><b> endmodule</b></p&
103、gt;<p> 3.3.2 空調控制器的時序仿真</p><p> 本設計的Verilog HDL編程在Quartus II中的仿真結果如下所示:</p><p> 圖3.2 空調控制器在Quartus II中的時序仿真結果</p><p> 如圖3.2所示,當環(huán)境溫度高于設定溫度時,且在手動模式下,開始按temp_Setkey[0]鍵制冷,每
104、按一次減少一度;如果想停止設置可以按Auto_switch[0]鍵,電機停轉;當設定溫度在19度時,如果感覺到冷,可以按temp_Setkey[1]鍵,每按一次增加一度。如果想讓空調進入自動控制溫度狀態(tài)可以設置Auto_switch[2]等于0。</p><p> 空調控制器的模塊圖如下所示:</p><p> 圖3.3 空調控制器的模塊圖</p><p>
105、此模塊包括四個子模塊,分別位A/D轉換模塊,用于模擬環(huán)境溫度,在設計A/D采樣控制器中,ADC0809是CMOS的8為A/D轉換器,片內有8路模擬開關,可控制8個模擬量中的一個進入轉換器。轉換時間約為100us,ADC0809含鎖存控制的8路開光,輸出由三態(tài)緩沖器控制,單5v電源供電。START是轉換啟動信號,高電平有效。ALE是3位通道選擇地址信號(ADDC、ADDB、ADDA)的鎖存信號。當模擬量送至某一輸入端(如IN1或IN2等)
106、時,由3位地址信號選擇,而地址信號有ALE鎖存。EOC是轉換狀態(tài)信號,轉換開始后EOC為低電平,當啟動轉換約100us后,EOC由負變正,以示轉換結束。在EOC的上升沿后,若使輸出使能信號OE為高電平,則控制打開三態(tài)緩沖期,把轉換好的8為數(shù)據結果輸至數(shù)據總線,至此ADC0809的一次結束;起初設計采用流水燈模塊,用于模擬電機運轉,流水燈從右往左亮表示制冷,從左往右亮表示制熱,全亮表示溫度適中;為了使效果更加明顯,也可以用七段顯示器模塊代
107、替流水燈模塊(如圖3.3),右下角的模塊就是一個7段譯碼器模塊,顯示器為11111111表示溫度適中,22222222表</p><p> 第四章 空調控制器的FPGA實現(xiàn)</p><p> 4.1 FPGA簡介</p><p> FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程
108、器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言(Verilog HDL或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至FPGA上進行測試,是現(xiàn)代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼
109、器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。系統(tǒng)設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。</p><p> FPGA采用了邏輯單元陣列LCA(Logic Cell
110、Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:</p><p> ?。?) 采用FPGA設計ASIC電路,用戶不需要投片生產就能得到合用的芯片;</p><p> ?。?) FPGA可做其他全定制或
111、半定制ASIC電路的試樣片;</p><p> ?。?) FPGA內部有豐富的觸發(fā)器和I/O引腳;</p><p> ?。?) FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一;</p><p> ?。?) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。</p><p> 可以說,F(xiàn)PGA芯片
112、是小批量系統(tǒng)提高系統(tǒng)集成度和可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。</p><p> FPGA是由存放在片內RAM中的程序來設置其工作狀態(tài)的。因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中的數(shù)據讀入片內編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。
113、掉電后,F(xiàn)PGA恢復成白片,內部邏輯關系消失。因此,F(xiàn)PGA能夠反復使用。FPGA的編程不需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA、不同的編程數(shù)據,可以產生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。</p><p> 4.2 FPGA設計及驗證</p><p> 下圖為使用FPGA驗
114、證結果的使用流程:</p><p> 圖4.1 FPGA驗證結果流程圖</p><p> FPGA是一種門電路可以高達上百萬,時鐘頻率可達幾百兆的可編程邏輯器件。在數(shù)字信號處理領域中FPGA技術得到了廣泛應用。本設計將使用FPGA進行最終仿真。FPGA設計環(huán)境為:</p><p> 圖4.2 實踐FPGA的測試環(huán)境</p><p>
115、圖4.3 空調控制器在Quartus II中的時序仿真結果</p><p> 上圖為模塊生成后得到的時序仿真圖。由圖可知,當輸入溫度信號為30度時得到了如上圖所示的仿真結果。當把本設計程序下載到FPGA中并通過邏輯分析儀后,得出的結果如圖4.4,圖4.5,圖4.6所示??梢钥闯?,邏輯分析儀中的仿真結果與Quartus II中的仿真結果完全相同,證明了本設計的正確性。</p><p>
116、開機復位:溫度調節(jié)要注意居住和工作在外界的溫差不宜過大,把環(huán)境溫度調節(jié)到所要求的范圍內。本次設計開機復位為25度(圖4.4)。</p><p> 圖4.4 在邏輯分析儀中開機復位的仿真結果</p><p> 制冷:當環(huán)境溫度過高,需要空調制冷來營造一個舒適的環(huán)境,這時可以按temp_Setkey[1]鍵,每按一次空調顯示溫度為降低一度,按到19度時,如果感覺舒適可以停止操作(圖4.4)
117、。</p><p> 圖4.5 在邏輯分析中制冷的仿真結果</p><p> 制熱:在室內溫度為19度一段時間后,如果感覺稍微有點涼,那可以直接按temp_Setkey[0],同理,每按一次溫度升高一度(圖4.6)。</p><p> 圖4.6 在邏輯分析儀中制熱的仿真結果</p><p><b> 結 論</b>
118、;</p><p> 本文首先介紹了國內外空調控制器的發(fā)展現(xiàn)狀和有關空調控制器的理論,以此為依據設計了空調控制器??照{控制器設計包括對環(huán)境溫度和電機正反運轉以及制冷制熱控制的設計,電機運轉狀態(tài)可以采用流水燈來指示,即正轉時流水燈運動方向從左向右;反轉時流水燈從右向左;停轉時流水燈熄滅。溫度控制可以采用A/D采樣模塊實現(xiàn),程序實現(xiàn)也是很簡單的。</p><p> 本文通過Verilog
119、HDL來設計空調控制器,且能下載到FPGA上成功的驗證,優(yōu)點是其能夠在較短的時間內設計出高標準的產品。相對于速度慢,專用性強,編程難的普通設計方法,還是有較大的優(yōu)勢的。并通過功能仿真和時序仿真來驗證空調控制器。并且本設計中根據外界溫度自動控制室內溫度,起到節(jié)能的作用。</p><p> FPGA技術的引入,使得設計擺脫了硬件電路的束縛,只需將更多的精力致力與軟件的設計和優(yōu)化上,從而極大地提高了設計效率。本設計從
120、任務提出到最終完成硬件測試僅歷時兩個多月,這一定程度上也證明了在空調控制器的設計中引入現(xiàn)代FPGA技術的可行和巨大潛力。隨著FPGA技術及其制作工藝的不斷進步將FPGA技術融入該類空調控制器的研發(fā)和生產之中將大有可為。</p><p> 為了進一步研究,考慮為空調控制器增加風扇轉速顯示和控制功能。在空調控制系統(tǒng)中,風扇轉速決定了溫度變化的快慢,是空調控制器中一個比較重要的控制變量。</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的空調控制器設計
- 畢業(yè)論文---基于fpga的空調控制系統(tǒng)設計
- 畢業(yè)論文-基于fpga的電梯控制器設計
- 基于fpga電梯控制器的設計畢業(yè)論文
- 基于fpga電梯控制器設計畢業(yè)論文
- 基于fpga的交通燈控制器設計——畢業(yè)論文
- 基于fpga的交通燈控制器設計——畢業(yè)論文
- 基于fpga的空調控制畢業(yè)設計畢業(yè)設計論文
- 畢業(yè)論文-基于fpga的uart控制器設計【精校排版】
- 基于fpga的自動售貨機控制器設計畢業(yè)論文
- 畢業(yè)論文----基于fpga的音頻編解碼芯片控制器設計
- 基于fpga的微波爐控制器【畢業(yè)論文】
- 畢業(yè)論文--基于fpga的vga顯示控制器設計(含外文翻譯)
- 家用變頻空調控制器的研究與FPGA設計.pdf
- 基于fpga的城軌空調mvb控制器研究與設計
- 基于單片機的空調溫度控制器的設計-測控畢業(yè)論文
- 畢業(yè)設計論文--基于fpga的微波爐控制器設計
- 畢業(yè)設計論文--基于fpga的微波爐控制器設計
- 畢業(yè)設計--基于fpga的空調控制系統(tǒng)設計
- 空調控制器的課程設計
評論
0/150
提交評論