




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、湖北民族學院科技學院信息工程學院數(shù)字系統(tǒng)與Verilog設計報告題 目: 基于FPGA的溫度檢測系統(tǒng)設計 姓 名: 學 號: 指導老師: 2014/6/2311摘要本文利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點,闡述了一種基于現(xiàn)場可編程門陣列( FPGA)控制DS18B20的方法。使用FPGA作為控制器,嚴格控制DS18B20 的時序,在單總線上實現(xiàn)讀寫功能,完成測量數(shù)字溫度的功能。將測量的二進制數(shù)轉換為BCD碼,并通過數(shù)碼管顯示。系統(tǒng)設計使用 Verilog 語言。關鍵字:數(shù)字溫度傳感器,數(shù)字溫度檢測,F(xiàn)PGA,Verilog語言目錄摘要I1 引 言12 設計實現(xiàn)2.1 FPGA簡介2
2、2.2 DS18B20的通訊協(xié)議22.2.2 寫時序32.2.3 讀時序32.3 電源連接53 模塊設計3.1 DS18b20驅動模塊63.2 溫度數(shù)據(jù)處理模塊73.3 溫度顯示模塊74 整體模塊連接95 結束語10參考文獻111 引 言溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術和微型計算機的迅速發(fā)展,微機測量和控制技術得到了迅速的發(fā)展和廣泛的應用。單片機具有處理能強、運行速度快、功耗低等優(yōu)點,應用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。FPGA(Field-Programmable Gate Ar
3、ray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。隨著溫度檢測理論和技術的不斷更新, 溫度傳感器的種類也越來越多,在微機系統(tǒng)中使用的傳感器,必須是能夠將非電量轉換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導體集成傳感器等,每種傳感器根據(jù)其自身特性,都有它自己的應用領域。本設計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或
4、科研實驗室使用,該設計利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特點。使用FPGA作為控制器,嚴格控制DS18B20 的時序,在單總線上實現(xiàn)讀寫功能,完成測量數(shù)字溫度的功能。將測量的二進制數(shù)轉換為BCD碼,并通過數(shù)碼管顯示。 隨著人們生活水平的不斷提高,F(xiàn)PGA控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。 21世紀科學技術的發(fā)展日新月異,科技的進步帶動了測量技術的發(fā)展,現(xiàn)代控制設備的性能和結構發(fā)生了
5、巨大的變化,我們已經(jīng)進入了高速發(fā)展的信息時代,測量技術也成為當今科技的主流之一,被廣泛的應用于生產(chǎn)的各個領域。2 設計實現(xiàn)2.1 FPGA簡介FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。特點介紹:1) 采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)
6、FPGA內部有豐富的觸發(fā)器和I/O引腳。4) FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內部邏輯關系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的
7、FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.2 DS18B20的通訊協(xié)議根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。由于 DS18B20 是采用一根 I/ O 總線讀寫數(shù)據(jù),因此DS18B20 對讀寫數(shù)據(jù)位有嚴格的時序要求。DS18B20 遵循相應的通信協(xié)議從而保
8、證數(shù)據(jù)傳輸?shù)恼_性和完整性。該通信協(xié)議定義了多種信號時序:初始化時序、 寫時序、 讀時序。2.2.1 初始化時序初始化時序中,控制器發(fā)送一個480us-960us的低電平的復位信號,然后釋放總線,也就是總線為高電平,此時,控制器準備接收DS18B20的反應信號,當總線釋放后,如果存在DS18B20,那么DS18B20將在15-60us內發(fā)送一個持續(xù)60-240us的反應信號。2.2.2 寫時序因為本設計總線上只掛了一個DS18B20,所以不用讀取64位序列號,直接發(fā)送rom命令寫時序有寫1和寫2時序首先將總線拉低電平拉低后15us之內必須把所要向DS18B20寫的數(shù)據(jù)傳到總線上DS18B20將
9、在15us-60us內采樣總線上的數(shù)據(jù),如果為高則寫1,為低則寫0,寫完一次后釋放總線。每兩次寫數(shù)據(jù)之間時隙要大于1us。2.2.3 讀時序 讀時序時總線拉低電平大于1us后然后釋放總線準備接收DS18B20傳來的數(shù)據(jù),DS18B20將在總線拉低后15us之內將數(shù)據(jù)傳到總線上,因此控制器必須在拉低電平然后釋放總線15us之內采樣總線上的數(shù)據(jù)。每次讀取一位數(shù)據(jù)不小于60us。 2.3 DS18B20程序流程圖 FPGA 控制DS18B20 實現(xiàn)溫度轉換的程序流程如下圖所示。程序流程圖2.3 電源連接 DS18B20可使用寄生電源,可以在 I/ O 引腳處于高電平時 “偷” 些能量,儲存在電容中供
10、正常使用,但進行精確轉換時需要 I/ O 引腳保持大電流供電,這樣對 FPGA 芯片引腳造成很大壓力,所以使用 VDD 引腳接外部電源。DS18B20電源連接圖DS18B20 進行溫度轉換需要很大電流,工作最大電流可達 1 mA。使用 VDD 引腳接外部電源供電的優(yōu)點在于I/ O 線上不需要在溫度變換期間保持高電平。這樣就可以有效的保護FPGA 芯片,也可在單總線上放置多數(shù)目的DS18B20。使用外部電源,通過發(fā)出 Skip ROM 跳過命令,然后發(fā)出 Convert T變換命令,可以完成溫度變換。3 模塊設計3.1 DS18b20驅動模塊DSl820數(shù)字溫度計提供12位(二進制)溫度讀數(shù)指示
11、器件的溫度信息經(jīng)過單線接口送 入DSl820或從DSl820送出因此從主機CPU到DSl820僅需一條線(和地線)DSl820的電源可以由數(shù)據(jù)線本身提供而不需要外部電源因為每一個DSl820在出廠時已經(jīng)給定了唯一的序號因此任意多個DSl820可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件DSl820的測量范圍從-55度到+125度增量值為0.5度可在1 s(典型值)內把溫度變換成數(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ù)信息,可相應進行各種處理,如多次到平均等,另外,需將其由二進制轉換為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實現(xiàn)LED靜態(tài)顯示控制運用硬件描述語言設計一個顯示譯碼驅動器,即將要顯示的字符譯成8段碼。由于FPGA有相當多的引腳端資源,如果顯示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將
16、每一個數(shù)碼管都分別連接到不同的8個引腳線上,共需要8N條引腳線控制,如左圖所示。采用FPGA實現(xiàn)LED數(shù)碼管動態(tài)顯示控制 N個LED數(shù)碼管以靜態(tài)方式顯示時,需用到8N條引腳線。在較為復雜的系統(tǒng)中,F(xiàn)PGA的引腳端資源是有限的。因此對于多個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
17、數(shù)碼管短暫的不亮,認為是一直點亮的(其實LED數(shù)碼管是以一定頻率在閃動的)。但是,延時(導通頻率)也不是越小越好,因為LED數(shù)碼管達到一定亮度需要一定時間。如果延時控制的不好則會出現(xiàn)閃動,或者亮度不夠。據(jù)經(jīng)驗,延時0.005秒可以達到滿意的效果。修改延時,亦能得到更多的顯示效果,如加長延時,使得數(shù)碼管顯示一小段時間,再點亮下一個,即可得到數(shù)碼管逐個顯示的效果。 另外,顯示的字符有變化時,可在延時到達后送一個低電平(共陰極數(shù)碼管)讓LED數(shù)碼管先短暫熄滅,再顯示下一個字符,可使在視覺上字符的變化更清晰。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 結束語這次課程設計讓我又一次加深了對Verilog語言的理解,并且在由Verilog這種純軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)建設合同范本
- 分期合同范本模板
- 廠子務工合同范例
- 吊車協(xié)議合同范本
- 廈門合同范例范例
- 制造加工企業(yè)勞動合同范例
- 保供煤合同范例
- 出售商用烤箱合同范例
- 沙子承包的合同范本
- 同意賣公司股合同范例
- 北京房屋租賃合同電子版7篇
- 《園林機械使用與維修》課件-任務3.園林養(yǎng)護機械
- deepseek-r1論文-中文翻譯版
- 項目式學習在小學數(shù)學教學中的應用
- 2025年中遠海運物流有限公司招聘筆試參考題庫含答案解析
- 2025中智集團下屬單位公開招聘41人高頻重點提升(共500題)附帶答案詳解
- 設備維修的基本技能培訓
- 產(chǎn)后腹直肌分離治療
- 2025年中國郵政招聘筆試參考題庫含答案解析
- 人教版(2024)七年級英語上冊新教材的變化及教學建議課件
- 2025年新聞部工作計劃
評論
0/150
提交評論