CN112448449B - 充电控制方法、装置、电子设备及存储介质 - Google Patents
充电控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112448449B CN112448449B CN202011275827.5A CN202011275827A CN112448449B CN 112448449 B CN112448449 B CN 112448449B CN 202011275827 A CN202011275827 A CN 202011275827A CN 112448449 B CN112448449 B CN 112448449B
- Authority
- CN
- China
- Prior art keywords
- charging
- power adapter
- command code
- data frame
- adapter
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/00032—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/00032—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
- H02J7/00034—Charger exchanging data with an electronic device, i.e. telephone, whose internal battery is under charge
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/00032—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
- H02J7/00045—Authentication, i.e. circuits for checking compatibility between one component, e.g. a battery or a battery charger, and another component, e.g. a power source
-
- 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
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/10—Energy storage using batteries
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
本申请公开了一种充电控制方法、装置、电子设备及存储介质,属于充电领域。所述方法包括:在与电源适配器连接后,接收该电源适配器发送的适配器握手数据帧,并根据该适配器握手数据帧的帧头确定该电源适配器支持的充电协议;获取该电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,该充电命令码用于请求电子设备进行充电控制响应;检测该电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括该充电命令码;若该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致,则基于该命令码数据帧进行充电控制响应。本申请实施例提供的技术方案能够提高提高电子设备对不同快充技术的兼容能力。
Description
技术领域
本申请涉及充电技术领域,特别是涉及一种充电控制方法、装置、电子设备及存储介质。
背景技术
随着对电子设备充电效率要求的逐步提升,涌现出了一大批快充技术,例如,VOOC、SUPERVOOC就是其中具有代表性的快充技术。当前,许多快充技术在开发过程中都没有充分地考虑到与其他快充技术在软件逻辑层面上兼容的问题,这就导致不同的快充技术需要使用不同的软件程序进行充电控制。
而不同的快充技术使用不同的软件程序进行充电控制会影响电子设备兼容不同快充技术的能力。
发明内容
基于此,本申请实施例提供了一种充电控制方法、装置、电子设备及存储介质,可以提高电子设备对不同快充技术的兼容能力。
第一方面,提供了一种充电控制方法,该方法包括:
在与电源适配器连接后,接收该电源适配器发送的适配器握手数据帧,并根据该适配器握手数据帧的帧头确定该电源适配器支持的充电协议;获取该电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,该充电命令码用于请求电子设备进行充电控制响应;检测该电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括该充电命令码;若该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致,则基于该命令码数据帧进行充电控制响应。
第二方面,提供了一种充电控制装置,该充电控制装置包括:
接收模块,用于在与电源适配器连接后,接收该电源适配器发送的适配器握手数据帧;
确定模块,用于根据该适配器握手数据帧的帧头确定该电源适配器支持的充电协议;
获取模块,用于获取该电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,该充电命令码用于请求电子设备进行充电控制响应;
检测模块,用于检测该电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括该充电命令码;
响应模块,用于在该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致的情况下,基于该命令码数据帧进行充电控制响应。
第三方面,提供了一种电子设备,该电子设备包括数字信号处理芯片ADSP、集成电源管理芯片PMIC以及充电接口,其中,该PMIC与该充电接口和该ADSP分别连接,该充电接口用于连接电源适配器;
该PMIC,用于通过该充电接口接收该电源适配器发送的数据,该电源适配器发送的数据包括适配器握手数据帧以及命令码数据帧;
该ADSP,用于从该PMIC中读取该电源适配器发送的数据,并基于权利要求1至10任一该的方法对读取到的数据进行处理;
该ADSP,还用于将基于对读取到的数据进行处理生成的数据写入至该PMIC,以供该PMIC将写入的数据通过该充电接口发送至该电源适配器。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的充电控制方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的技术方案中,电子设备在与电源适配器连接后,可以接收该电源适配器发送的适配器握手数据帧,并根据适配器握手数据帧的帧头确定电源适配器支持的充电协议,而后,获取该充电协议对应的充电命令码的合法发送顺序,接着,检测电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括充电命令码,若电源适配器发送命令码数据帧的顺序与合法发送顺序一致,则基于命令码数据帧进行充电控制响应,这样,对于电子设备而言,其只需要存储不同的快充技术的充电协议对应的帧头,并存储不同快充技术的充电协议对应的充电命令码合法发送顺序,就可以使电子设备基于本申请实施例提供的技术方案兼容不同类型的快充技术,使得电子设备不需要再内置与不同的快充技术分别对应的不同的软件程序,因此,可以提高电子设备对不同快充技术的兼容能力。
附图说明
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的一种充电控制方法的流程图;
图3为本申请实施例提供的一种确定电源适配器支持的充电协议的示例性的技术过程的流程图;
图4为本申请实施例提供的一种检测电源适配器发送命令码数据帧的顺序与合法发送顺序是否一致的示例性的技术过程的流程图;
图5为本申请实施例提供的一种充电控制装置的框图;
图6为本申请实施例提供的另一种充电控制装置的框图;
图7为本申请实施例提供的一种电子设备的框图;
图8为本申请实施例提供的另一种电子设备的框图;
图9为本申请实施例提供的一种PMIC与电源适配器进行数据交互的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
当前,快充技术的类型较为多样化,由于快充技术开发的历史问题,许多快充技术在软件逻辑层面上并不兼容,这就导致不同的快充技术需要使用不同的软件程序进行充电控制。
这就意味着,如果电子设备要兼容不同的快充技术,那么该电子设备中就需要内置与不同的快充技术分别对应的不同的软件程序,这无疑会影响电子设备兼容不同快充技术的能力。
有鉴于此,本申请实施例提供了一种充电控制方法、装置、电子设备以及存储介质,在本申请实施例提供的充电控制方法中,电子设备在与电源适配器连接后,可以接收该电源适配器发送的适配器握手数据帧,并根据适配器握手数据帧的帧头确定电源适配器支持的充电协议,而后,获取该充电协议对应的充电命令码的合法发送顺序,接着,检测电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括充电命令码,若电源适配器发送命令码数据帧的顺序与合法发送顺序一致,则基于命令码数据帧进行充电控制响应,这样,对于电子设备而言,其只需要存储不同的快充技术的充电协议对应的帧头,并存储不同快充技术的充电协议对应的充电命令码合法发送顺序,就可以使电子设备基于本申请实施例提供的技术方案兼容不同类型的快充技术,使得电子设备不需要再内置与不同的快充技术分别对应的不同的软件程序,因此,可以提高电子设备对不同快充技术的兼容能力。
下面,将对本申请实施例提供的充电控制方法所涉及的实施环境进行简要地说明。
请参考图1,该实施环境可以包括电子设备101以及电源适配器102,其中,电子设备101和电源适配器102可以通过电子设备101中的充电接口连接,电源适配器102可以与外部电源连接。
在本申请实施例中,电子设备101包括电池,电子设备101为需要对电池进行充电的任意一种设备,例如,电子设备101可以为智能手机、平板电脑、电子书阅读器或者智能音箱等,本申请实施例不对电子设备101的具体类型进行限定。
电源适配器102可以支持VOOC2.0、VOOC3.0、SUPERVOOC或者其他的快充技术的充电协议,本申请实施例不对电源适配器102支持的充电协议进行限定。
请参考图2,其示出了本申请实施例提供的一种充电控制方法的流程图,该充电控制方法可以应用于上文所述实施环境中的电子设备101中。如图2所示,该充电控制方法可以包括以下步骤:
步骤201、在与电源适配器连接后,电子设备接收电源适配器发送的适配器握手数据帧,并根据该适配器握手数据帧的帧头确定电源适配器支持的充电协议。
在本申请实施例中,电子设备中可以存储有不同的充电协议对应的帧头格式,电子设备可以基于本地存储的不同的帧头格式以及电源适配器发送的适配器握手数据帧的帧头确定电源适配器支持的充电协议。
其中,需要指出的是,本申请实施例中涉及到的充电协议指的可以是快充技术对应的充电协议。
步骤202、电子设备获取电源适配器支持的充电协议对应的充电命令码的合法发送顺序。
在本申请实施例中,电子设备的本地中可以存储有不同充电协议对应的充电命令码的合法发送顺序,电子设备在获取到该电源适配器支持的充电协议后,可以基于该电源适配器支持的充电协议在本地中查找与该电源适配器支持的充电协议对应的充电命令码的合法发送顺序。
其中,充电命令码用于请求电子设备进行充电控制响应。在本申请的可选实施例中,充电命令码可以包括请求充电码、充电电流请求码和电池电压请求码中的至少一种,其中,请求充电码用于请求电子设备允许电源适配器启动充电,充电电流请求码用于请求电子设备向电源适配器发送充电电流,电池电压请求码用于请求电子设备向电源适配器发送电池电压。
在本申请的一个可选实施例中,与该电源适配器支持的充电协议对应的充电命令码的合法发送顺序可以为:请求充电码-充电电流请求码-电池电压请求码的顺序。
实际应用中,许多充电协议都对电源适配器发送充电命令码的顺序有规定,这主要是为了识别不合规的电源识别器,也即是,如果电源适配器按照规定的顺序发送充电命令码,则可以确定该电源适配器为合规的电源适配器,反之,如果电源适配器未按照规定的顺序发送充电命令码,则可以确定该电源适配器为不合规的电源适配器。
在本申请实施例中,电子设备获取与该电源适配器支持的充电协议对应的充电命令码的合法发送顺序正是为了在后续步骤中识别电源适配器是否为合规的电源适配器。
步骤203、电子设备检测电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致。
其中,该命令码数据帧可以包括帧头和充电命令码,在充电过程中,电源适配器可以依次向电子设备发送多个命令码数据帧,电子设备可以获取该多个命令码数据帧的发送顺序,并基于该多个命令码数据帧的发送顺序确定电源适配器发送充电命令码的顺序,而后,电子设备可以检测电源适配器发送充电命令码的顺序与上文所述的合法发送顺序是否相同,从而可以确定电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致。
步骤204、若电源适配器发送命令码数据帧的顺序与合法发送顺序一致,则电子设备基于电源适配器发送的命令码数据帧进行充电控制响应。
如上文所述,若电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,则说明该电源适配器为合规的电源适配器,在这种情况下,电子设备可以基于电源适配器发送的命令码数据帧进行充电控制响应,反之,若电源适配器发送命令码数据帧的顺序与该合法发送顺序不一致,则说明该电源适配器为不合规的电源适配器,在这种情况下,电子设备可以禁止通过该电源适配器进行充电。
在本申请的可选实施例中,电子设备可以基于命令码数据帧所包括的充电命令码进行充电控制响应。
可选的,在命令码数据帧包括的充电命令码为请求充电码的情况下,电子设备可以检测电池的状态是否满足充电启动条件,其中,电池的状态可以包括电池的温度、电池的电量等,本申请实施例不对电池的状态包括的具体内容进行限定。若电池的状态满足充电启动条件,则电子设备可以向电源适配器发送启动充电信息,该启动充电信息用于指示电源适配器启动充电。若电池的状态不满足充电启动条件,则电子设备可以向电源适配器发送禁止充电信息,该禁止充电信息用于指示电源适配器禁止充电。
需要指出的是,上文所述的启动充电信息以及禁止充电信息都可以以数据帧的形式进行发送。
除此以外,在电池的状态不满足充电启动条件的情况下,电子设备可以设置假充标识,例如,电子设备可以将fastchg_dummy字段设置为true。
在本申请的可选实施例中,无论电池的状态是否满足充电启动条件,在电子设备接收到请求充电码的情况下,电子设备都可以展示充电提示信息,该充电提示信息可以为图标、文字或者动画效果等,本申请实施例对此不作具体限定。
可选的,在命令码数据帧包括的充电命令码为充电电流请求码的情况下,电子设备可以获取期望充电电流,并将该期望充电电流发送至电源适配器,其中,该期望充电电流可以是根据电池温度以及电池电量计算得到的,电源适配器可以基于该期望充电电流输出充电电能。
可选的,在命令码数据帧包括的充电命令码为电池电压请求码的情况下,电子设备可以确定是否需要指示电源适配器更改充电电流,若不需要指示电源适配器更改充电电流,则电子设备获取电池电压,并向电源适配器发送电池电压,电源适配器可以基于该电池电压输出充电电能。若需要指示电源适配器更改充电电流,则电子设备可以向电源适配器发送重发信息,该重发信息用于指示电源适配器发送包括充电电流请求码的命令码数据帧。
还需要指出的是,上文所述的期望充电电流、电池电压以及重发信息都可以以数据帧的形式进行发送。
请参考图3,其示出了本申请实施例提供的一种确定电源适配器支持的充电协议的示例性的技术过程,如图3所示,该技术过程可以包括以下步骤:
步骤301、电子设备按照预设发送顺序向电源适配器依次发送不同种类的设备握手数据帧。
其中,各种设备握手数据帧的帧头与不同类型的充电协议相对应。例如,该预设发送顺序可以为:先发送帧头与充电协议A对应的设备握手数据帧1,再发送帧头与充电协议B对应的设备握手数据帧2,而后再发送帧头与充电协议C对应的设备握手数据帧3。
需要说明的是,如上文所述,电子设备中可以存储有不同的充电协议对应的帧头格式,则在步骤301中,电子设备可以基于本地存储的不同的充电协议对应的帧头格式生成不同种类的设备握手数据帧。
步骤302、在每次发送设备握手数据帧后,电子设备接收电源适配器响应于当前发送的设备握手数据帧返回的适配器握手数据帧,并检测是否能够基于电源适配器返回的适配器握手数据帧确定电源适配器支持的充电协议。
本申请实施例提供了一种示例性地检测是否能够基于电源适配器返回的适配器握手数据帧确定电源适配器支持的充电协议的技术过程,其中,该技术过程包括下述步骤A1至A3。
步骤A1、电子设备检测电源适配器返回的适配器握手数据帧的帧头是否为目标格式的帧头,其中,该目标格式的帧头是电源适配器成功解析当前发送的设备握手数据帧的帧头后生成的。
在本申请实施例中,电源适配器接收到电子设备发送的设备握手数据帧后,可以尝试基于该电源适配器支持的充电协议解析该设备握手数据帧的帧头,如果能够成功解析设备握手数据帧的帧头,则说明该设备握手数据帧的帧头对应的充电协议与电源适配器支持的充电协议相同,反之,如果不能够成功解析设备握手数据帧的帧头,则说明该设备握手数据帧的帧头对应的充电协议与电源适配器支持的充电协议不相同。
在能够成功解析设备握手数据帧的帧头的情况下,电源适配器可以生成帧头为目标格式的适配器握手数据帧,并将该适配器握手数据帧发送至电子设备。
在本申请的可选实施例中,该目标格式可以与电子设备发送的设备握手数据帧的帧头格式相同。
步骤A2、若电源适配器返回的适配器握手数据帧的帧头为目标格式的帧头,则电子设备确定能够基于电源适配器返回的适配器握手数据帧获取电源适配器支持的充电协议,并将当前发送的设备握手数据帧的帧头所对应的充电协议作为电源适配器支持的充电协议。
如上文所述,若电源适配器返回的适配器握手数据帧的帧头为目标格式的帧头,则说明电源适配器支持的充电协议与设备握手数据帧的帧头对应的充电协议相同,在这种情况下,电子设备可以将当前发送的设备握手数据帧的帧头所对应的充电协议作为电源适配器支持的充电协议。
步骤A3、若电源适配器返回的适配器握手数据帧的帧头不为目标格式的帧头,则电子设备确定不能基于电源适配器返回的适配器握手数据帧获取该电源适配器支持的充电协议。
如上文所述,若电源适配器返回的适配器握手数据帧的帧头不为目标格式的帧头,则说明电源适配器支持的充电协议与设备握手数据帧的帧头对应的充电协议不相同,在这种情况下,电子设备无法基于电源适配器返回的适配器握手数据帧获取电源适配器支持的充电协议。
步骤303、若能够基于电源适配器返回的适配器握手数据帧确定电源适配器支持的充电协议,则电子设备获取电源适配器支持的充电协议,并停止继续发送设备握手数据帧。
步骤304、若不能基于电源适配器返回的适配器握手数据帧确定电源适配器支持的充电协议,则按照该预设发送顺序继续向电源适配器发送设备握手数据帧,直至确定电源适配器支持的充电协议为止,或者,直至按照该预设发送顺序发送完所有种类的设备握手数据帧为止。
如上述举例,该预设发送顺序可以为:先发送帧头与充电协议A对应的设备握手数据帧1,再发送帧头与充电协议B对应的设备握手数据帧2,而后再发送帧头与充电协议C对应的设备握手数据帧3。
电子设备可以基于该预设发送顺序先向电源适配器发送设备握手数据帧1,并接收电源适配器响应于该设备握手数据帧1返回的适配器握手数据帧1,而后,电子设备可以检测是否能够基于该适配器握手数据帧1确定电源适配器支持的充电协议,也即是,电子设备可以检测该适配器握手数据帧1的帧头是否为目标格式的帧头,若能够基于该适配器握手数据帧1确定电源适配器支持的充电协议,则电子设备可以将充电协议A作为电源适配器支持的充电协议,并且停止继续向电源适配器发送设备握手数据帧,反之,若不能基于该适配器握手数据帧1确定电源适配器支持的充电协议,则电子设备可以按照预设发送顺序向电源适配器发送设备握手数据帧2。
而后,电子设备可以接收电源适配器响应于该设备握手数据帧2返回的适配器握手数据帧2,接着,电子设备可以检测是否能够基于该适配器握手数据帧2确定电源适配器支持的充电协议,也即是,电子设备可以检测该适配器握手数据帧2的帧头是否为目标格式的帧头,若能够基于该适配器握手数据帧2确定电源适配器支持的充电协议,则电子设备可以将充电协议B作为电源适配器支持的充电协议,并且停止继续向电源适配器发送设备握手数据帧,反之,若不能基于该适配器握手数据帧2确定电源适配器支持的充电协议,则电子设备可以按照预设发送顺序向电源适配器发送设备握手数据帧3。
而后,电子设备可以接收电源适配器响应于该设备握手数据帧3返回的适配器握手数据帧3,接着,电子设备可以检测是否能够基于该适配器握手数据帧3确定电源适配器支持的充电协议,也即是,电子设备可以检测该适配器握手数据帧3的帧头是否为目标格式的帧头,若能够基于该适配器握手数据帧3确定电源适配器支持的充电协议,则电子设备可以将充电协议C作为电源适配器支持的充电协议,若不能基于该适配器握手数据帧3确定电源适配器支持的充电协议,则电子设备停止继续发送设备握手数据帧。
在本申请的可选实施例中,为了防止偶然性错误,增强鲁棒性,对于同一种设备握手数据帧,电子设备可以向电源适配器发送多次。
如上述举例,电子设备可以基于该预设发送顺序先向电源适配器发送3次设备握手数据帧1,再向电源适配器发送3次设备握手数据帧2,接着,再向电源适配器发送3次设备握手数据帧3。
在此基础上,若不能基于电源适配器返回的适配器握手数据帧确定电源适配器支持的充电协议,则电子设备可以确定目标种类的设备握手数据帧的发送次数是否达到预设次数阈值,其中,目标种类为当前发送的设备握手数据帧的种类,若目标种类的设备握手数据帧的发送次数达到预设次数阈值,则电子设备按照预设发送顺序继续向电源适配器发送其他种类的设备握手数据帧,若目标种类的设备握手数据帧的发送次数未达到预设次数阈值,则电子设备继续向电源适配器发送目标种类的设备握手数据帧。
例如,若不能基于适配器握手数据帧1确定电源适配器支持的充电协议,则电子设备可以确定设备握手数据帧1的发送次数是否达到3次,若达到3次,则电子设备可以按照预设发送顺序向电源适配器发送设备握手数据帧2,若未达到3次,则电子设备可以继续向电源适配器发送设备握手数据帧1。
请参考图4,在本申请的一个可选实施例中,提供了一种检测电源适配器发送命令码数据帧的顺序与合法发送顺序是否一致的示例性的技术过程,如图4所示,该技术过程可以包括以下步骤:
步骤401、在每次接收到电源适配器发送的命令码数据帧后,电子设备获取当前接收到的命令码数据帧包括的充电命令码。
如上文所述,命令码数据帧可以包括帧头和充电命令码,在每次接收到电源适配器发送的命令码数据帧后,电子设备可以对该命令码数据帧包括的充电命令码进行提取。
步骤402、电子设备检测当前接收到的命令码数据帧包括的充电命令码与合法充电命令码是否一致。
其中,该合法充电命令码是基于合法发送顺序和历史接收到的命令码数据帧中包括的充电命令码中的至少一个确定的。
例如,合法发送顺序为请求充电码-充电电流请求码-电池电压请求码,历史接收到的命令码数据帧中包括的充电命令码有请求充电码和充电电流请求码,那么就可以将电池电压请求码作为该合法充电命令码。
在这种情况下,若电子设备当前接收到的命令码数据帧中包括的充电命令码为电池电压请求码,则可以确定电子设备当前接收到的命令码数据帧中包括的充电命令码与合法充电命令码一致。若电子设备当前接收到的命令码数据帧中包括的充电命令码不为电池电压请求码,则可以确定电子设备当前接收到的命令码数据帧中包括的充电命令码与合法充电命令码不一致。
又例如,合法发送顺序为请求充电码-充电电流请求码-电池电压请求码,而历史上没有接收到命令码数据帧,那么就可以将请求充电码作为该合法充电命令码。
在这种情况下,若电子设备当前接收到的命令码数据帧中包括的充电命令码为请求充电码,则可以确定电子设备当前接收到的命令码数据帧中包括的充电命令码与合法充电命令码一致。若电子设备当前接收到的命令码数据帧中包括的充电命令码不为请求充电码,则可以确定电子设备当前接收到的命令码数据帧中包括的充电命令码与合法充电命令码不一致。
步骤403、若当前接收到的命令码数据帧包括的充电命令码与该合法充电命令码一致,则电子设备确定电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,并根据该合法发送顺序中位于当前接收到的命令码数据帧包括的充电命令码之后的充电命令码更新该合法充电命令码。
由上文所述可知,在本申请实施例中,电子设备可以将合法发送顺序中的充电命令码逐一作为合法充电命令码,同时,电子设备可以在接收到与当前的合法充电命令码一致的命令码数据帧后,按照该合法发送顺序更新该合法充电命令码。
如上述举例,若合法充电命令码为请求充电码,且,电子设备接收到的命令码数据帧中包括的充电命令码为请求充电码,在这种情况下,电子设备可以确定电源适配器发送该命令码数据帧的顺序与合法发送顺序一致,此时,电子设备可以将合法充电命令码更新为充电电流请求码。
需要指出的是,若确定电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,则电子设备可以基于当前接收到的命令码数据帧进行充电控制响应。
如上述举例,若合法充电命令码为请求充电码,且,电子设备接收到的命令码数据帧中包括的充电命令码为请求充电码,则在这种情况下,电子设备可以确定电源适配器发送该命令码数据帧的顺序与合法发送顺序一致,此时,电子设备可以基于接收到的该包括请求充电码的命令码数据帧进行充电控制响应。
步骤404、若当前接收到的命令码数据帧包括的充电命令码与该合法充电命令码不一致,则电子设备确定电源适配器发送命令码数据帧的顺序与该合法发送顺序不一致。
例如,合法发送顺序为请求充电码-充电电流请求码-电池电压请求码,则电子设备可以在未接收到电源适配器发送的任何命令码数据帧时将合法命令码设置为请求充电码,若电子设备接收到的命令码数据帧中包括的充电命令码为请求充电码,则电子设备可以确定电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,并且,将该合法命令码更新为充电电流请求码,同时,电子设备可以基于该包括请求充电码的命令码数据帧进行充电控制响应,若电子设备接下来接收到的命令码数据帧中包括的充电命令码为充电电流请求码,则电子设备可以确定电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,并且,将该合法命令码更新为电池电压请求码,同时,电子设备可以基于该包括充电电流请求码的命令码数据帧进行充电控制响应,若电子设备接下来接收到的命令码数据帧中包括的充电命令码为电池电压请求码,则电子设备可以确定电源适配器发送命令码数据帧的顺序与该合法发送顺序一致,此时,电子设备可以基于该包括电池电压请求码的命令码数据帧进行充电控制响应。
请参考图5,其示出了本申请实施例提供的一种充电控制装置500的框图,该充电控制装置500可以配置于电子设备中。如图5所示,该充电控制装置500可以包括:接收模块501、确定模块502、获取模块503、检测模块504以及响应模块505。
接收模块501,用于在与电源适配器连接后,接收该电源适配器发送的适配器握手数据帧。
确定模块502,用于根据该适配器握手数据帧的帧头确定该电源适配器支持的充电协议。
获取模块503,用于获取该电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,该充电命令码用于请求电子设备进行充电控制响应。
检测模块504,用于检测该电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括该充电命令码。
响应模块505,用于在该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致的情况下,基于该命令码数据帧进行充电控制响应。
在本申请的可选实施例中,该确定模块502,具体用于:按照预设发送顺序向该电源适配器依次发送不同种类的设备握手数据帧,各种设备握手数据帧的帧头与不同类型的充电协议相对应;在每次发送该设备握手数据帧后,接收该电源适配器响应于当前发送的该设备握手数据帧返回的该适配器握手数据帧,并检测是否能够基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议;若能够基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则获取确定的电源适配器支持的充电协议,并停止继续发送该握手数据帧;若不能基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则按照该预设发送顺序继续向该电源适配器发送该设备握手数据帧,直至确定电源适配器支持的充电协议为止,或者,直至按照该预设发送顺序发送完所有种类的该设备握手数据帧为止。
在本申请的可选实施例中,该确定模块502,具体用于:检测该电源适配器返回的该适配器握手数据帧的帧头是否为目标格式的帧头,其中,该目标格式的帧头是该电源适配器成功解析当前发送的该设备握手数据帧的帧头后生成的;若该电源适配器返回的该适配器握手数据帧的帧头为该目标格式的帧头,则确定能够基于该电源适配器返回的该适配器握手数据帧获取电源适配器支持的充电协议,并将当前发送的该设备握手数据帧的帧头所对应的充电协议作为该电源适配器支持的充电协议;若该电源适配器返回的该适配器握手数据帧的帧头不为该目标格式的帧头,则确定不能基于该电源适配器返回的该适配器握手数据帧获取电源适配器支持的充电协议。
在本申请的可选实施例中,该确定模块502,具体用于:若不能基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则确定目标种类的该设备握手数据帧的发送次数是否达到预设次数阈值,其中,该目标种类为当前发送的该设备握手数据帧的种类;若该目标种类的设备握手数据帧的发送次数达到该预设次数阈值,则按照该预设发送顺序继续向该电源适配器发送其他种类的该设备握手数据帧;若该目标种类的设备握手数据帧的发送次数未达到该预设次数阈值,则继续向该电源适配器发送该目标种类的设备握手数据帧。
在本申请的可选实施例中,该检测模块504,具体用于:在每次接收到该电源适配器发送的该命令码数据帧后,获取当前接收到的该命令码数据帧包括的充电命令码;检测当前接收到的该命令码数据帧包括的充电命令码与合法充电命令码是否一致,其中,该合法充电命令码是基于该合法发送顺序和历史接收到的该命令码数据帧中包括的充电命令码的类型中的至少一个确定的;若该当前接收到的该命令码数据帧包括的充电命令码与该合法充电命令码一致,则确定该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致,并根据该合法发送顺序中位于当前接收到的该命令码数据帧包括的充电命令码之后的充电命令码更新该合法充电命令码;若当前接收到的该命令码数据帧包括的充电命令码与该合法充电命令码不一致,则确定该电源适配器发送该命令码数据帧的顺序与该合法发送顺序不一致。
在本申请的可选实施例中,该响应模块505,具体用于:在接收到的该命令码数据帧包括的充电命令码为请求充电码的情况下,检测电池的状态是否满足充电启动条件,其中,该请求充电码用于请求启动充电;若该电池的状态满足该充电启动条件,则向该电源适配器发送启动充电信息,该启动充电信息用于指示该电源适配器启动充电。
在本申请的可选实施例中,该响应模块505,具体用于:在接收到的该命令码数据帧包括的充电命令码为充电电流请求码的情况下,获取期望充电电流,并将该期望充电电流发送至该电源适配器。
在本申请的可选实施例中,该响应模块505,具体用于:在接收到的该命令码数据帧包括的充电命令码为电池电压请求码的情况下,确定是否需要指示该电源适配器更改充电电流;
若不需要指示该电源适配器更改充电电流,则获取电池电压,并向该电源适配器该电池电压。
在本申请的可选实施例中,该响应模块505,具体用于:若需要指示该电源适配器更改充电电流,则向该电源适配器发送重发信息,该重发信息用于指示该电源适配器发送包括充电电流请求码的命令码数据帧。
请参考图6,本申请实施例还提供了另一种充电控制装置600,该充电控制装置600除了包括充电控制装置500包括的各个模块外,可选的,该充电控制装置600还包括禁止模块506。
该禁止模块506,用于在该电源适配器发送该命令码数据帧的顺序与该合法发送顺序不一致的情况下,禁止通过该电源适配器进行充电。
本申请实施例提供的充电控制装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于充电控制装置的具体限定可以参见上文中对于充电控制方法的限定,在此不再赘述。上述充电控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参考图7,本申请实施例还提供了一种电子设备,该电子设备包括数字信号集成电源管理芯片PMIC701、处理芯片ADSP702以及充电接口703,其中,该PMIC702与该充电接口703和该ADSP701分别连接,该充电接口703用于连接电源适配器。
其中,该PMIC701,用于通过该充电接口703接收电源适配器发送的数据,如上文方法实施例中所述,电源适配器发送的数据包括适配器握手数据帧以及命令码数据帧。
该ADSP702,用于从该PMIC701中读取电源适配器发送的数据,并基于上述方法实施例中涉及到的步骤对读取到的数据进行处理。
该ADSP702,还用于将基于对读取到的数据进行处理生成的数据写入至PMIC701,以供该PMIC701将写入的数据通过充电接口703发送至电源适配器。
如上述方法实施例中所述,ADSP702写入PMIC701的数据可以包括设备握手数据帧、启动充电信息、禁止充电信息、期望充电电流以及电池电压等。需要指出的是,ADSP702写入PMIC701的数据可以为数据帧的形式。
需要指出的是,如图7所示,ADSP702可以通过spmi总线与PMIC701连接,PMIC701可以通过时钟线(clk线)以及数据线(data线)与充电接口703连接,其中,该充电接口703可以为USB接口或者Type-C接口等,本申请实施例不对该充电接口的具体类型进行限定。
ADSP702可以通过spmi总线从PMIC701中读取数据,以及向PMIC701写入数据,PMIC701可以通过时钟线以及数据线接收电源适配器通过充电接口703发送的数据,以及通过充电接口703向电源适配器发送数据。
在本申请的可选实施例中,PMIC701中可以集成接收组件7011,该接收组件7011可以采用电路方式实现,也可以采用软件逻辑实现,本申请实施例对此不作具体限定。
该接收组件7011,具体用于通过充电接口703接收电源适配器发送的数据,并用于将ADSP702写入的数据通过充电接口703发送至电源适配器。
请参考图8,在本申请的可选实施例中,电子设备还可以包括电量计704以及应用处理器705,其中,该电量计704以及该应用处理器705均与ADSP702连接。可选的,ADSP702可以通过I2C总线与电量计704连接,ADSP702可以通过Glink总线与应用处理器705连接。如图8所示,在本申请的可选实施例中,电子设备还可以包括电压转换电路(charge pump)706,该电压转换电路706可以通过I2C总线与ADSP702连接,此外,该电压转换电路706还可以与电子设备的电池以及充电接口703连接(图8中未示出)。
其中,该电量计704,用于检测电子设备的电池的状态数据,其中,电池的状态数据可以包括电池的温度、电池电压以及电池的充电电流等。该ADSP702,用于读取该电量计704测得的电池的状态数据,并根据电池的状态数据对读取到的数据进行处理。
例如,若读取到的数据为命令码数据帧,则ADSP702可以基于电池的状态数据对该命令码数据帧进行响应,该响应可以为生成启动充电信息、禁止充电信息、期望充电电流以及电池电压等。
在本申请实施例中,该ADSP702,还用于将电子设备的电池的充电状态发送至该应用处理器705。该应用处理器705,用于根据电池的充电状态,控制电子设备展示充电提示信息,其中,该充电提示信息可以为文字、图标或者动画效果等。
该电压转换电路706,用于在ADSP702的控制下对充电接口703输出的充电电能进行升压或者降压处理,并将处理后的充电电能输出至电子设备的电池中。
下面,本申请实施例将对PMIC701与电源适配器的数据交互过程进行简要的说明:
如上文所述,PMIC701可以通过数据线和时钟线与充电接口703连接,在数据交互的过程中,电源适配器可以通过充电接口703以及时钟线向PMIC701发送时钟脉冲信号,其中,在PMIC701与电源适配器每次进行数据交互的过程中,电源适配器都可以向PMIC701发送包括m个脉冲的时钟脉冲信号,其中,m可以等于电源适配器向电子设备发送的数据帧的比特数n与电子设备向电源适配器发送的数据帧的比特数k之和,例如,若电源适配器向电子设备发送的数据帧的比特数为8,电子设备向电源适配器发送的数据帧的比特数为10,则在PMIC701与电源适配器每次进行数据交互的过程中,电源适配器都可以向PMIC701发送包括18个脉冲的时钟脉冲信号。
PMIC701可以在时钟脉冲信号所指示的数据交互时刻与电源适配器进行数据交互。
其中,PMIC701可以在时钟脉冲信号的前n个脉冲对应的时间段接收电源适配器发送的数据帧,可选的,PMIC701可以在前n个脉冲中每个脉冲的上升沿的预设间隔时长后(也即是上文所述的数据交互时刻)从数据线上读取电源适配器发送的1比特数据。
此外,PMIC701可以在时钟脉冲信号的后k个脉冲对应的时间段向电源适配器发送数据帧,可选的,PMIC可以在后k个脉冲中每个脉冲的上升沿所对应的时刻(也即是上文所述的数据交互时刻)通过数据线向电源适配器发送1比特数据。
可选的,考虑到在PMIC701接收到电源适配器发送的数据之后,ADSP702需要从PMIC701中读取数据,并对读取的数据进行处理,基于对读取到的数据进行的处理生成数据,并将生成的数据写入至PMIC701中,在这之后,PMIC701才可以向电源适配器发送数据,为了给ADSP702的上述一系列操作预留时间,在本申请实施例中,时钟脉冲信号的前n个脉冲和后k个脉冲之间可以间隔目标时长,例如,该目标时长可以为5ms。
请参考图9,其为一种示例性地PMIC701与电源适配器进行数据交互的示意图。
在本申请实施例中,该PMIC701,还用于在与电源适配器进行数据交互的过程中,根据数据交互的状态生成中断事件,并根据生成的中断事件更新PMIC701的状态寄存器中的中断状态数据。ADSP702在检测到PMIC701生成中断事件之后,可以读取该状态寄存器中的中断状态数据,并基于该中断状态数据确定PMIC701中出现了何种中断事件。
其中,在PMIC701接收到电源适配器发送的第1比特数据后,该PMIC701可以生成接收开始中断事件,此时,PMIC701可以将状态寄存器中的中断状态数据的第0比特更新为1。
在PMIC701接收到电源适配器发送的第n比特数据后,该PMIC701可以生成接收完毕中断事件,此时,PMIC701可以将状态寄存器中的中断状态数据的第1比特更新为1,其中,电源适配器向电子设备发送的数据帧(适配器握手数据帧以及命令码数据帧)的大小均为n比特,n为正整数。
在PMIC701接收到电源适配器发送的第n比特数据后的目标时长(例如,该目标时长可以为5ms)内,若ADSP702没有将数据写入至PMIC101的发送寄存器中,则在该目标时长之后,PMIC701可以生成发送失败中断事件,此时,PMIC701可以将状态寄存器中的中断状态数据的第3比特更新为1。
在PMIC701接收到电源适配器发送的第n比特数据后的目标时长内,若ADSP702将数据写入至PMIC101的发送寄存器中,则PMIC701可以将写入的数据发送至电源适配器,并在发送完毕后,也即是,在检测到电源适配器发送m个脉冲后,生成发送成功中断事件,此时,PMIC701可以将状态寄存器中的中断状态数据的第2比特更新为1。
若在预设时长(看门狗自检时长)内PMIC701接收到的电源适配器发送的时钟脉冲信号的脉冲数量小于预设数量阈值(该预设数量阈值即为m),则PMIC701可以生成接收错误中断事件,此时,PMIC701可以将状态寄存器中的中断状态数据的第4比特更新为1。
实际应用中,有可能出现一种情况,也即是,在电源适配器向电子设备发送请求充电码之后,电子设备检测到电池的状态不满足充电启动条件,此时,可以进入至假充状态,在假充状态中,PMIC701可以被去使能,或者说,PMIC701中的接收组件7011可以被去使能,同时,为了维持电源适配器和电子设备的通信不发生中断,电源适配器还会持续向电子设备发送命令码数据帧,在某个时刻,若电子设备确定电池的状态满足充电启动条件,则电子设备可以使能PMIC701或者使能接收组件7011,而使能的时刻很可能在电源适配器发送命令码数据帧的中间时刻,也就是说,使能的时刻与电源适配器发送的命令码数据帧的帧头没有对齐,在这种情况下,预设时长内PMIC701接收到的电源适配器发送的时钟脉冲信号的脉冲数量必定会小于预设数量阈值,此时,PMIC701可以生成接收错误中断事件。除此以外,PMIC701还可以丢弃接收寄存器中存储的电源适配器发送的数据,这样,就可以保证在电源适配器发送下一命令码数据帧时,PMIC701能够成功完整地对其进行接收。
可选的,PMIC701丢弃接收寄存器中存储的电源适配器发送的数据的方式可以为:PMIC701擦除接收寄存器中存储的电源适配器发送的数据;或者,ADSP702去使能PMIC701或者去使能接收组件7011,而后,ADSP702再使能PMIC701或者再使能接收组件7011,由于去使能之后,接收寄存器中的数据会被擦除,因此,通过去使能再使能的方式可以实现对接收寄存器中存储的电源适配器发送的数据的丢弃。
如上文所述,ADSP702在检测到PMIC701生成中断事件之后,可以读取该状态寄存器中的中断状态数据,在本申请的可选实施例中,ADSP702还可以在读取的中断状态数据满足目标条件的情况下,对PMIC701接收到的该电源适配器发送的数据进行处理。
例如,该ADSP702可以在该中断状态数据满足根据接收完毕中断事件进行更新的这一目标条件下,也即是,在该中断状态数据的第1比特为1的情况下,从PMIC701的接收寄存器中读取电源适配器发送的数据,并对该电源适配器发送的数据进行处理。
在本申请的可选实施例中,ADSP702中可以维护以定时器,例如,ADSP702可以维护一200ms的定时器,若该ADSP702检测到中断状态数据满足根据接收完毕中断事件进行更新的这一目标条件,也即是,若ADSP702检测到该中断状态数据的第1比特为1,则ADSP702可以将该定时器清除,并重新开启一个新的定时器进行计时。
在本申请实施例中,若ADSP702在定时器计时的过程中没有检测到中断状态数据满足根据接收完毕中断事件进行更新的这一目标条件,也即是,没有检测到中断状态数据的第1比特为1,则说明电源适配器与电子设备长时间没有进行通信,在这种情况下,ADSP702可以确定电源适配器与电子设备断开连接,在这种情况下,ADSP702可以进行适配器拔出响应,例如,ADSP702可以向应用处理器705发送连接断开信息,以指示应用处理器705停止显示充电提示信息,ADSP702还可以去使能PMIC701或者接收组件7011,ADSP702还可以将直充功能DCHG关闭,ADSP702还可以将充电标识进行清除处理。
此外,该ADSP702可以在该中断状态数据满足根据接收失败中断事件进行更新的这一目标条件下,也即是,在该中断状态数据的第4比特为1的情况下,去使能PMIC701或者去使能接收组件7011,而后,ADSP702再使能PMIC701或者再使能接收组件7011,从而使PMIC701丢弃接收寄存器中存储的电源适配器发送的数据。
在本申请的可选实施例中,在电子设备启动的过程中,ADSP702可以设置上文所述预设间隔时长,也即是,在检测到时钟脉冲信号的上升沿后间隔多久从数据线上读取电源适配器发送的数据,也可以设置上文所述的预设时长,也即是所谓的看门狗自检时长,同时,将PMIC701或者接收组件7011去使能,将直充功能DCHG关闭,以防止电池的电能输出至充电接口703。
在检测到电源适配器与电子设备通过充电接口703连接后,ADSP702可以计算上文所述的期望充电电流,同时,PMIC701可以通过数据线向电源适配器发送激活脉冲,电源适配器在接收到该激活脉冲之后,可以与电子设备建立通信连接,在发送激活脉冲之后,ADSP702可以使能PMIC701或者接收组件7011。
现有技术中,电子设备中通常可以额外设置一MCU,通过该MCU进行充电控制,其中,该MCU可以与充电接口连接,并可以通过充电接口接收电源适配器发送的数据,同时,该MCU可以与电量计连接,通过与电量计的连接,MCU可以读取电量计测得的电池的状态数据,MCU可以根据电池的状态数据以及电源适配器发送的数据进行充电控制,除此以外,MCU还可以与应用处理器连接,以向应用处理器报告电池的充电状态,从而使应用处理器基于该充电状态控制电子设备展示充电提示信息。
然而,额外设置MCU进行充电控制的方式硬件成本较高,而本申请实施例提供的电子设备则由ADSP以及PMIC进行配合以实现充电控制,由于ADSP和PMIC本身就是电子设备中所固有的芯片,因此,本申请实施例不需要额外设置其他的组件就可以实现充电控制,相较于需要额外设置MCU的方式而言,可以大大降低硬件成本。
除此以外,在每次开机的过程中,MCU都需要进行固件升级检查,若检查到MCU需要进行固件升级,还需要在开机后对MCU进行固件升级,由于在固件升级检查以及固件升级的过程中,MCU均不能进行充电控制,因此,导致充电的灵活性较差,而ADSP以及PMIC都不存在以上的问题,因此,可以提高充电的灵活性。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在与电源适配器连接后,接收该电源适配器发送的适配器握手数据帧,并根据该适配器握手数据帧的帧头确定该电源适配器支持的充电协议;获取电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,该充电命令码用于请求电子设备进行充电控制响应;检测该电源适配器发送命令码数据帧的顺序与该合法发送顺序是否一致,其中,该命令码数据帧包括该充电命令码;若该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致,则基于该命令码数据帧进行充电控制响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该电源适配器发送该命令码数据帧的顺序与该合法发送顺序不一致,则禁止通过该电源适配器进行充电。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照预设发送顺序向该电源适配器依次发送不同种类的设备握手数据帧,各种设备握手数据帧的帧头与不同类型的充电协议相对应;在每次发送该设备握手数据帧后,接收该电源适配器响应于当前发送的该设备握手数据帧返回的该适配器握手数据帧,并检测是否能够基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议;若能够基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则获取确定的电源适配器支持的充电协议,并停止继续发送该握手数据帧;若不能基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则按照该预设发送顺序继续向该电源适配器发送该设备握手数据帧,直至确定电源适配器支持的充电协议为止,或者,直至按照该预设发送顺序发送完所有种类的该设备握手数据帧为止。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测该电源适配器返回的该适配器握手数据帧的帧头是否为目标格式的帧头,其中,该目标格式的帧头是该电源适配器成功解析当前发送的该设备握手数据帧的帧头后生成的;若该电源适配器返回的该适配器握手数据帧的帧头为该目标格式的帧头,则确定能够基于该电源适配器返回的该适配器握手数据帧获取电源适配器支持的充电协议,并将当前发送的该设备握手数据帧的帧头所对应的充电协议作为电源适配器支持的充电协议;若该电源适配器返回的该适配器握手数据帧的帧头不为该目标格式的帧头,则确定不能基于该电源适配器返回的该适配器握手数据帧获取电源适配器支持的充电协议。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若不能基于该电源适配器返回的该适配器握手数据帧确定电源适配器支持的充电协议,则确定目标种类的该设备握手数据帧的发送次数是否达到预设次数阈值,其中,该目标种类为当前发送的该设备握手数据帧的种类;若该目标种类的设备握手数据帧的发送次数达到该预设次数阈值,则按照该预设发送顺序继续向该电源适配器发送其他种类的该设备握手数据帧;若该目标种类的设备握手数据帧的发送次数未达到该预设次数阈值,则继续向该电源适配器发送该目标种类的设备握手数据帧。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在每次接收到该电源适配器发送的该命令码数据帧后,获取当前接收到的该命令码数据帧包括的充电命令码;检测当前接收到的该命令码数据帧包括的充电命令码与合法充电命令码是否一致,其中,该合法充电命令码是基于该合法发送顺序和历史接收到的该命令码数据帧中包括的充电命令码的类型中的至少一个确定的;若当前接收到的该命令码数据帧包括的充电命令码与该合法充电命令码一致,则确定该电源适配器发送该命令码数据帧的顺序与该合法发送顺序一致,并根据该合法发送顺序中位于当前接收到的该命令码数据帧包括的充电命令码之后的充电命令码更新该合法充电命令码;若当前接收到的该命令码数据帧包括的充电命令码与该合法充电命令码不一致,则确定该电源适配器发送该命令码数据帧的顺序与该合法发送顺序不一致。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到的该命令码数据帧包括的充电命令码为请求充电码的情况下,检测电池的状态是否满足充电启动条件,其中,该请求充电码用于请求启动充电;若该电池的状态满足该充电启动条件,则向该电源适配器发送启动充电信息,该启动充电信息用于指示该电源适配器启动充电。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到的该命令码数据帧包括的充电命令码为充电电流请求码的情况下,获取期望充电电流,并将该期望充电电流发送至该电源适配器。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到的该命令码数据帧包括的充电命令码为电池电压请求码的情况下,确定是否需要指示该电源适配器更改充电电流;若不需要指示该电源适配器更改充电电流,则获取电池电压,并向该电源适配器该电池电压。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若需要指示该电源适配器更改充电电流,则向该电源适配器发送重发信息,该重发信息用于指示该电源适配器发送包括充电电流请求码的命令码数据帧。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以M种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyMchliMk)DRAM(SLDRAM)、存储器总线(RaMbus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (19)
1.一种充电控制方法,其特征在于,所述方法包括:
电子设备在与电源适配器连接后,接收所述电源适配器发送的适配器握手数据帧,并根据所述适配器握手数据帧的帧头确定所述电源适配器支持的充电协议;
获取所述电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,所述充电命令码用于请求电子设备进行充电控制响应;
检测所述电源适配器发送的多个命令码数据帧的顺序与所述合法发送顺序是否一致,其中,所述命令码数据帧包括所述充电命令码;
若所述电源适配器发送的多个所述命令码数据帧的顺序与所述合法发送顺序一致,则基于所述命令码数据帧进行充电控制响应。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述电源适配器发送的多个所述命令码数据帧的顺序与所述合法发送顺序不一致,则禁止通过所述电源适配器进行充电。
3.根据权利要求1所述的方法,其特征在于,所述接收所述电源适配器发送的适配器握手数据帧,并根据所述适配器握手数据帧的帧头确定所述电源适配器支持的充电协议,包括:
按照预设发送顺序向所述电源适配器依次发送不同种类的设备握手数据帧,各种所述设备握手数据帧的帧头与不同类型的充电协议相对应;
在每次发送所述设备握手数据帧后,接收所述电源适配器响应于当前发送的所述设备握手数据帧返回的所述适配器握手数据帧,并检测是否能够基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议;
若能够基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议,则获取确定的所述电源适配器支持的充电协议,并停止继续发送所述设备握手数据帧;
若不能基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议,则按照所述预设发送顺序继续向所述电源适配器发送所述设备握手数据帧,直至确定所述电源适配器支持的充电协议为止,或者,直至按照所述预设发送顺序发送完所有种类的所述设备握手数据帧为止。
4.根据权利要求3所述的方法,其特征在于,所述检测是否能够基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议,包括:
检测所述电源适配器返回的所述适配器握手数据帧的帧头是否为目标格式的帧头,其中,所述目标格式的帧头是所述电源适配器成功解析当前发送的所述设备握手数据帧的帧头后生成的;
若所述电源适配器返回的所述适配器握手数据帧的帧头为所述目标格式的帧头,则确定能够基于所述电源适配器返回的所述适配器握手数据帧获取所述电源适配器支持的充电协议,并将当前发送的所述设备握手数据帧的帧头所对应的充电协议作为所述电源适配器支持的充电协议;
若所述电源适配器返回的所述适配器握手数据帧的帧头不为所述目标格式的帧头,则确定不能基于所述电源适配器返回的所述适配器握手数据帧获取所述电源适配器支持的充电协议。
5.根据权利要求3所述的方法,其特征在于,所述若不能基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议,则按照所述预设发送顺序继续向所述电源适配器发送所述设备握手数据帧,包括:
若不能基于所述电源适配器返回的所述适配器握手数据帧确定所述电源适配器支持的充电协议,则确定目标种类的所述设备握手数据帧的发送次数是否达到预设次数阈值,其中,所述目标种类为当前发送的所述设备握手数据帧的种类;
若所述目标种类的设备握手数据帧的发送次数达到所述预设次数阈值,则按照所述预设发送顺序继续向所述电源适配器发送其他种类的所述设备握手数据帧;
若所述目标种类的设备握手数据帧的发送次数未达到所述预设次数阈值,则继续向所述电源适配器发送所述目标种类的设备握手数据帧。
6.根据权利要求1所述的方法,其特征在于,所述检测所述电源适配器发送的多个命令码数据帧的顺序与所述合法发送顺序是否一致,包括:
在每次接收到所述电源适配器发送的所述命令码数据帧后,获取当前接收到的所述命令码数据帧包括的充电命令码;
检测当前接收到的所述命令码数据帧包括的充电命令码与合法充电命令码是否一致,其中,所述合法充电命令码是基于所述合法发送顺序和历史接收到的所述命令码数据帧中包括的充电命令码中的至少一个确定的;
若当前接收到的所述命令码数据帧包括的充电命令码与所述合法充电命令码一致,则确定所述电源适配器发送的多个所述命令码数据帧的顺序与所述合法发送顺序一致,并根据所述合法发送顺序中位于当前接收到的所述命令码数据帧包括的充电命令码之后的充电命令码更新所述合法充电命令码;
若当前接收到的所述命令码数据帧包括的充电命令码与所述合法充电命令码不一致,则确定所述电源适配器发送的多个所述命令码数据帧的顺序与所述合法发送顺序不一致。
7.根据权利要求1所述的方法,其特征在于,所述基于所述命令码数据帧进行充电控制响应,包括:
在接收到的所述命令码数据帧包括的充电命令码为请求充电码的情况下,检测电池的状态是否满足充电启动条件,其中,所述请求充电码用于请求启动充电;
若所述电池的状态满足所述充电启动条件,则向所述电源适配器发送启动充电信息,所述启动充电信息用于指示所述电源适配器启动充电。
8.根据权利要求1所述的方法,其特征在于,所述基于所述命令码数据帧进行充电控制响应,包括:
在接收到的所述命令码数据帧包括的充电命令码为充电电流请求码的情况下,获取期望充电电流,并将所述期望充电电流发送至所述电源适配器。
9.根据权利要求1所述的方法,其特征在于,所述基于所述命令码数据帧进行充电控制响应,包括:
在接收到的所述命令码数据帧包括的充电命令码为电池电压请求码的情况下,确定是否需要指示所述电源适配器更改充电电流;
若不需要指示所述电源适配器更改充电电流,则获取电池电压,并向所述电源适配器发送所述电池电压。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若需要指示所述电源适配器更改充电电流,则向所述电源适配器发送重发信息,所述重发信息用于指示所述电源适配器发送包括充电电流请求码的命令码数据帧。
11.一种充电控制装置,其特征在于,所述装置包括:
接收模块,用于在电子设备与电源适配器连接后,接收所述电源适配器发送的适配器握手数据帧;
确定模块,用于根据所述适配器握手数据帧的帧头确定所述电源适配器支持的充电协议;
获取模块,用于获取所述电源适配器支持的充电协议对应的充电命令码的合法发送顺序,其中,所述充电命令码用于请求电子设备进行充电控制响应;
检测模块,用于检测所述电源适配器发送的多个命令码数据帧的顺序与所述合法发送顺序是否一致,其中,所述命令码数据帧包括所述充电命令码;
响应模块,用于在所述电源适配器发送的多个所述命令码数据帧的顺序与所述合法发送顺序一致的情况下,基于所述命令码数据帧进行充电控制响应。
12.一种电子设备,其特征在于,所述电子设备包括数字信号处理芯片ADSP、集成电源管理芯片PMIC以及充电接口,其中,所述PMIC与所述充电接口和所述ADSP分别连接,所述充电接口用于连接电源适配器;
所述PMIC,用于通过所述充电接口接收所述电源适配器发送的数据,所述电源适配器发送的数据包括适配器握手数据帧以及命令码数据帧;
所述ADSP,用于从所述PMIC中读取所述电源适配器发送的数据,并基于权利要求1至10任一所述的方法对读取到的数据进行处理;
所述ADSP,还用于将基于对读取到的数据进行处理生成的数据写入至所述PMIC,以供所述PMIC将写入的数据通过所述充电接口发送至所述电源适配器。
13.根据权利要求12所述的电子设备,其特征在于,所述电子设备还包括电量计,所述电量计与所述ADSP连接;
所述电量计,用于检测所述电子设备的电池的状态数据;
所述ADSP,用于读取所述电量计测得的所述状态数据,并根据所述状态数据对读取到的数据进行处理。
14.根据权利要求12所述的电子设备,其特征在于,所述电子设备还包括应用处理器,所述应用处理器与所述ADSP连接;
所述ADSP,还用于将所述电子设备的电池的充电状态发送至所述应用处理器;
所述应用处理器,用于根据所述充电状态,控制所述电子设备展示充电提示信息。
15.根据权利要求12所述的电子设备,其特征在于,所述PMIC,还用于在与所述电源适配器进行数据交互的过程中,根据数据交互的状态生成中断事件,并根据生成的中断事件更新所述PMIC的状态寄存器中的中断状态数据;
所述ADSP,还用于读取所述状态寄存器中的所述中断状态数据,并在所述中断状态数据满足目标条件的情况下,对所述PMIC接收到的所述电源适配器发送的数据进行处理。
16.根据权利要求15所述的电子设备,其特征在于,所述PMIC,具体用于在接收到所述电源适配器发送的第n比特数据后,生成接收完毕中断事件,并根据所述接收完毕中断事件更新所述中断状态数据,其中,所述电源适配器向所述电子设备发送的数据帧的大小均为n比特,n为正整数;
所述ADSP,具体用于在所述中断状态数据满足根据所述接收完毕中断事件进行更新的所述目标条件下,对所述PMIC接收到的所述电源适配器发送的数据进行处理。
17.根据权利要求15所述的电子设备,其特征在于,所述PMIC通过时钟线以及数据线与所述充电接口连接;
所述PMIC,用于通过所述时钟线接收所述电源适配器发送的时钟脉冲信号;
所述PMIC,还用于在所述时钟脉冲信号所指示的数据交互时刻与所述电源适配器进行数据交互。
18.根据权利要求17所述的电子设备,其特征在于,所述PMIC,具体用于若在预设时长内接收到的所述时钟脉冲信号的脉冲数量小于预设数量阈值,则丢弃所述PMIC的接收寄存器中存储的所述电源适配器发送的数据。
19.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011275827.5A CN112448449B (zh) | 2020-11-16 | 2020-11-16 | 充电控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011275827.5A CN112448449B (zh) | 2020-11-16 | 2020-11-16 | 充电控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112448449A CN112448449A (zh) | 2021-03-05 |
CN112448449B true CN112448449B (zh) | 2023-05-05 |
Family
ID=74738663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011275827.5A Active CN112448449B (zh) | 2020-11-16 | 2020-11-16 | 充电控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112448449B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115441522A (zh) * | 2021-06-02 | 2022-12-06 | 北京小米移动软件有限公司 | 充电控制方法、充电控制装置及存储介质 |
CN114487644A (zh) * | 2021-12-17 | 2022-05-13 | 未来穿戴技术股份有限公司 | 充电状态检测方法、装置、电子设备及存储介质 |
CN116760135A (zh) * | 2023-06-13 | 2023-09-15 | 东莞市颜仔电子科技有限公司 | 一种多快充协议电源适配器及其控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3270483A1 (en) * | 2016-07-12 | 2018-01-17 | Nxp B.V. | Apparatus and associated method for battery charging |
CN107995166A (zh) * | 2017-11-02 | 2018-05-04 | 芯海科技(深圳)股份有限公司 | 一种多协议快充适配器及适配方法 |
CN109546701A (zh) * | 2018-11-01 | 2019-03-29 | Oppo广东移动通信有限公司 | 电池电量调节方法及设备、存储介质 |
CN110913298A (zh) * | 2019-11-28 | 2020-03-24 | 歌尔股份有限公司 | 一种耳机装置及通信方法、系统、计算机可读存储介质 |
CN111030210A (zh) * | 2019-11-28 | 2020-04-17 | 宇龙计算机通信科技(深圳)有限公司 | 充电方法、装置、存储介质和电子设备 |
-
2020
- 2020-11-16 CN CN202011275827.5A patent/CN112448449B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3270483A1 (en) * | 2016-07-12 | 2018-01-17 | Nxp B.V. | Apparatus and associated method for battery charging |
CN107995166A (zh) * | 2017-11-02 | 2018-05-04 | 芯海科技(深圳)股份有限公司 | 一种多协议快充适配器及适配方法 |
CN109546701A (zh) * | 2018-11-01 | 2019-03-29 | Oppo广东移动通信有限公司 | 电池电量调节方法及设备、存储介质 |
CN110913298A (zh) * | 2019-11-28 | 2020-03-24 | 歌尔股份有限公司 | 一种耳机装置及通信方法、系统、计算机可读存储介质 |
CN111030210A (zh) * | 2019-11-28 | 2020-04-17 | 宇龙计算机通信科技(深圳)有限公司 | 充电方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112448449A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112448450B (zh) | 充电控制方法、装置、电子设备及存储介质 | |
CN112448449B (zh) | 充电控制方法、装置、电子设备及存储介质 | |
US20220285967A1 (en) | Charging method, electronic device and storage medium | |
CN101373629B (zh) | 时钟信号发生器、包含其的半导体存储装置及其操作方法 | |
US10802562B2 (en) | Memory system and control method of memory system | |
EP2960777B1 (en) | Data protection method, apparatus and device | |
CN105611020A (zh) | 一种sim卡检测系统及方法 | |
CN102915209B (zh) | 一种存储控制芯片、存储设备及其系统数据写入方法 | |
CN112398202A (zh) | 芯片电源功率的配置方法、装置、电子设备及存储介质 | |
CN116484406A (zh) | 一种芯片应答方法、目标芯片及计算机可读存储介质 | |
CN103019969A (zh) | 闪存储存装置及其不良储存区域的判定方法 | |
US12054067B2 (en) | Communication apparatus, communication method, and electric vehicle | |
CN102332617B (zh) | 便携式终端及识别该便携式终端的电池的方法 | |
EP2618259B1 (en) | Data erasable method of memory in smart card and smart card thereof | |
WO2017080411A1 (zh) | 一种充电参数的校验方法及设备和充电器 | |
US7522465B2 (en) | Semiconductor memory device, and data transmitting/receiving system | |
CN116539992A (zh) | 存储设备在位稳定状态检测装置、方法、逻辑模块及介质 | |
CN116247755B (zh) | 协议信息测试方法、测试仪、存储介质 | |
CN105260133A (zh) | 一种移动终端emmc的数据写入方法及系统 | |
US9010649B2 (en) | IC card, portable electronic device, and reader/writer | |
EP2942714A2 (en) | Monitoring method, monitoring apparatus, and electronic device | |
CN104731723A (zh) | 一种存储设备断电保护方法及装置 | |
CN108419260B (zh) | 一种sim卡连接控制方法、移动终端及存储介质 | |
CN106611619B (zh) | 数据储存装置以及快闪存储器的检测方法 | |
CN103226479A (zh) | 电子设备系统以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |