版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要本論文所設(shè)計(jì)的是一個基于FPGA的多功能數(shù)字溫度控制器。本設(shè)計(jì)克服了傳統(tǒng)數(shù)字溫度計(jì)精度低的缺點(diǎn),并且除了傳統(tǒng)溫度計(jì)的測量溫度功能外還具有一定的控制功能,能更好的對所測量的溫度進(jìn)行處理,控制模塊的加入讓其比傳統(tǒng)溫度計(jì)具有更強(qiáng)的實(shí)用性。本設(shè)計(jì)采用EDA技術(shù)自上而下的設(shè)計(jì)思路,對系統(tǒng)的結(jié)構(gòu)劃分為溫度采集模塊、溫度顯示模塊、輸入數(shù)據(jù)對比模塊,輸出控制模塊。在Quartus II軟件下應(yīng)用VHDL語言進(jìn)行電路設(shè)計(jì)并仿真,根據(jù)仿真的結(jié)果。該方案能夠較好的實(shí)現(xiàn)測溫功能并且能對溫度進(jìn)行有效的控制。關(guān)鍵字:溫度控制;FPGA;VHDL;Abstract Designed by this pape
2、r is a multifunctional digital temperature controller based on FPGA. This design overcomes the drawback of traditional digital thermometer low accuracy, and in addition to the traditional thermometer temperature function also has the certain control function, can better handle and on the measured te
3、mperature control module to join its than traditional thermometer has stronger practicability. This design adopts the top-down design EDA technology, the structure of system is divided into temperature acquisition module, display module, the input data contrast module, output control module. Under t
4、he Quartus II software circuit design and simulation using VHDL language, according to the result of simulation. The scheme can achieve a better temperature measurement function and can carry on the effective control of temperature.Keyords: Temperature control FPGA VHDL 目 錄第1章 緒論11.1 課題背景及國內(nèi)外研究概況11.
5、2 課題相關(guān)技術(shù)發(fā)展11.3 課題研究的必要性11.4 課題研究的主要內(nèi)容21.5 課題所設(shè)計(jì)的溫度控制器的優(yōu)點(diǎn)2第2章 FPGA的簡介32.1 FPGA的概述32.2 FPGA的基本結(jié)構(gòu)32.3 FPGA系統(tǒng)設(shè)計(jì)流程52.4 FPGA開發(fā)編程原理6第3章 DS18B20溫度傳感器簡介83.1 傳統(tǒng)溫度采集器件的簡述83.2 DS18B20的引腳83.3 DS18B20內(nèi)部結(jié)構(gòu)83.4 DS18B20的時序103.5 DS18B20的工作原理113.6 DS18B20的性能特點(diǎn)123.7 DS18B20使用過程中的注意事項(xiàng)12第4章 QUARTERS II軟件簡介134.1 Quartus I
6、I軟件概況134.2 軟件界面簡介134.3 QuartusII的設(shè)計(jì)流程14第5章 溫度控制器的設(shè)計(jì)總流程175.1 溫度控制器系統(tǒng)結(jié)構(gòu)圖175.2 DS18B20溫度采集模塊的驅(qū)動設(shè)計(jì)175.3 FPGA溫度顯示模塊的設(shè)計(jì)195.4 FPGA數(shù)據(jù)比較模塊的設(shè)計(jì)195.5 FLEX 10K開發(fā)箱上的下載20第6章 結(jié)論22附 錄23附錄123基于FPGA的多功能溫度控制器設(shè)計(jì)第1章 緒論1.1 課題背景及國內(nèi)外研究概況溫度控制無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,而在當(dāng)今,我國農(nóng)村鍋爐取暖,農(nóng)業(yè)大棚,養(yǎng)雞場內(nèi)等多數(shù)都沒有實(shí)用的溫度控制系統(tǒng),還有部分廠礦,企業(yè)還一直沿用
7、簡單的溫度設(shè)備和紙質(zhì)數(shù)據(jù)記錄儀,無法實(shí)現(xiàn)溫度數(shù)據(jù)的實(shí)時測量與控制。隨著社會經(jīng)濟(jì)的高速發(fā)展,越來越多的生產(chǎn)部門和生產(chǎn)環(huán)節(jié)對溫度控制精度的可靠性和穩(wěn)定性等有了更高的要求,而且隨著人們?nèi)粘I畹牟粩嗵岣?,傳統(tǒng)的溫度控制器越來越不能滿足人們生活中的需要并且傳統(tǒng)溫度控制器的精度也已經(jīng)不能滿足對溫度要求較為苛刻的生產(chǎn)環(huán)節(jié)。1.2 課題相關(guān)技術(shù)發(fā)展當(dāng)今電子產(chǎn)品正向功能多元化、體積最小化、功耗最低化的方向發(fā)展。現(xiàn)在的電子產(chǎn)品在設(shè)計(jì)上與傳統(tǒng)的電子產(chǎn)品相比較,顯著的區(qū)別在于其大量地使用了大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體積縮小,功耗降低。同時廣泛運(yùn)用了現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動化程度和競爭力,縮短研發(fā)
8、周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。美國ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上或最新的QUARTUS II開發(fā)環(huán)境,更具有高性能,開發(fā)周期短等特點(diǎn),十分方便進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計(jì)。EDA技術(shù)以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計(jì)電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡,邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。1.3 課題研究
9、的必要性隨著社會的不斷發(fā)展,新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變著我們的生活,改變著我們的世界。近些年,隨著科技的發(fā)展和社會的進(jìn)步,人們對溫度控制器的要求也越來越高,不管在哪里,人們都想知道此刻的溫度和天氣狀況等一些信息,傳統(tǒng)的溫度控制器由于它的局限性以及不方便性,已不能滿足人們的需求。溫度控制器需要一次革命,不管是在性能還是在樣式上都將發(fā)生質(zhì)的變化,于是數(shù)字溫度控制器的時代悄然來臨了。1.4 課題研究的主要內(nèi)容本設(shè)計(jì)主要研究的是基于FPGA的數(shù)字溫度控制器,要求溫度采集準(zhǔn)確精確,并且能夠自行設(shè)定閾值溫度。當(dāng)溫度超
10、過閾值溫度后,F(xiàn)PGA啟動控制功能,根據(jù)實(shí)際需要驅(qū)動控制器件,實(shí)現(xiàn)對溫度的調(diào)節(jié)。1.5 課題所設(shè)計(jì)的溫度控制器的優(yōu)點(diǎn)(1) 讀數(shù)快且不用估讀。數(shù)顯溫度計(jì)讀數(shù)特別快, 因?yàn)橹灰獙@示器上的數(shù)字讀出即可, 不用估讀, 節(jié)省時間。(2) 測量的精度高。因?yàn)槟茏x出0.01 , 比用精度為1或0.1的溫度計(jì)測量精度大大提高。(3) 測量時間短。數(shù)顯溫度計(jì)的熱容量小,達(dá)到熱平衡所需的時間短, 對待測物體的溫度影響小。(4) 電路簡單。本測溫系統(tǒng)的電路很簡單, 所用的原件少, 且造價很低。(5) 測溫區(qū)域?qū)?。比一般的溫度?jì)測量溫度的區(qū)域?qū)?。?) 可進(jìn)行遠(yuǎn)距離測量。將本溫度控制器的導(dǎo)線延長, 完全可進(jìn)行遠(yuǎn)距
11、離的測量。(7) 可進(jìn)行自動控制。與計(jì)算機(jī)聯(lián)網(wǎng), 可進(jìn)行自動測溫、自動控溫測量。(8) 應(yīng)用廣。該溫度控制器可用于所有的測溫場合,不受其他的條件限制。(9) 靈活性強(qiáng)??筛鶕?jù)實(shí)際的需要替換元件后便能控制不同的器件。第2章 FPGA的簡介2.1 FPGA的概述FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,與之相應(yīng)的CPLD是復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)的簡稱,兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,所以有時可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGF
12、A幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計(jì)一個數(shù)字系統(tǒng)。通過軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時修改設(shè)計(jì)而不必改動硬件電路。使用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLA/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時也大大推動了EDA軟件和硬件描述語言VHDL的進(jìn)步。2.2 FPGA的基本結(jié)構(gòu)FPGA具有掩膜可編程門陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列
13、,并由可編程的互連資源連接這些邏輯功能塊來實(shí)現(xiàn)不同的設(shè)計(jì)。FPGA一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。這3種可編程電路是:可編程邏輯模塊、輸入/輸出模塊(IOB-I/O Block)和互連資源??删幊踢壿嬆KCLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個陣列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接線段和一些可編程連接開關(guān),它們將各個CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。(1) CLB是FPGA的主要組成部分。圖2-
14、1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G、F和H。G有4個輸入變量G1、G2、G3和G4;F也有4個輸入變量F1、F2、F3和F4。這兩個函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā)生器的輸出G和F,而另一個輸入信號是來自信號變換電路的輸出H1。這個函數(shù)發(fā)生器能實(shí)現(xiàn)3輸入變量的各種組合函數(shù)。這3個函數(shù)發(fā)生器結(jié)合起來,可實(shí)現(xiàn)多達(dá)9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏
15、輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵輸入信號、時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實(shí)現(xiàn)所需的電路結(jié)構(gòu)。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類似于ROM。F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可以得到相應(yīng)的組合邏輯函數(shù)輸出。另一方面,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫存儲器使用,它由信號變換電路控制。(2) 輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組
16、成。每個IOB控制一個引腳,它們可被配置為輸入、輸出或雙向I/O功能。當(dāng)IOB控制的引腳被定義為輸入時,通過該引腳的輸入信號先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經(jīng)延時幾納秒(或者不延時)送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。圖2-1 CLB基本結(jié)構(gòu)當(dāng)IOB控制的引腳被定義為輸出時,CLB陣列的輸出信號OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器。IOB輸出端配有兩只MOS管,它們的柵極均可編程,
17、使MOS管導(dǎo)通或截止,分別經(jīng)上拉電阻接通Vcc、地線或者不接通,用以改善輸出波形和負(fù)載能力。(3) 可編程互連資源IR。可編程互連資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來,構(gòu)成各種具有復(fù)雜功能的系統(tǒng)。IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動布線實(shí)現(xiàn)各種電路的連接。2.3 FPGA系統(tǒng)設(shè)計(jì)流程一般說來,一個比較大的完整的項(xiàng)目應(yīng)該采用層次化的描述方法:分為幾個較大的模塊,定義好各功能模塊之間的接口,然后各個模塊再細(xì)分去具體實(shí)現(xiàn),這就是TOP DOWN(自頂向下)的設(shè)計(jì)方法。目前這種高層次的設(shè)計(jì)方法已被廣泛采用。高層次設(shè)計(jì)只是定義系統(tǒng)的行為特
18、征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換成針對某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程如圖2-2所示。圖2-2 CPLD/FPGA系統(tǒng)設(shè)計(jì)流程FPGA工作流程說明如下:(1) 工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。(2) 輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。(3) 將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。(4) 進(jìn)行代碼級的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷τ诖?/p>
19、型設(shè)計(jì)來說,在綜合前對源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時間。一般情況下,這一仿真步驟可略去。(5) 利用綜合器對VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫的支持下才能完成。(6) 利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。(7) 利用適配器將綜合后的網(wǎng)絡(luò)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。(8) 在適配完成
20、后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(a)適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時延特性),所以仿真結(jié)果能比較精確的預(yù)期未來芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計(jì)要求。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。2.4 FPGA開發(fā)編程原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本、開發(fā)周期等因素,確定最佳的實(shí)現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設(shè)計(jì)PCB并最終形成樣
21、機(jī)。CPLD/FPGA軟件設(shè)計(jì)可分為兩大塊:編程語言和編程工具。編程語言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具體的設(shè)計(jì)輸入方式有以下幾種:(1) HDL語言方式。HDL既可以描述底層設(shè)計(jì),也可以描述頂層的設(shè)計(jì),但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項(xiàng)目最后所能達(dá)到的性能與設(shè)計(jì)人員的水平、經(jīng)驗(yàn)以及綜合軟件有很大的關(guān)系。(2) 圖形方
22、式??梢苑譃殡娐吩韴D描述,狀態(tài)機(jī)描述和波形描述3種形式。有的軟件3種輸入方法都支持。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是當(dāng)項(xiàng)目很大的時候,該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來設(shè)計(jì)基于狀態(tài)機(jī)思想的時序電路。在圖形的方式下定義好各個工作狀態(tài),然后在各個狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成VHDL語言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機(jī)到VHDL語言間有一種標(biāo)準(zhǔn)的對應(yīng)描述方式,所以這種輸入方式最后所能達(dá)到的工作速
23、度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。這種輸入方式最后所能達(dá)到的工作速度和芯片利用率也主要取決于綜合軟件。第3章 DS18B20溫度傳感器簡介3.1 傳統(tǒng)溫度采集器件的簡述溫度采集時可用的器件主要有模擬器件(熱敏電阻,晶體三極管等)和數(shù)字溫度傳感器。傳統(tǒng)方法多以熱電阻和熱電偶等為溫度敏感元件,但都存在可靠性差,準(zhǔn)確度和精度低的缺點(diǎn)。由這些溫度傳感器構(gòu)成的溫度測控系統(tǒng)大多存在兩大缺點(diǎn):其一,需要大量的連線才能把現(xiàn)場傳感器的信號送到采集卡上,布線施工麻煩,成本也高;其二,線路上傳送的是模擬信號,易受干擾和損耗。3.2 DS18B
24、20的引腳 圖3-1 DS18B20外形及引腳排列 圖 DS18B20外形及引腳排列DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。DS18B20引腳定義如下:(1)DQ為數(shù)字信號輸入/輸出端。(2)GND為電源地。(3)VDD為外接供電電源輸入端。 3.3 DS18B20內(nèi)部結(jié)構(gòu)圖3-2 DS18B20內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。(如圖3-2)
25、 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。 64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。DS18B20溫度傳感器的存儲器。DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。高速暫存器字節(jié)地址暫存器內(nèi)容0溫度 LSB1溫度 MSB2TH 用戶字節(jié)1*3TL 用戶字節(jié)2*
26、4配置寄存器*5保 留 位 (FFH)6保 留 位 (0CH)7保 留 位 (10H)8 CRC* EEPROMTH 用戶字節(jié)1*TL 用戶字節(jié)2*配置寄存器*圖3-3 DS18B20的存儲器DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號位。即所測溫度值為T=T*0.0625。DS18B20溫度值格式如表3-1所示。高五位都是符號位,在讀取溫度時只需MSB中的低四位和LSB的整個字節(jié)。如果需要作溫度校驗(yàn),就需要將整個暫存器的9個字節(jié)都讀完,并且當(dāng)傳感器存儲的CRC值與總線控制器計(jì)算出的CR
27、C不符時,自身沒有停止序列傳輸?shù)碾娐?。這部分是需要設(shè)計(jì)者自行設(shè)計(jì)的。 表3-1 溫度寄存器格式LSBBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0 MSBBit 15Bit 14Bit 13Bit 12Bit11Bit 10Bit 9Bit 8SSSSS 低5位一直都是“1”,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如表所示(DS18B20出廠時被設(shè)置為12位)。3.4 DS18B20的時序與DS18B20間的任何通訊都需要以初始化序列開始,一個復(fù)位脈沖跟
28、著一個存在脈沖表明DS18B20已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)。在初始化序列期間,總線控制器拉低總線并保持480us以發(fā)出(TX)一個復(fù)位脈沖,然后釋放總線,進(jìn)入接收狀態(tài)(RX)。單總線由5K上拉電阻拉高電平。當(dāng)DS18B20探測到I/O引腳上的上升沿后,等待15-60us,然后發(fā)出一個由60-240us低電平信號構(gòu)成的存在脈沖??偩€控制器初始化寫時序后,DS18B20在一個15us到60us的窗口內(nèi)對I/O線采樣。如果線上是高電平,就寫1。低電平就寫0。圖3-4 DS18B20初始化時序圖寫時序有寫0和寫1兩種??偩€控制器通過寫1時序?qū)戇壿?到DS18B20,寫時序?qū)戇壿?到DS18B20。所有寫
29、時序必須最少持續(xù)60us,包括兩個寫周期間至少1us的恢復(fù)時間。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低電平時,寫時序開始??偩€控制器要產(chǎn)生一個寫時序,必須把數(shù)據(jù)線拉到低電平后釋放,在寫時序開始后的15us釋放總線。當(dāng)總線被釋放的時候,5k的上拉電阻將拉高總線。總控制器要生成一個寫0時序,必須把數(shù)據(jù)線拉到低電平并持續(xù)保持至少60us。所有的讀時序必須最少60us,包括兩個讀周期間至少1us的恢復(fù)時間。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低電平時,讀時序開始,數(shù)據(jù)線必須至少保持1us,然后總線被釋放。在總線控制器發(fā)出讀時序后,DS18B20通過拉高或拉低總線上來傳輸1或0、當(dāng)傳輸邏輯0結(jié)束后,總線將被釋放
30、,通過上拉電阻回到上升沿狀態(tài)。從DS18B20輸出的數(shù)據(jù)等到時序的下降沿出現(xiàn)后15us內(nèi)有效。因此,總線控制器在讀時序開始后必須停止把I/O腳驅(qū)動為低電平15us,以讀取I/O腳狀態(tài)。圖 3-5 DS18B20讀寫時序圖3.5 DS18B20的工作原理 DS18B20測溫原理如圖3-6所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時,溫度
31、寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3-6中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。圖3-6 DS18B20溫度測量原理圖3.6 DS18B20的性能特點(diǎn)(1) 采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進(jìn)制數(shù),含符號位);(2) 測溫范圍為-55+155,測量分辨率為0.0625;(3) 內(nèi)含64位經(jīng)過激光修正的只讀存
32、儲器ROM;(4) 適配各種系統(tǒng);(5) 用戶可分別設(shè)定各路溫度的上、下限;(6) 內(nèi)含寄生電源;(7) 零待機(jī)功耗 ;(8) 可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;(9) 負(fù)電壓特性,電源極性接反時,不會因發(fā)熱而燒毀,但不能正常工作。3.7 DS18B20使用過程中的注意事項(xiàng)DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:(1) 小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C
33、等高級語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時,對 DS18B20操作部分最好采用匯編語言實(shí)現(xiàn)。(2) 在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個 DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時 要加以注意。(3) 連接DS18B20的總線電纜是有長度限制的。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫?cái)?shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。
34、這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時要充分考 慮總線分布電容和阻抗匹配問題。(4) 在DS18B20測溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時也要給予一定的重視。測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。第4章 Quarters II軟件簡介4.1 Quartus II軟件概況Qu
35、artusII是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模
36、塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個階段使用熟悉的第三方EDA工具。 此外,QuartusII 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺。 Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對MaxplusII 的更新支持,QuartusII 與之相比不僅僅是支持器件類型的
37、豐富和圖形界面的改變。Altera在QuartusII 中包含了許多諸如SignalTapII、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了MaxplusII 友好的圖形界面及簡便的使用方法。4.2 軟件界面簡介啟動Quartus 8.1,單擊開始按扭,在程序菜單中選擇Quartus8.1 ,可以啟動Quartus8.1。其初始界面如圖4-1所示。新建工程方法如圖4-2。在圖4-2中的第一個空白處需添入新建工程工作目錄的路徑,為便于管理,Quartus II軟件要求每一個工程項(xiàng)目及其相關(guān)文件都統(tǒng)一存儲在單獨(dú)的文件夾中。第二個空
38、白處需添入新建的工程名稱。第三個空白處需添入的是工程的頂層設(shè)計(jì)實(shí)體名稱,要求頂層設(shè)計(jì)實(shí)體名稱和新建的工程名稱保持一致。圖4-1 軟件啟動界面圖4-2 新建工程界面4.3 QuartusII的設(shè)計(jì)流程QuartusII軟件包括不同的設(shè)計(jì)輸入方法(原理圖、文本)、綜合仿真工具、時限分析工具、功率評估工具、PLD布局布線工具和產(chǎn)品驗(yàn)證工具。QuartusII軟件允許在設(shè)計(jì)流程的每個階段使用QuartusII圖形用戶界面、EDA工具界面或命令行界面,用戶可以根據(jù)設(shè)計(jì)的需要選擇整個設(shè)計(jì)流程用一個界面完成還使用多個界面完成。QuartusII的設(shè)計(jì)流程如圖4-3所示。圖4-3 Quartus II的設(shè)計(jì)流
39、程1、將所設(shè)計(jì)的電路的邏輯功能按照開發(fā)系統(tǒng)要求的形式表達(dá)出來的過程稱為設(shè)計(jì)輸入。設(shè)計(jì)輸入有如下三種方式:(1) 原理圖輸入方式適用于對系統(tǒng)及各部分電路很熟悉的場合。(2) 硬件描述語言輸入方式硬件描述語言是用文本方式描述設(shè)計(jì),硬件描述語言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成為IEEE標(biāo)準(zhǔn)。(3) 波形輸入方式2、Quartus編譯器的主要任務(wù)是對設(shè)計(jì)項(xiàng)目進(jìn)行檢查并完成邏輯綜合,同時將項(xiàng)目最終設(shè)計(jì)結(jié)果生成器件的下載文件。編譯開始前,可以先對工程的參數(shù)進(jìn)行設(shè)置。全編譯的過程包括分析與綜合(Analysis & Synthesis)、適配(Fit
40、ter)、編程(Assembler)、時序分析(Classical Timing Analysis) 。選擇Quartus主窗口Process菜單下Start Compilation命令,或者在主窗口的工具欄上直接點(diǎn)擊快捷按鈕可以進(jìn)行全編譯。分步編譯就是使用對應(yīng)命令分步執(zhí)行對應(yīng)的編譯環(huán)節(jié),每完成一個編譯環(huán)節(jié),生成一個對應(yīng)的編譯報(bào)告。分步編譯跟全編譯一樣分為四步:第一,分析與綜合(Analysis & Synthesis) :設(shè)計(jì)文件進(jìn)行分析和檢查輸入文件是否有錯誤,對應(yīng)的菜單命令是Quartus主窗口Process菜單下StartStart Analysis & Synthes
41、is,對應(yīng)的快捷圖標(biāo)是在主窗口的工具欄上的;第二,適配(Fitter) :在適配過程中,完成設(shè)計(jì)邏輯器件中的布局布線、選擇適當(dāng)?shù)膬?nèi)部互連路徑、引腳分配、邏輯元件分配等,對應(yīng)的菜單命令是Quartus主窗口Process菜單下StartStart Fitter ;(注:兩種編譯方式引腳分配有所區(qū)別 )。第三,編程(Assembler) :產(chǎn)生多種形式的器件編程映像文件 ,通過軟件下載到目標(biāo)器件當(dāng)中去,對應(yīng)的菜單命令是Quartus主窗口Process菜單下StartStart Assemble;最后,時序分析(Classical Timing Analyzer) :計(jì)算給定設(shè)計(jì)與器件上的延時,完
42、成設(shè)計(jì)分析的時序分析和所有邏輯的性能分析,菜單命令是Quartus主窗口Process菜單下StartStart Classical Timing Analyzer 。完成以后,編譯報(bào)告窗口Compilation Report會報(bào)告工程文件編譯的相關(guān)信息,如編譯的頂層文件名、目標(biāo)芯片的信號、引腳的數(shù)目等等。圖4-4編譯界面圖4-5編譯報(bào)告3、建立仿真波形文件:在主菜單中選擇File/New選項(xiàng),在彈出的New對話框中選擇Vector Waveform File。在波形編輯方式下, 執(zhí)行Edit菜單中的 Insert Node or Bus命令,或者在波形編輯器左邊Name列的空白處點(diǎn)擊鼠標(biāo)右鍵
43、,彈出的Insert Nodeor Bus對話框。點(diǎn)擊Insert Nodeor Bus對話框中的Node Finder按鈕,彈出Node Finder窗口,在此窗口中添加信號節(jié)點(diǎn),之后就可以進(jìn)行仿真了。第5章 溫度控制器的設(shè)計(jì)總流程5.1 溫度控制器系統(tǒng)結(jié)構(gòu)圖 圖5-1是本文所設(shè)計(jì)的溫度控制器的系統(tǒng)結(jié)構(gòu)圖,首先溫度信號經(jīng)過DS18B20溫度傳感器被采集后輸出數(shù)字信號,將輸出的數(shù)字信號送入FPGA中對其進(jìn)行處理(分為三個部分),通過譯碼將輸入的二進(jìn)制信號轉(zhuǎn)換為10進(jìn)制信號顯示到數(shù)碼管中并且將輸入的二進(jìn)制信號送入到比較器中與設(shè)定的閾值信號相比較,根據(jù)比較結(jié)果控制輸出電平的高低,達(dá)到控制外接元器件
44、的作用。圖5-1溫度控制器系統(tǒng)結(jié)構(gòu)圖5.2 DS18B20溫度采集模塊的驅(qū)動設(shè)計(jì)如圖5-2為FPGA控制DS18B20進(jìn)行溫度采集的系統(tǒng)流程圖。FPGA需要完成DS18B20的初始化、讀取DS18B20的48位ID號、啟動DS18B20溫度轉(zhuǎn)換、讀取溫度轉(zhuǎn)化結(jié)果。讀取48位ID號和讀取溫度轉(zhuǎn)換結(jié)果過程中,F(xiàn)PGA還要實(shí)現(xiàn)CRC校驗(yàn)碼的計(jì)算,保證通信數(shù)據(jù)的可靠性。 以上操作反復(fù)進(jìn)行,可以用狀態(tài)機(jī)來實(shí)現(xiàn)。狀態(tài)機(jī)的各種狀態(tài)如下: RESET1:對DS18B20進(jìn)行第一次復(fù)位,然后進(jìn)入等待,等待800s后,進(jìn)入下一狀態(tài)。 CMD33:對DS18B20發(fā)出0×33命令,讀取48位ID值。 GE
45、T_ID:從DS18B20中讀取48位ID值。 RESET2:對DS18B20進(jìn)行第二次復(fù)位,然后進(jìn)入DELAY狀態(tài)等待800s后,進(jìn)入CMDCC狀態(tài)。 CMDCC:向DS18B20發(fā)出忽略ROM命令,為進(jìn)入下一狀態(tài)作準(zhǔn)備。 CMD44:向DS18B20發(fā)出啟動溫度轉(zhuǎn)換命令,然后進(jìn)入等待, 900ms后進(jìn)入下一狀態(tài)。 RESET3:對DS18B20進(jìn)行第三次復(fù)位。 CMDCC2:向DS18B20發(fā)出忽略ROM命令,為了進(jìn)入下一狀態(tài)作準(zhǔn)備。 GET_TEMP:從DS18B20中讀取溫度測量數(shù)值。 DELAY:等待狀態(tài)。 WRITE_BIT:向DS18B20中寫入數(shù)據(jù)位狀態(tài)。 READ_BIT:從
46、DS18B20中讀取數(shù)據(jù)位狀態(tài)。在該狀態(tài)中每讀取1位數(shù)據(jù),同時完成該數(shù)據(jù)位的CRC校驗(yàn)計(jì)算。所有數(shù)據(jù)都讀取后,還要讀取8位CRC校驗(yàn)位。這8位校驗(yàn)位也經(jīng)過CRC校驗(yàn)計(jì)算,如果通信沒有錯誤,總的CRC校驗(yàn)結(jié)果應(yīng)該是0。這時可將通信正確的數(shù)據(jù)保存到id和temp_data寄存器中。圖5-2 溫度采集流程圖5.3 FPGA溫度顯示模塊的設(shè)計(jì)LED有段碼和位碼之分,所謂段碼就是讓LED顯示出“8.”的八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對于共陽級的LED而言,高電平使能。要讓8個LED同時工作,顯示數(shù)據(jù),就是要不停
47、的循環(huán)掃描每一個LED,并在使能每一個LED的同時,輸入所需顯示的數(shù)據(jù)對應(yīng)的8位段碼。雖然8個LED是依次顯示,但是受視覺暫留的影響,看到的現(xiàn)象是8個LED同時工作。 多個數(shù)碼管動態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過選通信號分時控制各個數(shù)碼管的公共端,循環(huán)點(diǎn)亮多個數(shù)碼管,并利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于50Hz,將看不到閃爍現(xiàn)象。如圖5-3采用LG3641BH LED數(shù)碼管顯示電路采用4位共陽LED數(shù)碼管從FPGA的四個串口輸出段碼。用PNP三極管進(jìn)行驅(qū)動,當(dāng)相應(yīng)的端口變成低電平時,驅(qū)動相應(yīng)的三極管會導(dǎo)通,驅(qū)動三極管給數(shù)碼管相應(yīng)的位供電,這時只要FPGA芯片
48、DT0-7送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。圖 5-3 數(shù)碼管顯示電路5.4 FPGA數(shù)據(jù)比較模塊的設(shè)計(jì)閾值的控制系統(tǒng)是本設(shè)計(jì)區(qū)別傳統(tǒng)溫度控制器的主要特點(diǎn),本設(shè)計(jì)主要采用將DS18B20所采集的溫度信號通過一個8位二進(jìn)制數(shù)的比較器與所需要的閾值進(jìn)行比較,輸出一個高電平或低電平。FPGA 8位二進(jìn)制比較器的程序設(shè)計(jì)主要在于比較過程的邏輯設(shè)計(jì),比較器的比較原理是二進(jìn)制數(shù)的高位逐步比較,首先比較最高位,如果最高位不想等,則直接輸出高電平(低電平),如果最高位相等則比較次高位,逐位一步一步的比較下去。如圖5-4是一個進(jìn)行8位二進(jìn)制數(shù)的數(shù)據(jù)比較器。圖5-4 數(shù)據(jù)比較模塊元器件5.5 FLEX
49、10K開發(fā)箱上的下載本設(shè)計(jì)所使用的是FLEX 10K系列開發(fā)箱。FLEX 10K是ALTERA公司研制的第一個嵌入式的PLD,它具有高密度、低成本、低功率等特點(diǎn),是當(dāng)今ALTERA CPLD中應(yīng)用前景最好的器件系列之一。它采用了重復(fù)可構(gòu)造的CMOS SRAM工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時可結(jié)合眾多可編程器件來完成普通門陣列的宏功能。每一個FLEX 10K器件均包括一個嵌入式陣列和一個邏輯陣列,因而設(shè)計(jì)人員可輕松地開發(fā)集存貯器、數(shù)字信號處理器及特殊邏輯等強(qiáng)大功能于一身的芯片。 J
50、TAG方式下載接口:下載電纜一端和計(jì)算機(jī)的打印機(jī)并口(LPT1)相連,另一端連接到實(shí)驗(yàn)板箱的雙排10孔排插座上。編程下載時,在EDA軟件上選擇ByteBlaster(MV)的硬件下載方式。數(shù)碼管顯示接口:8個8段數(shù)碼管顯示器(共陰極)。位選驅(qū)動輸出接口4個:sel3-sel0,字型碼驅(qū)動輸出接口8個:a,b,c,d,f,g,h,dq。FLEX10K系列的FPGA:EPF10K10LC84-4的引腳如表5-1 表5-1 EPF10K10LC84-4的引腳Pin NamePinPin NamePinMSEL0(2)31I/O,CS(4)79MSEL1(2)32I/O,RDYnBSY(4)70nST
51、ATUS(2)55I/O,CLKUSE(4)73nCONFIG(2)34I/O,DATA7(4)5DCLK(2)13I/O,DATA6(4)6CONF_DONE(2)76I/O,DATA5(4)7nCE(2)14I/O,DATA4(4)8nCEO(2)75I/O,DATA3(4)9TDI(2)15I/O,DATA2(4)10TDO(2)74I/O,DATA1(4)11TCK(2)77I/O,DATA0(2)(5)12TMS(2)57Dedicated Inputs2,42,44,84TRST(2)56Dedicated Clock pins1,43I/O,INIT_DONE69I/O,DEV_
52、CLRn(3)3I/O,nRS(4)81VCCINT4,20,33,40,45,63I/O,nCS(4)78GNDINT26,41,46,68,82Total User I/O pin(6)59下載前需要對所設(shè)計(jì)的元器件進(jìn)行引腳的鎖定,其中須特別注意的是時鐘信號必須鎖定1號或43號引腳,鎖定其他引腳都無法正確的輸入時鐘信號;動態(tài)顯示數(shù)碼管的位碼引腳的鎖定必須鎖定I/O口,否則也不能正常驅(qū)動動態(tài)數(shù)碼管顯示。第6章 結(jié)論在此次的數(shù)字溫度控制器的設(shè)計(jì)過程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識和具體應(yīng)用。學(xué)會了利用QuarterII軟件進(jìn)行原理圖的繪制,硬件描述語言VHDL的編寫,程序的仿真等工作。并能
53、根據(jù)仿真結(jié)果分析設(shè)計(jì)的存在的問題和缺陷,從而進(jìn)行程序的調(diào)試和完善。在設(shè)計(jì)電路中,往往是先仿真后連接實(shí)物圖,但是有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計(jì)的層面以及與上下模塊接口的設(shè)計(jì)。再加上器件對信號的延時等問題,實(shí)際下載到實(shí)驗(yàn)箱上后會出現(xiàn)一系列的問題,因此軟件仿真和在開發(fā)板上進(jìn)行硬件下載還是有一定區(qū)別的。本設(shè)計(jì)是采用硬件描述語言和FPGA芯片相結(jié)合進(jìn)行的數(shù)字控制器的研究,從中可以看出EDA技術(shù)的發(fā)展在一定程度上實(shí)現(xiàn)了硬件設(shè)計(jì)的軟件化。設(shè)計(jì)的過程變的相對簡單,容易修改等優(yōu)點(diǎn),相信隨著電子技術(shù)的發(fā)展,數(shù)字控制器的功能會更加多樣化,滿足人們的各種需
54、附 錄附錄1 開發(fā)板源程序時鐘分頻模塊library IEEE;use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity div is port( clk: in std_logic; -20MHz clk1m: out std_logic);end div; architecture Behavioral of div issignal clk_temp : std_logic;beginprocess (clk) variable cnt1: std_logic_vector(3 downto 0); beginif rising_edge(clk) then if cnt1="1001" then cnt1:="0000" clk_temp<='1' else cnt1:=cnt1+1; clk_temp<='0' end if; end if;end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 結(jié)合中西醫(yī)療技術(shù)的探索
- 化工安全生產(chǎn)與環(huán)境保護(hù)管理措施研究
- 石河子大學(xué)《債法》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《土木工程材料》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《人力資源管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《當(dāng)代國際共產(chǎn)主義運(yùn)動》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《運(yùn)動控制基礎(chǔ)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《汽車構(gòu)造》2022-2023學(xué)年第一學(xué)期期末試卷
- 造價年終總結(jié)匯報(bào)
- 沈陽理工大學(xué)《工程力學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 高層建筑火災(zāi)逃生與自救策略
- 學(xué)校食堂消防安全知識培訓(xùn)
- 企業(yè)職工代表大會條例
- 總監(jiān)理工程師個人工作總結(jié)
- DLT1249-2013 架空輸電線路運(yùn)行狀態(tài)評估技術(shù)導(dǎo)則
- 肛腸科患者的營養(yǎng)支持與飲食調(diào)理實(shí)踐
- 電磁炮完整分
- 海水直接電解制氫研究進(jìn)展
- 馬鈴薯購銷合同范本
- 莫言讀書分享《檀香刑》
- 自然辯證法科學(xué)技術(shù)社會論課件
評論
0/150
提交評論