首页> 中国专利> 基于计算机对苹果公司移动设备充电的控制方法

基于计算机对苹果公司移动设备充电的控制方法

摘要

本发明提供一种基于计算机对苹果公司移动设备充电的控制方法,包括步骤:A、识别出与计算机USB接口连接的各苹果公司的移动设备;B、为所述各移动设备生成不同的充电指令;C、将所述充电指令转化为所述移动设备可识别的厂商请求,并通过各USB接口传输至相应的移动设备;D、所述移动设备通过其USB固件程序解析所接收的厂商请求,对其主板上的可编程电源管理芯片进行编程调整锂电池组内阻以调整充电电流。由上,检测到移动设备与计算机USB接口连接后,可通过不同的充电指令对应改变各苹果移动设备的内阻,从而实现调整其充电电流,以实现灵活控制其充电速度。

著录项

  • 公开/公告号CN104578321A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 北京暴风科技股份有限公司;

    申请/专利号CN201510050231.8

  • 发明设计人 陈明;赵军;张文斐;

    申请日2015-01-30

  • 分类号H02J7/00(20060101);

  • 代理机构北京华夏正合知识产权代理事务所(普通合伙);

  • 代理人韩登营;张焕亮

  • 地址 100191 北京市海淀区学院路51号首享科技大厦13层

  • 入库时间 2023-12-18 08:30:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-02

    专利权的保全 IPC(主分类):H02J7/00 授权公告日:20170613 登记生效日:20190705 申请日:20150130

    专利权的保全及其解除

  • 2017-06-13

    授权

    授权

  • 2016-08-24

    著录事项变更 IPC(主分类):H02J7/00 变更前: 变更后: 申请日:20150130

    著录事项变更

  • 2015-05-27

    实质审查的生效 IPC(主分类):H02J7/00 申请日:20150130

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及移动设备充电技术领域,特别涉及一种基于计算机对苹果公司移动设备充电的控制方法。

背景技术

随着移动智能设备的普及,人们在享受到极大的便利的同时,也面临着电量消耗过快导致需要频繁充电的尴尬。为此,充电的方式便随之多样化,例如电源适配器、充电宝、计算机USB口等等。对于为数众多的坐班者而言,通过计算机USB口充电无疑是一个理想的选择,在为苹果公司(Apple Inc.)的移动设备(后文简称苹果移动设备)补充电量的同时,还可以通过各种应用(如iTunes)管理移动设备上的资源。

但影响苹果移动设备充电电流的因素较多,例如额定充电电流,iPad为2A,iPhone、iTouch为1A;又例如USB口的位置和类型,电脑前置面板的USB接口的最大电流输出能力小于后置面板上的USB接口,USB1.1、USB2.0接口的最大电流输出能力小于USB3.0接口。因此,假如用户将iPad插入计算机前置面板的USB口时,由于充电电流过小(0.5A),导致iPad提示“不在充电”。长时间如此,对苹果移动设备电池的寿命产生影响。

发明内容

本申请提供一种基于计算机对苹果公司移动设备充电的控制方法,检测到苹果移动设备与计算机USB接口连接后,通过控制苹果移动设备的充电管理芯片从而调整其锂电池组的内阻,以实现灵活控制其充电速度。

所述基于计算机对苹果公司移动设备充电的控制方法包括步骤:

A、识别出与计算机USB接口连接的各苹果公司的移动设备;

B、为所述各移动设备生成不同的充电指令;

C、将所述充电指令转化为所述移动设备可识别的厂商请求,并通过各USB接口传输至相应的移动设备;

D、所述移动设备通过其USB固件程序解析所接收的厂商请求,对其主板上的可编程电源管理芯片进行编程调整锂电池组内阻以调整充电电流。

由上,检测到移动设备与计算机USB接口连接后,可通过不同的充电指令对应改变各苹果移动设备的内阻,从而实现调整其充电电流,以实现灵活控制其充电速度。并且,可分别对连接于计算机USB接口的不同移动设备的充电速度进行控制,例如一部移动设备进入零充电模式,另一部移动设备最快速充电,使该设备独享该USB埠的输出电流,将充电速度调整到最快。

可选的,步骤B包括:根据不同移动设备所对应的不同的额定充电电流,为不同移动设备生成对应的不同充电电流的充电指令。

由上,通过对不同移动设备的额定充电电流,动态调配其充电电流,为不同移动设备充电,使其电池达到最佳利用率。

可选的,步骤B包括:根据用户通过所述计算机设置的对各移动设备的默认充电模式、指定的加速充电模式或零充电模式,为各所述移动设备生成对应的不同充电电流的充电指令。

可分别对连接于计算机USB接口的不同移动设备的充电速度进行控制,例如一部移动设备进入零充电模式,另一部移动设备最快速充电,使该设备独享该USB埠的输出电流,将充电速度调整到最快。

可选的,生成的所述充电电流的值根据移动设备当前已充电状态进行调整。

由上,使各移动设备的电池达到最佳利用率。例如在预充电、恒流充电、恒压充电等不同充电阶段分别调整充电电流,使电池工作环境达到最佳。

可选的,步骤B所述充电指令中包括物理设备对象名称、充电模式代码值;

步骤C所述将所述充电指令转化为所述移动设备可识别的厂商请求的步骤包括:

C1:建立驱动层与应用层通信的符号链接;

C2:通过所述符号链接,应用层将所述充电指令中的物理设备对象名称、充电模式代码值封装为一I/O请求包后传输到驱动层;

C3:驱动层解析所述I/O请求包,并根据其中的物理设备对象名称、充电模式代码值构建所述移动设备可识别的厂商请求。

可选的,所述步骤C2包括:

应用层构建一数据结构,将所述物理设备对象名称、充电模式代码值加载到该数据结构中;

将所创建的数据结构加载设备控制请求属性以及控制指令属性,并封装成一I/O请求包发送到所述符号链接中。

可选的,步骤C所述传输至相应的移动设备包括:

驱动层依据所述I/O请求包中的物理设备对象名称打开相应移动设备的物理设备对象;

构建另一I/O请求包,将所述厂商请求作为其参数;并将该I/O请求包传输至所述移动设备的物理设备对象。

可选的,步骤C3还包括:通过设备控制请求属性以及控制指令属性判断所述I/O请求包的合法性。

附图说明

图1为实现本发明方法的模块框图;

图2为本发明的流程图。

具体实施方式

基于现有技术的缺陷,本发明提供了一种基于计算机对苹果公司移动设备充电的控制方法。

图1所示为本发明的模块框图,包括相互连接的应用层11和驱动层12。其中,应用层11中包括:

苹果移动设备监测模块110,用于实时监控用户插入或移除苹果设备的操作,并识别所插入的苹果设备。

人机界面模块111,与所述苹果移动设备监测模块110连接,用于依据苹果移动设备监测模块110的识别结果向用户提供显示和操控界面,显示界面包括已识别出的若干苹果移动设备及各设备当前的充电状态;操控界面包括提示用户选择对已识别出的苹果设备进行充电模式选择,充电模式包括:维持原充电速度不变、充电加速或不进行充电等。

充电管理模块112,与人机界面模块111连接,用于通过自定义的协议建立应用层11与驱动层12的交互,依据用户的充电模式控制驱动层12对苹果设备进行充电,并且将苹果设备的充电状态接收并向人机界面模块111反馈。

驱动层12包括USB即插即用管理器121和充电驱动模块122。其中USB即插即用管理器121用于向通过USB接口与计算机连接的苹果移动设备加载底层驱动;充电驱动模块122用于当其接收到充电模式选择指令后,通过构建USB请求块(URB,USB Request Block)发送USB设备厂商请求给该苹果移动设备的USB固件程序响应。

苹果移动设备的USB固件程序通过操控苹果移动设备主板上的可编程电源管理芯片(如iPad2和iPad3可编程电源管理芯片的型号为PM8028)改变锂离子电池的内阻,从而改变充电电流,因计算机USB接口电压保持5V不变,对苹果移动设备的充电功率P=充电电压U*充电电流I,因此通过改变充电功率,实现对于充电的控制。

如图2所示,基于计算机USB接口下苹果移动设备的充电管理方法包括以下步骤:

步骤S10:识别与计算机USB接口连接的各苹果移动设备。

当用户将至少一部苹果移动设备插入计算机USB接口,苹果设备监测模块110对新插入的各苹果移动设备进行识别。苹果移动设备属于复合设备,即具有至少两种USB设备功能,每种设备功能具有一个对应的接口。复合设备通过USB接口接入计算机时,计算机的USB总线驱动程序将为每个接口创建一个物理设备对象(PDO)。在复合设备的多个接口中,主接口的设备范例ID是该设备的序列号描述符,其他接口的设备范例ID为零。通过上述方式识别主接口的物理设备对象。

如果在计算机中未安装苹果Itunes或苹果手机助手等软件,在Windows XP系统中,苹果移动设备被识别为图像设备,此时图像设备为主接口的设备;在Vista及其后续系统中,苹果移动设备被识别为便携设备,此时便携设备为主接口的设备。

此种情况下,驱动层12中的USB即插即用管理器121自动为该设备加载驱动程序并在驱动加载成功后向苹果移动设备监测模块110的隐藏窗口发送WM_DEVICECHANGE消息,苹果移动设备监测模块110通过扫描发现新插入的各苹果移动设备,并获取所扫描出的各苹果移动设备的信息。具体的,苹果移动设备监测模块110可通过如SetupAPI函数扫描当前连接的所有设备,获取每一部与计算机USB接口所连接设备的设备范例ID、生产厂商ID(Vendor ID)、产品ID(Product ID)。其中,苹果移动设备的设备范例ID为由40个数字或字母组成的字符串、生产厂商ID为“05AC”。苹果移动设备监测模块110获取上述信息后,通过判断设备范例ID的字符串长度(40)以及生产厂商ID(05AC)两个条件判断是否是苹果移动设备。当确定与计算机USB接口连接的是苹果移动设备后,得出当前已连接的苹果移动设备列表。苹果移动设备列表中反应各苹果移动设备的主接口的物理设备对象、设备范例ID、生产厂商ID以及产品ID信息等。

如果在计算机中已安装苹果Itunes或苹果手机助手等软件,在Windows XP系统中,苹果移动设备被识别为图像设备和通用串行总线控制器设备,此时通用串行总线控制器设备为主接口设备;在Vista及其后续系统中,苹果移动设备被识别为便携设备和通用串行总线控制器设备,此时通用串行总线控制器设备为主接口设备。

此种情况下,苹果移动设备监测模块110直接通过苹果Itunes或苹果手机助手等软件获取与计算机USB接口连接的苹果移动设备信息,包括主接口的物理设备对象、设备范例ID、生产厂商ID、产品ID,另外,还包括设备名称(如某某的iPad)、电池电量、IOS系统版本等信息。通过上述软件获取苹果移动设备信息的技术属于现有技术,不再详述。

苹果移动设备监测模块110将所获取的与计算机USB接口连接的苹果移动设备的信息转发至人机界面模块111进行显示。

步骤S20:对苹果移动设备下达充电指令。

人机界面模块111显示与计算机USB接口连接的各苹果移动设备的信息,并且,提示用户选择充电模式。所述充电模式包括:默认充电模式、加速充电模式和零充电模式。其中,默认充电模式下,计算机USB接口向苹果移动设备提供的充电电流与现有技术相同,即0.5A;加速充电模式下,最大可将iPad的充电电流增大到1.5A,此时充电速度提升为现有的三倍;最大可将iPhone、iTouch的充电电流增大到1.0A,此时充电速度提升为原来的两倍,当用户选择加速充电模式后,还可进一步选择加速速度;零充电模式下将设备的充电电流设置为0.0A,即不进行充电。

步骤S30:依据用户所选择的充电模式控制调整苹果移动设备的充电电流,实现充电管理。

人机界面模块111接收用户的充电模式选择后,对用户的选择进行识别,通过不同的代码值反应出充电模式。例如,代码值为0时,表示默认充电模式;代码值为0x1到0x7FFF时,表示加速充电模式,且值越大,充电电流越大;代码值为0x8000时,表示零充电模式。人机界面模块111将上文中所提到的所述主接口的物理设备对象以及代表充电模式的代码值传输至充电管理模块112。

充电管理模块112发送一启动命令至充电驱动模块122,启动命令如系统函数StartService等实现。充电驱动模块122被启动后,执行以下操作:

步骤S301:建立充电驱动模块122与充电管理模块112的通信的符号链接。

充电驱动模块122接收到启动命令后,创建一个逻辑意义上的设备对象,建立所创建的设备对象与充电管理模块112通信的符号链接,以使充电管理模块112可以通过该符号链接将应用层的I/O请求发送到该设备对象,实现应用层与驱动层的交互。所述I/O请求可通过预先设置的派遣函数进行处理,例如AppleChargeModeDispatch派遣函数。

步骤S302:充电管理模块112将充电模式指令加载到所述符号链接中。

充电管理模块112构建一数据结构,将主接口的物理设备对象以及代表充电模式的代码值加载到数据结构中,并将所创建的数据结封装成I/O请求包(IRP,I/O Request Packet)发送到所述符号链接。封装过程中,在封装包中加载设备控制请求属性(IRP_MJ_DEVICE_CONTROL)以及控制指令属性(IOCTL_SET_CHARGE_MODE)。

步骤S303:充电驱动模块122响应所述充电模式指令,控制调整苹果移动设备的充电电流。

充电驱动模块122首先判断I/O请求包的合法性,即检验I/O请求包是否包含设备控制请求属性以及控制指令属性,若含有,则I/O请求包合法。通过验证所述I/O请求包的合法性可提高苹果移动设备工作的效率,即当确定为对于电池内部程序的控制时,即刻进行调整。

充电驱动模块122解析I/O请求包,提取出主接口的物理设备对象以及代表充电模式的代码值,依据主接口的物理设备打开苹果移动设备的主接口,将代表充电模式的代码值转化为苹果设备的厂商请求转发至苹果移动设备。所述厂商请求是一种特定类型的USB请求块(URB,USB Request Block)。具体包括,充电驱动模块122构建一个新的I/O请求包,将厂商请求作为其参数,发送至苹果移动设备的主接口。

苹果移动设备的USB固件程序收到该厂商请求后,对苹果移动设备主板上的可编程电源管理芯片进行编程,通过动态补偿锂电池组的内阻来实现改变充电电流,以实现指定的充电模式。

例如,接收到的厂商请求为0时,充电电压为5V,充电电流调整为0.47A,属于默认充电模式,充电功率P=充电电压U*充电电流I=2.4W。

接收到的厂商请求为0x100时,充电电压为5V,充电电流调整为0.58A,进入加速充电模式,则充电功率P=2.95W,由于厂商请求的数值较小,充电稍快于默认模式,实现加速。

接收到的厂商请求为0x200时,充电电压为5V,充电电流调整为0.91A,属于加速充电模式,充电功率P为4.59W,此时对于Iphone或Itouch等设备则可以实现正常充电。

接收到的厂商请求为0x400时,充电电压为5V,Ipad充电电流调整达到1.28A,属于加速充电模式,充电功率P达6.38W,此时对于Ipad设备可以实现正常充电;Iphone或Itouch等设备充电电流调整达到额定电流1A,属于快速充电模式,充电功率P达5.0W,此时对于Iphone或Itouch等设备可以实现加速充电;

接收到的厂商请求为0x8000时,充电电压为5V,充电电流调整为0A,即零充电模式。

充电过程中,充电所需时长T=(电池额定容量W-电池剩余电量W1)/充电功率P。通过上述关系式即可计算出充电所需的剩余时间。上述时间最终反馈至所述人机界面模块111。

并且,本发明当计算机的USB接口同时连接多部苹果移动设备时,可以实现针对各个不同苹果移动设备充电的分别控制,包括:采用步骤S10中所述的方案,分别读出各苹果移动设备的信息。在步骤S20中,用户可依据需要,选择对哪一部或哪几部苹果移动设备进行下达充电加速的指令,并且依据各苹果移动设备反馈的充电时间进行调整。充电驱动模块122可依据步骤S10中读出的各苹果移动设备的主接口的物理设备,将用户选择的代表充电模式的代码值对应发给各苹果移动设备,以实现同时控制多部苹果移动设备的充电管理。比如,当iPad Air和iPhone 6同时插在计算机前置面板上的USB接口时,可以分别任意设置这两个苹果移动设备的充电模式,如:设置iPhone6进入加速充电模式并且充电速度调至最大,设置iPad Air进入零充电模式,这样可以达到让iPhone 6独享该USB埠的输出电流的目的。相比于现有技术,若多部苹果移动设备同时插在USB接口中,必然会各自影响充电效率,严重情况下同时对多部苹果移动设备的电池造成影响。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,总之凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号