男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

當前位置:機電之家首頁 >> PLC技術>> PLC文案資料 >> PLC論文 >> ARM和DS18B20的數字測溫系統
ARM和DS18B20的數字測溫系統

摘 要: 本文介紹了一種新型的嵌入式數字測溫系統,系統采用SAMSUNG公司的32位ARM微控制器S3C44BOX,利用單總線數字溫度傳感器DS18B20作為分布式測溫元件。該系統具有電路簡單,可靠性高,易于安裝和擴展維護的特點,可作為一種新型的數控機床測溫系統設計方案。
關鍵詞:ARM,S3C44BOX,數字溫度傳感器,DS18B20

0 前言
    熱誤差是數控機床的最大誤差源,數控機床的溫度測試為機床熱誤差的補償提供依據。傳統的測溫方案是將模擬信號通過電纜遠距離傳輸至數據采集卡進行A/D轉換并處理,實用中必須解決長線傳輸和模擬量傳感器布線等問題。本文介紹了一種新型的設計方案,控制器采用SAMSUNG公司的32位ARM微控制器S3C44BOX,溫度傳感器采用單總線數字溫度傳感器DS18B20。采用數字溫度傳感器即在測試點完成了信號的數字化,提高了傳輸的可靠性,同時簡化了外圍電路,也便于傳感器在機床上的布置安裝。ARM處理器控制數字溫度信號的采集,并與上位PC機通訊,同時其他硬件資源提供熱補償系統其他功能。本文在介紹數字溫度傳感器DS18B20的基礎上,給出了系統的軟硬件設計方案,對軟件實現中的關鍵點做了詳盡的注釋說明。
1 數字溫度傳感器DS18B20介紹
    1.1 DS18B20的結構
    DS18B20是美國DALLAS公司推出的一種可組網數字溫度傳感器。DS18B20只有一個數據輸入/輸出口,是單總線專用芯片。DS18B20工作時,被測溫度值直接以單總線的數字方式傳輸。
    DS18B20體積小,電壓適用范圍寬(3V-5V),可以通過編程實現9~12位的溫度讀數,即有可調的溫度分辨率。測溫范圍-55℃~+125℃,在-10℃~+85℃時,精度為±0.5℃。其可選封裝有TO-92、SOIC及CSP封裝。
    每個DS18B20出廠時都有一個唯一的64位序列號,因此一條總線上可以同時掛接多個DS18B20而不會出現混亂。DS18B20包括一個暫存RAM和一個E2RAM。暫存存儲器RAM用于存放工作參數和測量值,其作用是保證在單線通訊時的完整性,包括8個字節。E2RAM用于設定非易失性溫度報警上下限值TH和TL(調電后依然保存)。內部結構如圖1所示。
 
               
頭兩個字節表示測得的溫度讀數,數據格式如圖2所示:
               
    S=1時表示溫度為負,S=0時表示溫度為正,其余低位以二進制補碼形式表示,最低位為1,表示0.0625℃
    內部存儲器的第五個字節是結構寄存器,主要用于溫度值的數字轉換分辨率。
    1.2 DS18B20的工作時序
    DS18B20嚴格遵循單總線協議,工作時,主機先發一復位脈沖,使總線上的所有DS18B20都被復位,接著發送ROM操作指令,使序列號編碼匹配的DS18B20被激活,準備接受下面的RAM訪問指令。RAM訪問指令控制選中的DS18B20工作狀態,完成整個溫度轉換,讀取等工作。在ROM命令發送之前,RAM命令命令不起作用。表1列出了所有操作命令。

                
    整個操作主要包括三個關鍵過程:主機搜索DS18B20序列號、啟動在線DS18B20做溫度轉換、讀取溫度值。
其工作流程如圖3:

               
    DS18B20對時序及電特性參數要求較高,必須嚴格按照DS18B20的時序要求去操作。它的數據讀寫主要由主機讀寫特定的時間片來完成,包括復位(初始化)、讀時間片和寫時間片。
    (1) 復位時序
    使用DS18B20時,首先需將其復位,然后才能執行其它命令。復位時,主機將數據線拉為低電平并保持480μs~960μs,然后釋放數據線,再由上拉電阻將數據線拉高15~60μs,等待DS18B20發出存在脈沖,存在脈沖有效時間為60~240μs,這樣,就完成了復位操作。其復位時序如圖4所示。

        
    (2) “寫”時序 
    在主機對DS18B20寫數據時,先將數據線置為高電平,再變為低電平,該低電平應大于1μs。在數據線變為低電平后15μs內,根據寫“1”或寫“0”使數據線變高或繼續為低。DS18B20將在數據線變成低電平后15μs~60μs內對數據線進行采樣。要求寫入DS18B20的數據持續時間應大于60μs而小于120μs,兩次寫數據之間的時間間隔應大于1μs。寫時隙的時序如圖5所示。“讀”時序機理類似,不再贅述。

    
2 系統軟硬件設計
    2.1 硬件設計
    我們采用的控制器是SAMSUNG公司的32位ARM微控制器S3C44BOX,是三星公司為一般應用提供的高性價比和高性能的微控制器的解決方案,功耗小,可靠性高。它使用ARM7TDMI核,工作在66MHz。采用的該ARM控制器將服務于整個熱誤差補償系統,完成包括數據處理與通訊、控制等多任務的實現。機床測溫系統只使用小部分片上資源。
    我們主要通過對I/O引腳的電平讀寫來完成單總線的通訊,采用ARM內部的定時器產生中斷來完成有時隙要求的工作。由于我們通過預分頻后產生的計時值單位達到1μs,完全能夠滿足時序工作的需要。
    DS18B20與控制器的接口及其簡單,只需將DS18B20的信號線與控制器的一位雙向端口連接即可。系統連接如圖8所示:

    
2.2 軟件設計
    遵循DS18B20單總線通訊協議,溫度轉換與讀取工作的軟件流程可表示為圖9(該流程是在已經選中激活某個選中的DS18B20以后,選中激活流程軟件原理類似,此處省略)。
                   
    可見,與DS18B20進行通訊主要完成以下三個基本子程序:初始化程序(復位程序)、‘讀’子程序,‘寫’子程序。系統采用 C語言進行設計,以下是初始化(復位)子程序,設計如下:

U8 resetpulse(void) //復位函數定義
{
U8 RX=1; //函數返回值設置
rPCONF=0x01; //PF0輸出口
rPDATF=0x0; //PF0輸出0,拉低 
rTCNTB1=0x1f4; //定時緩沖器設定,延時500us
rTCON=0x0200; //定時控制器設定,將定時器1手動更新
rTCON=0x0100; //定時器開啟,手動更新關閉 
while(TIME); //在定時中斷產生以前踏步等待(我們在中斷中改變這個標志值)
rPDATF=0x01; //低脈沖時間500us已過,PF0置高
TIME=1; //將TIME值恢復
rTCON=0x0; //關閉定時器
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); //函數返回RX值,在收到存在脈沖時RX為零
}
    調用該初始化程序就可以實現復位要求。“讀”子程序、“寫”子程序實現機制類似,代碼不再贅述。在單總線協議下,通過調用這幾個子程序進行相應的控制,就能完成主機與DS18B20的通訊,實現溫度的采集。
3 結論
    本系統接口電路簡單,通訊可靠,集成后的系統運行良好,測試精度高,試驗證明能完成預定測試任務。

作者:未知 點擊:1196次 [打印] [關閉] [返回頂部]
本文標簽:ARM和DS18B20的數字測溫系統
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《ARM和DS18B20的數字測溫系統》相關權利人與機電之家網取得聯系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業有限公司
個人求購

王經理 【求購】  西湖輪胎  2026-3-20
蘇紅慶 【求購】  工業除濕機  2026-3-20
金喜 【求購】  線纜  2026-3-20
林杰 【求購】  自粘結鐵芯  2026-3-20
任建波 【求購】  鋰電鉆  2026-3-20
劉經理 【求購】  吊具電纜總...  2026-3-20
潘梟 【求購】  高強鋼焊絲  2026-3-19
李經理 【求購】  丹弗斯液壓...  2026-3-18
VIP公司推薦

主站蜘蛛池模板: 万年县| 邯郸县| 乐平市| 资溪县| 岳阳市| 喀什市| 天全县| 亳州市| 渝中区| 临澧县| 渝北区| 梁河县| 万全县| 庄浪县| 闽侯县| 柘城县| 吉隆县| 三台县| 金门县| 沁水县| 石台县| 同心县| 南京市| 望谟县| 黄平县| 会同县| 延川县| 固阳县| 嘉兴市| 策勒县| 南江县| 彭州市| 南和县| 林州市| 周口市| 姚安县| 莲花县| 临清市| 伊金霍洛旗| 罗山县| 体育|