新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式的故障診斷專(zhuān)家系統(tǒng)

基于嵌入式的故障診斷專(zhuān)家系統(tǒng)

作者: 時(shí)間:2012-07-12 來(lái)源:網(wǎng)絡(luò) 收藏

電子設(shè)備的系統(tǒng)大多采用由傳感器、工業(yè)PC、工業(yè)以太網(wǎng)、遠(yuǎn)程專(zhuān)家組成的模式。現(xiàn)有現(xiàn)場(chǎng)儀器眾多、連接復(fù)雜,使得系統(tǒng)可靠性和穩(wěn)定性難以得到保證。另一方面,要求診斷人員具備專(zhuān)業(yè)知識(shí),其中包括各類(lèi)傳感器的固定、連接與信號(hào)處理,難以實(shí)現(xiàn)“現(xiàn)場(chǎng)無(wú)人,遠(yuǎn)程診斷”目標(biāo)。因此有必要從現(xiàn)有的硬件和軟件組成模式的角度出發(fā),探索一種新的診斷系統(tǒng)組成模式。

本文引用地址:http://butianyuan.cn/article/148788.htm

本文設(shè)計(jì)了診斷,使得對(duì)電子設(shè)備的檢測(cè)及維修變得更為方便有效?!?/p>

本文根據(jù)實(shí)際需要選取Windows CE.Net作為本系統(tǒng)的操作系統(tǒng)平臺(tái)。在Windows CE系統(tǒng)的平臺(tái)開(kāi)發(fā)中,設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)是其很重要的一部分,它們用于驅(qū)動(dòng)系統(tǒng)硬件平臺(tái)上的各個(gè)設(shè)備接口。根據(jù)定制的硬件系統(tǒng),本文對(duì)操作系統(tǒng)的鍵盤(pán)驅(qū)動(dòng)程序、觸摸屏、LCD驅(qū)動(dòng)、電源管理及其它的相關(guān)驅(qū)動(dòng)程序進(jìn)行了開(kāi)發(fā)。

  1 Windows CE.Net操作系統(tǒng)

  Windows CE.Net是微軟公司在嵌入式操作系統(tǒng)市場(chǎng)上一個(gè)重要產(chǎn)品,第1個(gè)版本于1996年發(fā)布。Windows CE.Net是針對(duì)有限資源的平臺(tái)而設(shè)計(jì)的32位、多線程、完整優(yōu)先權(quán)、多任務(wù)的嵌入式操作系統(tǒng)。

  Windows CE.Net一個(gè)突出的特點(diǎn)——模塊化。利用這個(gè)特點(diǎn),選擇、組合和配置Windows CE.Net的各個(gè)模塊和組件來(lái)創(chuàng)建用戶版的操作系統(tǒng),即Windows CE.Net的模塊化設(shè)計(jì)使得它能夠在大量的平臺(tái)上定制使用,從客戶電子設(shè)備到專(zhuān)用的工業(yè)控制器。

  Window CE.Net操作系統(tǒng)的基本內(nèi)核需要至少200 kB的ROM,它支持Win32 API子集、多種用戶界面硬件、多種的串行和網(wǎng)絡(luò)通訊技術(shù)、COM/OLE和其他的進(jìn)程間通訊的先進(jìn)方法,借助Windows CE開(kāi)發(fā)者就能利用大量其他的編程資源、工具、軟件例子以及文檔來(lái)進(jìn)行Windows CE.Net開(kāi)發(fā)工作。Micmsoft公司為Windows CE.Net提供了PlatformBuilder和Embedded Visual Studio開(kāi)發(fā)工具。

  Windows CE.Net有五個(gè)主要的模塊:內(nèi)核模塊、內(nèi)核系統(tǒng)調(diào)用接口模塊、文件系統(tǒng)模塊、圖形窗口和事件子系統(tǒng)模塊、通訊模塊。其最大的特點(diǎn)是能提供與PC機(jī)類(lèi)似的圖形界面和主要的應(yīng)用程序。Windows CE.Net嵌入式操作系統(tǒng)的界面顯示大多數(shù)在Windows里出現(xiàn)的標(biāo)準(zhǔn)部件,包括桌面、任務(wù)欄、窗口、圖標(biāo)和控件等。這樣只要是對(duì)PC機(jī)上的Windows比較熟悉的用戶,可以很快地使用Windows CE.Net嵌入式操作系統(tǒng)的嵌入式設(shè)備。

  2 WindOWS CE.Net平臺(tái)下的驅(qū)動(dòng)開(kāi)發(fā)

  Windows CE.Net的分層結(jié)構(gòu)給驅(qū)動(dòng)程序的開(kāi)發(fā)帶來(lái)極大的方便,使得驅(qū)動(dòng)開(kāi)發(fā)只需要針對(duì)不同的BSP進(jìn)行修改,很大程度上減少了開(kāi)發(fā)的工作量。而完成這一工作需要了解兩部分的內(nèi)容,分別是:Windows CE.Net的中斷機(jī)制和Windows CE.Net.的層次模型。

  2.1 Windows CE.Net的中斷機(jī)制

  Windows CE.Net系統(tǒng)的大多數(shù)外圍設(shè)備都是通過(guò)產(chǎn)生中斷從操作系統(tǒng)獲得服務(wù)的,如PC卡、板上定時(shí)器、鍵盤(pán)、觸摸屏等。當(dāng)設(shè)備需要驅(qū)動(dòng)程序服務(wù)時(shí),Windows CE.Net的平臺(tái)使用中斷信號(hào)通知操作系統(tǒng)。

  Windows CE.Net把中斷處理分成兩部分:內(nèi)核模式的中斷服務(wù)程序(Interrupt Serice Routine,ISR)和用戶模式的中斷服務(wù)線程(Int-errupt Setice Thread,IST)。ISR通常都比較短,是快速的匯編代碼,一般在0AL層代碼中,能夠直接訪問(wèn)硬件注冊(cè)表。ISR的唯一任務(wù)就是向操作系統(tǒng)返回邏輯中斷標(biāo)志符。中斷服務(wù)線程(IST)是用戶模式線程,在IST中完成大多數(shù)中斷處理。IST在大多數(shù)時(shí)間里是空閑的,只有當(dāng)從函數(shù)WaitForSingeObiect()得到中斷已經(jīng)發(fā)生的信號(hào)后,IST被喚醒去處理它需要處理的中斷。通過(guò)相關(guān)聯(lián)的帶有中斷標(biāo)志的事件可以完成這些。IST需要首先創(chuàng)建一個(gè)事件并且用邏輯中斷與它相聯(lián)系。當(dāng)中斷過(guò)程完成時(shí),IST應(yīng)該通知內(nèi)核重新使能中斷。

  2.2 Windows CE.Net的驅(qū)動(dòng)模型

  Windows CE.Net所有驅(qū)動(dòng)都以動(dòng)態(tài)鏈接庫(kù)(DLL)的形式存在,在驅(qū)動(dòng)的實(shí)現(xiàn)過(guò)程中可以調(diào)用Windows CE.Net支持的所有標(biāo)準(zhǔn)API函數(shù)。

  Windows CE.Net的驅(qū)動(dòng)程序有2種模型:本機(jī)設(shè)備驅(qū)動(dòng)程序和流接口設(shè)備驅(qū)動(dòng)程序。

  1)本機(jī)設(shè)備驅(qū)動(dòng) 在Windows CE.Net中.通用LED驅(qū)動(dòng)、電源驅(qū)動(dòng)、顯示驅(qū)動(dòng)、鍵盤(pán)驅(qū)動(dòng)等都可以用本機(jī)設(shè)備驅(qū)動(dòng)來(lái)開(kāi)發(fā)。微軟提供了定制接口的方式來(lái)支持內(nèi)部設(shè)備驅(qū)動(dòng)程序,這意味著絕大多數(shù)開(kāi)發(fā)人員不必大量地編寫(xiě)本機(jī)設(shè)備驅(qū)動(dòng)代碼。但把Windows CE.Net定制到新平臺(tái)的原始設(shè)備制造商(OEM)除外,它們可以創(chuàng)建自己的本機(jī)設(shè)備驅(qū)動(dòng)程序到新的平臺(tái)。通常,當(dāng)Windows CE.Net系統(tǒng)啟動(dòng)時(shí),本機(jī)設(shè)備驅(qū)動(dòng)程序就被加載到系統(tǒng)的內(nèi)存中。

  2)流接口驅(qū)動(dòng)程序 在Windows CE.Net中,流接口驅(qū)動(dòng)程序以DLL形式存在,是運(yùn)行在用戶模式下的動(dòng)態(tài)連接庫(kù),由一個(gè)叫做設(shè)備管理程序的特殊應(yīng)用程序加載、管理和卸載。與具有單獨(dú)目的接口的內(nèi)部設(shè)備驅(qū)動(dòng)程序相比,所有流接口驅(qū)動(dòng)程序使用同一個(gè)接口并調(diào)用同一個(gè)函數(shù)集——流接口函數(shù)。流接口驅(qū)動(dòng)程序的主要任務(wù)是把外設(shè)的使用傳遞給應(yīng)用程序,這是通過(guò)把設(shè)備表示為文件系統(tǒng)的一個(gè)特殊文件實(shí)現(xiàn)的。在流接口驅(qū)動(dòng)程序模型中,應(yīng)用程序通過(guò)文件系統(tǒng)的API函數(shù)調(diào)用流接口函數(shù),然后由流接口驅(qū)動(dòng)程序調(diào)用本機(jī)驅(qū)動(dòng)或者通過(guò)設(shè)備管理器與系統(tǒng)內(nèi)核或外圍設(shè)備打交道。每個(gè)流接口驅(qū)動(dòng)程序必須實(shí)現(xiàn)一組標(biāo)準(zhǔn)的函數(shù),用來(lái)完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給Windows CE.Net操作系統(tǒng)的內(nèi)核使用。一般,這些函數(shù)被稱(chēng)為流接口驅(qū)動(dòng)程序的DLL接口。

  3 驅(qū)動(dòng)程序的開(kāi)發(fā)

  在Windows CE嵌入式系統(tǒng)的平臺(tái)開(kāi)發(fā)中,設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)是其很重要的一部分,它們用于驅(qū)動(dòng)嵌入式系統(tǒng)硬件平臺(tái)上的各個(gè)設(shè)備接口。下面針對(duì)在項(xiàng)目中完成的幾個(gè)主要的設(shè)備驅(qū)動(dòng),來(lái)了解一下具體設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)過(guò)程。

  3.1 觸摸屏

  在嵌入式診斷中,為了方便用戶輸入數(shù)據(jù),進(jìn)行方便的人機(jī)交互,觸摸屏是必不可少。觸摸屏按技術(shù)原理分為:電熔電感觸摸屏、紅外線觸摸屏、電阻式觸摸屏、矢量壓力傳感式觸摸屏等。S3C2410的觸摸屏采用的是電阻式觸摸屏。S3C2410支持觸摸屏接口,它由一個(gè)觸摸屏面板,四個(gè)外部晶體管,一個(gè)外部電源,通道AIN[7]及通道AIN[5]等組成,觸摸屏接口如圖l所示。主要的設(shè)計(jì)流程如圖2所示。

  

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉