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