CN110457055A - 一种面向快充协议的固件升级控制方法、系统及控制终端 - Google Patents
一种面向快充协议的固件升级控制方法、系统及控制终端 Download PDFInfo
- Publication number
- CN110457055A CN110457055A CN201910686476.8A CN201910686476A CN110457055A CN 110457055 A CN110457055 A CN 110457055A CN 201910686476 A CN201910686476 A CN 201910686476A CN 110457055 A CN110457055 A CN 110457055A
- Authority
- CN
- China
- Prior art keywords
- slave devices
- firmware
- positive
- slave
- flag bit
- 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.)
- Granted
Links
Classifications
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种面向快充协议的固件升级控制方法、系统及控制终端,包括:步骤1、当接受到升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚;步骤2、根据升级握手命令设置检测标志位;步骤3、根据设置的检测标志位,控制预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚;步骤4、根据设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新升级固件;步骤5、根据固件的更新情况改变相应的检测标志位,再重复上述步骤;步骤6、当接收到升级完成命令时,控制USB功能的正负极数据引脚切换连接预设正负数据引脚。提高固件升级有效性。
Description
技术领域
本发明涉及固件升级通讯的技术领域,尤其涉及一种面向快充协议的固件升级控制方法、一种从机设备控制终端及一种面向快充协议的固件升级控制系统。
背景技术
随着(PD2.0/3.0,QC2.0/3.0/4.0等)快充协议不断发展,快充芯片的研发得到很大的发展,快充适配器也得到了爆发式的增长,面临的客户需求也日益增加,但快充适配器一旦生产出来,修改为成品适配支持的协议和功率参数的修改升级变得比较困难。
中国发明专利CN104239097B公开一种通过移动终端升级配件的方法,所述移动终端包括CPU、一个与CPU连接的转换开关,该专利公开的移动终端根据升级配件指令控制转换开关,使得与移动终端连接的OTG转接头或者USB线的D+/D-通过转换开关与CPU的i2c/uart连接,然后按照i2c/uart协议发送固件至配件,实现配件与移动终端的同步升级。该专利公开的升级配件指令只是用来控制从机的USB线的D+/D-与主机的CPU的i2c/uart建立连接以便于传输配件升级信息,而没有升级状态的检测机制,也不能有效地识别特定的快充设备而无法满足固件升级的专用性要求,从而降低固件升级的专用性和有效性。
发明内容
针对现有技术存在的问题,对此我们提供一种通过设置相关检测标志位对固件进行升级,通过主机自动对成品的软件固件进行升级,其具体技术方案如下:
一种面向快充协议的固件升级控制方法,该固件升级控制方法用于控制从机设备接收主机传输的固件以实现固件升级;从机设备包括从机转换开关,从机设备与主机之间通过数据线缆连接;从机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚;数据线缆的对应连接接口包括预设正负数据引脚; 该固件升级控制方法包括以下步骤:步骤S1、当从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚;步骤S2、根据升级握手命令控制从机设备设置检测标志位;步骤S3、根据从机设备设置的检测标志位,控制从机转换开关来将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚;步骤S4、根据从机设备设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件;步骤S5、根据待升级的固件在从机设备内部的更新情况, 控制从机设备改变相应的检测标志位,然后重复上述步骤;步骤S6、当从机设备确认接收到主机发送的升级完成命令时,清空相应的检测标志位,完成从机设备的固件升级更新,然后通过从机转换开关控制数据线缆的接口上的预设正负数据引脚切换回与从机设备中的USB功能的正负极数据引脚连接。该技术方案通过设置检测标志位并实时判断的检测标志位以自动修复固件升级状态异常的现象(包括上一次未更新完成及收到升级命令时标志位还未改变),然后在此基础上通过从机转换开关将从机设备中用于I2C协议的串行总线引脚切换连接到数据线缆的接口上的预设正负数据引脚,进而实现与主机中用于I2C协议的串行总线引脚连接,使得主机运用I2C协议配置的串行总线升级更新固件更能考虑到特定的从机设备的专用性要求,从而提高固件升级的效率和有效性。
进一步地,所述检测标志位包括更新结束标志位和更新开始标志位;其中,所述步骤S3中的所述根据从机设备设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件的具体方法包括:更新结束标志位为真时,控制所述从机设备执行正常状态下的功能操作;更新结束标志位为零时,控制所述从机设备当前继续接收待升级的固件;更新开始标志位为真时,控制所述从机设备用当前接收的待升级的固件更新上一次接收的固件;更新开始标志位为零时,控制所述从机设备继续执行正常状态下的功能操作;所述步骤S4中的所述根据待升级的固件在从机设备内部的更新情况, 控制从机设备改变相应的检测标志位的具体方法包括:判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新结束标志位置为真,否则更新结束标志位置为零;判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新开始标志位置为零,否则更新开始标志位置为真。该技术方案针对设置的更新结束标志位和更新开始标志位在多个从机设备的场景下,提高固件升级的成功率和待接收固件的更新效率,从而达到自动修复固件升级状态异常的效果。
进一步地,所述更新结束标志位为真时,控制所述从机设备进入用户程序区内执行正常状态下的功能操作;所述更新结束标志位为零时,控制所述从机设备进入应用程序区内,并用当前接收的待升级的固件更新上一次接收的固件;其中,用户程序区和应用程序区是所述从机设备内部存储固件的代码区;所述从机设备在应用程序区内利用所述从机设备与所述主机连接的信道来获取待升级的固件,然后控制所述从机设备利用应用程序区内当前接收的待升级的固件更新用户程序区上一次接收处理的固件。该技术方案利用检测标志位的逻辑值控制固件代码更新原存储固件的代码程序区,提高固件升级的效率,增强整个升级过程的可靠性。
进一步地,当所述从机设备接收到所述主机发送的升级握手命令,且进入所述用户程序区执行正常状态下的功能操作的过程中,控制所述从机设备中的USB功能的正负极数据引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的USB功能的正负极数据引脚对应连接;其中,正常状态下的功能操作是所述用户程序区内当前的固件对应的功能操作;当所述从机设备接收到所述主机发送的升级握手命令,且在所述应用程序区内用当前接收的待升级的固件更新上一次接收的固件的过程中,控制所述从机设备中用于I2C协议的串行总线引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的用于I2C协议的串行总线引脚连接。该技术方案利用主机数据端口实现I2C硬件接口的转换,方便固件的调试和升级,以及进行固件升级状态的参数的配置。
进一步地,所述根据升级握手命令控制从机设备设置检测标志位的方法包括:控制所述从机设备响应所述升级握手命令,并接受所述主机对其相关检测标志位的请求询问,然后赋予所述检测标志位相应的逻辑值;其中,所述升级握手命令包括上一次的固件升级状态信息、当前的固件升级指令以及所述从机设备所需要的调整参数。增强检测标志位在固件升级更新过程中的有效性。
进一步地,所述步骤S1和步骤S2之间包括:根据所述从机设备中电性接口的数据配置引脚的电平变化,识别所述从机设备当前的电性接口类型,以获取所述从机设备中可识别的引脚。使得升级接口方式具有较高的易用性和可移植性。
进一步地,当所述从机设备为支持BC1.2协议的快充设备时,所述从机设备当前的电性接口类型被识别为充电下行端口;所述固件升级指令是用于调节所述从机设备的功率参数的成品软件指令,且支持BC1.2协议和I2C协议。该技术方案自动检测所述从机设备适用的快充协议,并为其达成匹配,使得固件升级过程中从机设备以合适的电压电流被快速准确的升级,从而提供方便的升级接口。
一种从机设备控制终端,该从机设备控制终端用于控制从机设备接收主机传输的固件以实现固件升级;从机设备与主机之间通过数据线缆连接;从机设备包括从机转换开关,从机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚;数据线缆的接口包括预设正负数据引脚;该从机设备控制终端包括:握手连接单元,用于当从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚;标志位设置单元,用于在从机设备解析主机发送的升级握手命令后,再根据升级握手命令控制从机设备设置检测标志位;转换控制单元,用于根据标志位设置单元输出的检测标志位,控制从机转换开关来将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚;更新控制单元,用于根据标志位设置单元输出的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件;标志位调整单元,根据更新控制单元输出的从机设备内部的更新信号, 控制从机设备改变相应的检测标志位,并将结果传输给标志位设置单元以改变从机设备内部设置的检测标志位;升级完成控制单元,用于当从机设备确认接收到主机发送的升级完成命令时,清空标志位设置单元的检测标志位,完成从机设备的固件升级更新,然后通过转换控制单元控制从机设备中的USB功能的正负极数据引脚切换回与数据线缆的接口上的预设正负数据引脚连接。该控制终端的设置让主机升级更新从机设备的固件更加便捷准确,提高专用固件升级更新的有效性。
一种面向快充协议的固件升级控制系统,包括主机和从机设备,该固件升级控制系统包括前述的从机设备控制终端;从机设备装配所述从机设备控制终端后通过数据线缆连接主机,或者,主机装配所述从机设备控制终端后通过数据线缆连接从机设备。提高前述的从机设备控制终端在所述固件升级控制系统的通用性,拓展了前述固件升级控制方法的适用场景。
附图说明
图1 是本发明实施例提供的一种面向快充协议的固件升级控制方法的流程图。
图2是本发明的具体实施例提供的主机与从机之间的固件升级通信流程图。
图3是本发明实施例提供的一种从机设备控制终端的模块框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。
本发明实施例提供的一种面向快充协议的固件升级控制方法,该固件升级控制方法实施的硬件基础平台为:主机为PC机,存储有发送给指定的从机设备的待升级的固件;从机设备包括充电适配器、具备USB接口、type-c接口或lighting接口的电子设备;主机与从机设备之间通过数据线缆建立连接,数据线缆可以是带有转接头的USB线缆、type-c数据线或lighting数据线,其中,数据线缆的接口上包括预设正负数据引脚,预设正负数据引脚可以是带有转接头的USB线缆的D+/D-、type-c数据线的配置通道CC1/CC2或者lighting数据线的D+/D-。从机设备与主机之间通过数据线缆连接并经过握手通信后,按照i2c协议发送固件至从机设备,由主机逐次发送固件中的数据至从机设备中,在确认相关检测标志位后完成固件的升级。
本发明实施例提供的一种面向快充协议的固件升级控制方法,本实施例涉及的控制主体可以是从机设备本身的MCU、主机的CPU、或者除了主机与从机设备之外的第三方的控制单元。该固件升级控制方法用于控制从机设备接收主机传输的固件以实现固件升级。从机设备包括从机转换开关,从机设备与主机之间通过前述的数据线缆连接;从机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚,用于与从机设备内部相关的控制单元相同属性的引脚连接;从机转换开关还包括与第一预设正负数据引脚相连接的正负引脚,用于传输从机设备切换的结果。主机包括主机转换开关,主机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚;数据线缆的对应连接接口包括预设正负数据引脚,本实施例下作为第二预设正负数据引脚。主机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚,用于与主机内部相关的控制单元相同属性的引脚连接;主机转换开关还包括与预设正负数据引脚相连接的正负引脚,用于传输主机切换的指令数据。在前述的数据线缆中,第一预设正负数据引脚与第二预设正负数据引脚通过线缆连通。
参照图1可知,该固件升级控制方法包括以下步骤:
步骤S101、当从机设备通过数据线缆接入主机后,从机设备与主机通过数据线缆的对应连接接口建立物理连接关系,从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚,然后进入步骤S102。具体地,从机设备接受到主机发送的升级握手命令后,数据线缆的第二预设正负数据引脚被主机转换开关切换为与主机转换开关的USB功能的正负极数据引脚连接,数据线缆的第一预设正负数据引脚被从机转换开关切换为与从机转换开关的USB功能的正负极数据引脚连接。
步骤S102、控制从机设备接收并解析主机发送的升级握手命令,同时所述从机设备响应所述升级握手命令,同时根据升级握手命令控制从机设备设置检测标志位,然后进入步骤S103。作为一种优选实施例,所述从机设备为支持BC1.2协议的快充设备时,所述升级握手命令包括有上一次的固件升级状态信息、当前的固件升级指令以及所述从机设备所需要的调整参数。所述固件升级指令是用于调节所述从机设备的功率参数的成品软件指令,可以是BC1.2协议下的FCP命令。需要说明的是,所述从机设备解析主机发送的升级握手命令后,所述从机设备的电性接口的数据配置引脚的电平变化,识别所述从机设备当前的电性接口类型。
本实施例下,所述从机设备支持BC1.2协议为电池充电的过程中,首先将所述从机设备的电性接口的正极端口PD+拉高至0.6V,然后检测到所述从机设备的电性接口的负极端口PD-小于规定的参考电压时所述从机设备的电性接口类型被识别为充电下行端口,既支持数据传输也支持充电,使得升级接口方式具有高易用性、可移植性,从而有效地识别特定的快充设备。本实施例运用I2C协议配置的串行总线升级更新固件更能考虑到特定的从机设备的专用性要求。
步骤S103、根据从机设备在步骤S102中对应设置的检测标志位,控制将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚,然后进入步骤S104。本实施例中,从机设备检测到在步骤S102中对应设置的检测标志位符合当前固件升级更新的条件后,发送相应的请求指令给主机提示其开始发送新的固件,然后,数据线缆的第二预设正负数据引脚被主机转换开关切换为与主机转换开关的用于I2C协议的串行总线引脚连接,数据线缆的第一预设正负数据引脚被从机转换开关切换为与从机转换开关的用于I2C协议的串行总线引脚连接。
步骤S104、根据从机设备设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件,然后进入步骤S105。
具体地,所述检测标志位包括更新结束标志位和更新开始标志位;所述控制从机设备通过I2C协议接收主机发送的待升级的固件具体方法包括:更新结束标志位为真时,控制所述从机设备执行正常状态下的功能操作,即所述从机设备作为具体的产品在相应场景下执行的功能;同时所述从机设备向所述主机发送更新结束标志位的相关固件更新升级信息,控制所述主机保持执行正常状态下的功能操作。更新结束标志位为零时,控制所述从机设备当前保持接收待升级的固件,以实现当前接收的固件正常升级,这是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在从机设备对应的产品发布后可以方便地通过预留的通信口对该产品中的固件程序进行更新升级。同时所述从机设备向所述主机发送更新结束标志位的相关固件更新升级信息,控制所述主机向所述从机设备发送待升级的固件。从而,通过设置识别更新结束标志位,来判断所述从机设备能否正常接收待升级的固件数据,特别是在固件数据接收不完整而产生升级状态异常现象时,更新结束标志位为零,用于等待完整的固件数据包传输给所述从机设备,直到成功完成固件的升级更新,提高固件升级的成功率和待接收固件的更新效率,从而达到提高固件升级成功的机率。
更新开始标志位为真时,控制所述从机设备用当前接收的待升级的固件更新上一次接收的固件,同时,所述从机设备向所述主机发送更新结束标志位的固件更新升级完成信息,控制所述主机保持向所述从机设备发送待升级的固件;更新开始标志位为零时,控制所述从机设备继续执行正常状态下的功能操作,同时,所述从机设备向所述主机发送更新结束标志位的固件更新升级完成信息,控制所述主机不向所述从机设备发送待升级的固件。本实施例通过设置更新开始标志位,来判断所述从机设备能否正常完成固件数据的升级操作,并更新上一次接收的固件,特别是在固件数据没有完全升级而产生升级状态异常现象时,设置更新开始标志位为零,继续执行正常状态下的功能操作,等待所述从机设备接收的所述主机发送过来的待升级的固件数据包。本实施例针对设置的更新结束标志位和更新开始标志位在多个从机设备的场景下,具备提高固件升级和待接收固件更新的效率,并达到自动修复固件升级状态异常的效果。
优选地,所述更新结束标志位为真时,控制所述从机设备进入用户程序区内执行正常状态下的功能操作,其中,正常状态下的功能操作是所述用户程序区内当前的固件对应的功能操作;所述更新结束标志位为零时,控制所述从机设备进入应用程序区内,并用当前接收的待升级的固件更新上一次接收的固件;其中,用户程序区和应用程序区是所述从机设备内部存储固件的代码区;所述从机设备在应用程序区内利用所述从机设备与所述主机连接的信道来获取待升级的固件,然后控制所述从机设备利用应用程序区内当前接收的待升级的固件更新用户程序区上一次接收处理的固件。
在上述具体实施例中,当所述从机设备接收到所述主机发送的升级握手命令,且进入所述用户程序区执行正常状态下的功能操作的过程中,控制所述从机设备中的USB功能的正负极数据引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的USB功能的正负极数据引脚对应连接;从而,实现所述从机设备在不需要接收固件数据时,所述从机设备保持执行原来存储的固件对应的程序。
当所述从机设备接收到所述主机发送的升级握手命令,且在所述应用程序区内用当前接收的待升级的固件更新上一次接收的固件的过程中,控制所述从机设备中用于I2C协议的串行总线引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的用于I2C协议的串行总线引脚连接。在所述从机设备中未完全升级而产生升级状态异常的实施例中,前述的固件升级控制方法等待所述从机设备接收的固件数据包完全升级,以实现固件数据的成功升级。本发明实施例利用主机数据端口实现I2C硬件接口的转换,以及主机的固件程序配合从机设备的可识别引脚实现I2C接口的软件配置,方便固件的调试和升级。
步骤S105、根据待升级的固件在从机设备内部的更新情况, 控制从机设备改变相应的检测标志位,然后返回步骤S101,重复上述步骤,直到完成升级更新主机传输的固件数据,再进入步骤S106。
其中,所述根据待升级的固件在从机设备内部的更新情况,控制从机设备改变相应的检测标志位的具体方法包括:判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新结束标志位置为真,然后返回步骤S101,控制所述从机设备等待接收主机发送的新的升级握手命令,开始新的一次固件升级操作,此时,主机还未确定升级完成;否则,更新结束标志位保持为零,继续控制所述从机设备用当前接收的待升级的固件更新上一次接收的固件,以完成固件的升级操作,确保后续烧录入所述从机设备的固件能够正常执行相应的功能操作。另一方面,判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新开始标志位置为零,在接收新的待升级的固件之前,确保所述从机设备不需要进行固件更新升级操作,确保已经烧录入所述从机设备的固件能够正常执行相应的功能操作;否则控制所述从机设备将更新开始标志位保持为真,继续控制所述从机设备返回接收新的待升级的固件,以更新上一次接收的固件。
步骤S106、当从机设备确认接收到主机发送的升级完成命令时,清零相应的检测标志位,这里的检测标志位包括更新结束标志位和更新开始标志位,从而成功地完成所述从机设备的固件更新升级,后续所述从机设备将进入执行其正常状态下的产品功能。然后通过从机转换开关控制数据线缆的接口上的预设正负数据引脚切换回与从机设备中的USB功能的正负极数据引脚连接,即数据线缆的第二预设正负数据引脚被主机转换开关切换为与主机转换开关的USB功能的正负极数据引脚连接,数据线缆的第一预设正负数据引脚被从机转换开关切换为与从机转换开关的USB功能的正负极数据引脚连接。
需要说明的是,所述从机设备确认接收到主机发送的升级完成命令之前,所述主机可以逐次发送固件中的数据至所述从机设备,也可以实现多次升级更新所述从机设备内部原有的固件,固件升级不完整的情况下可通过多次升级来完成成功升级。
参阅图2,以一个主机升级更新一个从机之间的固件的通信流程为实施例进行说明,当从机通过数据线缆接入主机并与主机建立物理连接关系后,主机开始向从机发送升级握手命令,从机接收到主机发送的升级握手命令后,给主机返回响应信号以回复主机,同时, 数据线缆的第二预设正负数据引脚被主机转换开关切换为与主机转换开关的USB功能的正负极数据引脚连接,数据线缆的第一预设正负数据引脚被从机转换开关切换为与从机转换开关的USB功能的正负极数据引脚连接。然后从机开始解析主机发送的升级握手命令,从而获取调节所述从机的设备参数的成品软件指令。
所述主机向所述从机请求询问更新结束标志位和更新开始标志位,所述从机根据升级握手命令控制从机设备设置更新结束标志位和更新开始标志位,以适应从机升级更新固件的状态配置需求。所述主机读取更新结束标志位对应的逻辑值和更新开始标志位对应的逻辑值,然后根据相关检测标志位的逻辑值控制发送往所述从机的待升级的固件,进而控制所述从机的固件的升级更新状态,从而增强检测标志位在固件升级更新过程中的有效性。
然后,从机开始判断更新结束标志位对应的逻辑值是否为真,是则控制从机进入用户程序区内执行正常状态下的功能操作,可以认为在未进行固件升级更新之前,执行从机设备产品已经烧录的固件的功能;否则从机转换开关将数据线缆的第一预设正负数据引脚切换为与从机转换开关的用于I2C协议的串行总线引脚连接, 主机转换开关将数据线缆的第二预设正负数据引脚切换为与主机转换开关的用于I2C协议的串行总线引脚连接,然后控制所述从机进入应用程序区内,再控制所述从机直接用当前接收的待升级的固件更新上一次接收的固件;其中,用户程序区对应的存储地址排在应用程序区之前;所述从机设备在应用程序区内利用所述从机设备与所述主机连接的信道来获取待升级的固件,然后控制所述从机设备利用应用程序区内当前接收的待升级的固件更新用户程序区上一次接收处理的固件,即利用所述应用程序区内当前接收的待升级的固件更新升级所述用户程序区内原来存储的固件。本实施例利用检测标志位的逻辑值控制固件代码进入具有排序的程序区中,提高固件升级的效率,增强整个升级过程的可靠性。
所述从机进入用户程序区后,所述主机中的正负极数据口与所述从机中可识别的引脚保持连接,本实施例中可理解为所述从机中的D+/D-通过数据线缆连接到所述主机中的USB功能的D+/D-,不像I2C协议那样可以通过自主配置升级参数来实现所述主机对所述从机的固件升级更新,所述从机则配置原来运行的固件,并执行正常状态下的功能操作。
然后,实时判断更新开始标志位是否为真,是则所述主机转换开关将所述数据线缆的第二预设正负数据引脚切换为与所述主机转换开关的用于I2C协议的串行总线引脚连接,同时所述从机转换开关将所述数据线缆的第一预设正负数据引脚切换为与所述从机转换开关的用于I2C协议的串行总线引脚连接,否则继续执行正常状态下的功能操作,以在用户程序区中等待固件更新升级的触发时刻的来临。然后所述从机用当前接收的待升级的固件更新上一次接收的固件。更新开始标志位置为真后,本实施例中可理解为所述从机中的D+/D-连接到所述主机中的用于I2C协议的SCL/SDA,从而控制所述主机通过I2C协议给所述从机传输待升级的固件,并升级更新所述从机原来的固件,然后所述从机用当前接收的待升级的固件更新上一次接收的固件。本实施例利用主机数据端口实现I2C硬件接口的转换,自由进行固件升级状态的参数的配置,从而方便固件的调试和升级。
在所述从机用当前接收的待升级的固件更新上一次接收的固件的过程中,所述从机还需要实时判断是否更新完成当前接收的待升级的固件,是则发送请求命令让所述主机发送升级完成命令,否则返回继续解析所述主机持续发送的新的升级握手命令,以配置好相关的检测标志位,做好接收新的待升级的固件,从而实现完整的固件数据的升级更新操作,或者在检测标志位指示的异常升级状态下重新升级固件(包括上一次固件数据更新未完成或相关检测标志位未来得及置位以实时指示固件升级更新的情况)。所述主机接收到请求命令后往所述从机发送升级完成命令,然后所述从机接收到主机发送的升级完成命令,清零相应的检测标志位完成复位处理,然后通过所述从机转换开关控制数据线缆的接口上的预设正负数据引脚切换回与所述从机中的USB功能的正负极数据引脚连接。从而完成所述从机的固件升级更新操作。
参阅图3,本发明实施例还提供了一种从机设备控制终端及一种面向快充协议的固件升级控制系统,需要说明的是,本实施例所提供的一种从机设备控制终端,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本发明实施例提供一种从机设备控制终端,该从机设备控制终端可以是从机设备本身的MCU、主机的CPU、或者除了主机与从机设备之外的第三方的控制单元。该从机设备控制终端用于控制从机设备接收主机传输的固件以实现固件升级;从机设备与主机之间通过数据线缆连接;从机设备包括从机转换开关,从机转换开关包括USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL;数据线缆的接口包括预设正负数据引脚;该从机设备控制终端包括:握手连接单元,用于当从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚D+/D-连接到数据线缆的接口上的预设正负数据引脚;标志位设置单元,用于在从机设备解析主机发送的升级握手命令后,再根据升级握手命令控制从机设备设置检测标志位;转换控制单元,用于根据标志位设置单元输出的检测标志位,控制从机转换开关来将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚SDA和SCL;更新控制单元,用于根据标志位设置单元输出的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件;标志位调整单元,根据更新控制单元输出的从机设备内部的更新信号, 控制从机设备改变相应的检测标志位,并将结果传输给标志位设置单元以改变从机设备内部设置的检测标志位;升级完成控制单元,用于当从机设备确认接收到主机发送的升级完成命令时,清空标志位设置单元的检测标志位,完成从机设备的固件升级更新,然后通过转换控制单元控制从机设备中的USB功能的正负极数据引脚切换回与数据线缆的接口上的预设正负数据引脚连接。该控制终端的设置让主机升级更新从机设备的固件更加便捷准确,提高专用固件升级更新的有效性。
上述的从机设备控制终端可以应用在前述对应的一种面向快充协议的固件升级控制方法的实施例中,详情参见前述实施例的描述,在此不再赘述。值得注意的是,上述从机设备控制终端的实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本发明实施例还提供一种面向快充协议的固件升级控制系统,包括主机和从机设备,该固件升级控制系统包括前述的从机设备控制终端;从机设备装配所述从机设备控制终端后通过数据线缆连接主机,具体为所述从机设备控制终端和所述从机转换开关装配在所述从机设备一侧,所述从机设备控制终端通过控制所述从机转换开关将USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL切换连接到数据线缆的第一预设正负数据引脚上,再通过数据线缆连接到数据线缆的第二预设正负数据引脚,同时第二预设正负数据引脚对应连接到主机对应接口的USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL,从而实现固件传输、升级更新。
或者,主机装配所述从机设备控制终端后通过数据线缆连接从机设备,具体为所述从机设备控制终端和所述从机转换开关装配在所述主机一侧,所述主机内部存在主机转换开关,主机转换开关也包括USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL,通过控制所述主机转换开关将USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL切换连接到数据线缆的第二预设正负数据引脚上,再通过数据线缆连接到数据线缆的第一预设正负数据引脚,同时,所述从机设备控制终端通过控制所述从机转换开关将USB功能的正负极数据引脚D+/D-和用于I2C协议的串行总线引脚SDA和SCL切换连接到数据线缆的第一预设正负数据引脚上,从而实现固件传输、升级更新;本实施例的系统方案提高前述的从机设备控制终端在所述固件升级控制系统的通用性,拓展了前述固件升级控制方法的适用场景。
以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。
Claims (9)
1.一种面向快充协议的固件升级控制方法,该固件升级控制方法用于控制从机设备接收主机传输的固件以实现固件升级;从机设备包括从机转换开关,从机设备与主机之间通过数据线缆连接;从机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚;数据线缆的对应连接接口包括预设正负数据引脚; 其特征在于,该固件升级控制方法包括以下步骤:
步骤S1、当从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚;
步骤S2、根据升级握手命令控制从机设备设置检测标志位;
步骤S3、根据从机设备设置的检测标志位,控制从机转换开关来将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚;
步骤S4、根据从机设备设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件;
步骤S5、根据待升级的固件在从机设备内部的更新情况, 控制从机设备改变相应的检测标志位,然后重复上述步骤;
步骤S6、当从机设备确认接收到主机发送的升级完成命令时,清空相应的检测标志位,完成从机设备的固件升级更新,然后通过从机转换开关控制数据线缆的接口上的预设正负数据引脚切换回与从机设备中的USB功能的正负极数据引脚连接。
2.根据权利要求1所述固件升级控制方法,其特征在于,所述检测标志位包括更新结束标志位和更新开始标志位;
其中,所述步骤S4中的所述根据从机设备设置的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件的具体方法包括:
更新结束标志位为真时,控制所述从机设备执行正常状态下的功能操作;
更新结束标志位为零时,控制所述从机设备当前继续接收待升级的固件;
更新开始标志位为真时,控制所述从机设备用当前接收的待升级的固件更新上一次接收的固件;
更新开始标志位为零时,控制所述从机设备继续执行正常状态下的功能操作;
所述步骤S5中的所述根据待升级的固件在从机设备内部的更新情况, 控制从机设备改变相应的检测标志位的具体方法包括:
判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新结束标志位置为真,否则更新结束标志位置为零;
判断所述从机设备是否已经用当前接收的待升级的固件更新上一次接收的固件,是则控制所述从机设备将更新开始标志位置为零,否则更新开始标志位置为真。
3.根据权利要求2所述固件升级控制方法,其特征在于,所述更新结束标志位为真时,控制所述从机设备进入用户程序区内执行正常状态下的功能操作;
所述更新结束标志位为零时,控制所述从机设备进入应用程序区内,并用当前接收的待升级的固件更新上一次接收的固件;
其中,用户程序区和应用程序区是所述从机设备内部存储固件的代码区;所述从机设备在应用程序区内利用所述从机设备与所述主机连接的信道来获取待升级的固件,然后控制所述从机设备利用应用程序区内当前接收的待升级的固件更新用户程序区上一次接收处理的固件。
4.根据权利要求3所述固件升级控制方法,其特征在于,当所述从机设备接收到所述主机发送的升级握手命令,且进入所述用户程序区执行正常状态下的功能操作的过程中,控制所述从机设备中的USB功能的正负极数据引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的USB功能的正负极数据引脚对应连接;其中,正常状态下的功能操作是所述用户程序区内当前的固件对应的功能操作;
当所述从机设备接收到所述主机发送的升级握手命令,且在所述应用程序区内用当前接收的待升级的固件更新上一次接收的固件的过程中,控制所述从机设备中用于I2C协议的串行总线引脚通过所述数据线缆的接口上的预设正负数据引脚与所述主机中的用于I2C协议的串行总线引脚连接。
5.根据权利要求1所述固件升级控制方法,其特征在于,所述根据升级握手命令控制从机设备设置检测标志位的方法包括:
控制所述从机设备响应所述升级握手命令,并接受所述主机对其相关检测标志位的请求询问,然后赋予所述检测标志位相应的逻辑值;
其中,所述升级握手命令包括上一次的固件升级状态信息、当前的固件升级指令以及所述从机设备所需要的调整参数。
6.根据权利要求5所述固件升级控制方法,其特征在于,所述步骤S1和步骤S2之间包括:根据所述从机设备中电性接口的数据配置引脚的电平变化,识别所述从机设备当前的电性接口类型。
7.根据权利要求6所述固件升级控制方法,其特征在于,当所述从机设备为支持BC1.2协议的快充设备时,所述从机设备当前的电性接口类型被识别为充电下行端口;
所述固件升级指令是用于调节所述从机设备的功率参数的成品软件指令,且支持BC1.2协议和I2C协议。
8.一种从机设备控制终端,该从机设备控制终端用于控制从机设备接收主机传输的固件以实现固件升级;从机设备与主机之间通过数据线缆连接;从机设备包括从机转换开关,从机转换开关包括USB功能的正负极数据引脚和用于I2C协议的串行总线引脚;数据线缆的接口包括预设正负数据引脚; 其特征在于,该从机设备控制终端包括:
握手连接单元,用于当从机设备接受到主机发送的升级握手命令后,控制从机设备中的USB功能的正负极数据引脚连接到数据线缆的接口上的预设正负数据引脚;
标志位设置单元,用于在从机设备解析主机发送的升级握手命令后,再根据升级握手命令控制从机设备设置检测标志位;
转换控制单元,用于根据标志位设置单元输出的检测标志位,控制从机转换开关来将数据线缆的接口上的预设正负数据引脚切换连接到从机设备中的用于I2C协议的串行总线引脚;
更新控制单元,用于根据标志位设置单元输出的检测标志位,控制从机设备通过I2C协议接收主机发送的待升级的固件,并更新从机设备上一次接收的固件;
标志位调整单元,根据更新控制单元输出的从机设备内部的更新信号, 控制从机设备改变相应的检测标志位,并将结果传输给标志位设置单元以改变从机设备内部设置的检测标志位;
升级完成控制单元,用于当从机设备确认接收到主机发送的升级完成命令时,清空标志位设置单元的检测标志位,完成从机设备的固件升级更新,然后通过转换控制单元控制从机设备中的USB功能的正负极数据引脚切换回与数据线缆的接口上的预设正负数据引脚连接。
9.一种面向快充协议的固件升级控制系统,包括主机和从机设备,其特征在于,该固件升级控制系统包括权利要求8所述的从机设备控制终端;
从机设备装配所述从机设备控制终端后通过数据线缆连接主机,或者,主机装配所述从机设备控制终端后通过数据线缆连接从机设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910686476.8A CN110457055B (zh) | 2019-07-29 | 2019-07-29 | 一种面向快充协议的固件升级控制方法、系统及控制终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910686476.8A CN110457055B (zh) | 2019-07-29 | 2019-07-29 | 一种面向快充协议的固件升级控制方法、系统及控制终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457055A true CN110457055A (zh) | 2019-11-15 |
CN110457055B CN110457055B (zh) | 2023-06-09 |
Family
ID=68483709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910686476.8A Active CN110457055B (zh) | 2019-07-29 | 2019-07-29 | 一种面向快充协议的固件升级控制方法、系统及控制终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457055B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352645A (zh) * | 2020-03-31 | 2020-06-30 | 广州昂宝电子有限公司 | 用于usb-pd充电器的固件更新方法和装置 |
CN112152836A (zh) * | 2020-08-11 | 2020-12-29 | 珠海市一微半导体有限公司 | 小存储容量设备的远程固件自动升级方法、系统及芯片 |
CN112181460A (zh) * | 2020-09-27 | 2021-01-05 | 深圳市豪恩声学股份有限公司 | 程序固件升级方法、装置、电子设备及存储介质 |
CN113659663A (zh) * | 2021-07-28 | 2021-11-16 | 安克创新科技股份有限公司 | 充电装置 |
CN113971146A (zh) * | 2020-07-22 | 2022-01-25 | 旺玖科技股份有限公司 | 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040066777A1 (en) * | 2000-06-20 | 2004-04-08 | Seppo Vesterinen | Method for performing a mobile user terminal route update in a telecommunication network operated based on the internet protocol |
CN101247491A (zh) * | 2008-03-07 | 2008-08-20 | 深圳创维-Rgb电子有限公司 | 通讯协议转换装置、电视机软件的在线升级系统及其方法 |
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
US9286047B1 (en) * | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US20170289334A1 (en) * | 2015-09-24 | 2017-10-05 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Mobile terminal, power adapter, and upgrade method thereof |
CN107301067A (zh) * | 2017-05-26 | 2017-10-27 | 安徽四创电子股份有限公司 | 基于iap技术的北斗用户机远程升级系统及其升级方法 |
-
2019
- 2019-07-29 CN CN201910686476.8A patent/CN110457055B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040066777A1 (en) * | 2000-06-20 | 2004-04-08 | Seppo Vesterinen | Method for performing a mobile user terminal route update in a telecommunication network operated based on the internet protocol |
CN101247491A (zh) * | 2008-03-07 | 2008-08-20 | 深圳创维-Rgb电子有限公司 | 通讯协议转换装置、电视机软件的在线升级系统及其方法 |
US9286047B1 (en) * | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US20170289334A1 (en) * | 2015-09-24 | 2017-10-05 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Mobile terminal, power adapter, and upgrade method thereof |
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
CN107301067A (zh) * | 2017-05-26 | 2017-10-27 | 安徽四创电子股份有限公司 | 基于iap技术的北斗用户机远程升级系统及其升级方法 |
Non-Patent Citations (1)
Title |
---|
史立原等: "安卓电视机芯智能升级的应用研究", 《电视技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352645A (zh) * | 2020-03-31 | 2020-06-30 | 广州昂宝电子有限公司 | 用于usb-pd充电器的固件更新方法和装置 |
CN111352645B (zh) * | 2020-03-31 | 2023-08-22 | 广州昂宝电子有限公司 | 用于usb-pd充电器的固件更新方法和装置 |
CN113971146A (zh) * | 2020-07-22 | 2022-01-25 | 旺玖科技股份有限公司 | 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统 |
CN112152836A (zh) * | 2020-08-11 | 2020-12-29 | 珠海市一微半导体有限公司 | 小存储容量设备的远程固件自动升级方法、系统及芯片 |
CN112152836B (zh) * | 2020-08-11 | 2022-12-13 | 珠海市一微半导体有限公司 | 小存储容量设备的远程固件自动升级方法、系统及芯片 |
CN112181460A (zh) * | 2020-09-27 | 2021-01-05 | 深圳市豪恩声学股份有限公司 | 程序固件升级方法、装置、电子设备及存储介质 |
CN112181460B (zh) * | 2020-09-27 | 2024-01-16 | 深圳市豪恩声学股份有限公司 | 程序固件升级方法、装置、电子设备及存储介质 |
CN113659663A (zh) * | 2021-07-28 | 2021-11-16 | 安克创新科技股份有限公司 | 充电装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110457055B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457055A (zh) | 一种面向快充协议的固件升级控制方法、系统及控制终端 | |
CN104915237B (zh) | 蓝牙设备固件程序的升级、升级控制方法及设备 | |
EP3570409A1 (en) | System and method for updating firmware in a wireless charger | |
CN110168798A (zh) | 电池包及该电池包与电子装置之间的数据传输方法 | |
EP3726925B1 (en) | Mobile terminal, power adapter, and upgrade method thereof | |
CN104967971A (zh) | 一种实现Android系统下蓝牙自动回连的方法 | |
CN112181339A (zh) | 数据传输方法及装置 | |
WO2017049548A1 (zh) | 移动终端、电源适配器及其升级方法 | |
CN108366005A (zh) | 电子设备间的联动方法及装置 | |
CN111061447A (zh) | 无线传屏方法、装置及系统 | |
US9971591B2 (en) | Mobile terminal, power adapter, and upgrade method thereof | |
CN112104477A (zh) | 电控端固件在线升级方法、系统和WiFi模块 | |
CN108366131B (zh) | 数据传输方法、装置、终端以及存储介质 | |
CN104965747A (zh) | 软件升级的方法及装置 | |
CN107402794A (zh) | 一种充电桩自身程序升级方法及装置 | |
CN114440389A (zh) | 空调器及其升级方法、计算机设备和计算机可读存储介质 | |
WO2021018208A1 (zh) | 固件升级方法及装置、电子设备、存储介质 | |
CN109189629B (zh) | 基于usb设备实现终端远程控制的方法、存储介质 | |
CN107748669B (zh) | 一种软件升级装置 | |
CN105704707A (zh) | 从设备及其空中升级的方法 | |
CN114443097A (zh) | 一种用于会议单元中的单片机固件升级方法 | |
CN105207811B (zh) | 一种替换非AllJoyn设备的方法及装置 | |
CN112291219A (zh) | 通信交互方法及系统 | |
CN112118503B (zh) | 耳机升级方法、耳机充电盒、耳机及存储介质 | |
CN106843035B (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 | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |