




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、湖北民族學(xué)院科技學(xué)院信息工程學(xué)院數(shù)字系統(tǒng)與Verilog設(shè)計(jì)報(bào)告題 目: 基于FPGA的溫度檢測(cè)系統(tǒng)設(shè)計(jì) 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 2014/6/2311摘要本文利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點(diǎn),闡述了一種基于現(xiàn)場(chǎng)可編程門陣列( FPGA)控制DS18B20的方法。使用FPGA作為控制器,嚴(yán)格控制DS18B20 的時(shí)序,在單總線上實(shí)現(xiàn)讀寫功能,完成測(cè)量數(shù)字溫度的功能。將測(cè)量的二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼,并通過數(shù)碼管顯示。系統(tǒng)設(shè)計(jì)使用 Verilog 語言。關(guān)鍵字:數(shù)字溫度傳感器,數(shù)字溫度檢測(cè),F(xiàn)PGA,Verilog語言目錄摘要I1 引 言12 設(shè)計(jì)實(shí)現(xiàn)2.1 FPGA簡介2
2、2.2 DS18B20的通訊協(xié)議22.2.2 寫時(shí)序32.2.3 讀時(shí)序32.3 電源連接53 模塊設(shè)計(jì)3.1 DS18b20驅(qū)動(dòng)模塊63.2 溫度數(shù)據(jù)處理模塊73.3 溫度顯示模塊74 整體模塊連接95 結(jié)束語10參考文獻(xiàn)111 引 言溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機(jī)械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術(shù)和微型計(jì)算機(jī)的迅速發(fā)展,微機(jī)測(cè)量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。單片機(jī)具有處理能強(qiáng)、運(yùn)行速度快、功耗低等優(yōu)點(diǎn),應(yīng)用在溫度測(cè)量與控制方面,控制簡單方便,測(cè)量范圍廣,精度較高。FPGA(Field-Programmable Gate Ar
3、ray),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。隨著溫度檢測(cè)理論和技術(shù)的不斷更新, 溫度傳感器的種類也越來越多,在微機(jī)系統(tǒng)中使用的傳感器,必須是能夠?qū)⒎请娏哭D(zhuǎn)換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導(dǎo)體集成傳感器等,每種傳感器根據(jù)其自身特性,都有它自己的應(yīng)用領(lǐng)域。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或
4、科研實(shí)驗(yàn)室使用,該設(shè)計(jì)利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點(diǎn)。使用FPGA作為控制器,嚴(yán)格控制DS18B20 的時(shí)序,在單總線上實(shí)現(xiàn)讀寫功能,完成測(cè)量數(shù)字溫度的功能。將測(cè)量的二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼,并通過數(shù)碼管顯示。 隨著人們生活水平的不斷提高,F(xiàn)PGA控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。 21世紀(jì)科學(xué)技術(shù)的發(fā)展日新月異,科技的進(jìn)步帶動(dòng)了測(cè)量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了
5、巨大的變化,我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)也成為當(dāng)今科技的主流之一,被廣泛的應(yīng)用于生產(chǎn)的各個(gè)領(lǐng)域。2 設(shè)計(jì)實(shí)現(xiàn)2.1 FPGA簡介FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。特點(diǎn)介紹:1) 采用FPGA設(shè)計(jì)ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)
6、FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。4) FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的
7、FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.2 DS18B20的通訊協(xié)議根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。由于 DS18B20 是采用一根 I/ O 總線讀寫數(shù)據(jù),因此DS18B20 對(duì)讀寫數(shù)據(jù)位有嚴(yán)格的時(shí)序要求。DS18B20 遵循相應(yīng)的通信協(xié)議從而保
8、證數(shù)據(jù)傳輸?shù)恼_性和完整性。該通信協(xié)議定義了多種信號(hào)時(shí)序:初始化時(shí)序、 寫時(shí)序、 讀時(shí)序。2.2.1 初始化時(shí)序初始化時(shí)序中,控制器發(fā)送一個(gè)480us-960us的低電平的復(fù)位信號(hào),然后釋放總線,也就是總線為高電平,此時(shí),控制器準(zhǔn)備接收DS18B20的反應(yīng)信號(hào),當(dāng)總線釋放后,如果存在DS18B20,那么DS18B20將在15-60us內(nèi)發(fā)送一個(gè)持續(xù)60-240us的反應(yīng)信號(hào)。2.2.2 寫時(shí)序因?yàn)楸驹O(shè)計(jì)總線上只掛了一個(gè)DS18B20,所以不用讀取64位序列號(hào),直接發(fā)送rom命令寫時(shí)序有寫1和寫2時(shí)序首先將總線拉低電平拉低后15us之內(nèi)必須把所要向DS18B20寫的數(shù)據(jù)傳到總線上DS18B20將
9、在15us-60us內(nèi)采樣總線上的數(shù)據(jù),如果為高則寫1,為低則寫0,寫完一次后釋放總線。每兩次寫數(shù)據(jù)之間時(shí)隙要大于1us。2.2.3 讀時(shí)序 讀時(shí)序時(shí)總線拉低電平大于1us后然后釋放總線準(zhǔn)備接收DS18B20傳來的數(shù)據(jù),DS18B20將在總線拉低后15us之內(nèi)將數(shù)據(jù)傳到總線上,因此控制器必須在拉低電平然后釋放總線15us之內(nèi)采樣總線上的數(shù)據(jù)。每次讀取一位數(shù)據(jù)不小于60us。 2.3 DS18B20程序流程圖 FPGA 控制DS18B20 實(shí)現(xiàn)溫度轉(zhuǎn)換的程序流程如下圖所示。程序流程圖2.3 電源連接 DS18B20可使用寄生電源,可以在 I/ O 引腳處于高電平時(shí) “偷” 些能量,儲(chǔ)存在電容中供
10、正常使用,但進(jìn)行精確轉(zhuǎn)換時(shí)需要 I/ O 引腳保持大電流供電,這樣對(duì) FPGA 芯片引腳造成很大壓力,所以使用 VDD 引腳接外部電源。DS18B20電源連接圖DS18B20 進(jìn)行溫度轉(zhuǎn)換需要很大電流,工作最大電流可達(dá) 1 mA。使用 VDD 引腳接外部電源供電的優(yōu)點(diǎn)在于I/ O 線上不需要在溫度變換期間保持高電平。這樣就可以有效的保護(hù)FPGA 芯片,也可在單總線上放置多數(shù)目的DS18B20。使用外部電源,通過發(fā)出 Skip ROM 跳過命令,然后發(fā)出 Convert T變換命令,可以完成溫度變換。3 模塊設(shè)計(jì)3.1 DS18b20驅(qū)動(dòng)模塊DSl820數(shù)字溫度計(jì)提供12位(二進(jìn)制)溫度讀數(shù)指示
11、器件的溫度信息經(jīng)過單線接口送 入DSl820或從DSl820送出因此從主機(jī)CPU到DSl820僅需一條線(和地線)DSl820的電源可以由數(shù)據(jù)線本身提供而不需要外部電源因?yàn)槊恳粋€(gè)DSl820在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè)DSl820可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件DSl820的測(cè)量范圍從-55度到+125度增量值為0.5度可在1 s(典型值)內(nèi)把溫度變換成數(shù)字量。Verilog程序如下:module ds18b20(iCLK, iRESET, oWIRE, oFLAG, oDATA );input iCLK,iRESET;output reg11:0
12、oDATA;output reg oFLAG;inout reg oWIRE;parameter do_reset = 6b000001, release_bus = 6b000010, wait_presence = 6b000100;parameter write = 6b001000, wait_conver = 6b010000, read = 6b100000;parameter Skip_Word = 8b11001100,Tconvert_Word = 8b01000100,Tempreg_Word = 8b10111110;reg63:0 counter;reg7:0 byte
13、_counter;reg5:0 nstate;reg7:0 temp_word;reg7:0 addr;reg15:0 Temp_buffer;always (posedge iCLK) begin if(iRESET) begin nstate = do_reset; byte_counter = 0; counter = 0; oFLAG = 0; oDATA = 0; temp_word = Skip_Word; addr = 1; Temp_buffer=0;oWIRE =0;end else case(nstate) do_reset : begin oFLAG = 0;if(cou
14、nter = 499) begin nstate = wait_presence;counter = 0;oWIRE =1;end else begincounter = counter + 1;oWIRE =0;end end wait_presence: begin if(counter = 400) begin nstate = release_bus;counter = 0; oWIRE =1;end .模塊創(chuàng)建如下:3.2 溫度數(shù)據(jù)處理模塊 得到的12bit的溫度數(shù)據(jù)信息,可相應(yīng)進(jìn)行各種處理,如多次到平均等,另外,需將其由二進(jìn)制轉(zhuǎn)換為BCD碼。Verilog程序如下:module b
15、in2bcd(in_bin,out_bcd); input 11:0 in_bin; output 11:0 out_bcd; reg 11:0 out_bcd;always (in_bin)beginout_bcd11:8=in_bin11:4/10;out_bcd7:4=in_bin11:4%10;if(in_bin3)out_bcd3:0 = 5;endendmodule模塊創(chuàng)建如下:3.3 溫度顯示模塊 FPGA實(shí)現(xiàn)LED靜態(tài)顯示控制運(yùn)用硬件描述語言設(shè)計(jì)一個(gè)顯示譯碼驅(qū)動(dòng)器,即將要顯示的字符譯成8段碼。由于FPGA有相當(dāng)多的引腳端資源,如果顯示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將
16、每一個(gè)數(shù)碼管都分別連接到不同的8個(gè)引腳線上,共需要8N條引腳線控制,如左圖所示。采用FPGA實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示控制 N個(gè)LED數(shù)碼管以靜態(tài)方式顯示時(shí),需用到8N條引腳線。在較為復(fù)雜的系統(tǒng)中,F(xiàn)PGA的引腳端資源是有限的。因此對(duì)于多個(gè)LED數(shù)碼管顯示,可以采用掃描方式來實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示。 實(shí)現(xiàn)方法是依次點(diǎn)亮各個(gè)LED數(shù)碼管,循環(huán)進(jìn)行顯示,即一個(gè)數(shù)碼管顯示之后另一個(gè)數(shù)碼管馬上顯示,利用人眼的視覺暫留特性,可以到多個(gè)數(shù)碼管同時(shí)顯示的效果。采用掃描方式來實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示,控制好數(shù)碼管之間的延時(shí)是相當(dāng)重要。根據(jù)人眼視覺暫留原理,LED數(shù)碼管每秒的導(dǎo)通16次以上,人眼就無法分辨LED
17、數(shù)碼管短暫的不亮,認(rèn)為是一直點(diǎn)亮的(其實(shí)LED數(shù)碼管是以一定頻率在閃動(dòng)的)。但是,延時(shí)(導(dǎo)通頻率)也不是越小越好,因?yàn)長ED數(shù)碼管達(dá)到一定亮度需要一定時(shí)間。如果延時(shí)控制的不好則會(huì)出現(xiàn)閃動(dòng),或者亮度不夠。據(jù)經(jīng)驗(yàn),延時(shí)0.005秒可以達(dá)到滿意的效果。修改延時(shí),亦能得到更多的顯示效果,如加長延時(shí),使得數(shù)碼管顯示一小段時(shí)間,再點(diǎn)亮下一個(gè),即可得到數(shù)碼管逐個(gè)顯示的效果。 另外,顯示的字符有變化時(shí),可在延時(shí)到達(dá)后送一個(gè)低電平(共陰極數(shù)碼管)讓LED數(shù)碼管先短暫熄滅,再顯示下一個(gè)字符,可使在視覺上字符的變化更清晰。Verilog程序如下:module display_ds18b20(in_bcd,Seg,r
18、st,se,clk);input 11:0 in_bcd;input clk,rst;output 7:0 Seg;output 2:0 se;reg 7:0 Seg;reg 3:0 r;reg 2:0 se;parameter st0 = 1,st1 = 2,st2 = 3;reg1:0 current_state,next_state;always (posedge clk) begin case(current_state)st0:beginr=in_bcd11:7;se=3b110;next_state=st1;endst1:beginr=in_bcd7:4;se=3b101;next
19、_state=st2;endst2:beginr=in_bcd3:0;se=3b011;next_state=st0;endendcaseendalways (*)case(r)4h0: Seg = 8b11111100;4h1: Seg = 8b01100000;4h2: Seg = 8b11011010;4h3: Seg = 8b11110010;4h4: Seg = 8b01100110;4h5: Seg = 8b10110110;4h6: Seg = 8b10111110;4h7: Seg = 8b11100000;4h8: Seg = 8b11111110;4h9: Seg = 8b11110110;default:Seg = 8b00000000;endcaseendmodule模塊創(chuàng)建如下:4 整體模塊連接5 結(jié)束語這次課程設(shè)計(jì)讓我又一次加深了對(duì)Verilog語言的理解,并且在由Verilog這種純軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙企業(yè)股份轉(zhuǎn)讓協(xié)議書
- 2025年植物組織培養(yǎng)技術(shù)在植物生物技術(shù)產(chǎn)業(yè)中的應(yīng)用與前景報(bào)告
- 2025年儲(chǔ)能電池?zé)峁芾硐到y(tǒng)在電動(dòng)汽車充電站的應(yīng)用報(bào)告
- 2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)量子通信技術(shù)標(biāo)準(zhǔn)化進(jìn)程與產(chǎn)業(yè)協(xié)同發(fā)展報(bào)告
- 農(nóng)業(yè)創(chuàng)新之路:2025年植物基因編輯技術(shù)應(yīng)用成果解讀報(bào)告
- 即時(shí)配送行業(yè)2025年報(bào)告:配送路徑優(yōu)化與成本控制在社區(qū)團(tuán)購中的應(yīng)用
- 2025年能源領(lǐng)域碳捕獲與封存技術(shù)應(yīng)用產(chǎn)業(yè)政策環(huán)境與技術(shù)創(chuàng)新研究報(bào)告
- 2025年綠色建筑認(rèn)證體系在智慧城市中的應(yīng)用與挑戰(zhàn)分析報(bào)告
- 2025年新能源汽車制造產(chǎn)業(yè)技術(shù)創(chuàng)新與市場(chǎng)競爭力報(bào)告
- 2025年機(jī)械制造企業(yè)服務(wù)化轉(zhuǎn)型中的智能工廠建設(shè)報(bào)告
- 舞蹈基本功訓(xùn)練與舞蹈鑒賞智慧樹知到期末考試答案章節(jié)答案2024年蘭州文理學(xué)院
- 《化妝品原料》課件-油脂的基本特性
- 中西文化鑒賞智慧樹知到期末考試答案章節(jié)答案2024年鄭州大學(xué)
- 關(guān)節(jié)黏連松解手術(shù)
- 英語定位紙模板
- 招標(biāo)代理服務(wù) 投標(biāo)方案(技術(shù)方案)
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 關(guān)于調(diào)整市中醫(yī)院醫(yī)保管理領(lǐng)導(dǎo)小組和科室醫(yī)保管理小組的通知
- Unit9SectionA(1a-2d)教案人教版八年級(jí)英語下冊(cè)
- eras在婦科圍手術(shù)
- 下課了助農(nóng)直播-大學(xué)生助農(nóng)電商實(shí)踐平臺(tái)(簡略版)
評(píng)論
0/150
提交評(píng)論