CN2921955Y - 一种usb设备驱动系统 - Google Patents

一种usb设备驱动系统 Download PDF

Info

Publication number
CN2921955Y
CN2921955Y CN 200520121083 CN200520121083U CN2921955Y CN 2921955 Y CN2921955 Y CN 2921955Y CN 200520121083 CN200520121083 CN 200520121083 CN 200520121083 U CN200520121083 U CN 200520121083U CN 2921955 Y CN2921955 Y CN 2921955Y
Authority
CN
China
Prior art keywords
module
usb
plug
play
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN 200520121083
Other languages
English (en)
Inventor
赵勇
蔡彤军
于学鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200520121083 priority Critical patent/CN2921955Y/zh
Application granted granted Critical
Publication of CN2921955Y publication Critical patent/CN2921955Y/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

一种USB设备驱动系统,包括设备接口模块、信号映射模块、USB协议调用模块、即插即用处理模块。本实用新型可以解决通讯终端设备接口调用、多种数据流无干扰并发传输、提高数据传输率、即插即用的问题,为通讯终端与PC连接互传数据提供一个简单通用的解决方案。

Description

一种USB设备驱动系统
所属领域
本实用新型涉及一种Windows USB设备驱动系统,属于通讯领域,特别是使用USB物理接口的通讯设备。
背景技术
目前,绝大部分通讯终端(如手机、数据卡、PDA等)都提供了PC接口,以实现通讯终端和PC的即时通讯,较为流行的采用USB接口或RS232接口,参考图1所示的连接示意图:
1、通讯终端一般具有如下一种、几种或全部的功能:
调制解调、语音、视频、文本短信、媒体短信、虚拟磁盘等;
2、通讯终端直接通过USB或RS232物理接口连接到PC,PC上必须提供专用的功能性应用软件以实现利用PC强大功能来实现对通讯终端功能的进一步延伸和强化,以及通讯终端本身的特性管理。
3、通讯终端和PC功能软件的各种数据可以通过该接口交互相互传递,如控制数据、MODEM非指定数据流、语音数据流、视频数据流、短信字符流等。
这种方法给通讯终端用户提供另一个操作途径,同时也符合目前PC应用蓬勃发展的潮流。用户可以利用PC强劲的性能和便于操作等特点对通讯终端的数据进行再加工、备份等,同时,还可以对通讯终端本身的特性进行有效管理和软件的在线升级,所有这些都无法离开上面提到通信接口。
但是,直接采用USB或RS232物理接口连接到PC存在一些问题:
1、采用USB接口需要为用户提供专用USB设备驱动软件,并且PC功能性软件访问该设备也较为困难,对于程序开发人员需要了解USB协议栈调用方法,而且在各种功能并发执行时,需要各种数据同时传递,在这种情况下通常要利用复用解复用技术才能实现,这样会使得程序设计变得复杂且难以维护。
2、采用RS232串行接口,调用较为简单,程序容易实现,但数据传输率较低,一般最大支持115.2Kbps,远远不能满足目前通讯终端和PC通讯的要求和未来发展的需要,在这样低的传输率情况下如果存在并发功能,即便实现复用解复用也没有实际应用价值。另外RS232物理连接方式不支持Windows操作系统的即插即用特性。
实用新型内容
本实用新型要解决的技术问题是提出一种Windows USB设备驱动系统,这种USB设备驱动系统摒弃了USB接口和RS232串行接口的上述缺点,集中了这两种接口的优势,具有接口调用简单、数据传输率高、支持并发传输、支持即插即用的特点。
本实用新型的USB设备驱动系统,包括设备接口模块、信号映射模块、USB协议调用模块、即插即用处理模块;其中:
设备接口模块包括模拟的串行通讯设备,分别与PC机中的媒体短信、文本短信、视频业务、语音业务、数据业务应用模块连接,同时与信号映射模块连接;向Windows操作系统注册串行通讯设备和为串行设备分配USB管道;
信号映射模块通过USB管道与通讯终端中的媒体短信、文本短信、视频业务、语音业务、数据业务应用模块连接,完成设备接口模块模拟的每个串行设备状态信号与USB请求信号进行映射;
USB协议调用模块分别与信号映射模块、即插即用处理模块连接接受信号映射模块和即插即用处理模块来的请求信号,然后转化为USB请求包发送给操作系统USB协议栈,再把USB协议栈的响应返回给信号映射模块和即插即用模块;
即插即用管理模块与PC机的Windows操作系统的插即用管理器连接,接收和处理从Windows操作系统的插即用管理器发送来的即插即用事件,驱动相关的即插即用事件本地处理并实施设备即插即用状态迁移,其它的转发给USB协议处理模块,之后把事件处理结果返回给Windows操作系统的插即用管理器。
本实用新型可以解决通讯终端设备接口调用、多种数据流无干扰并发传输、提高数据传输率、即插即用的问题,为通讯终端与PC连接互传数据提供一个简单通用的解决方案。
附图说明
图1是使用USB接口或RS232接口直接连接通讯终端和PC的示意图;
图2是使用本实用新型连接通讯终端与PC的架构示意图。
具体实施方式
参考图2所示的连接示意图,左边中间方框内为本实用新型的组成部分,功能模块划分为:设备接口模块、信号映射模块、USB协议调用模块、即插即用处理模块。其中:
设备接口模块完成向Windows操作系统注册设备和分配USB管道。通过向Windows操作系统注册设备可以在Windows操作系统设备管理中显露出若干个相互独立串行通讯设备(包括MODEM和COM),为通讯终端PC侧功能软件不同模块提供简单、通用、独立的调用接口;分配USB管道需要根据串行设备特性,在最小配置要求下模拟一个MODEM设备至少需要3个USB管道,模拟一个COM串行设备至少需要2个USB管道。
信号映射模块完成设备接口模块模拟的每个串行设备状态信号与USB请求信号进行映射,它把从串行设备块收到的串行信号映射为USB请求信号再传递给USB协议处理模块,反之,则把USB协议处理模块收到的请求响应映射为串行设备状态信号发给相应的串口设备。这样实现了设备接口和物理设备的完全分离。
USB协议调用模块,主要完成接受信号映射模块和即插即用处理模块来的请求信号,然后转化为USB请求包发送给操作系统USB协议栈,再把USB协议栈的响应返回给信号映射模块和即插即用模块。另外,电源管理等其它模块也直接与USB协议调用模块交互。
即插即用管理模块负责接收和处理从Windows操作系统即插即用管理器发送来的即插即用事件,驱动相关的即插即用事件(如:设备插入、设备拔出)本地处理并实施设备即插即用状态迁移,其它的转发给USB协议处理模块。之后把事件处理结果返回给Windows操作系统即插即用管理器。
物理连接采用USB,这样可以利用USB设备传输率高(USB最大数据传输率为480Mbps)和支持热插拔等特点。通过本驱动系统可以实现在通信终端设备和PC多个功能软件之间透明的传输数据,数据可以是非指定数据流、结构化数据流、字符流等。
下面介绍几个主要模块的具体实施:
1、USB管道分配方案为:
USB管道分配方案是在设备接口模块中完成的。根据USB协议规定一个USB物理设备最多支持16个管道(编号是0到15),管道0用于控制公用,其它的15个管道可以根据需要自行配置,在本驱动中采用如下分配原则:
如果模拟MODEM设备,管道1中断输入+管道2批量输出+管道3批量输入分配在一个接口并捆绑在一个MODEM设备上,管道4中断输入+管道5批量输出+管道6批量输入分配在一个接口并捆绑在一个MODEM设备上,这样每个MODEM设备至少需要3个USB管道,直到15个管道分配结束,所以,一个USB物理设备最多可以模拟出5个MODEM设备;
如果模拟COM串口设备,管道1批量输出+管道2批量输入分配在一个接口并捆绑在一个COM设备上,管道3批量输出+管道4批量输入分配在一个接口并捆绑在一个COM设备上,这样每个COM设备至少需要2个USB管道,直到管道14被分配,所以,一个USB物理设备最多可以模拟出7个COM设备;
如果同时模拟MODEM和COM设备,管道1中断输入+管道2批量输出+管道3批量输入分配在一个接口并捆绑在一个MODEM设备上,管道4批量输出+管道5批量输入分配在一个接口并捆绑在一个COM设备上,然后根据具体需要继续分配剩下的管道,MODEM和COM的数量根据USB管道具体分配方法可以计算出来。
根据上述管道分配,数据传输率的情况如下:
假设USB的所有16管道被分配,并且并发传递数据,那么根据USB相关协议规定应该存在如下理论公式:
MODEM数据传输率=(USB最大数据传输率×(1-10%)÷15)×3;
COM数据传输率=(USB最大数据传输率×(1-10%)÷15)×2;
USB最大数据传输率在USB1.1为12Mbps,USB2.0为480Mbps;10%是系统为USB管道0预留的带宽;
跟据上面的理论公式计算可得,如果USB物理设备采用USB1.1,MODEM设备最大数据传输率为2.16Mbps,COM设备最大数据传输率为1.44Mbps;如果USB设备采用USB2.0,MODEM设备最大数据传输率为86.4Mbps,COM设备最大数据传输率为57.6Mbps。
2、显露串行通讯设备
显露串行通讯设备是在设备接口模块中完成的,设备接口模块调用WindowsAPI函数在Windows操作系统中为每个串行通讯设备创建独立的设备对象、向操作系统注册接口,设备类型可以是FILE_DEVICE_SERIAL_PORT或FILE_DEVICE_MODEM(这些值被定义在DDK的头文件中),最后为每个串行设备创建符号连接,如“COMn”的形式。
3、信号映射
信号映射功能是在本驱动信号映射模块中完成的,它需要对每个串行设备进行独立映射,保证在多种数据流并发传递时不会相互干扰。
串行线路状态信号和USB请求信号映射表
串行线路状态信号 USB请求信号
信号名 含义 请求  值
TXD 发送数据 Bulk OUT  数据
RXD 接收数据 Bulk IN  数据
RTS 请求发送 Control OUT  0x02
CTS 允许发送 Interrupt IN  0x02
DSR 数据设备准备好 Interrupt IN  0x02
DCD 载波检测 Interrupt IN  0x01
DTR 数据终端准备好 Control OUT  0x01
RI 振铃指示 Interrupt IN  0x08
4、即插即用
支持即插即用是指在本驱动的即插即用处理模块中处理了所有Windows操作系统关于即插即用请求和状态迁移,能够根据用户需要随时插拔设备,如果插入设备时,自动安装本驱动程序,然后启动并生效,而不像传统的PC设备一样,在插入后需要重启。在即插即用管理模块中必须处理的即插即用事件包括(这些值被定义在DDK的头文件中):
IRP_MN_START_DEVICE         设备启动
IRP_MN_QUERY_STOP_DEVICE    查询停止
IRP_MN_STOP_DEVICE          停止设备
IRP_MN_QUERY_REMOVE_DEVICE  查询删除设备
IRP_MN_SURPRISE_REMOVAL     以外删除设备
IRP_MN_REMOVE_DEVICE        删除设备
另外,设备状态迁移符合Windows PnP状态迁移规范。
5、USB协议调用模块
本驱动所有与系统USB硬件和协议交互的指令均通过USB协议处理模块来完成。
对于控制指令通过适当指定USB请求包的请求类型、请求码等,在USB管道0(控制公用管道)上传送;
对于输入数据的接收采用轮训串行设备分配的批量输入管道来完成;
对于输出数据的发送采用在串行设备分配的批量输出管道上直接发送的方式;
对于设备主动上报的数据(如:设备状态变化、呼叫到达等)采用轮训串行设备分配的中断输入管道来实现。

Claims (2)

1、一种USB设备驱动系统,其特征在于,包括设备接口模块、信号映射模块、USB协议调用模块、即插即用处理模块;其中:
设备接口模块包括模拟的串行通讯设备,分别与PC机中的媒体短信、文本短信、视频业务、语音业务、数据业务应用模块连接,同时与信号映射模块连接;向Windows操作系统注册串行通讯设备和为串行设备分配USB管道;
信号映射模块通过USB管道与通讯终端中的媒体短信、文本短信、视频业务、语音业务、数据业务应用模块连接,完成设备接口模块模拟的每个串行设备状态信号与USB请求信号进行映射;
USB协议调用模块分别与信号映射模块、即插即用处理模块连接,接受信号映射模块和即插即用处理模块来的请求信号,然后转化为USB请求包发送给操作系统USB协议栈,再把USB协议栈的响应返回给信号映射模块和即插即用模块;
即插即用处理模块与PC机的Windows操作系统的插即用管理器连接,接收和处理从Windows操作系统的插即用管理器发送来的即插即用事件,驱动相关的即插即用事件本地处理并实施设备即插即用状态迁移,其它的转发给USB协议处理模块,之后把事件处理结果返回给Windows操作系统的插即用管理器。
2、权利要求1所述的USB设备驱动系统,其特征在于,所述设备接口模块向Windows操作系统注册设备包括COM和/或MODEM。
CN 200520121083 2005-12-29 2005-12-29 一种usb设备驱动系统 Expired - Lifetime CN2921955Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200520121083 CN2921955Y (zh) 2005-12-29 2005-12-29 一种usb设备驱动系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200520121083 CN2921955Y (zh) 2005-12-29 2005-12-29 一种usb设备驱动系统

Publications (1)

Publication Number Publication Date
CN2921955Y true CN2921955Y (zh) 2007-07-11

Family

ID=38254430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200520121083 Expired - Lifetime CN2921955Y (zh) 2005-12-29 2005-12-29 一种usb设备驱动系统

Country Status (1)

Country Link
CN (1) CN2921955Y (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010148999A1 (zh) * 2009-12-08 2010-12-29 中兴通讯股份有限公司 一种基于usb接口的通信设备及实现业务配置的方法
CN105653985A (zh) * 2014-10-22 2016-06-08 北京中电瑞铠科技有限公司 一种usb端口封堵电子标签方法与装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010148999A1 (zh) * 2009-12-08 2010-12-29 中兴通讯股份有限公司 一种基于usb接口的通信设备及实现业务配置的方法
CN105653985A (zh) * 2014-10-22 2016-06-08 北京中电瑞铠科技有限公司 一种usb端口封堵电子标签方法与装置
CN105653985B (zh) * 2014-10-22 2020-04-24 北京中电瑞铠科技有限公司 一种usb端口封堵电子标签方法与装置

Similar Documents

Publication Publication Date Title
US8103813B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
CN105959288A (zh) 一种电力电网系统中的网络协议转换及其相互通讯方法
CN202084028U (zh) 一种模块化多串口扩展装置
CN101272405B (zh) 一种接收设备、mmis接口及数据交互方法
CN102546542B (zh) 电子系统及其嵌入式设备和中转设备
CN2921955Y (zh) 一种usb设备驱动系统
CN102323892B (zh) 移动宽带设备的数据处理方法及驱动装置
CN103678244B (zh) 一种不使用应用处理器的智能设备
CN102081455B (zh) 转接器及计算机管理系统
CN101155184A (zh) 一种实现at命令转换的方法
CN201163783Y (zh) 一种基于can总线的多串口卡
CN102202431B (zh) 增加3g通讯模块与应用处理器接口灵活性的装置和方法
CN201638205U (zh) Usb接口和rs-232接口的数据传输电路
CN101114960B (zh) 终端移动式无线超宽带动态联接集群计算机及其运行方法
CN113347188B (zh) 一种基于pcie及异构处理器的车载网络传输装置
CN103051817B (zh) 用spi接口实现pcm信息交互的方法及语音终端设备
CN202025310U (zh) 一种串口调试系统
CN101353048B (zh) 一种用于机车通信系统的插件设备
CN101989250A (zh) 一种串行通信的方法和系统
CN216437355U (zh) 一种具有混合传输功能的摄像头
CN217718546U (zh) 智能交互平板
CN202157260U (zh) 具有can总线接口的摊铺机矩阵按键操作台
CN202524519U (zh) 用于播放器的gps/gprs管理模块
CN201114147Y (zh) Sercos协议总线控制器
CN2152354Y (zh) 一种数话兼容台

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20070711

EXPY Termination of patent right or utility model