




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
摘 要本文利用數(shù)字溫度傳感器DS18B20現(xiàn)場可編程門陣列FPGA)DS18B20FPGA作為控制器,嚴DS18B20的時序,在單總線上實現(xiàn)讀寫功能,完成測量數(shù)字溫度的功BCD碼,并通過數(shù)碼管顯示。系統(tǒng)設計使用Verilog語言。關鍵字:數(shù)字溫度傳感器,數(shù)字溫度檢測,F(xiàn)PGA,Verilog語言目 錄1引 言溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術和微型計算機的迅速發(fā)展,微機測量和控制技術得到了迅速的發(fā)展和廣泛的應用。單片機具有處理能強、運行速度快、功耗低等優(yōu)點,應用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。FPGA(Field-ProgrammableGateArray)FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。隨著溫度檢測理論和技術的不斷更新機系統(tǒng)中使用的傳感器,必須是能夠?qū)⒎请娏哭D(zhuǎn)換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導體集成傳感器等,每種傳感器根據(jù)其自身特性,都有它自己的應用領域。本設計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用,該設計利用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)接口和特FPGADS18B20BCD碼管顯示。隨著人們生活水平的不斷提高,F(xiàn)PGA所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但展。21世紀科學技術的發(fā)展日新月異,科技的進步帶動了測量技術的發(fā)展,現(xiàn)時代,測量技術也成為當今科技的主流之一,被廣泛的應用于生產(chǎn)的各個領域。設計實現(xiàn)FPGA簡介FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在FPGA(Field-ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。特點介紹:FPGAASIC到合用的芯片。FPGAASICFPGAI/OFPGAASICFPGACMOSCMOS、TTL可以說,F(xiàn)PGA一。FPGARAMRAM加電時,F(xiàn)PGAEPROMRAM,F(xiàn)PGAFPGAFPGAFPGAEPROMFPGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此的使用非常靈活。DS18B20的通訊協(xié)議DS18B20DS18B20DS18B20ROMRAMDS18B20由于DS18B20是采用一根I/O總線讀寫數(shù)據(jù),因此DS18B20對讀寫數(shù)據(jù)位有嚴格的時序要求。DS18B20遵循相應的通信協(xié)議從而保證數(shù)據(jù)傳輸?shù)恼_性和完整性。該通信協(xié)議定義了多種信號時序:初始化時序、寫時序、讀時序。初始化時序480us-960usDS18B20DS18B20,DS18B2015-60us60-240us寫時序因為本設計總線上只掛了一個DS18B20,所以不用讀取64位序列號,直接發(fā)送rom命令寫時序有寫1和寫2時序 首先將總線拉低電平拉低后15us之內(nèi)必須把所要向DS18B20寫的數(shù)據(jù)傳到總線上 DS18B20將在15us-60us內(nèi)采1,0,1us。讀時序讀時序時 總線拉低電平大于1us后 然后釋放總線準備接收DS18B20傳來的數(shù)據(jù),DS18B20將在總線拉低后15us之內(nèi)將數(shù)據(jù)傳到總線上,因此控制器必須在拉低電平然后釋放總線15us之內(nèi)采樣總線上的數(shù)據(jù)。每次讀取一位據(jù)不小于60us。DS18B20程序流程圖FPGA控制DS18B20實現(xiàn)溫度轉(zhuǎn)換的程序流程如下圖所示。開始始終分頻開始始終分頻數(shù)碼顯示計數(shù)器計數(shù)接收16位數(shù)據(jù)發(fā)送復位脈沖應答N發(fā)送ReadScratchpadY發(fā)送SkipROM發(fā)送SkipY應答發(fā)送ConvertT等待溫度轉(zhuǎn)換發(fā)送復位脈沖程序流程圖電源連接DS18B20I/O儲存在電容中供正常使用,但進行精確轉(zhuǎn)換時需要I/O引腳保持大電流供電,FPGA芯片引腳造成很大壓力,所以使用VDD5V5VDS18B20FPGA4.7k5VDS18B20電源連接圖DS18B20進行溫度轉(zhuǎn)換需要很大電流,工作最大電流可達1mA。使用VDD引腳接外部電源供電的優(yōu)點在于I/O線上不需要在溫度變換期間保持高電平。這樣就可以有效的保護FPGA芯片,也可在單總線上放置多數(shù)目的DS18B20。使用外部電源,通過發(fā)出SkipROM跳過命令,然后發(fā)出ConvertT變換命令,可以完成溫度變換。模塊設計DS18b20驅(qū)動模塊DSl82012DSl820DSl820CPUDSl820DSl820DSl820-55度到+125度增量值為度可在1s(典型值)內(nèi)把溫度變換成數(shù)字量。Verilog程序如下:moduleds18b20(iCLK,iRESET,oWIRE,oFLAG,oDATA);input outputreg[11:0] oDATA;outputreg oFLAG;inoutreg oWIRE;parameterdo_reset=6'b000001,release_bus=6'b000010,wait_presence=6'b000100;parameterwrite=6'b001000,wait_conver=6'b010000,read=6'b100000;parameterSkip_Word=8'b,Tconvert_Word=Tempreg_Word=8'b;reg[63:0] counter;reg[7:0] byte_counter;reg[5:0] nstate;reg[7:0] temp_word;reg[7:0] addr;reg[15:0] always@(posedgeiCLK)if(~iRESET)beginnstate<=do_reset;
byte_counter<=0;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)begin endnstate<=counter<=0;oWIRE<=1;模塊創(chuàng)建如下:溫度數(shù)據(jù)處理模塊
…………….得到的12bit的溫度數(shù)據(jù)信息,可相應進行各種處理,如多次到平均等,另外,需將其由二進制轉(zhuǎn)換為BCD碼。Verilog程序如下:modulebin2bcd(in_bin,out_bcd);input[11:0]in_bin;output[11:0]out_bcd;reg[11:0]always@(in_bin)beginend
out_bcd[11:8]=in_bin[11:4]/10;out_bcd[7:4]=in_bin[11:4]%10;if(in_bin[3])out_bcd[3:0]=5;endmodule模塊創(chuàng)建如下:溫度顯示模塊FPGA實現(xiàn)LED靜態(tài)顯示控制運用硬件描述語言設計一個顯示譯碼驅(qū)動器,即將要顯示的字符譯成8段碼。由于FPGA有相當多的引腳端資源,如果顯示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將每一個數(shù)碼管都分別連接到不同的8個引腳線上,共需要8×N條引腳線控制,如左圖所示。采用FPGA實現(xiàn)LED數(shù)碼管動態(tài)顯示控制N個LED數(shù)碼管以靜態(tài)方式顯示時,需用到8×N條引腳線。在較為復雜的系統(tǒng)中,F(xiàn)PGA的引腳端資源是有限的。因此對于多個LED數(shù)碼管顯示,可以采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示。LED數(shù)碼管,循環(huán)進行顯示,即一個數(shù)碼管顯示之后另一個數(shù)碼管馬上顯示,利用人眼的視覺暫留特性,可以到多個數(shù)碼管LED數(shù)碼管動態(tài)顯示,控制好數(shù)碼管之間的延時是相當重要。根據(jù)人眼視覺暫留原理,LED16上,人眼就無法分辨LED數(shù)碼管短暫的不亮,認為是一直點亮的(其實LED數(shù)碼管是以一定頻率在閃動的)。但是,延時(導通頻率)也不是越小越好,LED動,或者亮度不夠。據(jù)經(jīng)驗,延時秒可以達到滿意的效果。修改延時,亦能得到更多的顯示效果,如加長延時,使得數(shù)碼管顯示一LED短暫熄滅,再顯示下一個字符,可使在視覺上字符的變化更清晰。Verilog程序如下:moduledisplay_ds18b20(in_bcd,Seg,rst,se,clk);input[11:0]in_bcd;inputclk,rst;output[7:0]Seg;output[2:0]se;reg[7:0]Seg;reg[3:0]r;
end
st2:beginendendcase
r<=in_bcd[3:0];se<=3'b011;next_state<=st0;reg[2:0]se;parameterst0=1,st1=2,st2=reg[1:0]current_state,next_state;always@(posedgeclk)begincase(current_state)st0:beginr<=in_bcd[11:7];se<=3'b110;next_state<=st1;endst1:begin
always@(*)case(r)8'b00000000;
4'h0:Seg=8'b;4'h1:Seg=8'b01100000;4'h2:Seg=8'b;4'h3:Seg=8'b;4'h4:Seg=8'b01100110;4'h5:Seg=8'b;4'h6:Seg=8'b;4'h7:Seg=8'b;4'h8:Seg=8'b;4'h9:Seg=default:Seg=模塊創(chuàng)建如下:
r<=in_bcd[7:4];se<=3'b101;next_state<=st2;
endcaseendmodule整體模塊連接結(jié)束語Verilog這種純軟件的東西變成硬件的東西的過程中又對軟硬件的工作過程有更深層次Verilog通過這次課程設計學習到很多東西,更加鞏固了所學的一些知識,對FPGA的一些知識有了更加一步的認識,對電路抗干擾有了進一步的了解,對電路的設計有了些許的經(jīng)驗。由于所掌握的專業(yè)技術知識有限,課題設計及樣機制作僅限于基本階段,離專業(yè)計量工程儀器還有不少距離。例如系統(tǒng)的電路原理設計,樣機工藝設計及制作,控制程序設計,信號處理,測量精度等方面都存在這樣或那樣的問題,使得性能樣機未能做到盡善盡美。這一切都將有待在今后的學習研究中進一步努力。參考文獻[1]. 夏宇聞,2008,《Verilog數(shù)字系統(tǒng)設計教程》[M],出版社。[2]. 蔡偉綱,2007,《NiosII軟件架構(gòu)解析》[M]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光的反射(教學設計)-2024-2025學年科學五年級上冊人教鄂教版
- 2025年甘肅省蘭州市單招職業(yè)適應性測試題庫完整版
- 2025年河南女子職業(yè)學院單招職業(yè)傾向性測試題庫學生專用
- 2025年湖北生態(tài)工程職業(yè)技術學院單招職業(yè)傾向性測試題庫必考題
- 2025年度公司獨家簽約帶貨主播合作協(xié)議
- 寵物醫(yī)院裝修全包合同細則
- 2025年度數(shù)字經(jīng)濟平臺運營人員聘用協(xié)議
- 2025年度美容美發(fā)門店聯(lián)營合作合同
- 農(nóng)村茶藝館裝修合同模板
- 2025年度手房買賣意向金支付與房屋交易風險控制合同
- 失智老年人照護X證書制度試點工作養(yǎng)老護理職業(yè)和失智老人照護員工種的發(fā)展講解
- 2025年湖南食品藥品職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 企業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略-深度研究
- 新種子法律法規(guī)培訓講解
- 2025年東營科技職業(yè)學院高職單招數(shù)學歷年(2016-2024)頻考點試題含答案解析
- 2025-2030年中國民用通信天線行業(yè)發(fā)展趨勢規(guī)劃研究報告
- 《幼小銜接家長會》課件
- 浙江省金華市婺城區(qū)2024-2025學年九年級上學期期末數(shù)學試卷(含答案)
- Unit 4 A glimpse of the future 說課稿-2023-2024學年高二下學期英語外研版(2019)選擇性必修第三冊001
- 鄉(xiāng)村建設規(guī)劃許可培訓
- 加氣站安全課件
評論
0/150
提交評論