- 相關推薦
Windows CE中實現藍牙串口驅動程序
摘要:藍牙通信平臺在嵌入式系統(tǒng)的實現過程中,OBEX(對象交換)始終是很重要的一部分,基于OBEX的藍牙文件傳輸得到廣泛應用。而OBEX的實現是基于藍牙仿真接口,所以藍牙串口驅動程序的實現就有了很重要的意義。介紹了Windows CE下串口驅動程序的結構和一種具體的實現方法。關鍵詞:藍牙 OBEX 嵌入式系統(tǒng) 驅動程序
Windows CE作為一種典型的嵌入式操作系統(tǒng),通過將藍牙應用移植到Widows CE中,對于如pSOS+、Nucleus等其它嵌入式系統(tǒng),具有典型意義。由于OBEX上的文件傳輸應用建立在RFCOMM實現的藍牙仿真串口上,本文介紹OBEX文件傳輸的藍牙虛擬串口驅動程序的實現。
1 Windows CE設備驅動程序概述
Windows CE支持廣泛的基于各種CE平臺的設備驅動程序。目前,它提供了四種設備模型,其中兩種是專用于Windows CE的模型,另外兩種外部模型來自其它操作系統(tǒng);赪indows CE的兩種模型是本機的設備驅動程序和流接口驅動程序。兩種外部模型用于通用串行總線(USB)和網絡驅動器接口標準(NDIS)的驅動程序。
由于藍牙協(xié)議是在無線技術下的仿真串口,藍牙中OBEX的許多應用正是基于藍牙仿真串口。而流接口驅動程序通過一組流接口函數使得應用程序可以通過文件系統(tǒng)中的特殊文件而與設備接口,因此藍牙仿真串口的功能性更適合流接口驅動程序的結構。
圖1
2 Windows CE下藍牙串口驅動程序的實現
雖然藍牙設備驅動程序的實現采用流接口驅動程序設計,但由于兩種驅動程序的基本結構與原理相似,所以下文從本機設備驅動程序結構開始,可以更清楚地認識藍牙設備驅動程序的實現原理。
2.1 本機設備驅動程序結構
Windows CE中包含的樣本設備驅動程序分為兩種類型:單片驅動程序(Monolithic device driver)和分層的驅動程序(Layered Devicedriver)。單片驅動程序基于單個碼片,該碼片直接把硬件設備的功能性通過設備驅動程序接口傳遞給操作系統(tǒng)。與單片驅動程序相比,分層的驅動程序由兩個設置好的層組成:上層是模型設備驅動程序(MDD),下層是依賴平臺的驅動程序(PDD)。本文采用分層的驅動程序來連接藍牙硬件和上面的文件傳輸應用。圖1說明了兩種驅動程序是如何在Windows CE操作系統(tǒng)中集成的。
設備驅動程序接口(DDI)是在MDD中實現的函數集,GWES模塊通過這個接口調用設備驅動程序;設備驅動程序服務器提供接口(DDSI)是在PDD中實現的函數集并由MDD調用。由于微軟提供了所有與MDD模塊相關的源代碼,所以對這部分不用做任何改動,只需將自己的PDD模塊與MDD模塊鏈結成一個公用庫。
理解了本機設備驅動程序的結構后,從圖1右邊不難看出,流接口驅動程序只是把流接口作為它們的DDI使用。在這種情況下,不必要把這些驅動程序與GWES模塊邏接起來。它們以普通的DLL方式存在并根據需要被調用。
[1] [2] [3] [4]
【Windows CE中實現藍牙串口驅動程序】相關文章:
飛行仿真中遙控器驅動程序的設計與實現05-02
基于Windows 2000的多路話音采集壓縮卡驅動程序設計05-02
CE/SE方法在多孔射流場計算中的應用04-28
《轉》Windows系統(tǒng)“運行”中的小技巧05-02
利用計算機串口實現PPT傳感器的網絡測量04-27
Windows平臺下土地資源評價信息的系統(tǒng)設計與功能實現05-02
技術商品及其在市場中的實現04-28