当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:蓝牙通信平台在嵌入式系统的实现过程中,OBEX(对象交换)始终是很重要的一部分,基于OBEX的蓝牙文件传输得到广泛应用。而OBEX的实现是基于蓝牙仿真接口,所以蓝牙串口

摘要:蓝牙通信平台在嵌入式系统的实现过程中,OBEX(对象交换)始终是很重要的一部分,基于OBEX的蓝牙文件传输得到广泛应用。而OBEX的实现是基于蓝牙仿真接口,所以蓝牙串口驱动程序的实现就有了很重要的意义。介绍了Windows CE串口驱动程序的结构和一种具体的实现方法。 关键词:蓝牙 OBEX 嵌入式系统 驱动程序 Windows CE作为一种典型的嵌入式操作系统,通过将蓝牙应用移植到Widows CE中,对于如pSOS+、Nucleus等其它嵌入式系统,具有典型意义。由于OBEX上的文件传输应用建立在RFCOMM实现的蓝牙仿真串口上,本文介绍OBEX文件传输的蓝牙虚拟串口驱动程序的实现。 1 Windows CE设备驱动程序概述 Windows CE支持广泛的基于各种CE平台的设备驱动程序。目前,它提供了四种设备模型,其中两种是专用于Windows CE的模型,另外两种外部模型来自其它操作系统。基于Windows CE的两种模型是本机的设备驱动程序和流接口驱动程序。两种外部模型用于通用串行总线(USB)和网络驱动器接口标准(NDIS)的驱动程序。 由于蓝牙协议是在无线技术下的仿真串口,蓝牙中OBEX的许多应用正是基于蓝牙仿真串口。而流接口驱动程序通过一组流接口函数使得应用程序可以通过文件系统中的特殊文件而与设备接口,因此蓝牙仿真串口的功能性更适合流接口驱动程序的结构。 图1 2 Windows CE下蓝牙串口驱动程序的实现 虽然蓝牙设备驱动程序的实现采用流接口驱动程序设计,但由于两种驱动程序的基本结构与原理相似,所以下文从本机设备驱动程序结构开始,可以更清楚地认识蓝牙设备驱动程序的实现原理。 2.1 本机设备驱动程序结构 Windows CE中包含的样本设备驱动程序分为两种类型:单片驱动程序(Monolithic device driver)和分层的驱动程序(Layered Devicedriver)。单片驱动程序基于单个码片,该码片直接把硬件设备的功能性通过设备驱动程序接口传递给操作系统。与单片驱动程序相比,分层的驱动程序由两个设置好的层组成:上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。本文采用分层的驱动程序来连接蓝牙硬件和上面的文件传输应用。图1说明了两种驱动程序是如何在Windows CE操作系统中集成的。 设备驱动程序接口(DDI)是在MDD中实现的函数集,GWES模块通过这个接口调用设备驱动程序;设备驱动程序服务器提供接口(DDSI)是在PDD中实现的函数集并由MDD调用。由于微软提供了所有与MDD模块相关的源代码,所以对这部分不用做任何改动,只需将自己的PDD模块与MDD模块链结成一个公用库。 理解了本机设备驱动程序的结构后,从图1右边不难看出,流接口驱动程序只是把流接口作为它们的DDI使用。在这种情况下,不必要把这些驱动程序与GWES模块逻接起来。它们以普通的DLL方式存在并根据需要被调用。 2.2 蓝牙仿真串口驱动程序实现 蓝牙仿真串口是用蓝牙RFCOMM协议实现无电缆的无线串口通信,与本机设备驱动程序一样,实现流接口的串口驱动程序同样只需实现蓝牙的PDD模块。 PDD模块包括四部分:第一部分是必须自己实现的所有DDSI接口;第二部分是蓝牙协议栈包括FRCOMM、SDP、L2CAP以及HCI实体;第三部分是HCI传输层通过UART或者USB接口连接到蓝牙硬件;最后一部分是为蓝牙应用提供的图形界面接口和控制端口模块,用来对整个协议栈初始化、蓝牙硬件初始化、搜索附近的蓝牙设备以及发现指定设备上的服务。如图2所示。 在图2所示的蓝牙仿真串口驱动程序的系统结构中,设备管理程序是用户层的程序,在基于Windows CE的平台上不停地运行着。设备管理程序不是内核的一部分,但它是与内核、注册表和注接口驱动程序DLL有相互影响的单独部分。它主要执行以下任务: HWOBJ BluetoothObj={ /*描述蓝牙仿真串口特征*/ (PDEVICE_LIST)%26;amp;SerDL, THREAD_IN_PDD,/*中断处理全部由PDD层处理*/ 0, NULL, (PHW_VTBL)%26;amp;BluetoothVTbl/*包含需要实现的所有标准串口DDSI函数的列表*/ }; HWOBJ BluetoothCTRLObj={/*描述蓝牙控制端口特征*/ (PDEVICE_LIST)%26;amp;SerDL, THREAD_IN_PDD, 0, NULL, (PHW_VTBL)%26;amp;CTRLVTb1 }; PHWOBJ rgpHWObjects[]={/*包含两个PDD实例的数组*/ %26;amp;BluetoothObj, %26;amp;BluetoothCTRLObj }; DEVICE_LIST SerDL={/*存储设备驱动程序中所有串口设备*/ “CESerial.dll”,/*串口驱动程序的名字*/ sizeof(rgpHWObjects)/sizeof(PHWOBJ),/*串口设备的数目*/ regHWObjects }; PDEVICE_LIST GetSerialObject(VOID) { return (%26;amp;SerDL); } 图2 在串口驱动程序中注册了两个串口设备后,就要实现这两个PDD实例对应的流接口函数。微软为要实现的串口PDD模块提供了一个HWOBJ(Haredware Object)类型的串行对象表,这个结构列出了实现串口驱动的所有接口函数指针。见下面的描述: typedef struct _HW_VTBL{ PVOID(*HWInit)(ULONG Identifier,PVOID pMDDCon-text,PHWOBJ pHWObj); …, …, BOOL(*HWIoct1)(PVOID pHead,DWORD dwCode, PBYTE pBufIn,DWORD dwLenIn,PBYTE pBufOut,DWORD DwLenOut,PDWORDpdwActualOut); } HW_VTBL,*PHW_VTBL; 用户通过修改串行口PDD的串行对象表改变函数集或函数名。下面的结构BluetoothVTbl的定义了蓝牙仿真串口DDSI函数的名称。 Const HW_VTBL BluetoothVTbl={ BluetoothInitSerial, …, …, BluetoothIoctl }; 同样用结构变量CTRLVTbl定义了控制端口的DDSI函数名列表。由于这个串口设备用作内部实现特殊的功能,下面只列出了需要关心的主要函数名。 Const HW_VTBL CTRLVTbl={ CTRLInitSerial, CTRLDeinit, CTRLOpen, CTRLClose, …, …, CTRLIoctl }; 蓝牙作为一个驱动新经济的引擎,将会 对以嵌入式系统为主的“后PC机”时代的到来产生巨大的推动作用,同时它还将面临来自象IrDA、802.11、HomeRF等无线通信技术的挑战。而将OBEX成功引入蓝牙,使得在嵌入式系统下工作的蓝牙通信设备上传输文件、同步、打印等应用成为可能,因此在蓝牙中起着举足轻重的作用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年9月5日 /美通社/ -- 由纽伦堡会展(上海)有限公司举办的上海国际嵌入式会议将于 2025 年 10 月 16-17 日在上海世博展览馆举办。 此次会议将由三个版块组成:嵌入式技术会议、汽...

关键字: 嵌入式 CE CHINA EMBEDDED

北京市中国国际展览中心(顺义馆)先进制造馆 W2 展馆 D07 展位 作为链博会先进制造链专业委员会主席单位,发挥"链主"引领和赋能作用 集中呈现西门子覆盖产品...

关键字: 西门子 BSP 数字化 CE

广州 2025年7月4日 /美通社/ -- 日前,在德国慕尼黑机器人及自动化技术展览会(Automatica)期间,国际独立第三方检测、检验和认证机构德国莱茵TÜ...

关键字: 自动化 CE 工业机器 指令

-2025年智慧城市博览会将以史上最大规模召开,呼吁城市成为变革推动者 西班牙巴塞罗那 2025年7月4日 /美通社/ -- 由巴塞罗那会展中心(Fira de Barc...

关键字: 智慧城市 CE RC AI

世界首次开发出引领智能手机潮流的新一代技术"Cu-Post" 提高电路集成度,实现半导体基板小型化、高配置化……改善发热 到2030年为止,...

关键字: 基板 TE LG CE

首届评奖由Mobile World Capital主办,合作方包括B Lab Spain、GSMA Foundry、西班牙国家数字化与人工智能秘书处(SEDIA)和R...

关键字: API CE 可持续发展 人工智能

深圳 2025年5月28日 /美通社/ -- 2025年5月28日,荣耀400新品发布会现场,荣耀CEO李健发表主旨演讲《真实就是力量》,用三个真实故事阐述了"荣耀三部曲"...

关键字: 荣耀 AI 影像 CE

澳门 2025年5月28日 /美通社/ -- 2025年5月24日,第五届BEYOND国际科技创新博览会(BEYOND Expo 2025)在澳门圆满收官。本届博览会精心策划了一系列丰富多彩的活动,生动且全面地诠释了&...

关键字: CE 阿里巴巴 人工智能 创始人

澳门 2025年5月23日 /美通社/ -- BEYOND Expo 2025于5月21日在澳门巴黎人酒店巴黎人剧场隆重举行,在"赋能亚洲,连接世界"的主题下,这场盛会汇聚了亚洲乃至全球顶尖科技公司...

关键字: 创始人 BSP 人工智能 CE

受访CEO们表示,他们预计未来两年AI投资增长率将翻倍 50%的受访CEO称,快速投资导致他们所在组织机构出现技术脱节 纽约州阿蒙克 2025年5月22日 /美通社/ -- IBM(纽约证券交易所代码:...

关键字: IBM CE AI BSP
关闭