CN101630191B - 一种实现通用串行总线调制解调器设备节电的装置及方法 - Google Patents
一种实现通用串行总线调制解调器设备节电的装置及方法 Download PDFInfo
- Publication number
- CN101630191B CN101630191B CN2009100916286A CN200910091628A CN101630191B CN 101630191 B CN101630191 B CN 101630191B CN 2009100916286 A CN2009100916286 A CN 2009100916286A CN 200910091628 A CN200910091628 A CN 200910091628A CN 101630191 B CN101630191 B CN 101630191B
- Authority
- CN
- China
- Prior art keywords
- usb
- driver
- equipment
- control command
- virtual interface
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/426—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种通用串行总线USB调制解调器Modem设备的节电装置,包括:个人计算机和USB Modem设备。相应地,本发明提供一种USB Modem设备的节电方法,包括:定时检测是否允许进入选择性挂起,如果不允许,则处理收到的来自应用程序的请求;如果允许,则向USB Modem设备发送进入选择性挂起状态指令;USB Modem设备收到所述进入选择性挂起状态指令后,进入选择性挂起状态。因此,本发明能实现USB Modem设备在空闲期进入节电状态,在收到业务请求时恢复到工作状态。
Description
技术领域
本发明涉及无线调制解调器(Modem),特别是涉及一种通用串行总线(USB,Universal Serial Bus)Modem设备的节电装置及方法。
背景技术
传统的计算机上网宽带接入方式为固定线路,包括:光纤入户、数字用户线(DSL,Digital Subscriber Line)、有线电视电缆(Cable)等多种常见方法。这些宽带接入方式的优点是:速度高、稳定性好、接入成本低廉,但是缺点也很明显,即缺乏良好的移动性。如果外出旅行或者出差办公,那么随时随地的实现宽带接入就难以实现了,因此无线上网技术应运而生。早期的无线上网方式主要是全球移动通信系统(GSM,Global System for Mobile Communications)的通用分组无线服务技术(GPRS,General Packet Radio Service)和码分多址(CDMA,Code Division Multiple Access)1x,尽管这两种接入方式实现了无线办公,但是带宽速度却非常慢。于是,第三代通信技术(3G)随之产生,第三代通信技术提供了更高带宽,更稳定,更低廉的无线宽带接入方式,不仅可以为用户提供更高速的无线上网,还能在上网同时进行语音通话、收发短信及彩信等更强大的数据业务。因此,对无线数据终端产品,主要是无线Modem的需求量相当地大,同时为了使用户能够更方便、快捷地使用无线数据终端产品,对无线Modem的制造商提出了更高的要求,尤其是用户体验方面。
目前,USB Modem设备广泛的应用于移动办公,而在移动应用场景中,往往很难外接交流电源使用笔记本电脑,从而只能使用电池供电的方法来进行办公,而电池的续航能力是有限的,为了提高笔记本电脑的续航能力,采取节电技术和提高电池容量技术就是非常必要的了。其中,节电技术又包括笔记本自身的节电技术和笔记本外接设备的节电技术,USB Modem设备即是外围设备。一般3G USB Modem设备的设置方式包括:1)外置的USB Modem设备;2)笔记本电脑或者移动互联网设备(MID,Mobile Internet Devices)里的内置Modem模块等。如果是外置的USB Modem设备,用户还可以在不使用的时候将USBModem设备卸下,但对内置的USB Modem设备随时都需要保持供电,如果不采用合适的节电技术,将会在笔记本电脑使用期间产生较大的持续性功耗,从而影响笔记本电脑的续航能力。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现USB Modem设备节电的装置及方法,能实现USB Modem设备在空闲期进入节电状态,在收到业务请求时恢复到工作状态。
为达到上述目的,本发明公开了一种实现USB Modem设备节电的装置,包括:个人计算机和USB Modem设备;其中,个人计算机,定时检测是否允许进入选择性挂起,并在允许时向USB Modem设备发送进入选择性挂起状态指令,通知USB Modem设备进入选择性挂起状态;USB Modem设备,收到进入选择性挂起状态指令后,进入选择性挂起状态;所述个人计算机包括:多路复用驱动、虚拟接口驱动、USB转串口驱动及USB Hub;其中,多路复用驱动,用于将单个USB物理接口虚拟成多个接口,接收并判断是否所有的虚拟接口驱动都发送了设备控制命令,以及在所有的虚拟接口驱动都发送了所述设备控制命令时向下层的USB转串口驱动转发来自虚拟接口驱动的设备控制命令;虚拟接口驱动,用于定时检测是否允许进入选择性挂起,并在允许时向多路复用驱动下发设备控制命令;USB转串口驱动,用于接收并向USB Hub转发所述设备控制命令;USB Hub,用于收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令,通知USB Modem设备进入选择性挂起状态。
其中,所述USB Hub还用于:接收来自USB Modem设备或上层应用的唤醒请求,并向USB Modem设备发送USB远程唤醒命令使其进入正常工作状态;以及完成I/O请求包;USB转串口驱动还用于:提供完成例程以确定I/O请求包完成,并通知多路复用驱动恢复正常工作;多路复用驱动还用于:通知各个虚拟 接口驱动恢复正常工作。
相应地,本发明提供一种实现USB Modem设备节电的方法,包括:采用多路复用协议将单个USB物理接口虚拟成多个接口,虚拟接口驱动定时检测是否允许进入选择性挂起,如果不允许,则处理收到的来自应用程序的请求;如果允许,则向多路复用驱动下发设备控制命令;多路复用驱动接收所述设备控制命令,并在所有的虚拟接口驱动都发送了设备控制命令时向下层的USB转串口驱动转发所述设备控制命令;USB转串口驱动接收并向USB Hub转发设备控制命令;USB Hub收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令;USB Modem设备收到所述进入选择性挂起状态指令后,进入选择性挂起状态。
上述方法中,还包括:将单个USB物理接口虚拟成多个接口,为:采用多路复用协议将单个USB物理接口非复合设备虚拟成多个接口的复合设备。其中,所述定时检测是否允许进入选择性挂起为:虚拟接口驱动检测虚拟接口在设置的一定时间内是否有数据的读或写操作,若无任何数据的读或写操作,则判定为该虚拟接口允许进入选择性挂起;否则,不允许该虚拟接口进入选择性挂起;该虚拟接口驱动为USB Modem设备对应的设备驱动程序,用于转换和模拟应用程序对虚拟接口的操作。
上述方法中,所述向USB Modem设备发送进入选择性挂起状态指令为:虚拟接口驱动向多路复用驱动下发设备控制命令;多路复用驱动接收并向下层的USB转串口驱动转发所述设备控制命令;USB转串口驱动接收并向USB Hub转发设备控制命令;USB Hub收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令。所述多路复用驱动向下层的USB转串口驱动发送所述设备控制命令之前,还包括:判断是否所有的虚拟接口驱动都发送了所述设备控制命令,如果不是,则继续等待,直到所有的虚拟接口驱动都发来所述设备控制命令;如果所有的虚拟接口驱动都发送了所述设备控制命令,则向下层的USB转串口驱动发送所述设备控制命令。
上述方法中,所述USB Modem设备进入选择性挂起状态后,还包括:有业务请求时唤醒USB Modem设备,为:USB Hub收到USB Modem设备或上层应用 的唤醒请求后,向USB Modem设备发送USB远程唤醒命令使其进入正常工作状态,完成I/O请求包并通知USB转串口驱动I/O请求包完成;USB转串口驱动的完成例程被调用以确定I/O请求包完成,并通知多路复用驱动恢复正常工作;多路复用驱动恢复正常工作并通知各个虚拟接口驱动恢复正常工作。所述USB Hub收到USB Modem设备或上层应用的唤醒请求为:USB Modem设备接收到业务请求后,发送USB唤醒信号到USB Hub;或者,上层应用开始业务请求,业务请求命令到达USB转串口驱动,USB转串口驱动向USB Hub发出恢复设备到工作状态的请求。
由以上技术方案可以看出,本发明通过引入了多路复用技协议,使不同类型的数据在一个串口上传输,而不至于发生紊乱。并将多路复用协议在USBModem设备上实现,从而使得一个USB接口可以虚拟成多个虚拟接口,以实现USB Modem设备的全部功能,并给予这种新型的架构,进而实现了在Windows多个平台环境下USB Modem设备的节电方法。该节电方法能够在Windows XP下实现USB多接口在设备空闲期进入节电状态,实现USB Modem设备的选择性挂起(selective suspend)和远程唤醒功能(remote wakeup)。
本发明在主流Windows系统中,大多都支持选择性挂起和远程唤醒。尤其是非复合设备类型的USB Modem设备。但例外的是Windows XP系统下,Windows XP系统的复合设备驱动usbccgp.sys对于多接口复合设备的选择性挂起支持的不好。那么对于3G USB Modem设备,如果直接做成复合设备,将会影响选择性挂起功能的稳定性。因此,考虑到Windows单接口非复合设备可以很好的支持选择性挂起功能,同时通过多路复用将单个接口虚拟成多个接口的复合设备,从而能够很好地支撑USB Modem设备的各种功能的开发和扩展,因此得以实现基于多路复用的单接口架构的节电方案。而之前所有的USB Modem设备,还没有一款支持所述节电功能,这对今后数据卡的发展和应用,有着很好的促进作用。
本发明能够提高了用户体验,使用上也更为便捷,实现了设备在空闲时节能80%,从而大大减小了通信模块的电源消耗,既提高了笔记本续航能力的,同时也节约了电能,更有利于环保,非常符合当前倡导的节能环保思想。
附图说明
图1为本发明USB Modem设备的节电装置的结构示意图;
图2为多路复用驱动的控制流程示意图;
图3为多路复用驱动的写数据流程示意图;
图4为多路复用驱动的读数据流程示意图;
图5为本发明USB Modem设备的节电方法流程示意图。
具体实施方式
本发明的基本思想在于:通过多路复用将单个USB物理接口虚拟成多个虚拟USB接口,实现USB Modem设备在空闲期进入节电状态,在收到业务请求时恢复到工作状态。
需要说明的是,本发明将虚拟USB接口简称为虚拟接口。另外,所述USBModem设备包括所有能插接在个人计算机(PC)的USB物理接口上的Modem、移动电话等设备。
为使本发明上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施例对本发明作进一步详细的说明。如图1所示,为本发明提供的USBModem设备的节电装置结构示意图,PC侧驱动通过PC上的USB接口与USBModem设备进行交互,并通过多路复用驱动和USB Modem设备中单板嵌入式软件配合多路复用驱动来将单个USB接口虚拟成多接口,使得USB Modem设备的业务功能得以在虚拟的多接口复合设备方式下实现USB Modem设备在Windows系统中的节电技术。该节电装置主要包括:
PC,将单个USB接口虚拟成多个接口,定时检测是否允许进入选择性挂起,并在允许时向USB Modem设备发送进入选择性挂起状态指令,通知USBModem设备进入选择性挂起状态;
USB Modem设备,收到进入选择性挂起状态指令后,进入选择性挂起状态。
所述PC包括:多路复用驱动、虚拟接口驱动、USB转串口驱动及USB集线器Hub;其中,
多路复用驱动,用于将单个USB物理接口虚拟成多个接口,接收并判断是否所有的虚拟接口都发送了设备控制命令,以及在所有的虚拟接口都发送了所述设备控制命令时向下层的USB转串口驱动转发来自虚拟接口驱动的设备控制命令;
虚拟接口驱动,用于定时检测是否允许进入选择性挂起,并在允许时向多路复用驱动下发设备控制命令;
USB转串口驱动,用于接收并向USB Hub转发所述设备控制命令;
USB Hub,用于收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令,通知USB Modem设备进入选择性挂起状态。
其中,所述USB Hub还用于:接收来自USB Modem设备或上层应用的唤醒请求,向USB Modem设备发送USB远程唤醒命令使其进入正常工作状态;并完成I/O请求包(IRP);
USB转串口驱动还用于:提供完成例程以确定IRP完成,并通知多路复用驱动恢复正常工作;多路复用驱动还用于:通知各个虚拟接口驱动恢复正常工作。
这里,所述完成IRP包括:生成IRP、并对其进行处理如状态位的处理等,然后调用函数来确定完成IRP。
以上描述的是本发明USB Modem设备的节电装置,相应地,本发明提供一种USB Modem设备的节电方法,在介绍本发明的USB Modem设备的节电方法之前,先来说明一下多路复用驱动,多路复用驱动中实现了多路复用协议,所述多路复用协议是一个GSM协议中的一个子协议,在GSM 07.10文档里有相关描述,它是衔接终端设备(TE,Terminal Equipment)和移动台(MS,MobileStation)之间的纽带。而TE和MS一般是通过一个串口进行通信,但问题在于串口只有一个,而通信的数据类型却有很多种。因此,通过采用多路复用协议在应用层将一个USB物理接口虚拟成多个虚拟接口,以实现USB Modem设备的全部功能,并给予这种新型的架构,进而实现了在Windows多个平台环境下USBModem设备的节电方法。即:根据配置文件而创建多个虚拟接口,并且将多个虚拟接口的读写数据复用在一个USB物理接口上,所采用的复用方法即是多路 复用协议。这使得Windows单接口非复合设备可以很好的支持选择性挂起功能,因为如果是复合设备,就会加载Windows系统的复合设备驱动,从而造成无法支持选择性挂起。因此,该节电方法通过将能够在Windows系统下实现USB多接口在USB Modem设备空闲期进入节电状态,因为Windows系统会认为所接入USB Modem设备是一个单接口非复合设备,这样能够很好地支撑USB Modem设备的各种功能的开发和扩展,因此制定了基于多路复用的单接口架构的节电方案,这种节电方法尤其适用于TD-SCDMA的内置3G USB Modem设备。
其中,本发明的多路复用协议需要在USB Modem设备以及PC侧驱动的支持下实现,PC侧Windows设备驱动包括:安装Windows桌面系统的USB转串口驱动、虚拟接口驱动、多路复用驱动等。接下来,说明一下多路复用驱动控制流程和读写流程,其中,控制流程是为了配合说明USB Modem设备与Windows系统的交互过程,而读写流程则是关系到USB Modem设备何时进入节电模式。
I、多路复用驱动的控制流程,如图2所示,主要步骤如下:
步骤201,Windows系统在插入USB Modem设备后,加载USB转串口驱动,并启动多路复用驱动;
在USB Modem设备插入Windows系统后,系统检测到USB转串口驱动并加载,当加载该USB转串口驱动时,Windows系统紧接着为USB转串口驱动加载串口类过滤驱动程序、多路复用驱动,并且即插即用(PNP,Plug and play)管理器开始启动多路复用驱动。
步骤202,多路复用驱动开始打开USB Modem设备,并设置超时;
步骤203,设置超时后,多路复用驱动向USB Modem设备发送AT命令开启多路复用协议;
其中,多路复用驱动通过发送AT命令如AT+CMUX,使USB Modem设备开启多路复用协议。
步骤204,AT命令成功返回后,多路复用驱动根据配置信息向USB Modem设备发送数据链路连接标识(DLCI,Data Link Connection Identifier);
其中,如果AT命令能够在所设置的超时时间内返回,则认为所述AT命令 成功返回,否则,认为所述AT命令失败。所述配置信息来自于自定义的配置文件,包含:虚拟接口数量、名称、接口号等技术参数。从DLCI 0开始发送,依次发送到DLCI x。
步骤205,针对每一次发送的DLCI,多路复用驱动创建虚拟接口的物理设备对象;
其中,多路复用驱动创建虚拟接口的物理设备对象主要是从DLCI 0依次到DLCI x进行枚举。这里,所述虚拟接口的物理设备对象为将单个USB物理接口虚拟成多接口后的设备形态——多个虚拟USB接口,即虚拟接口。其中,x为虚拟接口数量,设置并记录在配置文件中。
步骤206,多路复用驱动开始启动虚拟接口,并判断本次枚举是否为第x次,如果本次枚举不是第x次,则返回到步骤204;如果是第x次,则执行步骤207;
步骤207,结束本次控制流程。
II、写数据流程,如图3所示,主要步骤如下:
步骤301,虚拟接口驱动向多路复用驱动发送设备控制命令;
其中,所述设备控制命令是Windows框架内定义的,分为不同种类的设备控制命令,这里,所述设备控制命令包含写数据的IRP即写IRP,其中,所述IRP为I/O求包,是Windows系统分配的,应用程序触发的系统对象,是驱动与驱动间交互的中介。所述虚拟接口驱动将要写的数据放入写IRP里,然后发向多路复用驱动。
步骤302,多路复用驱动收到所述设备控制命令后解析得到写IRP,对写IRP进行组帧处理;
步骤303,多路复用驱动将所述写IRP发送到USB物理接口上,向USBModem设备写入数据;
多路复用驱动将所述写IRP发向USB转串口驱动,USB转串口驱动根据写IRP里的数据构造URB,并将URB放到内部设备控制命令中,然后发向USB Hub,由USB Hub向USB Modem设备写入数据。其中,所述URB为USB请求包。
步骤304,写IRP完成后,Windows系统依次调用USB转串口驱动的写完成 例程和多路复用驱动的写完成例程,确保写操作完成状态正确。
III、读数据流程,如图4所示,主要步骤如下:
步骤401,虚拟接口驱动向多路复用驱动发送设备控制命令;
其中,该设备控制命令包含读IRP。
步骤402,多路复用驱动收到设备控制命后解析获得读IRP,并下发读IRP到USB物理接口上;
步骤403,USB物理接口从USB Hub读到数据后,对所读取到的数据进行解帧处理;
其中,具体的读数据过程属于Windows系统机制,并与应用程序特性相关。例如:如果应用程序打开了设备,那么随时都有一个读IRP挂起(Pending)在USB Hub层面,如果下层有数据到来,则进行读数据的流程。
步骤404,读IRP完成后,Windows系统依次调用USB转串口驱动的读完成例程和多路复用驱动的读完成例程,将读到的数据返回到上层应用。
以上所述为多路复用驱动的控制及读写流程,由于在写或读数据的过程中,是不允许进入节电模式的,所以读写状态和进入节电模式的条件密切相关。因此结合上述描述的流程,下面来说明一下本发明的Modem设备的节电方法。参照图5,示出了本发明USB Modem设备的节电方法流程,本实施例通过多路复用实现在Windows多个平台环境下USB Modem设备节电的方法,该方法能够在Windows系统下实现USB多接口在USB Modem设备空闲期进入节电状态。具体地,在USB Modem设备上实现多路复用协议,从而实现了USB Modem设备的选择性挂起和远程唤醒功能。
需要说明的是,选择性挂起和远程唤醒功能在USB协议有定义:对于一个USB Modem设备一共有D0、D1、D2、D3四种状态。选择性挂起指的是主机侧在需要的时候挂起USB Modem设备,使得USB Modem设备进入D2状态;当USBModem设备需要进行正常工作时,USB Modem设备向USB Hub发送唤醒请求,从而使得USB Modem设备从挂起状态中恢复,进入远程唤醒状态即D0状态。需要指出的是,基于PC侧驱动和USB Modem设备侧驱动共同实现多路复用、选择 性挂起和远程唤醒。
其中,USB Modem设备的节电方法主要包括以下步骤:
步骤501,虚拟接口驱动定时检测是否允许进入选择性挂起,如果不允许,则执行步骤502;如果允许,则执行步骤503;
其中,由于USB Modem设备的业务功能是以多接口复合设备方式实现,因此通过多路复用将一个USB物理接口虚拟成多个虚拟接口,每一个虚拟接口对应一个虚拟接口驱动。该虚拟接口驱动为虚拟串口类设备如USB Modem设备对应的设备驱动程序,用于转换和模拟应用程序对虚拟接口的操作。
这里,所述虚拟接口驱动通过检测其对应的虚拟接口是否满足允许进入选择性挂起的条件,例如:判断一段时间如5秒,有没有收到来自上层使用USBModem设备的应用程序的请求,如读写数据操作等,虚拟接口驱动若没有收到来自应用程序的请求,则判定所述虚拟接口处于空闲状态。
步骤502,USB Modem设备处理收到的来自应用程序的请求;
步骤503,虚拟接口驱动向多路复用驱动下发设备控制命令;
其中,所述设备控制命令为设备空闲状态通知,用于通知下层驱动USBModem设备已空闲,可以进入选择性挂起。例如:所述设备控制命令为INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION。
步骤504,多路复用驱动接收所述设备控制命令,并判断是否所有的虚拟接口都发送了设备控制命令,如果不是,则执行步骤505;如果是,则执行步骤506;
步骤505,多路复用驱动继续等待所述设备控制命令,然后返回步骤501;
其中,多路复用驱动继续等待所述设备控制命令,并在所述设备控制命令到来时返回步骤504进行判断,直到所有的虚拟接口都发来设备控制命令。这里,如果在多路复用驱动等待其他虚拟接口驱动的设备控制命令时,已发送设备控制命令的虚拟接口驱动需要进行读写或有业务来到时,则会取消其之前所发送的设备控制命令。如此,即便这期间收到了全部其他虚拟接口驱动的设备控制命令,但仍然是不可以挂起的,直到所有的虚拟接口驱动均发送了设备控制命令。
步骤506,多路复用驱动向下层的USB转串口驱动发送所述设备控制命令;
步骤507,USB转串口驱动接收并向USB Hub转发所述设备控制命令;
步骤508,USB Hub收到了所述设备控制命令,设置所述设备控制命令的状态为pending,然后向USB Modem设备发送进入选择性挂起状态指令;
步骤509,USB Modem设备收到所述进入选择性挂起状态指令,便进入选择性挂起状态。
USB Modem设备挂起,进入低功耗状态,直到有短信业务、语音业务、或者数据业务来到。需要指出的是,USB Modem设备的各个虚拟接口均发送设备控制命令后,USB Modem设备才会挂起。但是,在进行远程唤醒时,有一个虚拟接口收到业务请求便会唤醒整个USB Modem备。
至此,以上描述的选择性挂起实现过程,接下来说明一下远程唤醒,本实施例中,所述远程唤醒包括两种途径:一种是来自设备自身的唤醒;一种来自上层应用程序的唤醒。
步骤510,USB Modem设备接收到业务请求后,发送USB唤醒信号到USBHub;
步骤511,USB Hub收到USB唤醒信号后,向USB Modem设备发送USB远程唤醒命令(clear feature)使其进入正常工作状态;
其中,USB Modem设备收到所述clear feature后,恢复正常工作。
步骤512,USB Hub完成IRP,通知USB转串口驱动IRP完成,USB转串口驱动的完成例程被调用以确定IRP完成,并通知多路复用驱动恢复正常工作;
这里,所述完成IRP包括:生成IRP、并对其进行处理如状态位的处理等,然后调用USB转串口驱动的完成例程来确定完成IRP。确定完成IRP后,USB转串口驱动通知多路复用驱动。
步骤513,多路复用驱动通知各个虚拟接口驱动恢复正常。
需要指出的是,上述唤醒方法有另一种实现方式——来自上层应用的唤醒,主要实现过程如下:
上层应用程序发起与虚拟接口的业务请求,请求命令到达USB转串口驱动, USB转串口驱动向USB Hub发出恢复设备到工作状态的请求,USB Hub向USBModem设备发出clear feature,以唤醒USB Modem设备,USB Modem设备收到所述clear feature后恢复到工作状态,即进入正常状态D0状态。USB Hub完成IRP后,USB转串口驱动的完成例程被调用以确定IRP完成。确定IRP完成后,USB转串口驱动通知多路复用驱动恢复到工作状态,多路复用驱动通知各个虚拟接口驱动恢复正常。
对于上述的各实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述即可。以上所述,仅为本发明的较佳实施例而已,只是用来说明和解释本发明,并非用于限定本发明的保护范围。在本发明的精神和权利要求保护范围之内,对本发明所作的任何修改、等同替换,都落入本发明的保护范围。
Claims (8)
1.一种实现USB Modem设备节电的装置,其特征在于,包括:个人计算机和USB Modem设备;其中,
个人计算机,定时检测是否允许进入选择性挂起,并在允许时向USB Modem设备发送进入选择性挂起状态指令,通知USB Modem设备进入选择性挂起状态;
USB Modem设备,收到进入选择性挂起状态指令后,进入选择性挂起状态;
所述个人计算机包括:多路复用驱动、虚拟接口驱动、USB转串口驱动及USB Hub;其中,
多路复用驱动,用于将单个USB物理接口虚拟成多个接口,接收并判断是否所有的虚拟接口驱动都发送了设备控制命令,以及在所有的虚拟接口驱动都发送了所述设备控制命令时向下层的USB转串口驱动转发来自虚拟接口驱动的设备控制命令;
虚拟接口驱动,用于定时检测是否允许进入选择性挂起,并在允许时向多路复用驱动下发设备控制命令;
USB转串口驱动,用于接收并向USB Hub转发所述设备控制命令;
USB Hub,用于收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令,通知USB Modem设备进入选择性挂起状态。
2.根据权利要求1所述的实现USB Modem设备节电的装置,其特征在于,
所述USB Hub还用于:接收来自USB Modem设备或上层应用的唤醒请求,并向USB Modem设备发送USB远程唤醒命令使其进入正常工作状态;以及完成I/O请求包;
USB转串口驱动还用于:提供完成例程以确定I/O请求包完成,并通知多路复用驱动恢复正常工作;
多路复用驱动还用于:通知各个虚拟接口驱动恢复正常工作。
3.一种实现USB Modem设备节电的方法,其特征在于,包括:
采用多路复用协议将单个USB物理接口虚拟成多个接口,虚拟接口驱动定时检测是否允许进入选择性挂起,如果不允许,则处理收到的来自应用程序的请求;如果允许,则向多路复用驱动下发设备控制命令;
多路复用驱动接收所述设备控制命令,并在所有的虚拟接口驱动都发送了设备控制命令时向下层的USB转串口驱动转发所述设备控制命令;USB转串口驱动接收并向USB Hub转发设备控制命令;USB Hub收到所述设备控制命令后向USB Modem设备发送进入选择性挂起状态指令;
USB Modem设备收到所述进入选择性挂起状态指令后,进入选择性挂起状态。
4.根据权利要求3所述的实现USB Modem设备节电的方法,其特征在于,还包括:将单个USB物理接口虚拟成多个接口,为:
采用多路复用协议将单个USB物理接口非复合设备虚拟成多个接口的复合设备。
5.根据权利要求3所述的实现USB Modem设备节电的方法,其特征在于,所述定时检测是否允许进入选择性挂起为:
虚拟接口驱动检测虚拟接口在设置的一定时间内是否有数据的读或写操作,若无任何数据的读或写操作,则判定为该虚拟接口允许进入选择性挂起;否则,不允许该虚拟接口进入选择性挂起;
该虚拟接口驱动为USB Modem设备对应的设备驱动程序,用于转换和模拟应用程序对虚拟接口的操作。
6.根据权利要求3所述的实现USB Modem设备节电的方法,其特征在于,所述多路复用驱动向下层的USB转串口驱动发送所述设备控制命令之前,还包括:
判断是否所有的虚拟接口驱动都发送了所述设备控制命令,如果不是,则继续等待,直到所有的虚拟接口驱动都发来所述设备控制命令;如果所有的虚拟接口驱动都发送了所述设备控制命令,则向下层的USB转串口驱动发送所述设备控制命令。
7.根据权利要求3、4或5所述的实现USB Modem设备节电的方法,其特征在于,所述USB Modem设备进入选择性挂起状态后,还包括:
有业务请求时唤醒USB Modem设备,为:
USB Hub收到USB Modem设备或上层应用的唤醒请求后,向USB Modem设备发送USB远程唤醒命令使其进入正常工作状态,完成I/O请求包并通知USB转串口驱动I/O请求包完成;
USB转串口驱动的完成例程被调用以确定I/O请求包完成,并通知多路复用驱动恢复正常工作;
多路复用驱动恢复正常工作并通知各个虚拟接口驱动恢复正常工作。
8.根据权利要求7所述的实现USB Modem设备节电的方法,其特征在于,所述USB Hub收到USB Modem设备或上层应用的唤醒请求为:
USB Modem设备接收到业务请求后,发送USB唤醒信号到USB Hub;或者,
上层应用开始业务请求,业务请求命令到达USB转串口驱动,USB转串口驱动向USB Hub发出恢复设备到工作状态的请求。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100916286A CN101630191B (zh) | 2009-08-26 | 2009-08-26 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
US13/391,780 US8738953B2 (en) | 2009-08-26 | 2010-04-22 | Power-saving device for universal serial bus modem apparatus and method thereof |
ES10811142.8T ES2437466T3 (es) | 2009-08-26 | 2010-04-22 | Dispositivo de ahorro de energía para aparato de módem con bus serie universal y su método |
EP10811142.8A EP2458473B1 (en) | 2009-08-26 | 2010-04-22 | Power-saving device for universal serial bus modem apparatus and method thereof |
PCT/CN2010/072060 WO2011022976A1 (zh) | 2009-08-26 | 2010-04-22 | 一种通用串行总线调制解调器设备的节电装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100916286A CN101630191B (zh) | 2009-08-26 | 2009-08-26 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101630191A CN101630191A (zh) | 2010-01-20 |
CN101630191B true CN101630191B (zh) | 2011-08-24 |
Family
ID=41575321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100916286A Expired - Fee Related CN101630191B (zh) | 2009-08-26 | 2009-08-26 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8738953B2 (zh) |
EP (1) | EP2458473B1 (zh) |
CN (1) | CN101630191B (zh) |
ES (1) | ES2437466T3 (zh) |
WO (1) | WO2011022976A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630191B (zh) * | 2009-08-26 | 2011-08-24 | 中兴通讯股份有限公司 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
CN101833367A (zh) * | 2010-03-24 | 2010-09-15 | 中兴通讯股份有限公司 | 实现cmmb设备低功耗的方法及装置 |
EP2388951B1 (en) * | 2010-05-17 | 2017-08-09 | Nxp B.V. | Network |
GB201010674D0 (en) * | 2010-06-24 | 2010-08-11 | Avin Electronics Ltd | Power control module |
CN101917780B (zh) * | 2010-08-11 | 2015-05-20 | 中兴通讯股份有限公司 | 无线通信终端网络设备功能的实现方法及装置 |
CN102081581B (zh) * | 2010-10-01 | 2013-10-30 | 威盛电子股份有限公司 | 电源管理系统及方法 |
CN102645965A (zh) * | 2011-02-12 | 2012-08-22 | 中兴通讯股份有限公司 | 带u盘功能的usb数据卡进入休眠状态的方法、系统及装置 |
CN102761825B (zh) * | 2011-04-25 | 2017-11-07 | 中兴通讯股份有限公司 | 信息通知方法及基站、业务获取方法、系统及ue |
TWI482026B (zh) * | 2012-02-07 | 2015-04-21 | Etron Technology Inc | 低耗電的usb3.0主控制裝置與降低usb3.0主控制裝置耗電的方法 |
CN103677197B (zh) | 2012-08-30 | 2017-08-25 | 中兴通讯股份有限公司 | Usb数据传输系统的省电方法及装置 |
KR20140140438A (ko) | 2013-05-29 | 2014-12-09 | 삼성전자주식회사 | Usb 유휴 상태 대기 시간을 동적으로 조절하는 usb 시스템 및 그 동작방법 |
US9740643B2 (en) * | 2013-06-20 | 2017-08-22 | Apple Inc. | Systems and methods for recovering higher speed communication between devices |
CN106354677A (zh) * | 2016-08-25 | 2017-01-25 | 广州御银自动柜员机科技有限公司 | 一种usb hub |
CN106383794A (zh) * | 2016-09-18 | 2017-02-08 | 合肥联宝信息技术有限公司 | 一种串口和usb 端口的复用方法和电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100439723B1 (ko) * | 2001-11-06 | 2004-07-12 | 삼성전자주식회사 | 휴대용 컴퓨터 |
US7337338B2 (en) * | 2004-01-16 | 2008-02-26 | Dell Products L.P. | Information handling system capable of operation in reduced power states |
JP2005216117A (ja) | 2004-01-30 | 2005-08-11 | Sony Corp | 情報処理システムおよび方法、情報処理装置および方法、並びに、プログラム |
US7702825B2 (en) * | 2005-06-29 | 2010-04-20 | Intel Corporation | Enhancements to universal serial bus (USB) suspend and resume operations |
US8284768B2 (en) * | 2005-10-06 | 2012-10-09 | Sierra Wireless, Inc. | Dynamic bus-based virtual channel multiplexing device driver architecture |
US7490255B2 (en) * | 2006-06-30 | 2009-02-10 | Intel Corporation | Power efficient flow control model for USB asynchronous transfers |
KR100752135B1 (ko) * | 2006-09-15 | 2007-08-27 | 삼성전자주식회사 | 휴대용 단말기에서 절전 모드 관리를 위한 장치 및 방법 |
CN101281418B (zh) | 2007-04-03 | 2012-03-14 | 瑞昱半导体股份有限公司 | 设定通用串行总线设备的方法及计算机可读取的记录媒体 |
US20090006690A1 (en) * | 2007-06-27 | 2009-01-01 | Balaji Vembu | Providing universal serial bus device virtualization with a schedule merge from multiple virtual machines |
US8255708B1 (en) * | 2007-08-10 | 2012-08-28 | Marvell International Ltd. | Apparatuses and methods for power saving in USB devices |
KR101441686B1 (ko) * | 2007-10-23 | 2014-11-03 | 엘지전자 주식회사 | 무선모뎀 시스템 및 이를 이용한 통신망 접속방법 |
JP2009187368A (ja) * | 2008-02-07 | 2009-08-20 | Hitachi Ltd | Usbポートの共有制御方法 |
CN101308399B (zh) | 2008-06-23 | 2010-07-07 | 北京中星微电子有限公司 | 通用串行总线设备选择休眠的实现方法及相关的装置 |
US8078768B2 (en) * | 2008-08-21 | 2011-12-13 | Qualcomm Incorporated | Universal Serial Bus (USB) remote wakeup |
CN101498964B (zh) * | 2009-02-04 | 2011-08-10 | 华为终端有限公司 | 无线调制解调装置、系统和休眠/唤醒方法以及终端 |
CN101630191B (zh) | 2009-08-26 | 2011-08-24 | 中兴通讯股份有限公司 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
-
2009
- 2009-08-26 CN CN2009100916286A patent/CN101630191B/zh not_active Expired - Fee Related
-
2010
- 2010-04-22 WO PCT/CN2010/072060 patent/WO2011022976A1/zh active Application Filing
- 2010-04-22 ES ES10811142.8T patent/ES2437466T3/es active Active
- 2010-04-22 US US13/391,780 patent/US8738953B2/en not_active Expired - Fee Related
- 2010-04-22 EP EP10811142.8A patent/EP2458473B1/en not_active Not-in-force
Also Published As
Publication number | Publication date |
---|---|
CN101630191A (zh) | 2010-01-20 |
EP2458473A4 (en) | 2013-03-20 |
US20120151239A1 (en) | 2012-06-14 |
ES2437466T3 (es) | 2014-01-10 |
EP2458473B1 (en) | 2013-10-02 |
EP2458473A1 (en) | 2012-05-30 |
US8738953B2 (en) | 2014-05-27 |
WO2011022976A1 (zh) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630191B (zh) | 一种实现通用串行总线调制解调器设备节电的装置及方法 | |
US8332676B2 (en) | Methods of preparing a power saving state, universal serial bus device and universal serial bus host | |
CN102104936B (zh) | 系统状态切换方法及便携终端 | |
CN102799550B (zh) | 基于芯片间高速接口hsic的唤醒、热插拔方法和设备 | |
JP2001242965A (ja) | コンピュータシステム、情報処理装置、及び電源供給システム | |
CN103092701A (zh) | 一种通信方法、装置及电子设备 | |
KR20110049121A (ko) | 디바이스 활성화 방법 및 장치 | |
US9128891B2 (en) | Method, mobile terminal and computer program product for sharing storage device | |
CN105446916B (zh) | Usb总线状态切换方法及装置 | |
TW201351156A (zh) | 電子裝置及其控制方法 | |
WO2013002838A1 (en) | Power management module for usb devices | |
CN1992611B (zh) | 移动计算装置及其接收数据包的方法 | |
EP2674833B1 (en) | Method, system and device for a usb data card with u disk function to enter sleep state | |
WO2016045363A1 (zh) | Cpu通过hsic总线接口控制wifi模块的方法 | |
CN103473194A (zh) | 电子装置及其控制方法 | |
EP4451091A1 (en) | Data processing method and electronic device | |
CN103577359B (zh) | 支持双主控装置存取接口装置的系统及其电源管理方法 | |
CN118260114B (zh) | 一种嵌入式Linux系统控制方法、装置及系统和采集设备 | |
US9678557B2 (en) | Electricity saving method for USB data transmission system and host device | |
CN101281418A (zh) | 设定通用串行总线设备的方法及计算机可读取的记录媒体 | |
CN119536091A (zh) | 一种控制方法、控制电路及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 Termination date: 20170826 |
|
CF01 | Termination of patent right due to non-payment of annual fee |