何小虎
摘 要: 針對(duì)許多溫度傳感器沒(méi)有對(duì)數(shù)字信號(hào)分析及處理,達(dá)到自動(dòng)化控制的效果。本文介紹了一個(gè)基于S3C6410的嵌入式系統(tǒng)開(kāi)發(fā)板,使用嵌入式Linux系統(tǒng)作為軟件平臺(tái),采用DS18B20數(shù)字溫度傳感器的數(shù)字測(cè)溫系統(tǒng)。該系統(tǒng)可以方便實(shí)現(xiàn)溫度采集和顯示,可被用于各種復(fù)雜環(huán)境下的實(shí)時(shí)溫度測(cè)量行為。
關(guān)鍵詞: 溫度傳感器 嵌入式系統(tǒng) 測(cè)試系統(tǒng)
1.引言
溫度傳感器是一類被廣泛應(yīng)用且被最先開(kāi)發(fā)的傳感器。但大多數(shù)溫度傳感器沒(méi)有對(duì)數(shù)字信號(hào)分析及處理,達(dá)到自動(dòng)化控制的效果。因此,本設(shè)計(jì)基于這種情況,利用相關(guān)軟硬件提高了溫度傳感器的實(shí)用價(jià)值。
2.總體設(shè)計(jì)
2.1系統(tǒng)功能模塊設(shè)計(jì)
從需求分析可以看出,該系統(tǒng)的功能模塊應(yīng)包括以下幾個(gè)部分:實(shí)時(shí)溫度采集與更新模塊、自定義溫度警報(bào)模塊、超溫報(bào)警模塊。DS18B20采用了單總線方式的傳輸協(xié)議,即只需要一根管腳就可以對(duì)輸入輸出進(jìn)行控制。此種單總線傳輸協(xié)議在實(shí)際應(yīng)用中有很大優(yōu)勢(shì),使用此種協(xié)議的芯片不需要任何外圍電路,對(duì)硬件設(shè)計(jì)時(shí)的復(fù)雜性大大簡(jiǎn)化了許多。
2.2系統(tǒng)軟件設(shè)計(jì)方案
2.2.1嵌入式操作系統(tǒng)選擇
在本設(shè)計(jì)當(dāng)中,硬件平臺(tái)完全支持Linux、開(kāi)發(fā)便捷迅速、資料眾多、內(nèi)核小、效率高等優(yōu)點(diǎn)決定了在本設(shè)計(jì)當(dāng)中的穩(wěn)定性等優(yōu)點(diǎn),均使得本設(shè)計(jì)采用了Linux作為開(kāi)發(fā)的操作系統(tǒng)。
2.2.2應(yīng)用層程序語(yǔ)言選擇
應(yīng)用程序使用C語(yǔ)言進(jìn)行開(kāi)發(fā),使用Linux標(biāo)準(zhǔn)C語(yǔ)言接口,與驅(qū)動(dòng)層進(jìn)行交互。
3.硬件設(shè)計(jì)
3.1整體硬件電路設(shè)計(jì)
根據(jù)硬件設(shè)計(jì)方案,在開(kāi)發(fā)中用到的硬件有Tiny6410開(kāi)發(fā)板、DS18B20數(shù)字溫度傳感器、USB轉(zhuǎn)串口數(shù)據(jù)線。
3.2硬件連接方式
將USB轉(zhuǎn)串口線一端接在Tiny6410的串口1上,另一端連接PC機(jī)USB接口。兩個(gè)DS18B20傳感器的VCC與GND管腳并聯(lián)起來(lái),與Tiny6410開(kāi)放的電源與地線接口相連,兩個(gè)傳感器的數(shù)據(jù)接口一起連接在S3C6410的GPIO的管腳上。
4.軟件設(shè)計(jì)
4.1嵌入式系統(tǒng)架構(gòu)
本系統(tǒng)在軟件方面主要由Linux內(nèi)核裁剪和移植、底層驅(qū)動(dòng)程序開(kāi)發(fā)、上層應(yīng)用程序開(kāi)發(fā)三部分組成。其中,Linux內(nèi)核的運(yùn)行需要有引導(dǎo)程序BootLoader、內(nèi)核的配置裁剪與編譯、根文件系統(tǒng)的編譯三個(gè)部分支持。
4.2驅(qū)動(dòng)程序設(shè)計(jì)
在本設(shè)計(jì)當(dāng)中,對(duì)DS18B20數(shù)字溫度傳感器根據(jù)其數(shù)據(jù)手冊(cè)上的傳輸協(xié)議及參數(shù)進(jìn)行驅(qū)動(dòng)編寫(xiě),首先要明確其控制參數(shù)及流程。本系統(tǒng)中對(duì)傳感器的操作流程如下:
DS18B20寫(xiě)操作:
(1)置數(shù)據(jù)線高電平;
(2)延時(shí)2微秒;
(3)置數(shù)據(jù)線低電平;
(4)延時(shí)15微秒;
(5)按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位);
(6)延時(shí)60微秒;
(7)數(shù)據(jù)線拉到高電平;
(8)循環(huán)上述步驟使9位傳送完畢;
(9)數(shù)據(jù)線拉高電平。
DS18B20讀操作:
(1)置數(shù)據(jù)線高電平;
(2)延時(shí)2微秒;
(3)數(shù)據(jù)線拉低電平;
(4)延時(shí)2微秒;
(5)數(shù)據(jù)線拉高電平;
(6)延時(shí)8微秒;
(7)讀數(shù)據(jù)線狀態(tài)進(jìn)行數(shù)據(jù)處理;
(8)延時(shí)50微秒。
5.結(jié)語(yǔ)
本設(shè)計(jì)在溫度的測(cè)量精度上較為準(zhǔn)確,系統(tǒng)能快速反應(yīng)并準(zhǔn)確顯示改變后的溫度。在長(zhǎng)時(shí)間運(yùn)行下測(cè)量結(jié)果依然準(zhǔn)確,在實(shí)際生產(chǎn)生活的溫度測(cè)量工作中具有較大實(shí)用價(jià)值。同時(shí)系統(tǒng)中仍存在一些不足有待彌補(bǔ)。
參考文獻(xiàn):
[1]徐亦朱.DS18B20中文手冊(cè)[M].安徽:安徽大學(xué)出版社,2013.
[2]沙占友.智能化集成溫度傳感器原理與應(yīng)用[M].機(jī)械工業(yè)出版社,2002-7-1.
[3]羅苑棠.嵌入式Linux驅(qū)動(dòng)程序和系統(tǒng)開(kāi)發(fā)實(shí)例精講[M].電子工業(yè)出版社,2009.
[4]Tiny6410刷機(jī)指南[M].廣州友善之臂計(jì)算機(jī)科技有限公司,2013-05-14.
基金項(xiàng)目:陜西自然科學(xué)基礎(chǔ)研究計(jì)劃項(xiàng)目(2014JM 1026),陜西教育廳教改項(xiàng)目:13BY91渭南師范學(xué)院項(xiàng)目:15YKP002,受校級(jí)特色學(xué)科建設(shè)項(xiàng)目(14TSXK02)資助。