基于FPGA智能溫度控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于FPGA智能溫度控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于FPGA智能溫度控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于FPGA智能溫度控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于FPGA智能溫度控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖南文理學(xué)院課程設(shè)計(jì)報(bào)告課程名稱(chēng): 通信系統(tǒng)課程設(shè)計(jì) 專(zhuān)業(yè)班級(jí): 通信1101班 學(xué)號(hào)(06位 )學(xué)生姓名: 指導(dǎo)教師: 戴正科 完成時(shí)間: 2014年 11 月 21 日 報(bào)告成績(jī):評(píng)閱意見(jiàn): 評(píng)閱教師 日期 2014.11.21 基于FPGA的智能溫度控制的設(shè)計(jì)目錄1.設(shè)計(jì)題目12.設(shè)計(jì)要求13.設(shè)計(jì)作用與目的14.所用設(shè)備(儀器)和軟件25.系統(tǒng)設(shè)計(jì)方案25.1 系統(tǒng)總體設(shè)計(jì)25.2 工作原理35.2.1 溫度控制系統(tǒng)特性研究36.智能溫度控制器系統(tǒng)硬件設(shè)計(jì)46.1 系統(tǒng)方案設(shè)計(jì)46.1.1 FPGA與DAC0832結(jié)合的目的46.1.2 系統(tǒng)需求分析46.1.3系統(tǒng)需求分析56.2系統(tǒng)

2、結(jié)構(gòu)66.2.1調(diào)試/配置電路67.智能溫度控制系統(tǒng)軟件設(shè)計(jì)87.1 軟件總體設(shè)計(jì)87.1.1 設(shè)定定義87.1.2 VHDL實(shí)現(xiàn)87.2 軟件程序設(shè)計(jì)97.2.1 分頻模塊97.2.2 鍵盤(pán)模塊107.2.3 ADC0809 控制模塊117.2.4 三模塊連接在一塊137.3 本章小結(jié)158.實(shí)驗(yàn)調(diào)試結(jié)果158.1 實(shí)驗(yàn)條件158.2 實(shí)驗(yàn)結(jié)果及分析158.3 本章小結(jié)179.設(shè)計(jì)中的問(wèn)題及解決方法1710.設(shè)計(jì)心得1811.參考文獻(xiàn)1812.附錄181.設(shè)計(jì)題目基于FPGA的智能溫度控制的設(shè)計(jì)2.設(shè)計(jì)要求通過(guò)前向溫度采集電路,采集當(dāng)前孵化器內(nèi)部的溫度信號(hào),將采集到的模擬信號(hào)通過(guò)ADC080

3、9模數(shù)轉(zhuǎn)換芯片,轉(zhuǎn)變?yōu)镕PGA可控的數(shù)字信號(hào),F(xiàn)PGA芯片根據(jù)輸入的當(dāng)前實(shí)際溫度,控制輸出合理的數(shù)字信號(hào),再由DAC0832轉(zhuǎn)換為模擬信號(hào),輸入到后向加熱執(zhí)行電路,以此來(lái)完成對(duì)整個(gè)孵化器的溫度控制。整個(gè)系統(tǒng)中,帶有溫度傳感器的前向溫度采集電路作為系統(tǒng)的反饋環(huán)節(jié),實(shí)時(shí)反映當(dāng)前環(huán)境的具體溫度。3.設(shè)計(jì)作用與目的在空間生命科學(xué)試驗(yàn)中,生命培養(yǎng)模擬地面環(huán)境要求,主要研究宇空間因素,如失重、宇宙輻射、真空、高溫(或低溫)等對(duì)生命過(guò)程的影響。其中溫度對(duì)空間生命的生存有直接作用,是空間生物學(xué)研究的主要對(duì)象。同時(shí)由于空間、體積、電功率的限制,對(duì)電功率加熱器和控制電路方面盡量做到節(jié)能、低功耗、小體積。假設(shè)模擬地

4、面培養(yǎng)箱內(nèi)的溫度在18。這樣對(duì)控制精度和芯片必須有更高的要求。傳統(tǒng)的溫度控制方法以設(shè)定 為臨界點(diǎn),超出設(shè)定允許范圍即進(jìn)行溫度調(diào)控,低于設(shè)定值就加熱,反之就停止或降溫。這種方法實(shí)現(xiàn)簡(jiǎn)單、成本低,但控制效果不理想,控制溫度精度不高、達(dá)到穩(wěn)定點(diǎn)的時(shí)間也長(zhǎng),因此,只能用在精度要求不高的場(chǎng)合。對(duì)于空間生命科學(xué)的溫度控制,這樣的控制過(guò)程遠(yuǎn)遠(yuǎn)達(dá)不到控制要求。FPGA是通過(guò)硬件語(yǔ)言描述實(shí)現(xiàn)并行計(jì)算機(jī)功能的硬件電路。應(yīng)用FPGA實(shí)現(xiàn)PID控制可以提高PID運(yùn)算的速度,避免了用單片機(jī)實(shí)現(xiàn)PID控制按順序執(zhí)行命令對(duì)運(yùn)行速度延時(shí)性,非線性的影響。同時(shí)FPGA實(shí)現(xiàn)的PID控制的內(nèi)在電路可以根據(jù)現(xiàn)實(shí)需要進(jìn)行修改,提高了系

5、統(tǒng)的靈活性。采用智能PID控制溫度則具有測(cè)量控制精度高、成本低、體積小、功耗低的優(yōu)點(diǎn)。將傳統(tǒng)的電路溫度控制用芯片取代,因此利用FPGA實(shí)現(xiàn)PID的智能溫度控制具有深遠(yuǎn)的意義4.所用設(shè)備(儀器)和軟件整個(gè)系統(tǒng)的主芯片采用PFGA即現(xiàn)場(chǎng)可編程門(mén)陣列,F(xiàn)PGA在結(jié)構(gòu)上由邏輯功能塊排列為陣列,并且有可編程的內(nèi)部連線連接功能塊實(shí)現(xiàn)的一定的邏輯功能。FPGA由掩膜可編程門(mén)陣列可編程邏輯器件演變而來(lái),它具有門(mén)陣列的高邏輯密度和通用性,還具有用戶可編程的特性。利用功率繼電器的通斷作為自動(dòng)開(kāi)關(guān),控制設(shè)定值與控制輸入量的關(guān)系,通過(guò)串口模塊和上位機(jī)進(jìn)行通訊,進(jìn)一步實(shí)現(xiàn)在用戶操作界面上進(jìn)行在線修改,時(shí)間采樣、圖形顯示

6、、數(shù)據(jù)保存等功能5.系統(tǒng)設(shè)計(jì)方案5.1系統(tǒng)總體設(shè)計(jì)近百年來(lái),溫度傳感器的發(fā)展大致經(jīng)歷以下三個(gè)階段:第一階段是傳統(tǒng)的分立式溫度傳感器(含敏感元件);第二個(gè)階段是模擬集成的溫度傳感器/控制器;第三個(gè)階段是智能溫度傳感器。在近幾年中,國(guó)際上的許多國(guó)家已經(jīng)研發(fā)出關(guān)于智能溫度控制器的系列產(chǎn)品。智能溫度控制器具有可以輸出溫度控制量以及與溫度數(shù)據(jù)相關(guān)的,適配各種微型控制器特點(diǎn);并且它是在硬件的基礎(chǔ)上通過(guò)軟件實(shí)現(xiàn)測(cè)試控制功能的,其智能化程度取決于軟件的開(kāi)發(fā)水平。智能溫度傳感器最大的有點(diǎn)就是能對(duì)現(xiàn)場(chǎng)測(cè)量到溫度值進(jìn)行數(shù)據(jù)處理和傳輸,并與上位機(jī)進(jìn)行數(shù)據(jù)通信。二十世紀(jì)九十年代中期智能溫度控制器問(wèn)世了,智能溫度控制器是

7、在微電子技術(shù)與計(jì)算機(jī)技術(shù)還有自動(dòng)測(cè)試技術(shù)的結(jié)合產(chǎn)物。二十一世紀(jì)以后,智能溫度傳感器正朝著精度高、功能強(qiáng)、標(biāo)準(zhǔn)化總線、安全性、可靠性、進(jìn)一步開(kāi)發(fā)虛擬網(wǎng)絡(luò)溫度控制器、研制溫度測(cè)量還有溫度控制系統(tǒng),這些高科技的方向迅速發(fā)展。1.改善低精度和低分辨率過(guò)去生產(chǎn)的智能溫度傳感器存在著精度低和分辨力差的缺點(diǎn),并且均采用最常用的8位數(shù)模轉(zhuǎn)化器。現(xiàn)在很多智能溫度的廠家都針對(duì)提升精度和提高分辨力方面做足了工作,分辨力達(dá)到了0.50.0625,測(cè)溫精度達(dá)到0.5,數(shù)模轉(zhuǎn)換器也從8位擴(kuò)展到了9到12位。很多國(guó)外的公司在現(xiàn)有成就的基礎(chǔ)上,又生產(chǎn)出不需要數(shù)模轉(zhuǎn)換的,13位二進(jìn)制數(shù)據(jù)傳輸精度為0.2、分辨力最高可達(dá)到0.0

8、3125的智能溫度傳感器。2.增加多通道功能為了給研制和開(kāi)發(fā)多路溫度測(cè)量控制系統(tǒng)提供良好條件,許多智能溫度傳感器正從單通道向多通道發(fā)展,同時(shí)新型智能溫度傳感器的測(cè)試功能也在不斷增強(qiáng),還在芯片中增加存儲(chǔ)功能。3.總線技術(shù)的標(biāo)準(zhǔn)化和規(guī)范化總線技術(shù)實(shí)現(xiàn)標(biāo)準(zhǔn)化和規(guī)范化,例如:一線總線、I2C總線、SM Bus總線和SPI總線等總線方式。4.安全性和可靠性5.2工作原理5.2.1 溫度控制系統(tǒng)特性研究工程生產(chǎn)中,模擬的建立應(yīng)該盡量簡(jiǎn)化,我們將溫度控制中的各個(gè)參數(shù)當(dāng)作置于溫度有關(guān)的函數(shù)來(lái)處理。熱量的傳播方向總是從高溫物體傳向低溫物體,就算在同一個(gè)問(wèn)題內(nèi)部進(jìn)行熱傳導(dǎo),也是從高溫部分傳向低溫部分。電熱杯加熱系

9、統(tǒng)中,主要是通過(guò)電熱絲產(chǎn)生即通過(guò)氣體的相互碰撞產(chǎn)生熱量進(jìn)行熱傳遞。溫度在傳遞過(guò)程中一定存在時(shí)間延時(shí),這個(gè)延時(shí)時(shí)間可能是由于體積的大小產(chǎn)生的。電熱杯的傳遞函數(shù)寫(xiě)成GS=K1+TSe-ts 式5-1其中參數(shù)K:系統(tǒng)的放大系數(shù)、T:時(shí)間、t延遲時(shí)間、s:復(fù)變量。1. 放大系數(shù)K放大系數(shù)K,是被控制對(duì)象再次達(dá)到平衡狀態(tài)時(shí),變化輸出量和變量輸入量的比值。在輸入變化作用相同的情況下,K值越大,變化輸出量就越大,被控對(duì)象的自身穩(wěn)定性也會(huì)越差;相反,K值越小,被控對(duì)象的自身穩(wěn)定性就越好。2. 時(shí)間常數(shù)T時(shí)間常數(shù)T,是指被控對(duì)象輸入影響后,輸出變量達(dá)到新穩(wěn)態(tài)值的快慢。時(shí)間常數(shù)T,決定動(dòng)態(tài)過(guò)程的時(shí)間快慢,是被控制

10、對(duì)象的動(dòng)態(tài)特性參數(shù)。3. 延遲時(shí)間t滯后時(shí)間t是描述這種現(xiàn)象的動(dòng)態(tài)參數(shù)。6.智能溫度控制器系統(tǒng)硬件設(shè)計(jì)6.1 系統(tǒng)方案設(shè)計(jì)6.1.1 FPGA與DAC0832結(jié)合的目的溫度,是一種具有慣性大、滯后性大、非線性和時(shí)變性強(qiáng)等等特點(diǎn),因此傳統(tǒng)的控制方法想達(dá)到很高的控制要求使很難實(shí)現(xiàn)的。在控制過(guò)程中,在溫度不斷變化的過(guò)程中,環(huán)境在不斷的變化,同時(shí)隨著加熱和降溫,加熱器件的特性也會(huì)變化,這些都是導(dǎo)致溫度時(shí)變的原因;溫度升高外界環(huán)境對(duì)加熱系統(tǒng)吸收熱量的程度不同,直接導(dǎo)致了溫度的非線性變化。但是隨著科學(xué)創(chuàng)新,工業(yè)發(fā)展的強(qiáng)烈需求,各行各業(yè)對(duì)溫度控制的適應(yīng)性、精度、穩(wěn)定性方面都提出了更高層次的要求,同時(shí)使溫度控

11、制進(jìn)入了智能化的階段。DAC0832溫度傳感器是數(shù)字型的溫度傳感器。在溫度采集時(shí),不需要通過(guò)模數(shù)轉(zhuǎn)換器對(duì)溫度值進(jìn)行轉(zhuǎn)換,而且在使用時(shí)不需要溫度標(biāo)準(zhǔn),就可以直接連接到電路中,因此為硬件電路搭建提供了很大的方便,可以使硬件電路結(jié)構(gòu)簡(jiǎn)化。同時(shí),DAC0832溫度傳感器還具有速度快,精度高,成本低的有點(diǎn)。FPGA有豐富的I/O引腳和觸發(fā)器的資源,同時(shí)還具有動(dòng)態(tài)重構(gòu)、可反復(fù)編程的特點(diǎn),并且可以利用計(jì)算機(jī)對(duì)器件進(jìn)行功能仿真。仿真過(guò)程中如果出現(xiàn)問(wèn)題,可以及時(shí)調(diào)整設(shè)計(jì)方案,極大的提高了FPGA的靈活性和通用性。FPGA還具有體積小、集成度高、結(jié)構(gòu)標(biāo)準(zhǔn)化、可移植性好和并行運(yùn)算的有點(diǎn)。如果將FPGA和DAC083

12、2結(jié)合,利用FPGA控制器實(shí)現(xiàn)DAC0832溫度傳感器的溫度采集和控制處理的工作再結(jié)合PID智能控制,不但可以提高溫度控制的速度、精度、而且還可以提高系統(tǒng)的穩(wěn)定性。6.1.2 系統(tǒng)需求分析本設(shè)計(jì)以這種模擬電路控制在實(shí)際應(yīng)用中很難做到恒溫控制,溫度會(huì)在最終歸的預(yù)設(shè)值附近上下浮動(dòng),影響禽蛋的孵化。而且,孵化器的溫度設(shè)置也是模擬電路,這樣是完全達(dá)不到精準(zhǔn)的溫度設(shè)置。通過(guò)學(xué)習(xí)FPGA,我設(shè)想運(yùn)用數(shù)字電路來(lái)對(duì)禽蛋孵化器內(nèi)部溫度進(jìn)行控制,來(lái)實(shí)現(xiàn)可控,可調(diào),溫度恒定的禽蛋孵化器。具體的設(shè)計(jì)框架如下 圖6-1 設(shè)計(jì)框架 6.1.3系統(tǒng)需求分析本設(shè)計(jì)應(yīng)用FPGA控制溫度整體框圖如圖6-2所示。硬件系統(tǒng)可以由兩部

13、分組成,一部分是信號(hào)采集裝置,主要是由溫度傳感器、UART(串口數(shù)據(jù)通訊電路)組成,另一部分是信號(hào)處理裝置,主要由JTAG(聯(lián)機(jī)測(cè)試的接口)、液晶顯示器、FPGA、上位機(jī)、繼電器、報(bào)警器、電源管理。 圖6-2 FPGA控制溫度整體框圖本方案通過(guò)前向溫度采集電路,采集當(dāng)前孵化器內(nèi)部的溫度信號(hào),將采集到的模擬信號(hào)通過(guò)ADC0809模數(shù)轉(zhuǎn)換芯片,轉(zhuǎn)變?yōu)镕PGA可控的數(shù)字信號(hào),F(xiàn)PGA芯片根據(jù)輸入的當(dāng)前實(shí)際溫度,控制輸出合理的數(shù)字信號(hào),再由DAC0832轉(zhuǎn)換為模擬信號(hào),輸入到后向加熱執(zhí)行電路,以此來(lái)完成對(duì)整個(gè)孵化器的溫度控制。整個(gè)系統(tǒng)中,帶有溫度傳感器的前向溫度采集電路作為系統(tǒng)的反饋環(huán)節(jié),實(shí)時(shí)反映當(dāng)前

14、環(huán)境的具體溫度,具體的電路圖如下。 圖6-3 前向溫度采集電路圖6.2系統(tǒng)結(jié)構(gòu)在整個(gè)設(shè)計(jì)系統(tǒng)的硬件中主要包括FPGA、調(diào)制/配置電路、時(shí)鐘電路、復(fù)位電路/重配置電路、系統(tǒng)電源電路、繼電器、外存儲(chǔ)器、LED、獨(dú)立按鍵和撥碼開(kāi)關(guān)等構(gòu)成。6.2.1調(diào)試/配置電路此電路設(shè)計(jì)以AD590作為溫度觸感器,通過(guò)添加相應(yīng)的調(diào)節(jié)電阻,讓溫度與輸出電壓保持一個(gè)相對(duì)線性的關(guān)系其中: :為調(diào)零電阻. :為調(diào)滿度電阻.最終得到的溫度與輸出電壓的關(guān)系式為: 式6-1 模數(shù)轉(zhuǎn)換芯片采用的是ADC0809,具體的連接電路圖如下圖6-4 ADC0809與FPGA的連接IN0IN7管角中任選一路作為前向溫度采集電路的輸入,VCC

15、與同時(shí)接+5V電壓,與GND接地,OUT1OUT8數(shù)據(jù)輸出端連接FPGA,START,OE,EOC,ADDA-C均連接FPGA,根據(jù)ADC0809的工作時(shí)序圖,由FPGA給出相應(yīng)的信號(hào)控制ADC0809。數(shù)模轉(zhuǎn)換部分采用的是DAC0832,具體連接圖如下圖6-5 DAC0832的連接圖DI0-DI7分別于FPGA的8位數(shù)據(jù)輸出端相連,因?yàn)镈AC0832工作在連續(xù)的負(fù)反饋電路中,故采用直通的工作方式,將WR1與WR2直接與地相連,ILE與CS,Xfer引腳均接至FPGA,有FPGA發(fā)送控制信號(hào)來(lái)控制DAC0832的工作。輸出引腳Iout1與Iout2連接一個(gè)流壓轉(zhuǎn)換器,將輸出的電流信號(hào)轉(zhuǎn)換為需要

16、的電壓信號(hào),并進(jìn)行適當(dāng)?shù)姆糯蟆W詈筝敵龅椒趸鞯募訜犭娐贰PGA模塊控制ADC0809的工作狀態(tài),并接收來(lái)自ADC0809的數(shù)字信號(hào),與鍵盤(pán)輸入的預(yù)設(shè)信號(hào)進(jìn)行比較后,將控制信息傳送給DAC0832,經(jīng)由數(shù)模轉(zhuǎn)換器轉(zhuǎn)換后加在發(fā)熱裝置兩端,對(duì)整個(gè)孵化器內(nèi)部溫度進(jìn)行控制。7.智能溫度控制系統(tǒng)軟件設(shè)計(jì)7.1 軟件總體設(shè)計(jì)7.1.1 設(shè)定定義在系統(tǒng)設(shè)計(jì)之前,首先需要提出方案、系統(tǒng)設(shè)計(jì)和FPGA芯片選擇等前期工作。然后針對(duì)系統(tǒng)指標(biāo)和復(fù)位程度,根據(jù)芯片的成本、資源等各方面進(jìn)行衡量,選擇出合理的設(shè)計(jì)方案和芯片類(lèi)型。一般情況下,對(duì)FPGA的設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,先把整個(gè)系統(tǒng)分為幾個(gè)基本單元,再把每個(gè)基本

17、單元?jiǎng)澐譃橄乱粚拥幕締卧?,按照上述步驟進(jìn)行,直至可以使用元件庫(kù)中的元件。7.1.2 VHDL實(shí)現(xiàn) VHDL實(shí)現(xiàn)就是在設(shè)計(jì)的系統(tǒng)和電路中用硬件描述語(yǔ)言(VHDL)表示出來(lái),并輸入給EDA工具的過(guò)程。為了避免以往繪制原理圖時(shí)的可移植性差、效率低下、不易維護(hù)的缺點(diǎn),目前在實(shí)際開(kāi)發(fā)中廣泛應(yīng)用的是HDL語(yǔ)言輸入法,利用文本描述設(shè)計(jì)。最常用的兩種語(yǔ)言HDL和VDL和VHDL是美國(guó)電氣與電子工程師協(xié)會(huì)(IEEE)的標(biāo)準(zhǔn),它們共同的優(yōu)點(diǎn)是:語(yǔ)言與芯片工藝無(wú)關(guān),利用自頂向下的設(shè)計(jì)方法,可移植性好,便于模塊的劃分與移植,具有很強(qiáng)的邏輯描述和方針功能。圖7-1 FPGA的開(kāi)發(fā)流程圖7.2 軟件程序設(shè)計(jì) 本文所設(shè)計(jì)

18、運(yùn)用程序模塊化編程思想將系統(tǒng)各功能模塊化,軟件系統(tǒng)基本可以分為三個(gè)個(gè)模塊:分頻模塊、鍵盤(pán)模塊、ADC0809控制模塊、下面對(duì)每個(gè)模塊進(jìn)行詳細(xì)介紹。7.2.1 分頻模塊圖7-2 分頻模塊由于外界的時(shí)鐘源一般都較高,而ADC0809以及鍵盤(pán)掃描模塊需要的時(shí)鐘頻率較低,故需要對(duì)外界時(shí)鐘源進(jìn)行分頻,這里外界輸入時(shí)鐘源為20MHz,對(duì)其進(jìn)行64分頻。波形仿真圖如下:圖7-3 分頻波形仿真圖從波形圖可以看出,clk每經(jīng)過(guò)64個(gè)脈沖,clk1跳轉(zhuǎn)一次。分頻模塊工作正常.7.2.2 鍵盤(pán)模塊圖7-4 鍵盤(pán)模塊鍵盤(pán)模塊的脈沖輸入來(lái)自分頻模塊。其中,輸入端口為兩位二進(jìn)制數(shù),分別接兩個(gè)按鍵,來(lái)對(duì)預(yù)設(shè)溫度進(jìn)行加減調(diào)控

19、。輸出有兩個(gè)端口,xianshi端口作為保留端口,存儲(chǔ)著當(dāng)前預(yù)設(shè)溫度的數(shù)值,可外接顯示設(shè)備。zhi端口為信息傳送端口,其存儲(chǔ)值為當(dāng)前預(yù)設(shè)溫度值經(jīng)由采集電路溫度電壓公式換算后的十進(jìn)制數(shù)值。換算公式如下: 式7-1例:38攝氏度對(duì)應(yīng)的ADC0809輸出數(shù)據(jù)為5*38*256/100/5,得到十進(jìn)制值為97;波形仿真圖如下:圖7-5 溫度減按鍵圖7-6 溫度加按鍵圖中,圖7-5為溫度減按鍵,圖7-6為溫度加按鍵,相應(yīng)的預(yù)設(shè)溫度對(duì)應(yīng)相應(yīng)的ADC0809輸出值,由圖2得,當(dāng)預(yù)設(shè)溫度為38攝氏度時(shí),對(duì)應(yīng)換算后的ADC0809輸出數(shù)據(jù)為97,與計(jì)算相符。鍵盤(pán)輸入模塊工作正常7.2.3 ADC0809 控制模

20、塊圖7-7 ADC0809控制模塊經(jīng)查閱資料,DAC0832需采用直通式,故,將DAC0832的控制語(yǔ)句直接寫(xiě)在了ADC0809的控制語(yǔ)句塊內(nèi)。ile為輸出到ADC0832的輸入鎖存允許信號(hào),cont為ADC0832WR1,WR2,CS等引腳。Wendu為預(yù)設(shè)溫度的輸入引腳。din為ADC0809轉(zhuǎn)換后的輸出信號(hào),dout為受FPGA控制的輸出到DAC0832的控制信號(hào)。clk8為來(lái)自為頻器的時(shí)鐘信號(hào)。根據(jù)ADC0809的時(shí)序圖,總結(jié)出相應(yīng)的狀態(tài)轉(zhuǎn)移圖,一次來(lái)編寫(xiě)控制ADC0809的VHDL語(yǔ)言文件,狀態(tài)轉(zhuǎn)移圖如下圖7-8 狀態(tài)轉(zhuǎn)移圖具體波形仿真圖如下:圖7-9控制ADC0809的仿真圖波形仿

21、真建立在預(yù)設(shè)溫度為38攝氏度的條件下。前面提到,38攝氏度對(duì)應(yīng)的ADC0809輸出值為97,VHDL程序中設(shè)定,當(dāng)ADC0809輸入值大于或等于97時(shí)(當(dāng)前溫度大于或等于預(yù)設(shè)溫度),F(xiàn)PGA輸出到DAC0832的控制信號(hào)為0,即停止加熱。當(dāng)ADC0809輸入值小于92(即36攝氏度,與設(shè)定溫度相差大于兩度)時(shí),F(xiàn)PGA輸出到DAC0832的控制信號(hào)為255,即以最大功率加熱。當(dāng)ADC0809輸入值小于92時(shí),將會(huì)細(xì)分為5個(gè)階段,即以逐次遞減的功率加熱。由圖可知,ADC0809工作正常。7.2.4 三模塊連接在一塊 最后,將三個(gè)模塊運(yùn)用元件例化語(yǔ)句連接在一塊,并進(jìn)行電路觀察,生成相應(yīng)的邏輯電路,

22、如下圖:圖7-10 三模塊連接圖總體波形仿真如下圖:圖7-11 總仿真圖波形分析:剛開(kāi)始,F(xiàn)PGAjia置1,預(yù)設(shè)溫度逐漸增加,如下圖:圖7-12 溫度增加仿真圖 當(dāng)溫度到達(dá)38攝氏度后停止增加,即將38攝氏度作為預(yù)設(shè)溫度,隨后,觀察FPGAin與FPGAout。當(dāng)預(yù)設(shè)溫度為38攝氏度時(shí),輸入為97時(shí),對(duì)應(yīng)輸出為0,當(dāng)為92時(shí),對(duì)應(yīng)輸出為5,當(dāng)為96時(shí),對(duì)應(yīng)輸出為1,當(dāng)輸入不在92-97之間,輸入大于97時(shí),輸出為0,輸入小與92時(shí),輸出為255.觀察上圖波形仿真,完全符合程序設(shè)計(jì)。7.3 本章小結(jié)本章運(yùn)用了模塊化思想,將系統(tǒng)各個(gè)部分模塊化,應(yīng)用主函數(shù)調(diào)用其他相應(yīng)的模塊,大大的提高了編程效率,

23、減少程序修改,整合過(guò)程的工作量。8.實(shí)驗(yàn)調(diào)試結(jié)果8.1 實(shí)驗(yàn)條件實(shí)驗(yàn)是在恒溫下調(diào)試出的結(jié)果。8.2 實(shí)驗(yàn)結(jié)果及分析以下圖8-1、圖8-2、圖8-3、圖8.4分別是分頻模塊、鍵盤(pán)模塊、ADC0809控制模塊、三模塊連接在一起時(shí)在仿真正常的統(tǒng)計(jì)報(bào)告圖:圖8-1 分頻模塊分頻模塊的VHDL文件見(jiàn)附錄1圖8-2 鍵盤(pán)模塊鍵盤(pán)模塊的VHDL文件見(jiàn)附錄2圖8-3 ADC0809控制模塊ADC0809模塊的VHDL仿真文件見(jiàn)附錄3圖8-4 三模塊連接圖總體的VHDL程序見(jiàn)附錄48.3 本章小結(jié)應(yīng)用設(shè)計(jì)出的軟件、硬件對(duì)實(shí)際的電熱杯溫度信息測(cè)量和控制,得到最適合被設(shè)計(jì)的智能溫度控制器為微分先行PID控制器。9.

24、設(shè)計(jì)中的問(wèn)題及解決方法在本次設(shè)計(jì)中主要遇到的問(wèn)題是對(duì)于FPGA芯片不是很了解,需要查閱很多資料去了解FPGA芯片的一系列管腳即其功能。10.設(shè)計(jì)心得本文從智能控制的角度出發(fā),在控制領(lǐng)域中應(yīng)用FPGA,設(shè)計(jì)并實(shí)現(xiàn)了基本FPGA的智能溫度控制,我在這次設(shè)計(jì)中遇到了很多的困難,資料不齊全,而且是很零散的,還重新學(xué)習(xí)了,但是我都沒(méi)有放棄,還是一步一步的實(shí)現(xiàn),在這次設(shè)計(jì)中剛開(kāi)始我在網(wǎng)上找到的圖片是很模糊的,所以我就用protel99這個(gè)軟件重新畫(huà)圖,但是我已經(jīng)很久沒(méi)有畫(huà)了,都差不多都忘了protel99,我就開(kāi)始重新學(xué)習(xí)了,把圖給畫(huà)好了,在這次設(shè)計(jì)中我學(xué)會(huì)了怎么在網(wǎng)上自己獨(dú)立的尋找資料,還知道了自己有哪

25、些不足的地方,自己日后則可以知道忘哪些地方學(xué)習(xí)咯11.參考文獻(xiàn)1.劉美霞,智能溫度控制系統(tǒng)(碩士學(xué)位論文)南京航空航天大學(xué),2003.2. 韓雪,將國(guó)平,馬幼軍。數(shù)字式溫度傳感器DS18B20在溫室環(huán)境檢測(cè)中的應(yīng)用,儀表技術(shù)與傳感器,2002(9):29-313. 肖衡,陳春俊。PID溫度控制裝置的電路設(shè)計(jì)。計(jì)量與測(cè)試技術(shù),2003(1):10-114陳文軍,陳理君。FPGA在窯爐溫度模糊控制系統(tǒng)設(shè)計(jì)。鹽城工學(xué)報(bào),2006(12):40-4312.附錄附錄1程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.A

26、LL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity fenpin isport(clk :in std_logic; -外部輸入時(shí)鐘源 clk1: out std_logic);end fenpin; -分頻后的時(shí)鐘源architecture b of fenpin is signal count : std_logic_vector(7 downto 0); -信號(hào)定義 signal clk2 : std_logic; beginprocess(clk) beginif(clkevent and clk=1) then -計(jì)數(shù)脈沖上升沿if(count=010

27、00000) thencount0);clk2=not clk2; -當(dāng)達(dá)到64個(gè)脈沖時(shí)count置0,clk2取反else count=count+1; -未達(dá)到64脈沖時(shí)繼續(xù)計(jì)數(shù); end if;end if;clk1xif(x=0)then x=0; -按鍵減按下,判斷溫度是否為0 else xx=x; -其他按鍵情況,溫度不變 end case; end if; xianshi=x; -將溫度賦給顯示輸出端zhi=x*5*256/100/5; -將溫度轉(zhuǎn)化后賦給輸出端end process;end beha;附錄3:library ieee;use ieee.std_logic_116

28、4.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ADC0809 isport(din :in std_logic_vector(7 downto 0); -ADC0809輸出的采樣數(shù)據(jù) clk8 :in std_logic; -時(shí)鐘信號(hào) eoc :in std_logic; -ADC0809轉(zhuǎn)換結(jié)束指示,高電平有效 ale :out std_logic; -ADC0809地址鎖存次信號(hào) ile: out std_logic; -DAC0832數(shù)據(jù)鎖存允許 cont: out std_logic;

29、 -DAC0832控制信號(hào)(WR1,WR2,CS,Xfer) start :out std_logic; -ADC0809轉(zhuǎn)換啟動(dòng)信號(hào) oe :out std_logic; -ADC0809數(shù)據(jù)輸出允許信號(hào) wendu:in integer; -溫度顯示 adda :out std_logic; -ADC0809信號(hào)通道控制位 addb :out std_logic; -ADC0809信號(hào)通道控制位 addc :out std_logic; -ADC0809信號(hào)通道控制位 lock0 :out std_logic; -ADC0809觀察數(shù)據(jù)鎖存時(shí)鐘 dout :out std_logic_ve

30、ctor(7 downto 0); -輸出到DAC0832的8位數(shù)據(jù)end ADC0809;architecture beha of ADC0809 is type states is(st0,st1,st2,st3,st4); -定義ADC0809工作狀態(tài) signal current_state,next_state:states:=st0; -定義信號(hào) signal regl :std_logic_vector(7 downto 0); signal shuchu :std_logic_vector(7 downto 0); signal lock :std_logic; signal

31、count :std_logic_vector(7 downto 0);begin adda=1; -地址輸入001,選擇IN1 addb=0; addc=0; dout=shuchu; -將處理后的數(shù)據(jù)傳輸?shù)捷敵龆丝?lock0=lock; -數(shù)據(jù)傳輸 ile=1; -DAC0832的控制信號(hào) contale=0;start=0;lock=0;oe=0;next_stateale=1;start=1;lock=0;oe=0;next_stateale=0;start=0;lock=0;oe=0;next_state=st1; if(eoc=1)then next_state=st3; els

32、e next_stateale=0;start=0;lock=0;oe=1;next_stateale=0;start=0;lock=1;oe=1;next_statenext_state=st0; end case; end process com;reg:process(clk8) begin if(clk8event and clk8=1) then current_state=next_state; -在時(shí)鐘上升沿改變狀態(tài) end if; end process reg;latch1:process(lock) begin if lock=1and lockevent then reg

33、l=din; -將輸入數(shù)據(jù)賦給中間變量 end if;end process latch1;kongzhi:process(regl) begin if(reglshuchushuchushuchushuchushuchushuchu=11111111; -差值大于5時(shí)輸出255 end case; else shuchuclkin,clk1=c); -元件例化U1:ADC0809 port map(clk8=c,wendu=n,din=FPGAin,eoc=FPGAeoc,dout=FPGAout,ale=FPGAale,ile=FPGAile, cont=FPGAcont,start=FP

34、GAstart,oe=FPGAoe,adda=FPGAadda,addb=FPGAaddb,addc=FPGAaddc);U2:jianpan port map(clk=c,shuru(1)=FPGAjian,shuru(0)=FPGAjia,zhi=n,xianshi=FPGAwendu);end beha;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity fenpin isport(clk :in std_logic; -外

35、部輸入時(shí)鐘源 clk1: out std_logic);end fenpin; -分頻后的時(shí)鐘源architecture b of fenpin is signal count : std_logic_vector(7 downto 0); -信號(hào)定義 signal clk2 : std_logic; beginprocess(clk) beginif(clkevent and clk=1) then -計(jì)數(shù)脈沖上升沿if(count=01000000) thencount0);clk2=not clk2; -當(dāng)達(dá)到64個(gè)脈沖時(shí)count置0,clk2取反else count=count+1; -未達(dá)到64脈沖時(shí)繼續(xù)計(jì)數(shù); end if;end if;clk1xif(x=0)then x=0; -按鍵減按下,判斷溫度是否為0 else xx=x; -其他按鍵情況,溫度不變 end case; end if; xianshi=x; -將溫度賦給顯示輸出端zhi=x*5*256/100/5; -將溫度轉(zhuǎn)化后賦給輸出端end process;end beh

溫馨提示

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

評(píng)論

0/150

提交評(píng)論