基于嵌入式Linux的機車故障診斷系統(tǒng)研究設(shè)計
3 軟件系統(tǒng)設(shè)計
3.1 軟件系統(tǒng)設(shè)計
系統(tǒng)以主測試設(shè)備為核心,采集、收集多個測試傳感器采集的信息,并將測試數(shù)據(jù)收集保存,可以通過網(wǎng)絡(luò)實時地傳遞到系統(tǒng)的監(jiān)測中心進行分析和處理。本設(shè)計采用的Linux內(nèi)核是在ARM-Linux的基礎(chǔ)上,編寫了OLED顯示模塊、USB設(shè)備的設(shè)備驅(qū)動程序。軟件設(shè)計主要包括ARM-Linux在微處理器S3C2410上的移植,相關(guān)驅(qū)動程序設(shè)計、系統(tǒng)任務級設(shè)計等。開發(fā)系統(tǒng)采用PC工作站和主測試設(shè)備的嵌入式主板構(gòu)成的交叉編譯環(huán)境,本系統(tǒng)使用Linux2.6的內(nèi)核,內(nèi)核的編譯通過Makefile文件的指示進行,通過修改Makefile來組織內(nèi)核各模塊,并記錄模塊間的相互聯(lián)系和依賴關(guān)系,修改config、setup等相關(guān)配置文件完成內(nèi)核的編譯,生成zlmage、vmLinux、System.map、config等文件。雙口通信的程序如圖3所示。
3.2 網(wǎng)絡(luò)通信程序設(shè)計
嵌入式無線局域網(wǎng)設(shè)備可以用于有線網(wǎng)絡(luò)無法延伸或難以安裝、又可靈活移動和臨時性使用等要求的場合。在本系統(tǒng)中主要采用Linux下的Socket通信方式,使用TCP/IP網(wǎng)絡(luò)協(xié)議棧,采用面向有連接Stream套接字。
主測試設(shè)備運行過程中,接收來自網(wǎng)絡(luò)的遠程指令,并且為了方便遠程測量和控制,每個主測試設(shè)備被分配固定的IP地址和端口,遠程測試站可進行有選擇性的查詢式測量,每個主測試設(shè)備在通信開始前使用socket( )建立一個通信端點,再使用bind( )函數(shù)把一個地址綁定到這個端點上,然后使用listen( )函數(shù)偵聽是否有來自遠程的連接請求,如果有,則使用accept( )處理,并按照指令執(zhí)行測量任務或傳送測量數(shù)據(jù)。如圖4所示?!?p style="TEXT-ALIGN: center">
雖然現(xiàn)場顯示和無線傳輸2種方式已經(jīng)提供了大量的數(shù)據(jù)和信息。但是都受到了地域和空間的限制。因此,為了滿足相對惡劣的地理環(huán)境和移動設(shè)備的采集需求,系統(tǒng)后期可通過加入GSM短消息傳送數(shù)據(jù)的無線方式。GSM網(wǎng)絡(luò)經(jīng)過多年的發(fā)展完善,現(xiàn)在已經(jīng)非常成熟,盲區(qū)少、信號穩(wěn)定、自動漫游,并且通信距離不受周圍環(huán)境影響。
本文的創(chuàng)新點在于開發(fā)了一種基于嵌入式系統(tǒng)的機車狀態(tài)實時檢測系統(tǒng),該系統(tǒng)實現(xiàn)了機車上信號量的采集和信號的存儲、大容量的數(shù)據(jù)存儲、穩(wěn)定可靠的CAN總線通訊和遠程無線通信,各個模塊在Linux實時操作系統(tǒng)的調(diào)度下協(xié)調(diào)工作,車載顯示和語音報警效果良好,并能夠在機車出現(xiàn)故障時提醒司機故障出現(xiàn)的位置和解決故障的方法。該系統(tǒng)通過在嵌入式Linux環(huán)境下的網(wǎng)絡(luò)通信測試實驗,證實具有較好的響應能力和數(shù)據(jù)吞吐能力,本系統(tǒng)設(shè)計在非接觸式測量領(lǐng)域有一定的應用價值和指導意義,經(jīng)在機車檢測方面的多次聯(lián)機調(diào)試,系統(tǒng)工作穩(wěn)定、可靠,在工業(yè)控制領(lǐng)域具有廣泛的應用前景。
評論