外接设备实现方法、装置、终端及存储介质与流程

文档序号:17489256发布日期:2019-04-23 20:17阅读:243来源:国知局
外接设备实现方法、装置、终端及存储介质与流程

本发明实施例涉及电子技术领域,尤其涉及一种外接设备实现方法、装置、终端及存储介质。



背景技术:

随着科技的发展,on-the-go(otg)功能逐渐普及,通过otg功能,用户可以将手机或平板等终端与通用串行总线(universalserialbus,usb)存储设备连接,进行数据交换,还可以连接键盘、鼠标或其它外部设备将其作为终端的输入设备。

由于终端的otg功能接口与充电功能接口为同一个接口,otg功能与充电功能无法同时使用;并且在使用otg功能的过程中,需要终端为其连接的usb设备供电,使得终端的功耗增大,很容易导致用户不得不停止使用otg功能,为终端进行充电,用户体验较差。



技术实现要素:

本发明实施例提供一种外接设备实现方法、装置、终端及存储介质,以实现终端可以同时兼顾其otg功能和充电的效果,避免因接入外接设备导致终端电量急剧下降的现象。

第一方面,本发明实施例提供了一种外接设备实现方法,该方法包括:

检测终端usb信号线中的电源线上的电源电压信号,如果所述电源电压信号满足预设条件,则开启充电模式;

检测所述终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报所述终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

第二方面,本发明实施例还提供了一种外接设备实现装置,该装置包括:

电源电压信号检测模块,用于检测终端usb信号线中的电源线上的电源电压信号;

usbid信号检测模块,用于检测所述终端usb信号线中的id线上是否存在usbid信号;

第一处理模块,用于在所述电源电压信号检测模块检测到所述电源电压信号满足预设条件时开启充电模式,并在所述usbid信号检测模块检测到存在usbid信号时,上报所述终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

第三方面,本发明实施例还提供了一种终端,该终端包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的外接设备实现方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的外接设备实现方法。

本发明实施例通过首先检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式,然后检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,使得终端与外接设备进行数据传输,解决了现有技术中终端不能同时兼顾otg功能与充电的问题,实现了终端在充电过程中同时基于其otg功能与外接设备进行数据传输的效果,同时解决了因接入外接设备导致终端电量急剧下降的问题,保证了数据传输质量。

附图说明

图1是本发明实施例一提供的外接设备实现方法的流程示意图;

图2是本发明实施例二提供的外接设备实现方法的流程示意图;

图3是本发明实施例三提供的外接设备实现方法的流程示意图;

图4是本发明实施例四提供的外接设备实现装置的结构示意图;

图5是本发明实施例五提供的一种终端的结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的外接设备实现方法的流程示意图,本实施例可适用于在使用终端otg功能的过程中同时为终端充电的情况,该方法可以由外接设备实现装置来执行,该装置可以由软件和/或硬件的方式实现,并可集成在支持otg功能的终端中,例如支持otg功能的手机或平板电脑等智能设备。

如图1所示,本实施例提供的外接设备实现方法可以包括:

s101、检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式。

本实施例中支持otg功能的终端可以通过一个usb接口同时连接至少两种外接设备,例如,终端首先通过其usb接口连接具有数据存储功能的外接设备,然后外部供电电源通过此外接设备与终端连接。通过检测终端usb信号线中的信号,终端可以识别出不同的外接设备。在信号检测过程中,首先检测终端usb信号线中的电源线上的电源电压信号,并根据该电源电压信号是否满足预设条件,确定终端是否开启充电模式。其中,预设条件是指检测到的电源电压信号处于终端充电的规范电源电压信号范围内,规范电源电压信号范围可以根据终端能够承受的安全电压区间进行设置。例如,如果检测到的电源电压信号处于4.5v-5.5v之间,则认为外部供电电源接入终端,终端发起软中断以开启充电模式,基于充电协议利用外部供电电源提供的电能进行充电。

本实施方案中的终端支持usb快充协议,例如quickcharge与usbpowerdelivery等协议,可以实现快速充电。

s102、检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

终端开启充电模式后,继续检测其usb信号线中的id线上是否存在usbid信号,如果usbid信号存在,则说明终端的otg功能开启。此时,向终端系统上报终端为主设备,外接设备为从设备,其中,该终端系统即指支持otg功能的终端的处理系统。然后,通过终端与外接设备建立的通信通道对外接设备进行usb枚举,即对外接设备进行枚举配置,例如执行获取端口状态(getportstatus),配置外接设备地址(setaddress),解析外接设备的描述符和挂载驱动等一系列操作,使得终端可以识别出外接设备,并进行数据传输。

本实施例的技术方案中,在终端处于充电状态并检测到usbid信号的情况下,仍向终端系统上报终端为主设备,让终端系统以为当前只有外接设备接入,从而使得开启otg功能和让外部电源为终端充电的同时进行成为可能,确保在此情况下终端与外接设备的连接不会中断,可以继续基于终端的otg功能与外接设备进行数据传输,使得在进行数据传输的同时为终端充电的操作。

需要说明的是,在现有技术中,对终端usb接入情况的检测顺序为:首先检测终端的usbid信号,确定出主设备(a-device)和从设备(b-device),例如,通常将otg设备使用插头中的id线引脚接地的设备称为主设备,将id线引脚悬空的设备称为从设备;然后主动启用主设备usb信号线中的电源线,使得主设备为从设备供电。然而,在本实施例中,首先检测终端usb信号线中的电源线上的电源电压信号;然后在终端充电模式下检测到终端usb信号线中的id线上存在usbid信号时,向终端系统上报终端为主设备,但实际上此时的终端并不向外供电,因此,相比于现有技术,可以认为本实施例中向终端系统上报终端为主设备的操作属于一种“虚报”操作。

通过区别于现有技术的电源电压信号和usbid信号检测顺序以及关于主设备的虚报操作,保证了终端充电与终端otg功能的同时运行。如果信号检测顺序变化或者缺少“虚报”操作,终端通过usb接口与外接设备和外部供电电源的连接将变为常规连接,即普通充电连接和普通otg连接。

可选的,该方法还包括:

在与外接设备进行数据传输过程中,实时监测电源电压信号;

当电源电压信号不满足预设条件时,则继续执行检测终端usb信号线中的电源线上的电源电压信号的操作。

通过数据传输过程中实时监测电源电压信号,可以及时发现外部供电电源与终端是否正常连接,终端充电是否正常执行,避免数据传输过程中终端功耗消耗较大,电量急剧下降,数据传输被迫终止,影响数据传输质量和效率。

示例性的,外部供电电源通过外接设备a接入终端的usb接口,在外接设备a与终端进行数据传输的过程中,外部供电电源与终端的连接发生中断,例如外部供电电源被移出,此时,终端usb信号线中的电源线上的电源电压信号较低,不满足预设条件,则再次执行检测终端usb信号线中的电源线上的电源电压信号的操作,直至检测到的电源电压信号满足预设条件时开启终端充电模式。其中,关于再次执行检测终端usb信号线中的电源线上的电源电压信号,可以是根据预设的时间周期进行间隔检测,或者根据预设的检测时间进行定时检测;还可以是当外部供电电源通过外接设备a与终端重新连接时,向终端发送充电请求信号,该充电请求信号用于指示终端开启充电模式,当终端收到该充电请求信号后,则检测终端usb信号线中的电源线上的电源电压信号。相比于实时检测电源电压信号,通过上述间隔检测、定时检测或者充电请求信号触发检测,可以在一定程度上减少外部供电电源与终端的连接发生中断之后终端的耗电量。

此外,外部供电电源被移出后,外部供电电源与外接设备a的连接断开,但是外接设备a与终端的连接并未发生中断,终端usb信号线中的id线上仍存在usbid信号,终端为主设备的角色未发生变化,因此,终端与外接设备a之间仍可进行正常的数据传输,终端的otg功能保持开启状态。

本实施例技术方案通过首先检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式,然后检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,使得终端与外接设备进行数据传输。由于在实现数据传输后,上报终端为主设备,且未断开终端的充电连接,因而解决了现有技术中终端不能同时兼顾otg功能与充电的问题,实现了终端在充电过程中同时基于其otg功能与外接设备进行数据传输的效果,同时解决了因接入外接设备导致终端电量急剧下降的问题,保证了数据传输质量。

实施例二

图2是本发明实施例二提供的外接设备实现方法的流程示意图,本实施例是在上述实施例的基础上进一步进行扩展与优化。如图2所示,该方法可以包括:

s201、检测终端usb信号线中的电源线上的电源电压信号。

s202、判断电源线电压是否满足预设条件。

若满足,则执行s203,若不满足,则执行s204。

s203、开启充电模式,并检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则向终端系统上报终端为主设备后进行usb枚举,使得终端与外接设备进行数据传输。

s204、检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则开启电源电压信号后进行usb枚举,以便终端与外接设备进行数据传输。

当初始检测到的电源电压信号不满足预设条件时,可以认为此时终端没有接入外部供电电源,此时,终端与外接设备的连接属于常规连接方式,即在数据传输过程中,终端可以向外接设备供电。因此,当检测到终端usb信号线中的id线上存在usbid信号时,开启电源电压信号后再对外接设备进行usb枚举,可以实现终端向外接设备供电。

可选的,该方法还包括:

在与外接设备进行数据传输过程中,实时监测电源电压信号;

当电源电压信号满足预设条件时,则继续执行检测终端usb信号线中的电源线上的电源电压信号的操作。

示例性的,在初始阶段,终端中只接入了外接设备而没有接入外部供电电源,但是在数据传输过程中,外部供电电源通过终端当前连接的外接设备与终端连接,如果检测到终端usb信号线中的电源线上的电源电压信号满足预设条件,则终端开启充电模式,进行充电。

本实施例技术方案中,如果检测到的终端usb信号线中电源线上的电源电压信号满足预设条件,则开启充电模式后继续检测终端的usbid信号;如果检测到的电源电压信号不满足预设条件,则直接检测终端的usbid信号,并在终端usb信号线中的电源线上开启电源电压信号后对外接设备进行枚举设置。在检测到的电源电压信号满足预设条件的情况下,由于在实现数据传输后,上报终端为主设备,且未断开终端的充电连接,因而解决了现有技术中终端不能同时兼顾otg功能与充电的问题,实现了终端在充电过程中同时基于其otg功能与外接设备进行数据传输的效果,同时解决了因接入外接设备导致终端电量急剧下降的问题,保证了数据传输质量;在未检测到的电源电压信号满足预设条件的情况下,终端与外接设备切换至常规连接方式,即终端与外接设备进行数据传输的同时,可以向外接设备供电,同样使得数据传输可以正常进行。

实施例三

图3为本发明实施例三提供的外接设备实现方法的流程示意图,在上述实施例的基础上进一步优化,如图3所示,该方法可以包括:

s301、检测终端usb信号线中的电源线上的电源电压信号。

s302、判断电源电压信号是否满足预设条件。

若满足,则执行s303;若不满足,则执行s304。

s303、开启充电模式,并执行s304。

s304、检测终端usb信号线中的id线上是否存在usbid信号。

如果是在开启充电模式后,检测到usbid信号,则执行s306,如果没有开启充电模式,直接检测到usbid信号,则执行s305;若没有检测到usbid信号,则执行s307。

s305、开启电源电压信号后进行usb枚举,以便与外接设备进行数据传输。

s306、上报终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

s307、结束当前检测操作。

此时,若终端已处于充电状态,仍继续充电。

s308、实时监测电源电压信号,并返回s302。

无论终端是否开启充电模式,在终端与外接设备进行数据传输的过程中,保持对电源电压信号的实时监测,确认外部供电电源与终端的连接情况。

本实施例技术方案通过依次检测终端usb信号线中的电源线上的电源电压信号和终端usb信号线中的id线上的usbid信号,识别出外接设备,并且,在终端与外接设备的数据传输过程中实时监测电源电压信号,重复执行检测电源电压信号和usbid信号,解决了现有技术中终端不能同时兼顾otg功能与充电的问题,实现了终端在充电过程中同时基于其otg功能与外接设备进行数据传输的效果,同时解决了因接入外接设备导致终端电量急剧下降的问题,保证了数据传输质量。

实施例四

图4是本发明实施例四提供的外接设备实现装置的结构示意图,本实施例可适用于在使用终端otg功能的过程中同时为终端充电的情况。该装置可以由软件和/或硬件的方式实现,并可集成在支持otg功能的终端中,例如支持otg功能的手机或平板电脑等智能设备。

本发明实施例提供的外接设备实现装置可执行本发明任意实施例所提供的外接设备实现方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意方法实施例的内容解释。

如图4所示,本实施例提供的外接设备实现装置可以包括电源电压信号检测模块410、usbid信号检测模块420和第一处理模块430,其中:

电源电压信号检测模块410,用于检测终端usb信号线中的电源线上的电源电压信号;

usbid信号检测模块420,用于检测终端usb信号线中的id线上是否存在usbid信号;

第一处理模块430,用于在电源电压信号检测模块410检测到电源电压信号满足预设条件时开启充电模式,并在usbid信号检测模块420检测到存在usbid信号时,上报终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

可选的,该装置还包括:

第二处理模块,用于在电源电压信号检测模块410检测到电源电压信号不满足预设条件,并且usbid信号检测模块420检测到存在usbid信号时,开启电源电压信号后进行usb枚举,以便与外接设备进行数据传输。

可选的,该装置还包括:

第一电源电压信号监测模块,用于在与外接设备进行数据传输过程中,实时监测电源电压信号,并且当电源电压信号不满足预设条件时,则转由电源电压信号检测模块410执行。

可选的,该装置还包括:

第二电源电压信号监测模块,用于在与外接设备进行数据传输过程中,实时监测电源电压信号,并且当电源电压信号满足预设条件时,则转由电源电压信号检测模块410执行。

本实施例技术方案通过首先检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式,然后检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,使得终端与外接设备进行数据传输。本实施技术方案在实现数据传输后,上报终端为主设备,且未断开终端的充电连接,解决了现有技术中终端不能同时兼顾otg功能与充电的问题,实现了在基于终端的otg功能与外接设备进行数据传输的过程中同时为终端充电的效果,同时解决了因接入外接设备导致终端电量急剧下降的问题,保证了数据传输质量。

实施例五

图5是本发明实施例五提供的一种终端的结构示意图。图5示出了适于用来实现本发明实施方式的示例性终端512的框图。图5显示的终端512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,终端512以通用终端的形式表现。终端512的组件可以包括但不限于:一个或者多个处理器516,存储装置528,连接不同系统组件(包括存储装置528和处理器516)的总线518。

总线518表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrysubversivealliance,isa)总线,微通道体系结构(microchannelarchitecture,mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnect,pci)总线。

终端512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储装置528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)530和/或高速缓存存储器532。终端512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘,例如只读光盘(compactdiscread-onlymemory,cd-rom),数字视盘(digitalvideodisc-readonlymemory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储装置528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储装置528中,这样的程序模块542包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。

终端512也可以与一个或多个外部设备514(例如键盘、指向终端、显示器524等)通信,还可与一个或者多个使得用户能与该终端512交互的终端通信,和/或与使得该终端512能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口522进行。并且,终端512还可以通过网络适配器520与一个或者多个网络(例如局域网(localareanetwork,lan),广域网(wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图5所示,网络适配器520通过总线518与终端512的其它模块通信。应当明白,尽管图中未示出,可以结合终端512使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)系统、磁带驱动器以及数据备份存储系统等。

处理器516通过运行存储在存储装置528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的外接设备实现方法,该方法可以包括:

检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式;

检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

在其他实施例中,处理器516通过运行存储在存储装置528中的程序,从而执行各种功能应用以及数据处理,还可以实现上述任意实施例所提供的外接设备实现方法。

实施例六

本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的外接设备实现方法,该方法可以包括:

检测终端usb信号线中的电源线上的电源电压信号,如果电源电压信号满足预设条件,则开启充电模式;

检测终端usb信号线中的id线上是否存在usbid信号,如果存在usbid信号,则上报终端为主设备后进行usb枚举,以便与外接设备进行数据传输。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1