基于Linux/Qtopia的車載溫度網(wǎng)絡(luò)采集
本文將一線制溫度傳感器網(wǎng)絡(luò)引入車載信息采集系統(tǒng),介紹了嵌入式linux下一線制溫度傳感器網(wǎng)絡(luò)的內(nèi)核驅(qū)動(dòng)模塊實(shí)現(xiàn)過程; 設(shè)計(jì)了基于qte/qtopia溫度測量圖形界面應(yīng)用程序,實(shí)現(xiàn)了溫度網(wǎng)絡(luò)的即時(shí)測量、數(shù)據(jù)保存、高溫報(bào)警等功能,并成功應(yīng)用于車載信息采集系統(tǒng)?! ∫浴 ”疚脑谇度胧剑欤椋睿酰脚_上實(shí)現(xiàn)了車載信息采集系統(tǒng)的一部分——汽車常規(guī)溫度的數(shù)據(jù)采集,如采集車內(nèi)溫度、暖風(fēng)或空調(diào)溫度、車外溫度、水箱溫度等。ds18b20是一種可組網(wǎng)單總線數(shù)字溫度傳感器,為信息采集提供了經(jīng)濟(jì)有效的可行方案。嵌入式linux以其源碼開放、容易定制和擴(kuò)展、多硬件平臺支持和內(nèi)置網(wǎng)絡(luò)功能等優(yōu)良性能,逐漸成為車載設(shè)備廣泛使用的系統(tǒng)平臺。本文涉及的系統(tǒng)使用三星公司的s3c2410al20處理器,操作系統(tǒng)采用?。玻叮福眱?nèi)核linux,gui采用trolltech公司的qtopia;功能上主要實(shí)現(xiàn):各路溫度的采集顯示、音頻報(bào)警、溫度數(shù)據(jù)的存儲、相關(guān)功能設(shè)置等。當(dāng)需要語音提示或報(bào)警時(shí),應(yīng)用程序調(diào)用語音模塊;當(dāng)需要存儲或顯示歷史數(shù)據(jù)時(shí),應(yīng)用程序調(diào)用sd存儲模塊。 ?。薄 。欤椋睿酰到y(tǒng)開發(fā)概述 驅(qū)動(dòng)程序的開發(fā)是嵌入式linux開發(fā)的主要任務(wù)之一。設(shè)備驅(qū)動(dòng)為上層應(yīng)用程序提供控制硬件的設(shè)備接口,同時(shí)直接與linux內(nèi)核打交道。圖1描述了linux系統(tǒng)開發(fā)框架?! D1 ?。欤椋睿酰到y(tǒng)開發(fā)框架 應(yīng)用程序開發(fā)是嵌入式linux開發(fā)的另一個(gè)主要任務(wù)。qt/embedded 是著名qt 庫開發(fā)商trolltech 公司開發(fā)的面向嵌入式系統(tǒng)的qt 版本。qtopia是在qt/?。澹恚猓澹洌洌澹洹斓幕A(chǔ)上,專門針對pda、smartphone這類運(yùn)行嵌入式linux 的移動(dòng)設(shè)備和手持設(shè)備所開發(fā)的開放源碼的一套應(yīng)用程序包和開發(fā)庫。它包括全套的個(gè)人信息管理pim?。ā。穑澹颍螅铮睿幔臁。椋睿妫铮颍恚幔簦椋铮睢。恚幔睿幔纾澹恚澹睿簦?,如地址本、日程安排、mpeg播放、圖像顯示、瀏覽器等?! 。病 ≤囕d信息系統(tǒng)及硬件平臺概述 車載信息采集系統(tǒng)開發(fā)主要包括用戶界面開發(fā),內(nèi)核開發(fā),音頻模塊設(shè)計(jì),串口模塊設(shè)計(jì),can總線模塊設(shè)計(jì),車輛狀態(tài)(又包含開關(guān)量、模擬量、數(shù)字量等)檢測模塊設(shè)計(jì)等?! ”驹O(shè)計(jì)著重實(shí)現(xiàn)一線制溫度網(wǎng)絡(luò)的數(shù)據(jù)采集。一線制溫度網(wǎng)絡(luò)的溫度信號特點(diǎn)是:數(shù)值不高,多在0 ̄100 ℃范圍內(nèi);溫度信號變化較慢;系統(tǒng)對采集到的溫度信號的實(shí)時(shí)性要求不高;精度要求不高?! ∫痪€網(wǎng)絡(luò)的優(yōu)點(diǎn)在于能測量大量的物理量,所有的通信都通過一線協(xié)議,而與被測的具體量無關(guān)。一線網(wǎng)絡(luò)是能夠方便地搭建起由一線傳感器芯片組成的一系列測量環(huán)境參數(shù)的網(wǎng)絡(luò)?! 。洌螅保福猓玻笆且环N可組網(wǎng)的單總線數(shù)字溫度傳感器,具有以下功能特點(diǎn): ?、佟∵m應(yīng)寬的電壓范圍(3.0~5.5 v),在寄生電源方式下可由數(shù)據(jù)線供電?! 、凇—?dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要1條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通信?! 、邸囟确秶鸀椋担怠保玻怠 妫冢保啊福怠 鏁r(shí)精度為±0.5 ℃?! 、堋】删幊痰姆直媛蕿椋埂保参?,對應(yīng)的可分辨溫度分別為0.5 ℃、0.25 ℃、0.125 ℃和0.062?。怠 ?,可實(shí)現(xiàn)較高的精度測溫。 單總線使得硬件開銷極小,但需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償。由于ds18b20采用單總線串行數(shù)據(jù)傳送,保證嚴(yán)格的讀寫時(shí)序成為測溫關(guān)鍵,因此沒有采用i/o驅(qū)動(dòng),而是單獨(dú)編寫一線制溫度網(wǎng)絡(luò)驅(qū)動(dòng)?! ”驹O(shè)計(jì)采用寄生電源連接方式,12位分辨率。寄生電源的優(yōu)點(diǎn)為:遠(yuǎn)程溫度檢測無需本地電源;缺少正常電源條件下也可以讀rom。為確?!。洌螅保福猓玻霸谄溆行ё儞Q期內(nèi)得到足夠的電源電流,在i/o線上通過mosfet提供強(qiáng)的上拉(如圖2所示)。當(dāng)使用寄生電源方式時(shí),vdd引腳必須連接到地?! ∠到y(tǒng)核心控制器s3c2410x是三星公司基于arm920t核的芯片。s3c2410x集成了1個(gè)lcd控制器(支持stn和tft帶有觸摸屏的液晶顯示屏)、sdram、觸摸屏、usb、spi、sd和mmc等控制器,4個(gè)具有pwm功能的計(jì)時(shí)器和1個(gè)內(nèi)部時(shí)鐘,8通道的10位?。幔洌?,117位通用i/o口和24位外部中斷源,8通道10位ad控制器,處理器工作頻率最高達(dá)到203?。恚瑁?。系統(tǒng)顯示采用sharp 3.5?。椋畹模簦妫簦撸欤悖湟壕э@示屏。系統(tǒng)框圖如圖2所示。