色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

Windows CE中實現(xiàn)藍牙串口驅(qū)動程序

時間:2024-07-08 05:41:35 理工畢業(yè)論文 我要投稿
  • 相關推薦

Windows CE中實現(xiàn)藍牙串口驅(qū)動程序

摘要:藍牙通信平臺在嵌入式系統(tǒng)的實現(xiàn)過程中,OBEX(對象交換)始終是很重要的一部分,基于OBEX的藍牙文件傳輸?shù)玫綇V泛應用。而OBEX的實現(xiàn)是基于藍牙仿真接口,所以藍牙串口驅(qū)動程序的實現(xiàn)就有了很重要的意義。介紹了Windows CE下串口驅(qū)動程序的結構和一種具體的實現(xiàn)方法。

Windows CE作為一種典型的嵌入式操作系統(tǒng),通過將藍牙應用移植到Widows CE中,對于如pSOS 、Nucleus等其它嵌入式系統(tǒng),具有典型意義。由于OBEX上的文件傳輸應用建立在RFCOMM實現(xiàn)的藍牙仿真串口上,本文介紹OBEX文件傳輸?shù)乃{牙虛擬串口驅(qū)動程序的實現(xiàn)。

1 Windows CE設備驅(qū)動程序概述

Windows CE支持廣泛的基于各種CE平臺的設備驅(qū)動程序。目前,它提供了四種設備模型,其中兩種是專用于Windows CE的模型,另外兩種外部模型來自其它操作系統(tǒng)。基于Windows CE的兩種模型是本機的設備驅(qū)動程序和流接口驅(qū)動程序。兩種外部模型用于通用串行總線(USB)和網(wǎng)絡驅(qū)動器接口標準(NDIS)的驅(qū)動程序。

由于藍牙協(xié)議是在無線技術下的仿真串口,藍牙中OBEX的許多應用正是基于藍牙仿真串口。而流接口驅(qū)動程序通過一組流接口函數(shù)使得應用程序可以通過文件系統(tǒng)中的特殊文件而與設備接口,因此藍牙仿真串口的功能性更適合流接口驅(qū)動程序的結構。

圖1

2 Windows CE下藍牙串口驅(qū)動程序的實現(xiàn)

雖然藍牙設備驅(qū)動程序的實現(xiàn)采用流接口驅(qū)動程序設計,但由于兩種驅(qū)動程序的基本結構與原理相似,所以下文從本機設備驅(qū)動程序結構開始,可以更清楚地認識藍牙設備驅(qū)動程序的實現(xiàn)原理。

2.1 本機設備驅(qū)動程序結構

Windows CE中包含的樣本設備驅(qū)動程序分為兩種類型:單片驅(qū)動程序(Monolithic device driver)和分層的驅(qū)動程序(Layered Devicedriver)。單片驅(qū)動程序基于單個碼片,該碼片直接把硬件設備的功能性通過設備驅(qū)動程序接口傳遞給操作系統(tǒng)。與單片驅(qū)動程序相比,分層的驅(qū)動程序由兩個設置好的層組成:上層是模型設備驅(qū)動程序(MDD),下層是依賴平臺的驅(qū)動程序(PDD)。本文采用分層的驅(qū)動程序來連接藍牙硬件和上面的文件傳輸應用。圖1說明了兩種驅(qū)動程序是如何在Windows CE操作系統(tǒng)中集成的。

設備驅(qū)動程序接口(DDI)是在MDD中實現(xiàn)的函數(shù)集,GWES模塊通過這個接口調(diào)用設備驅(qū)動程序;設備驅(qū)動程序服務器提供接口(DDSI)是在PDD中實現(xiàn)的函數(shù)集并由MDD調(diào)用。由于微軟提供了所有與MDD模塊相關的源代碼,所以對這部分不用做任何改動,只需將自己的PDD模塊與MDD模塊鏈結成一個公用庫。

理解了本機設備驅(qū)動程序的結構后,從圖1右邊不難看出,流接口驅(qū)動程序只是把流接口作為它們的DDI使用。在這種情況下,不必要把這些驅(qū)動程序與GWES模塊邏接起來。它們以普通的DLL方式存在并根據(jù)需要被調(diào)用。

2.2 藍牙仿真串口驅(qū)動程序?qū)崿F(xiàn)

藍牙仿真串口是用藍牙RFCOMM協(xié)議實現(xiàn)無電纜的無線串口通信,與本機設備驅(qū)動程序一樣,實現(xiàn)流接口的串口驅(qū)動程序同樣只需實現(xiàn)藍牙的PDD模塊。

PDD模塊包括四部分:第一部分是必須自己實現(xiàn)的所有DDSI接口;第二部分是藍牙協(xié)議棧包括FRCOMM、SDP、L2CAP以及HCI實體;第三部分是HCI傳輸層通過UART或者USB接口連接到藍牙硬件;最后一部分是為藍牙應用提供的圖形界面接口和控制端口模塊,用來對整個協(xié)議棧初始化、藍牙硬件初始化、搜索附近的藍牙設備以及發(fā)現(xiàn)指定設備上的服務。如圖2所示。

在圖2所示的藍牙仿真串口驅(qū)動程序的系統(tǒng)結構中,設備管理程序是用戶層的程序,在基于Windows CE的平臺上不停地運行著。設備管理程序不是內(nèi)核的一部分,但它是與內(nèi)核、注冊表和注接口驅(qū)動程序DLL有相互影響的單獨部分。它主要執(zhí)行以下任務:

HWOBJ BluetoothObj={ /*描述藍牙仿真串口特征*/

(PDEVICE_LIST)

【W(wǎng)indows CE中實現(xiàn)藍牙串口驅(qū)動程序】相關文章:

用FPGA實現(xiàn)異步串口與同步串口的轉(zhuǎn)換03-07

Windows2000設備驅(qū)動程序的研制開發(fā)03-03

Windows CE環(huán)境下無線網(wǎng)卡的自動安裝03-19

基于Windows2000開發(fā)WDM設備驅(qū)動程序的方法03-19

windows nt環(huán)境下fddi網(wǎng)卡驅(qū)動程序設計03-18

在Windows系統(tǒng)中用VC 實現(xiàn)鉤子機制03-18

在CPLD管理下實現(xiàn)高效多串口中斷源03-19

VC++實現(xiàn)串口通信的應用程序設計03-07

串口通信在雙機冗余系統(tǒng)中應用03-20