与主机端通信的方法、装置及移动终端
技术领域
本发明属于通信技术领域,尤其涉及一种与主机端通信的方法、装置及移动终端。
背景技术
通用串行总线(Universal Serial Bus,USB)是一种外部总线标准,广泛用于设备之间的连接和通信。
然而,在实现本发明过程中,发明人发现现有技术提供的移动终端至少存在如下问题:
USB的正常供电电压是5V,但是在实际应用中,默认插上USB线后,主机端会对移动终端充电,那么到达移动终端的供电电压肯定会拉低,如果该供电电压小于主机端与移动终端之间进行正常通信时所需要的电压值,就可能会导致USB数据通信中断出错。
以供电电压5V为例,通过如下公式我们可知,U=5-I*R,其中U为移动终端的电压,R为主机端以及传输线的电阻,是一个固定值,那么电流I(电流I可以调节)越大,U值就会越小。可以看出,如果充电电流较大,那么就会导致U很小,如果此时主机端与移动终端之间进行USB数据通信,就容易出现通信问题,比如说连接时断时续,USB不识别等等。
在实现生活中,主机端的供电能力各异,USB线内阻也不同,如果主机端的供电功率不足,就很有可能导致移动终端的电压不足,移动终端和主机端之间的通信失败。
举个例子,很多用户反馈,有一个车联网技术(carnet),通过USB线将移动终端与车机连接,移动终端上的百度地图就可以投射到车机上面。然而,车机一般都无法提供大电流,移动终端如果从车机上吸取电流进行充电就会导致移动终端的USB电压较低,与主机端的连接就不稳定,出现数据传输的问题,这种现象在有车一族中经常碰到。
发明内容
有鉴于此,本发明实施例提供一种与主机端通信的方法、装置及移动终端,以解决现有技术提供的移动终端,与主机端通过USB线连接时,如果主机端的供电功率不足,很有可能导致移动终端的电压不足,造成移动终端和主机端之间的通信失败的问题。
第一方面,提供一种与主机端通信的方法,包括:
与主机端通过USB线建立USB连接;
在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;
在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;
在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
结合第一方面,在第一方面的第一种可能的实现方式中,所述预设的通信电压阈值是移动终端与主机端正常进行数据通信时的最小电压。
结合第一方面或者结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值之后,还包括:
在所述移动终端输出电压不小于预设的通信电压阈值时,继续以预设的电流增量逐步增大移动终端的充电电流,直至在移动终端输出电压小于预设的通信电压阈值。
第二方面,提供一种与主机端通信的装置,包括:
连接单元,用于与主机端通过USB线建立USB连接;
第一电流增大单元,用于在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;
电压判断单元,用于在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;
电流减少单元,用于在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
结合第二方面,在第二方面的第一种可能的实现方式中,所述预设的通信电压阈值是移动终端与主机端正常进行数据通信时的最小电压。
结合第二方面或者结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置,还包括:
第二电流增大单元,用于在移动终端输出电压不小于预设的通信电压阈值时,继续以预设的电流增量逐步增大移动终端的充电电流,直至在移动终端输出电压小于预设的通信电压阈值。
第三方面,提供一种移动终端,所述移动终端包括如第二方面所述的与主机端通信的装置。
结合第三方面,在第三方面的第一种可能的实现方式中,所述移动终端为智能手机或平板电脑。
在本发明实施例,实现了根据移动终端输出电压动态调节移动终端的充电电流,可以为移动终端选择一个最为合适的充电电流,使得主机端既可以为移动终端充电,也可以与移动终端进行正常的数据通信。克服了现有技术提供的移动终端,与主机端通过USB线连接时,如果主机端的供电功率不足,很有可能导致移动终端的电压不足,造成移动终端和主机端之间的通信失败的问题。
附图说明
图1是本发明与主机端通信的方法实施例的实现流程图;
图2是本发明与主机端通信的装置实施例的结构框图;
图3是本发明移动终端实施例的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的与主机端通信的方法的实现流程,详述如下:
在步骤S101中,与主机端通过USB线建立USB连接。
在本发明实施例中,通过USB线连接移动终端与主机端,主机端进行枚举遍历,从而识别移动终端是否连接到主机端。
在步骤S102中,在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流。
在本发明实施例中,由于主机端的输出功率是一定的,因此需要固定的电压来实现主机端与移动终端的正常数据通信,根据公式P=U*I,主机端的最大输出电流可以计算出来。从上述公式可以看出,如果此时移动终端申请的充电电流过大,那么很容易将主机端的电压U拉低,如果主机端的电压U低于设定值,那么主机端与移动终端的通信可能就会失败,此时需要重新调整充电电流。其中,该设定值为预设的通信电压阈值,是移动终端与主机端正常进行数据通信时的最小电压。
根据公式,U=5-I*R以及P=U*I,不同平台(高通平台,MTK平台等)对于USB正常通信的最低电压的设置也是有区别的,在此以移动终端的电压U为4.3V为例,考虑到线路的损耗,以及功率转换的损耗,本发明实施例中,将该电压提升到4.5V,那么当主机端枚举到移动终端的时候,主机端即可与移动终端建立USB数据通信,如果主机端未开启充电功能,则开启充电功能,移动终端从小到大设置充电电流,并适时检测移动终端的电压,使该电压不超过预设的通信电压阈值。
在本发明实施例中,提前预设一个初始充电电流和一个电流增量,移动终端以预设的电流增量逐步增大移动终端的充电电流。其中,预设的初始充电电流为100ma,预设的电流增量为50ma。移动终端可以先设置充电电流为100ma,再在该初始充电电流的基础上逐步增大移动终端的充电电流,每次增加50ma。
在步骤S103中,在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值。
在本发明实施例中,在移动终端的充电电流增加一个预设电流增量后,移动终端获取一个对应的移动终端输出电压,并判断该输出电压是否小于预设的通信电压阈值。每次增加一个预设电流增量后,均要获取一个对应的移动终端输出电压,并判断获取到的输出电压是否小于预设的通信电压阈值。
在步骤S104中,在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
在本发明实施例中,当通过步骤S103判断获取到的移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
比如,移动终端先设置充电电流为100ma,然后检测移动终端的电压,如果该电压超过4.5V,说明该充电电流可以支持移动终端与主机端的正常通信,那么继续提高充电电流,假设充电电流提升步进50ma,当移动终端的电压在4.5V以下,那么会退到上一个电流档位。比如,充电电流为200ma时,移动终端的电压在4.5V以下,则设置移动终端的充电电流为200ma减去50ma,即设置移动终端的充电电流为150ma。
优选地,在本发明实施例中,在移动终端输出电压不小于预设的通信电压阈值时,继续以预设的电流增量逐步增大移动终端的充电电流,直至移动终端输出电压小于预设的通信电压阈值。
本实施例,在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。实现了根据移动终端输出电压动态调节移动终端的充电电流,可以为移动终端选择一个最为合适的充电电流,使得主机端既可以为移动终端充电,也可以与移动终端进行正常的数据通信。克服了现有技术提供的移动终端,与主机端通过USB线连接时,如果主机端的供电功率不足,很有可能导致移动终端的电压不足,造成移动终端和主机端之间的通信失败的问题。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图2示出了本发明实施例二提供的与主机端通信的装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该与主机端通信的装置2可以是内置于移动终端中的软件单元、硬件单元或者软硬件结合的单元,该与主机端通信的装置2包括:连接单元21、第一电流增大单元22、电压判断单元23和电流减少单元24。
其中,连接单元21,用于与主机端通过USB线建立USB连接;
第一电流增大单元22,用于在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;
电压判断单元23,用于在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;
电流减少单元24,用于在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
具体的,所述预设的通信电压阈值是移动终端与主机端正常进行数据通信时的最小电压。
进一步地,所述装置2,还包括:
第二电流增大单元,用于在移动终端输出电压不小于预设的通信电压阈值时,继续以预设的电流增量逐步增大移动终端的充电电流,直至移动终端输出电压小于预设的通信电压阈值。
本发明实施例提供的与主机端通信的装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
实施例三
图3示出了本发明实施例三提供的移动终端的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该移动终端3可以为智能手机或平板电脑,包括实施例二中所述的与主机端通信的装置2,该与主机端通信的装置2包括:连接单元21、第一电流增大单元22、电压判断单元23和电流减少单元24。
其中,连接单元21,用于与主机端通过USB线建立USB连接;
第一电流增大单元22,用于在预设的初始充电电流的基础上,以预设的电流增量逐步增大移动终端的充电电流;
电压判断单元23,用于在移动终端的充电电流每增加一个预设的电流增量时,获取一个对应的移动终端输出电压,同时判断所述移动终端输出电压是否小于预设的通信电压阈值;
电流减少单元24,用于在所述移动终端输出电压小于预设的通信电压阈值时,设置移动终端的充电电流为移动终端的当前充电电流减去一个预设的电流增量,以保证移动终端与主机端的正常数据通信。
具体的,所述预设的通信电压阈值是移动终端与主机端正常进行数据通信时的最小电压。
进一步地,所述装置2,还包括:
第二电流增大单元,用于在移动终端输出电压不小于预设的通信电压阈值时,继续以预设的电流增量逐步增大移动终端的充电电流,直至移动终端输出电压小于预设的通信电压阈值。
本发明实施例提供的移动终端可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。