用于USB-PD充电器的固件更新方法和装置制造方法及图纸

技术编号:24707240 阅读:135 留言:0更新日期:2020-06-30 23:52
本公开涉及用于USB‑PD充电器的固件更新方法和装置。提供了一种由USB‑PD充电器执行的方法,包括:接收由USB‑PD主控装置基于从终端设备接收到的更新指令而发送的第一消息;在基于第一消息验证USB‑PD主控装置合法时,向USB‑PD主控装置发送第一确认消息,并且将USB‑PD充电器的USB‑PD IC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;接收由USB‑PD主控装置基于从终端设备接收到的固件更新数据而发送的第二消息,并且将第二消息中的固件更新数据写入用户程序代码空间;以及向USB‑PD主控装置发送第二确认消息,并且将USB‑PD充电器的USB‑PD IC模块用于执行程序的指针从在系统编程代码空间跳转到用户程序代码空间。

【技术实现步骤摘要】
用于USB-PD充电器的固件更新方法和装置
本公开涉及充电器领域,更具体地涉及一种用于USB-PD充电器的固件更新方法和装置。
技术介绍
USB-PD(USBPowerDelivery,USB功率传输)协议是USB-IF(USBImplementersForum,USB开发者论坛)协会提出的一项快充协议,伴随USB-PD协议诞生的还有USBType-C接口。通过USB-PD协议和USBType-C接口,USB-IF协会希望统一所有厂家的快充规格,改变厂家各自为战的局面,实现一台充电器适配所有设备的远景。从2014年诞生以来,USB-PD充电器蓬勃发展,特别是随着Apple终于在iPhone11引入了对USB-PD协议的支持之后,整个USB-PD充电器市场迎来了大爆发。随着USB-PD协议不断地被修改完善,一款USB-PD充电器生产出来,可能过一段时间就无法兼容最新的USB-PD协议。然而,对于充电器厂家来说,USB-PDIC(USB-PDIntegratedCircuit,USB-PD集成电路)相对于一般充电器IC在价格上较高,并且如果早期上市的USB-PD充电器有漏洞,则很可能导致召回及赔偿。因此,充电器厂家希望能够对USB-PD充电器进行固件更新。传统的固件更新方法需要充电器额外提供专用的烧录引脚,典型的是一根时钟信号SCL,一根数据信号线SDA。然而,在USB-PD充电器中,对外只有Type-C的信号线,无法提供专用的烧录引脚。因此,需要一种用于USB-PD充电器的固件更新方法和装置。<br>
技术实现思路
本公开的实施例提供了一种用于USB-PD充电器的固件更新方法和装置,能够利用USBType-C接口根据USB-PD协议来更新USB-PD充电器的固件。在第一方面中,本公开的实施例提供了一种由USB-PD充电器执行的方法,包括:接收由USB-PD主控装置基于从终端设备接收到的更新指令而发送的第一消息;在基于第一消息验证USB-PD主控装置合法时,向USB-PD主控装置发送第一确认消息,并且将USB-PD充电器的USB-PDIC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;接收由USB-PD主控装置基于从终端设备接收到的固件更新数据而发送的第二消息,并且将第二消息中的固件更新数据写入用户程序代码空间;以及向USB-PD主控装置发送第二确认消息,并且将USB-PD充电器的USB-PDIC模块用于执行程序的指针从在系统编程代码空间跳转到用户程序代码空间。在第一方面的一种可能的实施方式中,第一消息包括加密信息,并且其中,基于第一消息验证USB-PD主控装置合法包括:对第一消息中的加密信息进行解密,并且基于解密的信息来验证USB-PD主控装置合法。在第一方面的一种可能的实施方式中,在接收由USB-PD主控装置基于从终端设备接收到的固件更新数据而发送的第二消息之前,方法还包括:接收由USB-PD主控装置发送的第三消息,并且向USB-PD主控装置发送第三确认消息,并且其中,第三消息包括固件更新数据的数据块数量和USB-PD充电器的USB-PDIC模块的存储器的更新起始地址。在第一方面的一种可能的实施方式中,接收由USB-PD主控装置基于从终端设备接收到的固件更新数据而发送的第二消息包括:依次接收与固件更新数据的数据块数量相对应的多个第二子消息。在第一方面的一种可能的实施方式中,在向USB-PD主控装置发送第二确认消息之后,并且在将USB-PD充电器的USB-PDIC模块用于执行程序的指针从在系统编程代码空间跳转到用户程序代码空间之前,方法还包括:接收由USB-PD主控装置基于从终端设备接收到的校验指令而发送的请求消息;基于请求消息,从用户程序代码空间读取固件更新数据并且向USB-PD主控装置发送固件更新数据,以供USB-PD主控装置将固件更新数据发送至终端设备用于检测一致性;以及接收由USB-PD主控装置基于终端设备确认固件更新数据的一致性而发送的第四消息,并且向USB-PD主控装置发送第四确认消息。在第一方面的一种可能的实施方式中,向USB-PD主控装置发送固件更新数据包括:依次发送固件更新数据的各个数据块。在第一方面的一种可能的实施方式中,USB-PD充电器与USB-PD主控装置之间的通信是经由USBType-C接口根据USB-PD协议进行的,并且USB-PD主控装置与终端设备之间的通信是经由UART接口进行的。在第二方面中,本公开的实施例提供了一种由USB-PD主控装置执行的方法,包括:基于从终端设备接收到的更新指令而向USB-PD充电器发送第一消息;接收由USB-PD充电器在基于第一消息验证USB-PD主控装置合法时而发送的第一确认消息,以及使得USB-PD充电器的USB-PDIC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;基于从终端设备接收到的固件更新数据而向USB-PD充电器发送第二消息;以及接收由USB-PD充电器在将第二消息中的固件更新数据写入用户程序代码空间之后而发送的第二确认消息,以及使得USB-PD充电器的USB-PDIC模块用于执行程序的指针从在系统编程代码空间跳转到用户程序代码空间。在第二方面的一种可能的实施方式中,第一消息包括加密信息。在第二方面的一种可能的实施方式中,在基于从终端设备接收到的固件更新数据而向USB-PD充电器发送第二消息之前,方法还包括:向USB-PD充电器发送第三消息,并且接收由USB-PD充电器发送的第三确认消息;并且其中,第三消息包括固件更新数据的数据块数量和USB-PD充电器的USB-PDIC模块的存储器的更新起始地址。在第二方面的一种可能的实施方式中,基于从终端设备接收到的固件更新数据而向USB-PD充电器发送第二消息包括:依次发送与固件更新数据的数据块数量相对应的多个第二子消息。在第二方面的一种可能的实施方式中,在接收由USB-PD充电器在将第二消息中的固件更新数据写入用户程序代码空间之后而发送的第二确认消息之后,并且在使得USB-PD充电器的USB-PDIC模块用于执行程序的指针从在系统编程代码空间跳转到用户程序代码空间之前,方法还包括:基于从终端设备接收到的校验指令而向USB-PD充电器发送请求消息;接收由USB-PD充电器从用户程序代码空间读取并且发送的固件更新数据,并且将固件更新数据发送至终端设备用于检测一致性;以及基于终端设备确认固件更新数据的一致性而向USB-PD充电器发送第四消息,并且接收由USB-PD充电器发送的第四确认消息。在第二方面的一种可能的实施方式中,接收由USB-PD充电器从用户程序代码空间读取并且发送的固件更新数据包括:依次接收固件更新数据的各个数据块。在第二方面的一种可能的实施方式中,USB-PD充电器与USB-PD主控装置之间的通信是经由USBType-C接口根据USB-PD协议进行的,并且USB-PD主控装置与终端设备之间的通信是经由UART接口进行的。在第三方面中,本公开的实本文档来自技高网
...

【技术保护点】
1.一种由USB-PD充电器执行的方法,包括:/n接收由USB-PD主控装置基于从终端设备接收到的更新指令而发送的第一消息;/n在基于所述第一消息验证所述USB-PD主控装置合法时,向所述USB-PD主控装置发送第一确认消息,并且将所述USB-PD充电器的USB-PD IC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;/n接收由所述USB-PD主控装置基于从所述终端设备接收到的固件更新数据而发送的第二消息,并且将所述第二消息中的固件更新数据写入所述用户程序代码空间;以及/n向所述USB-PD主控装置发送第二确认消息,并且将所述USB-PD充电器的USB-PD IC模块用于执行程序的指针从所述在系统编程代码空间跳转到所述用户程序代码空间。/n

【技术特征摘要】
1.一种由USB-PD充电器执行的方法,包括:
接收由USB-PD主控装置基于从终端设备接收到的更新指令而发送的第一消息;
在基于所述第一消息验证所述USB-PD主控装置合法时,向所述USB-PD主控装置发送第一确认消息,并且将所述USB-PD充电器的USB-PDIC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;
接收由所述USB-PD主控装置基于从所述终端设备接收到的固件更新数据而发送的第二消息,并且将所述第二消息中的固件更新数据写入所述用户程序代码空间;以及
向所述USB-PD主控装置发送第二确认消息,并且将所述USB-PD充电器的USB-PDIC模块用于执行程序的指针从所述在系统编程代码空间跳转到所述用户程序代码空间。


2.根据权利要求1所述的方法,其中,所述第一消息包括加密信息,并且其中,基于所述第一消息验证所述USB-PD主控装置合法包括:
对所述第一消息中的加密信息进行解密,并且基于解密的信息来验证所述USB-PD主控装置合法。


3.根据权利要求1所述的方法,其中,在接收由所述USB-PD主控装置基于从所述终端设备接收到的固件更新数据而发送的第二消息之前,所述方法还包括:
接收由所述USB-PD主控装置发送的第三消息,并且向所述USB-PD主控装置发送第三确认消息,并且
其中,所述第三消息包括所述固件更新数据的数据块数量和所述USB-PD充电器的USB-PDIC模块的存储器的更新起始地址。


4.根据权利要求3所述的方法,其中,接收由所述USB-PD主控装置基于从所述终端设备接收到的固件更新数据而发送的第二消息包括:
依次接收与所述固件更新数据的数据块数量相对应的多个第二子消息。


5.根据权利要求1所述的方法,其中,在向所述USB-PD主控装置发送第二确认消息之后,并且在将所述USB-PD充电器的USB-PDIC模块用于执行程序的指针从所述在系统编程代码空间跳转到所述用户程序代码空间之前,所述方法还包括:
接收由所述USB-PD主控装置基于从所述终端设备接收到的校验指令而发送的请求消息;
基于所述请求消息,从所述用户程序代码空间读取所述固件更新数据并且向所述USB-PD主控装置发送所述固件更新数据,以供所述USB-PD主控装置将所述固件更新数据发送至所述终端设备用于检测一致性;以及
接收由所述USB-PD主控装置基于所述终端设备确认所述固件更新数据的一致性而发送的第四消息,并且向所述USB-PD主控装置发送第四确认消息。


6.根据权利要求5所述的方法,其中,向所述USB-PD主控装置发送所述固件更新数据包括:
依次发送所述固件更新数据的各个数据块。


7.根据权利要求1所述的方法,其中,所述USB-PD充电器与所述USB-PD主控装置之间的通信是经由USBType-C接口根据USB-PD协议进行的,并且所述USB-PD主控装置与所述终端设备之间的通信是经由UART接口进行的。


8.一种由USB-PD主控装置执行的方法,包括:
基于从终端设备接收到的更新指令而向USB-PD充电器发送第一消息;
接收由所述USB-PD充电器在基于所述第一消息验证所述USB-PD主控装置合法时而发送的第一确认消息,以及使得所述USB-PD充电器的USB-PDIC模块用于执行程序的指针从用户程序代码空间跳转到在系统编程代码空间;
基于从所述终端设备接收到的固件更新数据而向所述USB-PD充电器发送第二消息;以及
接收由所述USB-PD充电器在将所述第二消息中的固件更新数据写入所述用户程序代码空间之后而发送的第二确认消息,以及使得所述USB-PD充电器的USB-P...

【专利技术属性】
技术研发人员:张华栋
申请(专利权)人:广州昂宝电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1