


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于Linux地溫度傳感器DS18B20 驅(qū)動程序設(shè)計時間:2018-03-02 11:07:14 來源:中電網(wǎng) 作者:引言傳統(tǒng)地模擬溫度測量抗干擾能力差,放大電路零點漂移大,導(dǎo)致測量值誤差大,難以達(dá)到所需精度在實際應(yīng)用中,采用抗干擾能力強地數(shù)字溫度傳感器是解決上述問題地有效辦法DS18B20是Dallas公司生產(chǎn)地數(shù)字溫度傳感器 ,具有體積小、適用電壓寬、經(jīng)濟 靈活地特點.它內(nèi)部使用了 on board專利技術(shù),全部傳感元件及轉(zhuǎn)換電路集成在一個形如三 極管地集成電路內(nèi).DS18B20有電源線、地線及數(shù)據(jù)線 3根引腳線,工作電壓范圍為35.5 V,支持單總線接口 .準(zhǔn)確地溫度測量是很多嵌入式系
2、統(tǒng)中重要地一點在Linux操作系統(tǒng)下使用數(shù)字溫度傳感器DS18B20,不僅可以得到高精度地溫度測量值,而且硬件簡單可靠1Linux地設(shè)備驅(qū)動程序在Linux中,驅(qū)動程序是內(nèi)核地一部分,它屏蔽了硬件細(xì)節(jié),是整個操作系統(tǒng)地基礎(chǔ) 驅(qū)動程序與Lin ux內(nèi)核結(jié)合有兩種方式:在編譯內(nèi)核時 ,靜態(tài)地鏈接進內(nèi)核;在系統(tǒng)運行時 以模塊加載地方式加載進內(nèi)核 驅(qū)動地對象是存儲器和外設(shè) .Linux將存儲器和外設(shè)分為 3個基礎(chǔ)類:字符設(shè)備、 塊設(shè)備、網(wǎng)絡(luò)設(shè)備.字符設(shè)備是指必須以串行順序依次進行訪問地設(shè)備,不需要經(jīng)過系統(tǒng)地快速緩沖;而塊設(shè)備要經(jīng)過系統(tǒng)地快速緩沖,可以任意順序進行訪問,以塊為單位進行操作.字符設(shè)備和塊設(shè)
3、備并沒有嚴(yán)格地界限,有些設(shè)備(如Flash既可看作字符設(shè)備,也可作為塊設(shè)備來訪問.網(wǎng)絡(luò)設(shè)備面向數(shù)據(jù)包地接收和發(fā)送而設(shè)計,并不對應(yīng)于文件系統(tǒng)節(jié)點.內(nèi)核與網(wǎng)絡(luò)設(shè)備地通信方式完全不同于內(nèi)核與字符設(shè)備、塊設(shè)備地通信方式DS18B20是單總線溫度傳感器,主機只能以位”為單位對其進行訪問因此,在 Linux系統(tǒng)中,將DS18B20作為一種典型地字符設(shè)備來訪問.2 DS18B20地結(jié)構(gòu)和工作原理2.1DS18B20地內(nèi)外結(jié)構(gòu)L 23B1DS18B20地外部結(jié)構(gòu)如圖1所示.其中,VDD為電源輸入端,DQ為數(shù)字信號輸入/ 輸出端,GND為電源地.GNDDQ圈t DS18BZ0外部第構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要包
4、括 4部分:64位光刻ROM、溫度傳感器、非易失地溫度報 警觸發(fā)器TH和TL、配置寄存器,如圖2 所示.DQSiAM和-ttn*11| LCRCLffi 2 DSJBH2064位ROM中,在產(chǎn)品出廠前就被廠家通過光刻刻錄好了64位序列號.該序列號可以看作是DS18B20地地址序列碼,用來區(qū)分每一個 DS18B20,從而更好地實現(xiàn)對現(xiàn)場溫度地多 點測量.圖2中地暫存器是DS18B20中最重要地寄存器.暫存器由9個字節(jié)組成,各字節(jié)定義如 表1所列.配置寄存器用于用戶設(shè)置溫度傳感器地轉(zhuǎn)換精度TMR1ROI13 |,其各位定義如下:A i 存關(guān)字節(jié)分配豪字節(jié)it x0騎91武值底蠱燈12AMMcTH)
5、3*VTt4配寄樣券57ft 11a廉環(huán)冗余校離CCK血TM位是測試模式位,用于設(shè)置DS18B20是工作模式(0還是測試模式(1,其出廠值為 0.R1、R0用于設(shè)置溫度傳感器地轉(zhuǎn)換精度:00,分辨率為9位,轉(zhuǎn)換時間為93.75ms ; 01,分辨率為10位,轉(zhuǎn)換時間為187.5 ms ; 10,分辨率為11位,轉(zhuǎn)換時間為375 ms ; 11分辨為 12位,轉(zhuǎn)換時間為750 ms.R1、R0地出廠值為11其余5位值始終為1.第0和第1字節(jié)為16位轉(zhuǎn)換后地溫度二進制值,其中前4位為符號位,其余12位 為轉(zhuǎn)換后地數(shù)據(jù)位(分辨率為12位.如果溫度大于0,則前4位值為0,只要將測到地數(shù)值乘 上0.06
6、2 5即可得到實際溫度值;如果溫度小于0,則前4位為1,需將測得地數(shù)值取反加1后,再乘上0.062 5.第0和第1字節(jié)各位地二進制值如下:LSB(O)HSB(l)2.2 DS18B20 地應(yīng)用電路結(jié)構(gòu)按DS18B20地供電方式,其應(yīng)用電路結(jié)構(gòu)可分為如下 3種:寄生電源供電方式; 寄生電源強上拉供電方式;外部電源供電方式實際應(yīng)用中,以外部電源供電方式為主其應(yīng)用原理圖如圖3所示.VCC 巴引曲20MCU卜加_|磬n i(mT4VCC圖3外部電31供電原理團2.3DS18B20地工作原理根據(jù)DS18B20地通信協(xié)議,MCU對其操作主要有如下 3個步驟:讀寫之前,對DS18B20發(fā)送約500卩地低電平
7、進行復(fù)位;復(fù)位成功 ,發(fā)送ROM指令;發(fā)送RAM指令.MCU對DS18B20地具體操作流程如圖 4 所示.N復(fù)檯戰(zhàn)功?寫ROM命令0CCH 跳11ROM匹配)延時延時S位開始丿結(jié)束)I寫尺?M命令0CCH |S 4 DSI8B2O 作潦程寫 ROM 命 0BEH (發(fā)讀濕度命令寫ROM命令44H 館動溫度轉(zhuǎn)換3Linux地DS18B20驅(qū)動程序?qū)崿F(xiàn)選取mini2440 開發(fā)板為硬件平臺(主芯片為Samsung公司地S3C2440,選取 Linux地最新內(nèi)核 Linux2.6.29 為軟件平臺通過mini2440 地擴展接口引出 GPIO 口 (GPBI為數(shù)據(jù)線DQ.DS18B20為單總線器件,
8、因此對其操作地時序比較嚴(yán)格.DS18B20驅(qū)動最終能否得以正常運行,獲得實時溫度值,關(guān)鍵在于能否正確地編寫復(fù)位程序、位寫程序和位讀程序.3.1復(fù)位程序?qū)S18B20進行讀寫之前要對其復(fù)位初始化,以檢測DS18B20地存在.復(fù)位要求MCU將數(shù)據(jù)線下拉480960卩,再釋放數(shù)據(jù)線,等待約60 若MCU接收到DS18B20發(fā) 出地存在低電平,則表示復(fù)位成功下面是復(fù)位程序代碼:#血旅DQ S3C241Q-GPB1定次弓I膵卷占更改GPIQ 口M 此FiM DQ,INPUT S3C2nO_GPBl_lNP 軸人功能 define DQJJUTPUT S3C24ia_GPBlOUTP 輪出功繼 void
9、 reself void)(do 53c2 t/ MCU發(fā)出60。沖低電平昭臨垃亠gpioetpi*DQB, /ftR為高電平udlay(6O) iwhik(a3c2410_jsp_getpin(DQ) r -0 j檢樋是否收到簽件存崔低韭平while) = = 0)(尊待DS1&聘眞電平結(jié)車= y庫|3.2寫1字節(jié)子程序發(fā)送ROM和RAM指令,需向DS18B20寫入數(shù)據(jù)寫1字節(jié)子程序如下:void writcbyteCuchar comd) fuchar is3c2U0 ffpcfgpin DQ, DQ.OUTPUT);設(shè)為出 for (i 如1&ii + + ”s3c2410_gpio_K
10、tpnCPQ, 0)j 產(chǎn)生下降沿 udehy( 1) jif,糠特 DS1BB20 釆禪覚畢s3c2llO_gPio_5ctpin(DQ. l)t 拉何為高電平 comd comdA 13.3讀N字節(jié)子程序當(dāng)溫度轉(zhuǎn)換完畢,需從DS18B20地RAM中讀取第0和第1字節(jié)地二進制數(shù)據(jù)讀1字節(jié)子程序如下:uchsr rtadby(e(void)(uchar itempOf for(iOti = l ;蚪盤 4 】0_gpio_c(gpin(DQ, DQ_OUTPUT)t讖?fù)癁檩敵鰏3c2410_gpio_setpin( DQ* 0) iudday(1)s3c2l 10_gpK_wtpin(DQ, 1)槍為高電平 s3cZ410_gpio?-7 DQ T rt UT);設(shè)直為輸人,釋放數(shù)振級 udelayC 10) aif(s3c2410_gpio_Etpin(DQ) temp(temp| OxSO); 數(shù)據(jù)為1udelay(65) i s3c2410_gpio_cfgpin(DQ + DQ_ OUTPUT) t 心旦410.KP斂pmg* l)t /fit回為離電平retum(Ump) i讀N字節(jié)子程序如下:void rednbytef uchar N t uchar * temp) uchar i;for(i=OjL . hn
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國氰霜唑行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 結(jié)構(gòu)化視野下小學(xué)數(shù)學(xué)大單元教學(xué)策略探索
- 高中籃球教學(xué)中的基礎(chǔ)體能與專項體能訓(xùn)練
- 丙環(huán)定行業(yè)深度研究分析報告(2024-2030版)
- 玩偶花課件教學(xué)
- 部編人教版三年級語文下冊《紙的發(fā)明》公開課教學(xué)課件
- 浙江工商職業(yè)技術(shù)學(xué)院《禮儀與形象塑造》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島港灣職業(yè)技術(shù)學(xué)院《全球生態(tài)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川希望汽車職業(yè)學(xué)院《西南少數(shù)民族藝術(shù)與文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州航天職業(yè)技術(shù)學(xué)院《項目策劃與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 實習(xí)生轉(zhuǎn)正綜合素質(zhì)與協(xié)議
- 2025年中國汽車塑料成型產(chǎn)品數(shù)據(jù)監(jiān)測報告
- 2025年(第一季度)電網(wǎng)工程設(shè)備材料信息參考價(加密)
- 生產(chǎn)經(jīng)營單位事故隱患內(nèi)部報告獎勵制度
- 商務(wù)英語口語900句(中英對照)
- 高效課堂五步導(dǎo)學(xué)教學(xué)模式解讀
- 面部水光的盛世秘方
- 防蛇蟲鼠蟻安全教育
- 銀行網(wǎng)點數(shù)字營銷整體解決方案
- 雙液注漿施工方案
- 民兵訓(xùn)練管理規(guī)定
評論
0/150
提交評論