![Windows CE平臺上開發(fā)采集板驅(qū)動程序-_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/d741bb92-6bac-48dd-bfd5-f547831bb4b8/d741bb92-6bac-48dd-bfd5-f547831bb4b81.gif)
![Windows CE平臺上開發(fā)采集板驅(qū)動程序-_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/d741bb92-6bac-48dd-bfd5-f547831bb4b8/d741bb92-6bac-48dd-bfd5-f547831bb4b82.gif)
![Windows CE平臺上開發(fā)采集板驅(qū)動程序-_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/d741bb92-6bac-48dd-bfd5-f547831bb4b8/d741bb92-6bac-48dd-bfd5-f547831bb4b83.gif)
![Windows CE平臺上開發(fā)采集板驅(qū)動程序-_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/d741bb92-6bac-48dd-bfd5-f547831bb4b8/d741bb92-6bac-48dd-bfd5-f547831bb4b84.gif)
![Windows CE平臺上開發(fā)采集板驅(qū)動程序-_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/d741bb92-6bac-48dd-bfd5-f547831bb4b8/d741bb92-6bac-48dd-bfd5-f547831bb4b85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、文章編號:1008-1658(200403-0022-05Windows CE 平臺上開發(fā)采集板驅(qū)動程序王少紅,徐小力,李海燕(北京機(jī)械工業(yè)學(xué)院機(jī)電系統(tǒng)測控北京市重點實驗室,北京100085摘要:Windows CE 是一個新的、待深入開發(fā)的操作系統(tǒng),能夠適應(yīng)廣泛的系統(tǒng)需求,在最新一代的工業(yè)和家用電子設(shè)備中得到了廣泛的應(yīng)用。簡單介紹了Windows CE 驅(qū)動的系統(tǒng)結(jié)構(gòu),以在分光光度計研制過程中應(yīng)用的艾訊AX10410A 型高速數(shù)據(jù)采集板為例,介紹了Windows CE 操作系統(tǒng)的設(shè)備驅(qū)動程序的開發(fā)過程。經(jīng)過測試,效果良好。關(guān)鍵詞:數(shù)據(jù)采集板;Windows CE ;驅(qū)動程序中圖分類號:TP
2、274文獻(xiàn)標(biāo)識碼:ADevelopment of drivers for the Data Acquisition C ardon Windows CE platformW ANG Shao 2hong ,X U X iao 2li ,LI Hai 2yan(Beijing K ey Laboratory M easurement and C ontrol of M echanical and E lectrical System ,Beijing Institute of M achinery ,Beijing 100085,China Abstract :Windows CE is a n
3、ew operating system language that awaits for farthur study.It fits far 2ranging need ,and has been widely used in industry and electronic aid.A brief introduction is given to the system structure of Windows CE.By applying AX10410A high performance data acquisition card during the de 2velopment of sp
4、ectrophotometer ,how to design device drivers on Windows CE platform is introduced in the paper.It has been proved that the method is efficient and practicable.K ey w ords :Data Acquisition Card ;Windows CE platform ;driversWindows CE 是一個新的、可移植的、實時的、模塊化的操作系統(tǒng)1,具有一個簡捷、高效的完全搶先式多任務(wù)操作核心,支持強(qiáng)大的通信和圖形顯示功能,能夠
5、適應(yīng)廣泛的系統(tǒng)需求,在最新一代的工業(yè)和家用電子設(shè)備中得到了廣泛的應(yīng)用。筆者在開發(fā)紫外-可見分光光度計的過程中,采用艾訊公司的SC B84500型CPU 板(233主頻、64M 內(nèi)存、64M 的CF 卡和AX10410A 型的高速數(shù)據(jù)采集板。它們都是基于PC/104總線結(jié)構(gòu)的嵌入式模塊,構(gòu)成了分光光度計的控制中心。其外圍支持設(shè)備有觸摸屏、鍵盤、打印機(jī)等。由于數(shù)據(jù)采集板沒有現(xiàn)成的可以參照修改的驅(qū)動程序,需要用戶自己編寫,因此本文重點介紹如何在Windows CE 平臺下編寫數(shù)據(jù)采集板的驅(qū)動程序。收稿日期:2004-02-21基金項目:北京市教委科技發(fā)展計劃重點項目項目編號:K Z 20031123
6、2014作者簡介:王少紅(1977-,女,山東東營人,北京機(jī)械工業(yè)學(xué)院機(jī)電系統(tǒng)測控實驗室教師,碩士,主要從事虛擬儀器應(yīng)用技術(shù)方向的研究。1Windows CE 設(shè)備驅(qū)動程序要把Windows CE 移植到目標(biāo)平臺上,必須為在平臺上已建立的設(shè)備提供驅(qū)動程序。作為通用型的嵌入式操作系統(tǒng),Windows CE 并沒有像桌面系統(tǒng)那樣提供了通用設(shè)備各種類型的驅(qū)動,而只是提供了與此相關(guān)的例子代碼,若不經(jīng)改動,這些代碼可能只適用于此類設(shè)備中的個別型號。一旦依照硬件組成進(jìn)行了平臺配置之后,必須對已選入平臺的驅(qū)動組件進(jìn)行測試、修改,使這些硬件能夠正常工作。這時的修改,存在幾種可能:一種是在Windows CE
7、系統(tǒng)給出的幾個類型的驅(qū)動組件中另外選擇;一種是對已選組件進(jìn)行配置文件的更改,如platform.reg ,comm on.reg ,確保驅(qū)動加載正確;還有一種則是對已有的驅(qū)動代碼進(jìn)行修改,這往往是針對于與硬件相關(guān)的那部分代碼,即Windows CE 驅(qū)動代碼中的PDD (Platform Dependent Driver 層。此外,對于非常規(guī)性硬件設(shè)備(或者說對現(xiàn)有的Windows CE 應(yīng)用系統(tǒng)是非常規(guī)的,微軟并沒有提供任何相類似的驅(qū)動代碼,則需要獲取第三方(硬件廠商的支持,由他們提供Win 2dows CE 的驅(qū)動,或者使用者自行開發(fā)。由于驅(qū)動涉及到直接與硬件對話,因而開發(fā)者不僅要了解硬件
8、所能實現(xiàn)的功能以及應(yīng)用操作系統(tǒng)的驅(qū)動架構(gòu),而且必須清楚其內(nèi)部的硬性約定邏輯,并擁有特定的測試手段和測試方法。這就是硬件驅(qū)動開發(fā)難于一般的軟件開發(fā)之處。針對分光光度計系統(tǒng)的開發(fā),串/并行口、打印機(jī)、觸摸屏、網(wǎng)絡(luò)適配器等組件都具有例子代碼,其中串/并行口、網(wǎng)絡(luò)適配器不需改動,觸摸屏、打印機(jī)的驅(qū)動則需要修改代碼,而數(shù)據(jù)采集卡板有相似的例子代碼,需要自己編寫。下面介紹一下Windows CE 驅(qū)動程序的類型。2Windows CE 驅(qū)動程序類型設(shè)備驅(qū)動程序是將操作系統(tǒng)和設(shè)備連接起來,使得操作系統(tǒng)能夠識別設(shè)備,并為應(yīng)用程序提供服務(wù)。Windows CE 系統(tǒng)中的設(shè)備驅(qū)動分為2種類型:單層(m onoli
9、thic 驅(qū)動程序和分層(layered 驅(qū)動程序。單層驅(qū)動程序是基于單個代碼片(single piece of code ,該代碼片直接把硬件的功能性傳遞給操作系統(tǒng),而分層驅(qū)動程序是有2個設(shè)置好的層組成,上層是模型設(shè)備驅(qū)動程序(M DD ,下層是平臺相關(guān)的設(shè)備驅(qū)動程序(PDD 。大多數(shù)基于Windows CE 的設(shè)備驅(qū)動程序都采用分層結(jié)構(gòu)。模型設(shè)備驅(qū)動程序也可以稱為類驅(qū)動程序,一個模型設(shè)備驅(qū)動包含了一類驅(qū)動程序所共有的代碼,而與具體設(shè)備相關(guān)的部分則包含在PDD 層中,操作系統(tǒng)內(nèi)核通過M DD 來調(diào)節(jié)某個特定的PDD 例程,從而達(dá)到控制和訪問硬件信息的目的2。使用分層結(jié)構(gòu)開發(fā)驅(qū)動程序時,開發(fā)者
10、可以重用由微軟提供的M DD 層代碼,其他的工作僅僅是編寫與特定硬件相關(guān)的代碼。多層結(jié)構(gòu)并不適合所有的驅(qū)動程序開發(fā),因為在代碼層之間必須編寫額外的調(diào)用操作,在一些對性能要求較高的應(yīng)用中單層結(jié)構(gòu)可能更符合要求。單層結(jié)構(gòu)中包含了所有必須的操作,既有中斷服務(wù)例程,也有與具體平臺相關(guān)的代碼,這種結(jié)構(gòu)避免了層次之間的相互調(diào)用所造出的系統(tǒng)資源的浪費。也就是說單層結(jié)構(gòu)與多層結(jié)構(gòu)相比更為簡單和高效,但缺點是移植性和可讀性相對較差。在本質(zhì)上,Windows CE 的設(shè)備驅(qū)動程序都是一些動態(tài)鏈接庫(.dll 文件,這些D LL 向內(nèi)核提供了一些入口函數(shù),使設(shè)備管理模塊可以通過這些函數(shù)與具體的硬件設(shè)備進(jìn)行通信3。3
11、2第3期王少紅等:Windows CE 平臺上開發(fā)采集板驅(qū)動程序圖1AX 10410A 數(shù)據(jù)采集板工作流程3硬件介紹艾訊AX10410A 型高速數(shù)據(jù)采集卡,支持12位的16通道單端或8通道差動模擬量輸入,2通道12位模擬量輸出,8位TT L/DT L 的數(shù)字輸入輸出,1通道計數(shù)器/定時器,可編程增益有1、2、4、8。是一個基于PC/104總線結(jié)構(gòu)的嵌入式模塊。數(shù)據(jù)采集板的工作流程如圖1所示。4程序開發(fā)由于硬件制造商一般不提供Win 2dows CE 驅(qū)動程序,于是從應(yīng)用角度出發(fā)只有自行開發(fā)CE 驅(qū)動,并進(jìn)行了測試。驅(qū)動程序采用單層結(jié)構(gòu)。在開發(fā)過程中,應(yīng)用了帶LE D 的實驗板進(jìn)行直觀的測試。通
12、過它,8位的數(shù)字輸出可以直接由8個發(fā)光二極管顯示,亮代表此位為0、滅代表此位為1;通過跳線可以更改各數(shù)字輸入位的值,未接地時輸入位為1,跳線后輸入位為0;在模擬輸入端和地線間接入測試電壓,通過萬用表讀數(shù)和程序輸出之間的比較,可以檢驗?zāi)M輸入功能;當(dāng)程序向采集板寫出時,也可以用萬用表測出真正的模擬輸出。通過程序代碼實現(xiàn)這些功能的關(guān)鍵點在于將采集卡的物理地址轉(zhuǎn)換為CE 系統(tǒng)中的模擬地址。這是因為CE 系統(tǒng)中對物理地址的訪問都是基于保護(hù)模式的,只有在物理地址映射為虛擬地址后,程序才能訪問。下面給出由采集板實現(xiàn)數(shù)字輸出、數(shù)字輸入、模擬輸入、模擬輸出以及脈沖發(fā)送的主要代碼。全局變量的定義:int iOu
13、tData ,iCinData ;/輸出、輸入變量int iChannel ,iG ain ;/通道、增益變量PHY SIC A L-ADDRESS P ortAddress ;/物理地址變量PUCH AR MappedBase =NU LL ;/基地址映射變量依據(jù)采集板上位置開關(guān)的設(shè)定給變量賦值:P ortAddress.LowPart =0x300;P ortAddress.HighPart =0;/將采集板的首地址賦給P ortAddress初始化:測試掃描寄存器(基地址加2:WRITE -PORT -UCH AR (MappedBase +2,0x55;/向掃描寄存器寫入0xaaj =
14、RE AD-PORT -UCH AR (MappedBase +2;if (j !=0x5542北京機(jī)械工業(yè)學(xué)院學(xué)報第19卷MessageBox(NU LL,TEXT(“ax10410not exist”,TEXT(read data”,M B-OK;WRITE-PORT-UCH AR(MappedBase+2,0xaa;/向掃描寄存器寫入0xaaj=RE AD-PORT-UCH AR(MappedBase+2;if(j!=0xaaMessageBox(NU LL,TEXT(“ax10410not exist”,text(“read data”,M B-OK;測試控制寄存器(基地址加9:WRI
15、TE-PORT-UCH AR(MappedBase+9,0x55;/向控制寄存器寫入j=RE AD-PORT-UCH AR(MappedBase+9;if(j!=0x55MessageBox(NU LL,TEXT(“ax10410not exist”,TEXT(read data”,M B-OK;WRITE-PORT-UCH AR(MappedBase+9,0xaa;/向控制寄存器寫入0xaaj=RE AD-PORT-UCH AR(MappedBase+9;if(j!=0xaaMessageBox(NU LL,TEXT(“ax10410not exist”,text(“read data”,M
16、 B-OK;數(shù)字輸出(DO:MappedBase=(PUCH ARMm MapI oS pace(P ortAddress,16,FA LSE;/獲取基地址映射WRITE-PORT-UCH AR(MappedBase+3,iOutData;/向數(shù)字輸出寄存器寫出數(shù)字輸入(DI:iCinData=RE AD-PORT-UCH AR(MappedBase+3;/讀取數(shù)字輸入寄存器模數(shù)轉(zhuǎn)換(ADCstart=stop=iChannel;/單通道轉(zhuǎn)換iChannel=start|(stop<<4;WRITE-PORT-UCH AR(MappedBase+2,iChannel;/設(shè)置轉(zhuǎn)換通道
17、WRITE-PORT-UCH AR(MappedBase+11,iG ain;/設(shè)置轉(zhuǎn)換增益通過軟件觸發(fā)方式進(jìn)行模數(shù)轉(zhuǎn)換int data-h,data-1,ch,data;WRITE-PORT-UCH AR(MappedBase+9,0;/采用軟件觸發(fā)方式WRITE-PORT-UCH AR(MappedBase,0;/啟動軟件觸發(fā)for(int i=0;i<1000,i+;/延遲while(i=RE AD-PORT-UCH AR(MappedBase+8&0x80!=0;/判斷是否準(zhǔn)備好AD轉(zhuǎn)換dat-1=RE AD-PORT-UCH AR(MappedBase;/從base+0
18、中取出轉(zhuǎn)換后的低字節(jié)dat-h=RE AD-PORT-UCH AR(MappedBase+1;/從base+1中取出轉(zhuǎn)換后的高字節(jié)ch=(data-1&0x0f;/讀取轉(zhuǎn)換通道dat=(data-h<<4+(data-1>>4;if(i=RE AD-PORT-UCH AR(MappedBase+8&0x40=0/判斷是否為雙極模式MessageBox(NU LL,TEXT(“Now is Bipolar!”,TEXT(“B OR U”,M B-OK;52第3期王少紅等:Windows CE平臺上開發(fā)采集板驅(qū)動程序dat-=2048;wsprintf(sz
19、Bu f,TEXT(“Nchannel%dNdata%dn”,ch,data;MessageBox(NU LL,szBu f,TEXT(“DAT A:”,M B-OK;判斷差動模式或單端模式:if(RE AD-PORT-UCH AR(MappedBase+8&0x20=0x20;/單極:bit5=1使用通道0:WRITE-PORT-UCH AR(MappedBase+4,dat-l;WRITE-PORT-UCH AR(MappedBase+5,dat-h;脈沖發(fā)送:int iPulseWide,iPusleNum;/定義脈沖寬度和脈沖數(shù)Bool Dir;/定義電機(jī)旋轉(zhuǎn)方向MappedBase =(PUCH ARMm MapI oS pace(P ortAd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年園藝作物分選機(jī)企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年房車旅游目的地推廣行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年數(shù)字化過程校驗儀行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年數(shù)據(jù)API接口服務(wù)企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年手持式電動研磨機(jī)企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年復(fù)古相機(jī)包與現(xiàn)代融合企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 公務(wù)欠款合同范本
- 企業(yè)合作養(yǎng)牛合同范例
- sap銷售合同范本
- 代理主播合同范例
- 酒店春節(jié)營銷方案
- 營銷管理方案中的定價策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 我國糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- 高級茶藝師技能鑒定(協(xié)會版)備考題庫-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- c30混凝土路面施工方案
- 加強(qiáng)師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
- 豬飼料購銷合同書
評論
0/150
提交評論