技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于ARM和DS18B20的數(shù)字測溫系統(tǒng)

基于ARM和DS18B20的數(shù)字測溫系統(tǒng)

時間:2006-06-21 16:00:00來源:0

導(dǎo)語:?本文介紹了一種新型的嵌入式數(shù)字測溫系統(tǒng)
摘 要: 本文介紹了一種新型的嵌入式數(shù)字測溫系統(tǒng),系統(tǒng)采用SAMSUNG公司的32位ARM微控制器S3C44BOX,利用單總線數(shù)字溫度傳感器DS18B20作為分布式測溫元件。該系統(tǒng)具有電路簡單,可靠性高,易于安裝和擴展維護的特點,可作為一種新型的數(shù)控機床測溫系統(tǒng)設(shè)計方案。 關(guān)鍵詞:ARM,S3C44BOX,數(shù)字溫度傳感器,DS18B20 0 前言 熱誤差是數(shù)控機床的最大誤差源,數(shù)控機床的溫度測試為機床熱誤差的補償提供依據(jù)。傳統(tǒng)的測溫方案是將模擬信號通過電纜遠距離傳輸至數(shù)據(jù)采集卡進行A/D轉(zhuǎn)換并處理,實用中必須解決長線傳輸和模擬量傳感器布線等問題。本文介紹了一種新型的設(shè)計方案,控制器采用SAMSUNG公司的32位ARM微控制器S3C44BOX,溫度傳感器采用單總線數(shù)字溫度傳感器DS18B20。采用數(shù)字溫度傳感器即在測試點完成了信號的數(shù)字化,提高了傳輸?shù)目煽啃?,同時簡化了外圍電路,也便于傳感器在機床上的布置安裝。ARM處理器控制數(shù)字溫度信號的采集,并與上位PC機通訊,同時其他硬件資源提供熱補償系統(tǒng)其他功能。本文在介紹數(shù)字溫度傳感器DS18B20的基礎(chǔ)上,給出了系統(tǒng)的軟硬件設(shè)計方案,對軟件實現(xiàn)中的關(guān)鍵點做了詳盡的注釋說明。 1 數(shù)字溫度傳感器DS18B20介紹 1.1 DS18B20的結(jié)構(gòu) DS18B20是美國DALLAS公司推出的一種可組網(wǎng)數(shù)字溫度傳感器。DS18B20只有一個數(shù)據(jù)輸入/輸出口,是單總線專用芯片。DS18B20工作時,被測溫度值直接以單總線的數(shù)字方式傳輸。 DS18B20體積小,電壓適用范圍寬(3V-5V),可以通過編程實現(xiàn)9~12位的溫度讀數(shù),即有可調(diào)的溫度分辨率。測溫范圍-55℃~+125℃,在-10℃~+85℃時,精度為±0.5℃。其可選封裝有TO-92、SOIC及CSP封裝。 每個DS18B20出廠時都有一個唯一的64位序列號,因此一條總線上可以同時掛接多個DS18B20而不會出現(xiàn)混亂。DS18B20包括一個暫存RAM和一個E2RAM。暫存存儲器RAM用于存放工作參數(shù)和測量值,其作用是保證在單線通訊時的完整性,包括8個字節(jié)。E2RAM用于設(shè)定非易失性溫度報警上下限值TH和TL(調(diào)電后依然保存)。內(nèi)部結(jié)構(gòu)如圖1所示。 頭兩個字節(jié)表示測得的溫度讀數(shù),數(shù)據(jù)格式如圖2所示: S=1時表示溫度為負,S=0時表示溫度為正,其余低位以二進制補碼形式表示,最低位為1,表示0.0625℃ 內(nèi)部存儲器的第五個字節(jié)是結(jié)構(gòu)寄存器,主要用于溫度值的數(shù)字轉(zhuǎn)換分辨率。 1.2 DS18B20的工作時序 DS18B20嚴(yán)格遵循單總線協(xié)議,工作時,主機先發(fā)一復(fù)位脈沖,使總線上的所有DS18B20都被復(fù)位,接著發(fā)送ROM操作指令,使序列號編碼匹配的DS18B20被激活,準(zhǔn)備接受下面的RAM訪問指令。RAM訪問指令控制選中的DS18B20工作狀態(tài),完成整個溫度轉(zhuǎn)換,讀取等工作。在ROM命令發(fā)送之前,RAM命令命令不起作用。表1列出了所有操作命令。 整個操作主要包括三個關(guān)鍵過程:主機搜索DS18B20序列號、啟動在線DS18B20做溫度轉(zhuǎn)換、讀取溫度值。 其工作流程如圖3: DS18B20對時序及電特性參數(shù)要求較高,必須嚴(yán)格按照DS18B20的時序要求去操作。它的數(shù)據(jù)讀寫主要由主機讀寫特定的時間片來完成,包括復(fù)位(初始化)、讀時間片和寫時間片。 (1) 復(fù)位時序 使用DS18B20時,首先需將其復(fù)位,然后才能執(zhí)行其它命令。復(fù)位時,主機將數(shù)據(jù)線拉為低電平并保持480μs~960μs,然后釋放數(shù)據(jù)線,再由上拉電阻將數(shù)據(jù)線拉高15~60μs,等待DS18B20發(fā)出存在脈沖,存在脈沖有效時間為60~240μs,這樣,就完成了復(fù)位操作。其復(fù)位時序如圖4所示。 (2) “寫”時序 在主機對DS18B20寫數(shù)據(jù)時,先將數(shù)據(jù)線置為高電平,再變?yōu)榈碗娖?該低電平應(yīng)大于1μs。在數(shù)據(jù)線變?yōu)榈碗娖胶?5μs內(nèi),根據(jù)寫“1”或?qū)憽?”使數(shù)據(jù)線變高或繼續(xù)為低。DS18B20將在數(shù)據(jù)線變成低電平后15μs~60μs內(nèi)對數(shù)據(jù)線進行采樣。要求寫入DS18B20的數(shù)據(jù)持續(xù)時間應(yīng)大于60μs而小于120μs,兩次寫數(shù)據(jù)之間的時間間隔應(yīng)大于1μs。寫時隙的時序如圖5所示。“讀”時序機理類似,不再贅述。 2 系統(tǒng)軟硬件設(shè)計 2.1 硬件設(shè)計 我們采用的控制器是SAMSUNG公司的32位ARM微控制器S3C44BOX,是三星公司為一般應(yīng)用提供的高性價比和高性能的微控制器的解決方案,功耗小,可靠性高。它使用ARM7TDMI核,工作在66MHz。采用的該ARM控制器將服務(wù)于整個熱誤差補償系統(tǒng),完成包括數(shù)據(jù)處理與通訊、控制等多任務(wù)的實現(xiàn)。機床測溫系統(tǒng)只使用小部分片上資源。 我們主要通過對I/O引腳的電平讀寫來完成單總線的通訊,采用ARM內(nèi)部的定時器產(chǎn)生中斷來完成有時隙要求的工作。由于我們通過預(yù)分頻后產(chǎn)生的計時值單位達到1μs,完全能夠滿足時序工作的需要。 DS18B20與控制器的接口及其簡單,只需將DS18B20的信號線與控制器的一位雙向端口連接即可。系統(tǒng)連接如圖8所示: 2.2 軟件設(shè)計 遵循DS18B20單總線通訊協(xié)議,溫度轉(zhuǎn)換與讀取工作的軟件流程可表示為圖9(該流程是在已經(jīng)選中激活某個選中的DS18B20以后,選中激活流程軟件原理類似,此處省略)。 可見,與DS18B20進行通訊主要完成以下三個基本子程序:初始化程序(復(fù)位程序)、‘讀’子程序,‘寫’子程序。系統(tǒng)采用 C語言進行設(shè)計,以下是初始化(復(fù)位)子程序,設(shè)計如下: U8 resetpulse(void) //復(fù)位函數(shù)定義 { U8 RX=1; //函數(shù)返回值設(shè)置 rPCONF=0x01; //PF0輸出口 rPDATF=0x0; //PF0輸出0,拉低 rTCNTB1=0x1f4; //定時緩沖器設(shè)定,延時500us rTCON=0x0200; //定時控制器設(shè)定,將定時器1手動更新 rTCON=0x0100; //定時器開啟,手動更新關(guān)閉 while(TIME); //在定時中斷產(chǎn)生以前踏步等待(我們在中斷中改變這個標(biāo)志值) rPDATF=0x01; //低脈沖時間500us已過,PF0置高 TIME=1; //將TIME值恢復(fù) rTCON=0x0; //關(guān)閉定時器 rTCNTB1=60; //延時60us rTCON=0x0200; rTCON=0x0100; while(TIME); TIME=1; rTCON=0x0; rPCONF=0x0; //改為輸入口,進行讀值 if((rPDATF & 0x01)==0) //讀到PF0口為低時說明存在脈沖收到 {RX=0;} rTCNTB1=0x0190; //延時400us rTCON=0x0200; rTCON=0x0100; while(TIME); TIME=1; rTCON=0x0; return(RX); //函數(shù)返回RX值,在收到存在脈沖時RX為零 } 調(diào)用該初始化程序就可以實現(xiàn)復(fù)位要求?!白x”子程序、“寫”子程序?qū)崿F(xiàn)機制類似,代碼不再贅述。在單總線協(xié)議下,通過調(diào)用這幾個子程序進行相應(yīng)的控制,就能完成主機與DS18B20的通訊,實現(xiàn)溫度的采集。 3 結(jié)論 本系統(tǒng)接口電路簡單,通訊可靠,集成后的系統(tǒng)運行良好,測試精度高,試驗證明能完成預(yù)定測試任務(wù)。

標(biāo)簽:

點贊

分享到:

上一篇:基于實時操作系統(tǒng)的電子套接...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號