版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、/23CompanyDocumentnumber:WTUT-WT88Y-W8BBGB-BWYTT-19998湖北民族學院科技學院信息工程學院數(shù)字系統(tǒng)與Verilog設(shè)計報告題目:基于FPGA的溫度檢測系統(tǒng)設(shè)計姓名:學號:指導老師:2014/6摘要本文利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點,闡述了一種基于現(xiàn)場可編程門陣列(FPGA)控制DS18B20的方法。使用FPGA作為控制器,嚴格控制DS18B20的時序,在單總線上實現(xiàn)讀寫功能,完成測量數(shù)字溫度的功能。將測量的二進制數(shù)轉(zhuǎn)換為BCD碼,并通過數(shù)碼管顯示。系統(tǒng)設(shè)計使用Verilog語言。關(guān)鍵字:數(shù)字溫度傳感器,數(shù)字溫度檢測,F(xiàn)PGA,
2、Verilog語言目錄溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術(shù)和微型計算機的迅速發(fā)展,微機測量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。單片機具有處理能強、運行速度快、功耗低等優(yōu)點,應(yīng)用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限
3、的缺點。隨著溫度檢測理論和技術(shù)的不斷更新,溫度傳感器的種類也越來越多,在微機系統(tǒng)中使用的傳感器,必須是能夠?qū)⒎请娏哭D(zhuǎn)換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導體集成傳感器等,每種傳感器根據(jù)其自身特性,都有它自己的應(yīng)用領(lǐng)域。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用,該設(shè)計利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點。使用FPGA作為控制器,嚴格控制DS18B20的時序,在單總線上實現(xiàn)讀寫功能,完成測量數(shù)字溫度的功能。將測量的二進制數(shù)轉(zhuǎn)換為BCD碼,并通過數(shù)碼管顯示
4、。隨著人們生活水平的不斷提高,F(xiàn)PGA控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。21世紀科學技術(shù)的發(fā)展日新月異,科技的進步帶動了測量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了巨大的變化,我們已經(jīng)進入了高速發(fā)展的信息時代,測量技術(shù)也成為當今科技的主流之一,被廣泛的應(yīng)用于生產(chǎn)的各個領(lǐng)域。2設(shè)計實現(xiàn)FPGA簡介FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在P
5、AL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。特點介紹:采用FPGA設(shè)計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC電路的中試樣片。FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之。FPGA是
6、由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。DS18B20的通訊協(xié)議根據(jù)DS18B20的通訊協(xié)議,主機控制DS18
7、B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。由于DS18B20是采用一根I/O總線讀寫數(shù)據(jù),因此DS18B20對讀寫數(shù)據(jù)位有嚴格的時序要求。DS18B20遵循相應(yīng)的通信協(xié)議從而保證數(shù)據(jù)傳輸?shù)恼_性和完整性。該通信協(xié)議定義了多種信號時序:初始化時序、寫時序、讀時序。初始化時序初始化時序中,控制器發(fā)送一個480us-960us的低電平的復位信號,然后釋放總線,也就是總線為高電平,此時,控制器準備接收DS18B20的反應(yīng)信號,當總線釋放后,如果存在DS18B20,那么DS18
8、B20將在15-60us內(nèi)發(fā)送一個持續(xù)60-240us的反應(yīng)信號。寫時序因為本設(shè)計總線上只掛了一個DS18B20,所以不用讀取64位序列號,直接發(fā)送rom命令寫時序有寫1和寫2時序首先將總線拉低電平拉低后15us之內(nèi)必須把所要向DS18B20寫的數(shù)據(jù)傳到總線上DS18B20將在15us-60us內(nèi)采樣總線上的數(shù)據(jù),如果為高則寫1,為低則寫0,寫完一次后釋放總線。每兩次寫數(shù)據(jù)之間時隙要大于1uso讀時序讀時序時總線拉低電平大于1us后然后釋放總線準備接收DS18B20傳來的數(shù)據(jù),DS18B20將在總線拉低后15us之內(nèi)將數(shù)據(jù)傳到總線上,因此控制器必須在拉低電平然后釋放總線15us之內(nèi)采樣總線上的
9、數(shù)據(jù)。每次讀取一位數(shù)據(jù)不小于60us。DS18B20程序流程圖FPGA控制DS18B20實現(xiàn)溫度轉(zhuǎn)換的程序流程如下圖所示。程序流程圖電源連接DS18B20可使用寄生電源,可以在I/O引腳處于高電平時“偷”些能量,儲存在電容中供正常使用,但進行精確轉(zhuǎn)換時需要I/O引腳保持大電流供電,這樣對FPGA芯片引腳造成很大壓力,所以使用VDD引腳接外部電源。DS18B20電源連接圖DS18B20進行溫度轉(zhuǎn)換需要很大電流,工作最大電流可達1mA。使用VDD引腳接外部電源供電的優(yōu)點在于I/O線上不需要在溫度變換期間保持高電平。這樣就可以有效的保護FPGA芯片,也可在單總線上放置多數(shù)目的DS18B20。使用外部
10、電源,通過發(fā)出SkipROM跳過命令,然后發(fā)出ConvertT變換命令,可以完成溫度變換counter=0;oFLAG=0;oDATA=0;temp_word=Skip_Word;addr=1;Temp_buffer=0;oWIRE=0;endelsecase(nstate)do_reset:beginoFLAG=0;if(counter=499)beginnstate=wait_presence;counter=0;oWIRE=1;endelsebegincounter=counter+1;oWIRE=0;endendwait_presence:beginif(counter=400)beg
11、in3模塊設(shè)計DS18b20驅(qū)動模塊DS1820數(shù)字溫度計提供12位(二進制)溫度讀數(shù)指示器件的溫度信息經(jīng)過單線接口送入DS1820或從DS1820送出因此從主機CPU到DS1820僅需一條線(和地線)DSl820的電源可以由數(shù)據(jù)線本身提供而不需要外部電源因為每一個DS1820在出廠時已經(jīng)給定了唯一的序號因此任意多個DS1820可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件DS1820的測量范圍從-55度到+125度增量值為度可在1s(典型值)內(nèi)把溫度變換成數(shù)字量。Verilog程序如下:moduleds18b20(iCLK,iRESET,oWIRE,oFLAG,oDATA)
12、;inputiCLK,iRESET;outputreg11:0oDATA;outputregoFLAG;inoutregoWIRE;parameterdo_reset=6b000001,release_bus=6b000010,wait_presence=6b000100;parameterwrite=6b001000,wait_conver=6b010000,read=6b100000;Tconvert_Word=8b01000100,reg63:0counter;reg7:0byte_counter;reg5:0nstate;reg7:0temp_word;reg7:0addr;reg15
13、:0Temp_buffer;always(posedgeiCLK)beginif(iRESET)beginnstate=do_reset;byte_counter=0;nstate=release_bus;endcounter=0;.oWIRE=1;.模塊創(chuàng)建如下:溫度數(shù)據(jù)處理模塊得到的12bit的溫度數(shù)據(jù)信息,可相應(yīng)進行各種處理,如多次到平均等,另外,需將其由二進制轉(zhuǎn)換為BCD碼。Verilog程序如下:modulebin2bcd(in_bin,out_bcd);input11:0in_bin;output11:0out_bcd;reg11:0out_bcd;always(in_bin)be
14、ginout_bcd11:8=in_bin11:4/10;out_bcd7:4=in_bin11:4%10;if(in_bin3)out_bcd3:0=5;endendmodule模塊創(chuàng)建如下:溫度顯示模塊FPGA實現(xiàn)LED靜態(tài)顯示控制運用硬件描述語言設(shè)計一個顯示譯碼驅(qū)動器,即將要顯示的字符譯成8段碼。由于FPGA有相當多的引腳端資源,如果顯示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將每一個數(shù)碼管都分別連接到不同的8個引腳線上,共需要8xN條引腳線控制,如左圖所示。采用FPGA實現(xiàn)LED數(shù)碼管動態(tài)顯示控制N個LED數(shù)碼管以靜態(tài)方式顯示時,需用到8xN條引腳線。在較為復雜的系統(tǒng)中,F(xiàn)PGA的引
15、腳端資源是有限的。因此對于多個LED數(shù)碼管顯示,可以采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示。實現(xiàn)方法是依次點亮各個LED數(shù)碼管,循環(huán)進行顯示,即一個數(shù)碼管顯示之后另一個數(shù)碼管馬上顯示,利用人眼的視覺暫留特性,可以到多個數(shù)碼管同時顯示的效果。采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示,控制好數(shù)碼管之間的延時是相當重要。根據(jù)人眼視覺暫留原理,LED數(shù)碼管每秒的導通16次以上,人眼就無法分辨LED數(shù)碼管短暫的不亮,認為是一直點亮的(其實LED數(shù)碼管是以一定頻率在閃動的)。但是,延時(導通頻率)也不是越小越好,因為LED數(shù)碼管達到一定亮度需要一定時間。如果延時控制的不好則會出現(xiàn)閃動,或者亮度不夠。據(jù)經(jīng)驗,
16、延時秒可以達到滿意的效果。修改延時,亦能得到更多的顯示效果,如加長延時,使得數(shù)碼管顯示一小段時間,再點亮下一個,即可得到數(shù)碼管逐個顯示的效果。另外,顯示的字符有變化時,可在延時到達后送一個低電平(共陰極數(shù)碼管)讓LED數(shù)碼管先短暫熄滅,再顯示下一個字符,可使在視覺上字符的變化更清晰。Verilog程序如下:moduledisplay_ds18b20(in_bcd,Seg,rst,se,clk);input11:0in_bcd;inputclk,rst;output7:0Seg;output2:0se;reg7:0Seg;reg3:0r;reg2:0se;parameterst0=1,st1=2
17、,st2=3;reg1:0current_state,next_state;always(posedgeclk)beginbeginendst1:beginendst2:beginr=in_bcd11:7;se=3b110;next_state=st1;r=in_bcd7:4;se=3b101;next_state=st2;case(current_state)st0:r=in_bcd3:0;se=3b011;endendcaseendalways(*)case(r)模塊創(chuàng)建如下:next_state=st0;4h1:Seg=8b01100000;4h4:Seg=8b01100110;defa
18、ult:Seg=8b00000000;endcaseendmodule4整體模塊連接5結(jié)束語這次課程設(shè)計讓我又一次加深了對Verilog語言的理解,并且在由Verilog這種純軟件的東西變成硬件的東西的過程中又對軟硬件的工作過程有更深層次的理解。而且我還做了之前Verilog課程設(shè)計沒有接觸過的一個流程那就是綜合。當我看到自己寫的程序編程一個個邏輯門的連接的時候,感覺自己離集成電路又近一步了通過這次課程設(shè)計學習到很多東西,更加鞏固了所學的一些知識,對FPGA的一些知識有了更加一步的認識,對電路抗干擾有了進一步的了解,對電路的設(shè)計有了些許的經(jīng)驗。由于所掌握的專業(yè)技術(shù)知識有限,課題設(shè)計及樣機制作僅限于基本階段,離專業(yè)計量工程儀器還有不少距離。例如系統(tǒng)的電路原理設(shè)計,樣機工藝設(shè)計及制作,控制程序設(shè)計,信號處理,測量精度等方面都存在這樣或那樣的問題,使得性能樣機未能做到盡善盡美。這一切都將有待在今后的學習研究中進一步努力參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津積分落戶合同范例
- 舊廠設(shè)備出售合同范例
- 店鋪出兌合同范例文件
- 章丘農(nóng)場租賃合同范例
- 公司賣股合同范例
- 家居合作置換合同范例
- 電梯安裝責任合同范例
- 簽約編劇合同范例
- 清潔服務(wù)包干合同范例
- 冷庫直銷安裝合同范例
- 展覽館維修維護投標方案
- 項目電氣工程師總結(jié)
- 陳赫賈玲小品《歡喜密探》臺詞劇本
- 2023招聘專員個人年終總結(jié)
- 國際郵輪產(chǎn)業(yè)及未來郵輪
- 水工建筑物考試試題及答案
- 多元回歸分析論文
- 小學第四季度意識形態(tài)分析研判報告
- 部編二年級語文上冊 培優(yōu)輔差測試記錄表
- 國企市場化選聘經(jīng)理層聘任協(xié)議模板
- 《水晶知識培訓》課件
評論
0/150
提交評論