CN115996222A - 一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 - Google Patents
一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 Download PDFInfo
- Publication number
- CN115996222A CN115996222A CN202310295044.0A CN202310295044A CN115996222A CN 115996222 A CN115996222 A CN 115996222A CN 202310295044 A CN202310295044 A CN 202310295044A CN 115996222 A CN115996222 A CN 115996222A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- upgrade
- mcu1
- upgrading
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,车载充电桩包括主控制器MCU1、控制器MCU2、蓝牙模组和移动通信模组;在线升级方法包括以下步骤:步骤S1、控制器MCU2启动,通过对电源电压的检测设置IO_Signal信号的端口输出为低电平或高电平;步骤S2、通过云端平台或手机蓝牙对充电桩进行升级,将升级文件对应的数据写入移动通信模组的FLASH中;步骤S3、对主控制器MCU1进行升级;步骤S4、对控制器MCU2进行升级。本发明充分利用了充电桩系统移动通信模组的硬件FLASH资源,能兼容移动通信远程升级和手机蓝牙升级,从软件设计角度优化了升级时序,同时还可以降低硬件成本。
Description
技术领域
本发明涉及汽车电子技术领域,特别是一种基于移动通信和蓝牙通信的车载充电桩在线升级方法。
背景技术
随着新能源电动汽车的快速发展,各种电动车的充电桩也出现爆发式发展,而且跟随市场引导不断地向智能化方向发展,使得充电桩的软件复杂度越来越高,导致充电桩产品在用户端难免存在各种各样软件问题需要在线升级。但远程升级需要先把升级文件下载到充电桩内部,再对充电桩应用软件进行升级,需要有额外的存储器存放下载的文件,目前的做法有直接考虑外挂FLASH或增加控制器的FLASH等,都会增加硬件成本。
同时,充电桩的在线升级有多种方式,如4G远程通信升级和蓝牙手机通信升级,需要兼容不同的升级方法又要考虑软件的复用问题,需要最大的简化升级流程,需要系统性的规划充电桩软件的在线升级方法。另外,为了避免充电桩在升级过程中突然掉电导致FLASH损坏,目前的做法有在硬件前端增大蓄电电容,同样会增加硬件成本,而且有的模块功耗在特殊情况下很大,比如4G模组当信号弱时,通过加大发射功率方式与附近基站建立通信,会导致瞬间电流很大,使得特殊情况下硬件蓄电功能也不满足要求,因此,需要开发一种能从软件设计角度优化升级时序,同时还可以降低硬件成本的车载充电桩在线升级方法,以克服目前充电桩应用软件升级存在的诸多弊端。
发明内容
本发明的目的在于,提供一种基于移动通信和蓝牙通信的车载充电桩在线升级方法。本发明充分利用了充电桩系统移动通信模组的硬件FLASH资源,能兼容移动通信远程升级和手机蓝牙升级,从软件设计角度优化了升级时序,同时还可以降低硬件成本。
本发明的技术方案:一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,车载充电桩包括主控制器MCU1、控制器MCU2、蓝牙模组和移动通信模组,主控制器MCU1通过不同的串口分别与蓝牙模组、移动通信模组、控制器MCU2进行通信,控制器MCU2、蓝牙模组和移动通信模组之间的通信通过主控制器MCU1进行转发;
在线升级方法包括以下步骤:
步骤S1、控制器MCU2启动,首先设置IO_Signal信号的端口输出为高电平,再通过对电源电压的检测重新设置IO_Signal信号的端口输出为低电平或高电平;进入步骤S2;
步骤S2、通过云端平台或手机蓝牙对充电桩进行升级:
当通过云端平台对充电桩进行升级时,由充电桩的移动通信模组接收云端平台的请求升级指令,经确认身份和版本信息后,移动通信模组进入升级文件下载模式,将升级文件对应的数据写入移动通信模组的FLASH中,完成升级文件的下载;进入步骤S3;
当通过手机蓝牙对充电桩进行升级时,由充电桩的蓝牙模组接收手机蓝牙的请求升级指令,请求升级指令再经主控制器MCU1转发给移动通信模组,移动通信模组收到指令后通过与手机蓝牙的通信确认身份和版本信息,蓝牙模组进入升级文件下载模式,再通过移动通信模组与手机蓝牙的通信将升级文件对应的数据写入移动通信模组的FLASH中,完成升级文件的下载;进入步骤S3;
步骤S3、对主控制器MCU1进行升级;进入步骤S4;
步骤S4、对控制器MCU2进行升级。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述移动通信模组为4G模组,所述主控制器MCU1通过串口1和蓝牙模组通信,通过串口2和4G模组通信,通过串口3和控制器MCU2通信;通信协议由帧头、设备号、协议数据和CRC16校验四部分组成,主控制器MCU1、控制器MCU2、蓝牙模组和4G模组分别分配一个固定的设备号;当控制器MCU2、蓝牙模组和4G模组之间进行通信时,主控制器MCU1根据设备号选择对应的串口通道转发数据给对应设备。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S1中,控制器MCU2启动完成后,首先初始化低压状态为0,设置IO_Signal信号的端口输出为高电平,在周期5毫秒任务中实时周期检测12V电源电压,如果采集的AD值转换成电压小于10V,并持续两个周期,则设置低压状态为1,同时,设置IO_Signal信号的端口输出为低电平;如果采集的AD值转换成电压大于等于10V,并持续两个周期,则设置低压状态为0,同时,设置IO_Signal信号的端口输出为高电平;进入步骤S2。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S2中,当通过云端平台对充电桩进行升级时,确认身份和版本信息后,主控制器MCU1关闭蓝牙模组的串口通信,设置蓝牙模组进入睡眠模式,主控制器MCU1停止发送串口数据给4G模组,仅接收4G模组的数据,由云端平台对4G模组进行升级文件的下载。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S2中,当通过手机蓝牙对充电桩进行升级时,确认身份和版本信息后,4G模组进入飞行模式,关闭射频模块。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S2中通过云端平台对充电桩进行升级具体包括以下子步骤:
a1、云端平台请求升级,发送请求对应的充电桩升级指令,充电桩的4G模组收到云端平台的请求升级指令后验证身份,根据指定算法和秘钥生成一个SEED,由4G模组发送给云端平台;进入步骤a2;
a2、云端平台收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1发送给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤a3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤a12;
a3、4G模组请求云端平台下发当前升级的软件版本号,云端平台收到指令后,把需要升级文件的版本号发送给4G模组,4G模组比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤a4;否则,请求升级失败原因为升级版本号不支持,进入步骤a11;
a4、4G模组通知云端平台下载升级文件,4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1开始云端平台下载升级文件,主控制器MCU1收到指令后关闭蓝牙模组的串口通信,再通过硬件IO控制信号设置蓝牙模组进入睡眠模式;主控制器MCU1停止发送串口数据给4G模组,仅接收4G模组的数据;进入步骤a5;
a5、4G模组进入云端平台升级文件下载模式,云端平台发送对应升级文件的头文件信息给4G模组,4G模组收到升级文件信息后,根据文件长度信息计算出最大帧号数等于文件的总共字节数除以一帧字节数,设置帧号为1,进入步骤a6;
a6、如果帧号小于等于最大帧号数,则进入步骤a7;否则,进入步骤a10;
a7、4G模组请求当前帧号数据下发,云端平台收到请求后,根据请求的帧号,获取对应的指定长度的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,进入步骤a8;如果不相等,则进入步骤a9;
a8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤a6;
a9、重发次数加1,如果重发次数小于等于3次,则返回步骤a7;否则,请求升级失败原因为通信故障,进入步骤a11;
a10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤a12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤a11;
a11、4G模组发送请求升级失败原因给云端平台,结束升级文件的下载;进入步骤a12;
a12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S2中通过手机蓝牙对充电桩进行升级具体包括以下子步骤:
b1、手机蓝牙请求升级,发送请求对应的充电桩升级指令,充电桩的蓝牙模组收到手机蓝牙请求升级指令后,设置设备号为4G模组的设备号,选择串口1通信把对应协议数据发送给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组收到指令后验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为蓝牙模组的设备号,经过主控制器MCU1的转发把SEED相关数据发送给蓝牙模块,再由蓝牙模组发送给手机蓝牙;进入步骤b2;
b2、手机蓝牙收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信发给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤b3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤b12;
b3、4G模组请求手机蓝牙下发当前升级的软件版本号,设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再由主控制器MCU1转发给蓝牙模组,由蓝牙模组发送给手机蓝牙;手机蓝牙收到指令后,把需要升级文件的版本号发送给蓝牙模组,再由蓝牙模组经过主控制器MCU1转发给4G模组;4G模组比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤b4;否则,请求升级失败原因为升级版本号不支持,进入步骤b11;
b4、4G模组通知手机蓝牙下载升级文件,设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再转发给蓝牙模块,再由蓝牙模组发送给手机蓝牙;同时,4G模组进入飞行模式关闭射频模块;进入步骤b5;
b5、蓝牙模组进入手机蓝牙升级文件下载模式,手机蓝牙发送对应升级文件的头文件信息给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信,把相关信息发送给主控制器MCU1,主控制器MCU1根据设备号选择对应的串口2通信把数据转发给4G模组,4G模组收到升级文件信息后,根据帧长度计算出最大帧号数等于文件的总共字节数除以一帧文件数据字节数,设置帧号为1,进入步骤b6;
b6、如果帧号小于等于最大帧号数,则进入步骤b7;否则,进入步骤b10;
b7、4G模组请求当前帧号数据下发,设置设备号为蓝牙模组的设备号,通过主控制器MCU1转发给蓝牙模组,由蓝牙模组发送到手机蓝牙;手机蓝牙收到请求后,根据请求的帧号,获取对应的指定长度的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤b8;如果不相等,进入步骤b9;
b8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤b6;
b9、重发次数加1,如果重发次数小于等于3次,则返回步骤b7;否则,请求升级失败原因为通信故障,进入步骤b11;
b10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤b12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤b11;
b11、4G模组设置设备号为蓝牙模组设备号,通过串口2通信,发送请求升级失败原因给主控制器MCU1,主控制器MCU1转发给蓝牙模组,再由蓝牙模组发送给手机蓝牙,结束升级文件的下载;进入步骤b12;
b12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,当升级文件下载完成后,对主控制器MCU1和控制器MCU2进行升级,升级文件包含头文件信息、主控制器MCU1升级文件和控制器MCU2升级文件,头文件信息包括整个升级文件的长度、MCU1版本号、MCU1升级数据长度、MCU1升级数据起始地址、MCU2版本号、MCU2升级数据长度和MCU2升级数据起始地址;主控制器MCU1升级文件包括升级数据和最后4个字节的完成性校验数据;控制器MCU2升级文件包括升级数据和最后4个字节的完成性校验数据。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S3具体包括以下子步骤:
c1、当4G模组升级文件下载完成后,首先主动设置进入飞行模式,关闭射频,再请求对主控制器MCU1进行升级,设置设备号为主控制器MCU1的设备号,选择串口2通信发送请求升级主控制器MCU1指令;主控制器MCU1收到升级指令后,检测当前充电桩是否允许升级,如果当前充电桩不在充电而且不在安全故障模式,则进入步骤c2;否则,请求升级失败原因为充电桩不满足升级条件,进入步骤c12;
c2、主控制器MCU1关闭相关外设,设置设备号为控制器MCU2的设备号,通过串口3发送MCU1升级指令,控制器MCU2收到指令后,停止串口3的数据发送,再关闭蓝牙模组的串口通信,通过硬件IO控制信号设置蓝牙模组进入睡眠模式;主控制器MCU1在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤c3;否则,进入步骤c14;
c3、在主控制器MCU1的bootloader程序升级前验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据发送给4G模组,4G模组收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,主控制器MCU1根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤c4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤c12;
c4、主控制器MCU1通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口2发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU1升级数据长度除以一帧字节数,4G模组把最大帧号再发给主控制器MCU1,主控制器MCU1收到最大帧号后,设置帧号为1,进入步骤c5;
c5、主控制器MCU1判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤c6;否则,进入步骤c10;
c6、主控制器MCU1请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU1数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给主控制器MCU1,主控制器MCU1收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤c7;如果不相等,进入步骤c9;
c7、主控制器MCU1首先检测IO_Signal信号的端口是否为高电平,如果为高电平,则进入步骤c8;如果为低电平,则进入步骤c11;
c8、检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU1应用程序起始地址+(帧号-1)*128,FLASH察除的长度为16384,对此段的FLASH进行察除操作;如果不为0,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU1应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384,则设置FLASH已经写入数据长度等于0;返回步骤c5;
c9、重发次数加1,如果重发次数小于等于3次,则返回步骤c6;否则,请求升级失败原因为通信故障,进入步骤c12;
c10、所有帧数据拷贝完成,对MCU1应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU1应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU1升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤c13;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤c12;
c11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤c7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤c12;
c12、主控制器MCU1发送请求升级失败原因给4G模组,结束升级;4G模组收到失败原因后,MCU1升级失败次数加1;如果MCU1升级失败次数小于等于3次,则返回步骤c4;如果MCU1升级失败次数大于3次,则进入步骤c14;
c13、主控制器MCU1发送升级成功指令给4G模组,MCU1升级完成;进入步骤c14;
c14、结束。
前述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法中,所述步骤S4具体包括以下子步骤:
d1、当主控制器MCU1升级完成后,4G模组再请求对控制器MCU2进行升级,设置设备号为控制器MCU2的设备号,选择串口2通信发送请求升级控制器MCU2指令,经过MCU1转发给MCU2;进入步骤d2;
d2、控制器MCU2收到升级MCU2指令后,开启串口3的数据发送,控制器MCU2在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤d3;否则,进入步骤d14;
d3、在控制器MCU2的bootloader程序在升级前验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据经过主控制器MCU1发送给4G模组,4G模组收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤d4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤d12;
d4、控制器MCU2通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口3经过主控制器MCU1发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU2升级数据长度除以一帧字节数,4G模组把最大帧号再发给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2收到最大帧号后,设置帧号为1,进入步骤d5;
d5、控制器MCU2判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤d6;否则,进入步骤d10;
d6、控制器MCU2请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU2数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给控制器MCU2,控制器MCU2收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤d7;如果不相等,进入步骤d9;
d7、控制器MCU2首先判断低压状态是否为0,如果为0,则进入步骤d8;如果为1,则进入步骤d11;
d8、控制器MCU2检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU2应用程序起始地址+(帧号-1)*128,FLASH察除段的长度为16384,对此段的FLASH进行察除操作;如果不为0,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU2应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384,则设置FLASH已经写入数据长度等于0;返回步骤d5;
d9、重发次数加1,如果重发次数小于等于3次,则返回步骤d6;否则,请求升级失败原因为通信故障,进入步骤d12;
d10、所有帧数据拷贝完成,对MCU2应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU2应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU2升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的MCU2应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤d11;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤d12;
d11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤d7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤d12;
d12、控制器MCU2设置设备号为4G模组的设备号,发送请求升级失败原因,由主控制器MCU1转发给4G模组,结束升级;4G模组收到失败原因后,MCU2升级失败次数加1;如果MCU2升级失败次数小于等于3次,则返回步骤d4;如果MCU2升级失败次数大于3次,则进入步骤d14;
d13、控制器MCU2设置设备号为4G模组的设备号,发送升级成功指令,由主控制器MCU1转发给4G模组,MCU2升级完成;进入步骤d14;
d14、结束。
与现有技术相比,本发明的有益效果体现在:本发明用充电桩系统4G模组中的FLASH存放充电桩应用软件远程升级的升级文件,先将升级文件下载到4G模组的FLASH中,再对主控制器MCU1、控制器MCU2进行升级,充分利用了4G模组的硬件FLASH资源,无需外挂FLASH或增加控制器的FLASH等,硬件投入成本低。
本发明可通过云端平台和手机蓝牙对充电桩进行升级,其中通过云端平台对充电桩进行升级时,直接通过云端平台与移动通信模组之间的移动通信将升级文件下载到移动通信模组的FLASH中;特别地,当使用手机蓝牙对充电桩进行升级时,复用了充电桩的移动通信模组,通过手机蓝牙和充电桩蓝牙模组之间的蓝牙通信传递升级信息,再通过主控制器MCU1转发给移动通信模组,在手机蓝牙、充电桩蓝牙模组、主控制器MCU1和移动通信模组的配合下将升级文件下载到移动通信模组的FLASH中,兼容移动通信远程升级和手机蓝牙升级,最大化的简化了升级流程。
另外,为了避免充电桩在升级过程中突然掉电导致FLASH损坏,充电桩在开始升级时,会关闭不需要的外设功耗,在升级过程中对充电桩前端电压进行监控,当低压时会暂停操作FLASH,无需在硬件前端增大蓄电电容,可以进一步降低硬件成本。
附图说明
图1是本发明通过云端平台和手机蓝牙对充电桩进行升级系统结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。
实施例:一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,车载充电桩系统包括主控制器MCU1、控制器MCU2、蓝牙模组和移动通信模组,移动通信模组可为3G模组、4G模组、5G模组或6G模组,在本实施例中优选移动通信模组为4G模组,其中,主控制器MCU1通过串口1和蓝牙模组通信,通过串口2和4G模组通信,通过串口3和控制器MCU2通信。通信协议由帧头(2个字节)、设备号(1个字节)、协议数据和CRC16校验(2个字节)四部分组成。每个模块分配一个固定的设备号,如主控制器MCU1的设备号为0x19,控制器MCU2的设备号为0x25,蓝牙模组的设备号为0x5A,4G模组的设备号为0x9E。控制器MCU2、蓝牙模组和4G模组之间需要通信,则需要通过主控制器MCU1透传,主控制器MCU1会根据设备号选择对应的串口通道转发数据给对应设备,如果设备号0x5A,则选择串口1通信发送数据给蓝牙模组,如果设备号0x9E,则选择串口2通信发送数据给4G模组,如果设备号0x25,则选择串口3通信发送数据给控制器MCU2。如果控制器MCU2、蓝牙模组和4G模组等设备,和主控制器MCU1进行通信,则使用设备号0x19,如果设备号为0x19,则主控制器MCU1会直接获取相关通信数据并进行处理。当主控制器MCU1收到设备号不为0x19时,则根据设备号转发给对应的设备。
在线升级方法包括以下步骤:
步骤S1、控制器MCU2启动完成后,首先初始化低压状态为0,设置IO_Signal信号的端口输出为高电平;在周期5毫秒任务中实时周期检测12V电源电压,如果采集的AD值转换成电压小于10V,并持续两个周期,则设置低压状态为1,同时,设置IO_Signal信号的端口输出为低电平;如果采集的AD值转换成电压大于等于10V,并持续两个周期,则设置低压状态为0,同时,设置IO_Signal信号的端口输出为高电平;进入步骤S2。
步骤S2、参考图1,本发明可通过云端平台或手机蓝牙对充电桩进行升级:
当通过云端平台对充电桩进行升级时,由充电桩的4G模组接收云端平台的请求升级指令,经确认身份和版本信息后,4G模组进入升级文件下载模式,将升级文件对应的数据写入4G模组的FLASH中,完成升级文件的下载;进入步骤S3;
当通过手机蓝牙对充电桩进行升级时,由充电桩的蓝牙模组接收手机蓝牙的请求升级指令,请求升级指令再经主控制器MCU1转发给4G模组,4G模组收到指令后通过与手机蓝牙的通信确认身份和版本信息,蓝牙模组进入升级文件下载模式,再通过4G模组与手机蓝牙的通信将升级文件对应的数据写入4G模组的FLASH中,完成升级文件的下载;进入步骤S3。
以下本发明记载的FLASH均代指4G模组的FLASH。
通过云端平台对充电桩进行升级,需要确认身份和版本信息后,才允许下载升级文件,具体包括以下子步骤:
a1、云端平台请求升级,发送请求对应的充电桩升级指令,充电桩的4G模组收到云端平台的请求升级指令后,需要验证身份,根据指定算法和秘钥生成一个SEED,由4G模组发送给云端平台;进入步骤a2。
a2、云端平台收到SEED后,会根据指定的算法和秘钥,使用SEED计算出对应的KEY1发送给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤a3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤a12。
a3、4G模组请求云端平台下发当前升级的软件版本号(版本号由大、中和小三个数字字符表示),4G模组通过4G通信发送给云端平台,云端平台收到指令后,会把需要升级文件的版本号发送给4G模组,4G模组会比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤a4;否则,请求升级失败原因为升级版本号不支持,进入步骤a11。
a4、4G模组通知云端平台下载升级文件,4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1开始云端平台下载升级文件,主控制器MCU1收到指令后关闭蓝牙模组的串口通信(关闭串口1),设置Sleep_Signal端口输出为低电平,使蓝牙模组进入睡眠模式;主控制器MCU1停止发送串口数据给4G模组,仅接收4G模组的数据;进入步骤a5。
a5、4G模组进入云端平台升级文件下载模式,云端平台发送对应升级文件的头文件信息给4G模组,4G模组收到升级文件信息后,根据文件长度信息计算出最大帧号数等于文件的总共字节数除以一帧字节数(文件生成时是对齐的,所以是整除),设置帧号为1,进入步骤a6。
a6、如果帧号小于等于最大帧号数,则进入步骤a7;否则,进入步骤a10。
a7、4G模组请求当前帧号数据下发,云端平台收到请求后,根据请求的帧号,获取对应的指定长度(128个字节)的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,进入步骤a8;如果不相等,则进入步骤a9。
a8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤a6。
a9、重发次数加1,如果重发次数小于等于最大重发次数(3次),则返回步骤a7;否则,请求升级失败原因为通信故障,进入步骤a11。
a10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤a12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤a11。
a11、4G模组发送请求升级失败原因给云端平台,结束升级文件的下载;进入步骤a12。
a12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
通过手机蓝牙对充电桩进行升级,需要确认身份和版本信息后,才允许下载升级文件,具体包括以下子步骤:
b1、手机蓝牙请求升级,发送请求对应的充电桩升级指令,充电桩的蓝牙模组收到手机蓝牙请求升级指令后,设置设备号为4G模组的设备号,选择串口1通信把对应协议数据发送给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组收到指令后,需要验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为蓝牙模组的设备号,经过主控制器MCU1的转发把SEED相关数据发送给蓝牙模块,再由蓝牙模组发送给手机蓝牙;进入步骤b2。
b2、手机蓝牙收到SEED后,会根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信发给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,再比较KEY1和KEY2,如果相等,则进入步骤b3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤b12。
b3、4G模组请求手机蓝牙下发当前升级的软件版本号(版本号由大、中和小三个数字字符表示),设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再由主控制器MCU1转发给蓝牙模组,由蓝牙模组发送给手机蓝牙;手机蓝牙收到指令后,会把需要升级文件的版本号发送给蓝牙模组,再由蓝牙模组经过主控制器MCU1转发给4G模组;4G模组会比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤b4;否则,请求升级失败原因为升级版本号不支持,进入步骤b11。
b4、4G模组通知手机蓝牙下载升级文件,设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再转发给蓝牙模块,再由蓝牙模组发送给手机蓝牙;同时,4G模组进入飞行模式关闭射频模块降低功耗;进入步骤b5。
b5、蓝牙模组进入手机蓝牙升级文件下载模式,手机蓝牙发送对应升级文件的头文件信息给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信,把相关信息发送给主控制器MCU1,主控制器MCU1根据设备号选择对应的串口2通信把数据转发给4G模组,4G模组收到升级文件信息后,根据帧长度计算出最大帧号数等于文件的总共字节数除以一帧文件数据字节数(文件生成时是对齐的,所以是整除),设置帧号为1,进入步骤b6。
b6、如果帧号小于等于最大帧号数,则进入步骤b7;否则,进入步骤b10。
b7、4G模组请求当前帧号数据下发,设置设备号为蓝牙模组的设备号,通过主控制器MCU1转发给蓝牙模组,由蓝牙模组发送到手机蓝牙;手机蓝牙收到请求后,根据请求的帧号,获取对应的指定长度(128个字节)的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤b8;如果不相等,进入步骤b9。
b8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤b6。
b9、重发次数加1,如果重发次数小于等于最大重发次数(3次),则返回步骤b7;否则,请求升级失败原因为通信故障,进入步骤b11。
b10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤b12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤b11。
b11、4G模组设置设备号为蓝牙模组设备号,通过串口2通信,发送请求升级失败原因给主控制器MCU1,主控制器MCU1转发给蓝牙模组,再由蓝牙模组发送给手机蓝牙,结束升级文件的下载;进入步骤b12。
b12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
当升级文件下载完成后,需要对主控制器MCU1和控制器MCU2进行升级,升级文件包含头文件信息、主控制器MCU1升级文件和控制器MCU2升级文件,头文件信息包括整个升级文件的长度、MCU1版本号、MCU1升级数据长度、MCU1升级数据起始地址、MCU2版本号、MCU2升级数据长度和MCU2升级数据起始地址等内容;主控制器MCU1升级文件包括升级数据和最后4个字节的完成性校验数据;控制器MCU2升级文件包括升级数据和最后4个字节的完成性校验数据。
步骤S3、对主控制器MCU1进行升级,具体包括以下子步骤:
c1、当4G模组升级文件下载完成后,首先主动设置进入飞行模式,关闭射频,降低4G模组的功耗,再请求对主控制器MCU1进行升级,设置设备号为主控制器MCU1的设备号,选择串口2通信发送请求升级主控制器MCU1指令;主控制器MCU1收到升级指令后,检测当前充电桩是否允许升级,如果当前充电桩不在充电而且不在安全故障模式(充电桩发生了严重故障,如漏电故障,会进入安全故障模式),则进入步骤c2;否则,请求升级失败原因为充电桩不满足升级条件,进入步骤c12。
c2、主控制器MCU1关闭相关外设,设置设备号为控制器MCU2的设备号,通过串口3发送MCU1升级指令,控制器MCU2收到指令后,停止串口3的数据发送,再关闭蓝牙模组的串口通信(关闭串口1),设置Sleep_Signal端口输出为低电平,使蓝牙模组进入睡眠模式;主控制器MCU1在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader(引导和刷新)程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤c3;否则,进入步骤c14。
c3、在主控制器MCU1的bootloader程序升级前,需要验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据发送给4G模组,4G模组收到SEED后,会根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,主控制器MCU1根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,再比较KEY1和KEY2,如果相等,则进入步骤c4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤c12。
c4、主控制器MCU1通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口2发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU1升级数据长度除以一帧字节数(每帧128个字节,文件生成时是对齐的,所以是整除),4G模组把最大帧号再发给主控制器MCU1,主控制器MCU1收到最大帧号后,设置帧号为1,进入步骤c5。
c5、主控制器MCU1判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤c6;否则,进入步骤c10。
c6、主控制器MCU1请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU1数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给主控制器MCU1,主控制器MCU1收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤c7;如果不相等,进入步骤c9。
c7、主控制器MCU1首先检测IO_Signal信号的端口是否为高电平,如果为高电平,则进入步骤c8;如果为低电平,则进入步骤c11。
c8、检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU1应用程序起始地址+(帧号-1)*128,FLASH察除段的长度为16384(16K),对此段的FLASH进行察除操作;如果不为0,说明此段还没有写满,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU1应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384(16K),则设置FLASH已经写入数据长度等于0;返回步骤c5。
c9、重发次数加1,如果重发次数小于等于最大重发次数(3次),则返回步骤c6;否则,请求升级失败原因为通信故障,进入步骤c12。
c10、所有帧数据拷贝完成,对MCU1应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU1应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU1升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤c13;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤c12。
c11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤c7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤c12。
c12、主控制器MCU1发送请求升级失败原因给4G模组,结束升级;4G模组收到失败原因后,MCU1升级失败次数加1;如果MCU1升级失败次数小于等于3次,则返回步骤c4;如果MCU1升级失败次数大于3次,则进入步骤c14。
c13、主控制器MCU1发送升级成功指令给4G模组,MCU1升级完成;进入步骤c14。
c14、结束。
在步骤S3中,低压超时阈值配置为10分钟。
步骤S4、对控制器MCU2进行升级,具体包括以下子步骤:
d1、当主控制器MCU1升级完成后,4G模组再请求对控制器MCU2进行升级,设置设备号为控制器MCU2的设备号,选择串口2通信发送请求升级控制器MCU2指令,经过MCU1转发给MCU2;进入步骤d2。
d2、控制器MCU2收到升级MCU2指令后,开启串口3的数据发送,控制器MCU2在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader(引导和刷新)程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤d3;否则,进入步骤d14。
d3、在控制器MCU2的bootloader程序在升级前,需要验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据经过主控制器MCU1发送给4G模组,4G模组收到SEED后,会根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,再比较KEY1和KEY2,如果相等,则进入步骤d4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤d12。
d4、控制器MCU2通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口3经过主控制器MCU1发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU2升级数据长度除以一帧字节数(每帧128个字节,文件生成时是对齐的,所以是整除),4G模组把最大帧号再发给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2收到最大帧号后,设置帧号为1,进入步骤d5。
d5、控制器MCU2判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤d6;否则,进入步骤d10。
d6、控制器MCU2请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU2数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给控制器MCU2,控制器MCU2收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤d7;如果不相等,进入步骤d9。
d7、控制器MCU2首先判断低压状态是否为0,如果为0,则进入步骤d8;如果为1,则进入步骤d11。
d8、控制器MCU2检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU2应用程序起始地址+(帧号-1)*128,FLASH察除段的长度为16384(16K),对此段的FLASH进行察除操作;如果不为0,说明此段还没有写满,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU2应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384(16K),则设置FLASH已经写入数据长度等于0;返回步骤d5。
d9、重发次数加1,如果重发次数小于等于最大重发次数(3次),则返回步骤d6;否则,请求升级失败原因为通信故障,进入步骤d12。
d10、所有帧数据拷贝完成,对MCU2应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU2应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU2升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的MCU2应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤d11;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤d12。
d11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤d7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤d12。
d12、控制器MCU2设置设备号为4G模组的设备号,发送请求升级失败原因,由主控制器MCU1转发给4G模组,结束升级;4G模组收到失败原因后,MCU2升级失败次数加1;如果MCU2升级失败次数小于等于3次,则返回步骤d4;如果MCU2升级失败次数大于3次,则进入步骤d14。
d13、控制器MCU2设置设备号为4G模组的设备号,发送升级成功指令,由主控制器MCU1转发给4G模组,MCU2升级完成;进入步骤d14。
d14、结束。
在步骤S4中,低压超时阈值配置为10分钟。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:车载充电桩包括主控制器MCU1、控制器MCU2、蓝牙模组和移动通信模组,主控制器MCU1通过不同的串口分别与蓝牙模组、移动通信模组、控制器MCU2进行通信,控制器MCU2、蓝牙模组和移动通信模组之间的通信通过主控制器MCU1进行转发;
在线升级方法包括以下步骤:
步骤S1、控制器MCU2启动,首先设置IO_Signal信号的端口输出为高电平,再通过对电源电压的检测重新设置IO_Signal信号的端口输出为低电平或高电平;进入步骤S2;
步骤S2、通过云端平台或手机蓝牙对充电桩进行升级:
当通过云端平台对充电桩进行升级时,由充电桩的移动通信模组接收云端平台的请求升级指令,经确认身份和版本信息后,移动通信模组进入升级文件下载模式,将升级文件对应的数据写入移动通信模组的FLASH中,完成升级文件的下载;进入步骤S3;
当通过手机蓝牙对充电桩进行升级时,由充电桩的蓝牙模组接收手机蓝牙的请求升级指令,请求升级指令再经主控制器MCU1转发给移动通信模组,移动通信模组收到指令后通过与手机蓝牙的通信确认身份和版本信息,蓝牙模组进入升级文件下载模式,再通过移动通信模组与手机蓝牙的通信将升级文件对应的数据写入移动通信模组的FLASH中,完成升级文件的下载;进入步骤S3;
步骤S3、对主控制器MCU1进行升级;进入步骤S4;
步骤S4、对控制器MCU2进行升级。
2.根据权利要求1所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述移动通信模组为4G模组,所述主控制器MCU1通过串口1和蓝牙模组通信,通过串口2和4G模组通信,通过串口3和控制器MCU2通信;通信协议由帧头、设备号、协议数据和CRC16校验四部分组成,主控制器MCU1、控制器MCU2、蓝牙模组和4G模组分别分配一个固定的设备号;当控制器MCU2、蓝牙模组和4G模组之间进行通信时,主控制器MCU1根据设备号选择对应的串口通道转发数据给对应设备。
3.根据权利要求2所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S1中,控制器MCU2启动完成后,首先初始化低压状态为0,设置IO_Signal信号的端口输出为高电平,在周期5毫秒任务中实时周期检测12V电源电压,如果采集的AD值转换成电压小于10V,并持续两个周期,则设置低压状态为1,同时,设置IO_Signal信号的端口输出为低电平;如果采集的AD值转换成电压大于等于10V,并持续两个周期,则设置低压状态为0,同时,设置IO_Signal信号的端口输出为高电平;进入步骤S2。
4.根据权利要求2所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S2中,当通过云端平台对充电桩进行升级时,确认身份和版本信息后,主控制器MCU1关闭蓝牙模组的串口通信,设置蓝牙模组进入睡眠模式,主控制器MCU1停止发送串口数据给4G模组,仅接收4G模组的数据,由云端平台对4G模组进行升级文件的下载。
5.根据权利要求2所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S2中,当通过手机蓝牙对充电桩进行升级时,确认身份和版本信息后,4G模组进入飞行模式,关闭射频模块。
6.根据权利要求2所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S2中通过云端平台对充电桩进行升级具体包括以下子步骤:
a1、云端平台请求升级,发送请求对应的充电桩升级指令,充电桩的4G模组收到云端平台的请求升级指令后验证身份,根据指定算法和秘钥生成一个SEED,由4G模组发送给云端平台;进入步骤a2;
a2、云端平台收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1发送给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤a3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤a12;
a3、4G模组请求云端平台下发当前升级的软件版本号,云端平台收到指令后,把需要升级文件的版本号发送给4G模组,4G模组比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤a4;否则,请求升级失败原因为升级版本号不支持,进入步骤a11;
a4、4G模组通知云端平台下载升级文件,4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1开始云端平台下载升级文件,主控制器MCU1收到指令后关闭蓝牙模组的串口通信,再通过硬件IO控制信号设置蓝牙模组进入睡眠模式;主控制器MCU1停止发送串口数据给4G模组,仅接收4G模组的数据;进入步骤a5;
a5、4G模组进入云端平台升级文件下载模式,云端平台发送对应升级文件的头文件信息给4G模组,4G模组收到升级文件信息后,根据文件长度信息计算出最大帧号数等于文件的总共字节数除以一帧字节数,设置帧号为1,进入步骤a6;
a6、如果帧号小于等于最大帧号数,则进入步骤a7;否则,进入步骤a10;
a7、4G模组请求当前帧号数据下发,云端平台收到请求后,根据请求的帧号,获取对应的指定长度的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,进入步骤a8;如果不相等,则进入步骤a9;
a8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤a6;
a9、重发次数加1,如果重发次数小于等于3次,则返回步骤a7;否则,请求升级失败原因为通信故障,进入步骤a11;
a10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤a12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤a11;
a11、4G模组发送请求升级失败原因给云端平台,结束升级文件的下载;进入步骤a12;
a12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
7.根据权利要求2所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S2中通过手机蓝牙对充电桩进行升级具体包括以下子步骤:
b1、手机蓝牙请求升级,发送请求对应的充电桩升级指令,充电桩的蓝牙模组收到手机蓝牙请求升级指令后,设置设备号为4G模组的设备号,选择串口1通信把对应协议数据发送给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组收到指令后验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为蓝牙模组的设备号,经过主控制器MCU1的转发把SEED相关数据发送给蓝牙模块,再由蓝牙模组发送给手机蓝牙;进入步骤b2;
b2、手机蓝牙收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信发给主控制器MCU1,再由主控制器MCU1转发给4G模组,4G模组根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤b3;如果不相等,则请求升级失败原因为身份确认失败,进入步骤b12;
b3、4G模组请求手机蓝牙下发当前升级的软件版本号,设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再由主控制器MCU1转发给蓝牙模组,由蓝牙模组发送给手机蓝牙;手机蓝牙收到指令后,把需要升级文件的版本号发送给蓝牙模组,再由蓝牙模组经过主控制器MCU1转发给4G模组;4G模组比较收到的软件版本对应的大版本字符和当前FLASH存储的软件版本对应的大版本字符是否相等,如果相等,则进入步骤b4;否则,请求升级失败原因为升级版本号不支持,进入步骤b11;
b4、4G模组通知手机蓝牙下载升级文件,设置设备号为蓝牙模组的设备号,选择串口2通信发送给主控制器MCU1,再转发给蓝牙模块,再由蓝牙模组发送给手机蓝牙;同时,4G模组进入飞行模式关闭射频模块;进入步骤b5;
b5、蓝牙模组进入手机蓝牙升级文件下载模式,手机蓝牙发送对应升级文件的头文件信息给蓝牙模组,蓝牙模组设置设备号为4G模组的设备号,选择串口1通信,把相关信息发送给主控制器MCU1,主控制器MCU1根据设备号选择对应的串口2通信把数据转发给4G模组,4G模组收到升级文件信息后,根据帧长度计算出最大帧号数等于文件的总共字节数除以一帧文件数据字节数,设置帧号为1,进入步骤b6;
b6、如果帧号小于等于最大帧号数,则进入步骤b7;否则,进入步骤b10;
b7、4G模组请求当前帧号数据下发,设置设备号为蓝牙模组的设备号,通过主控制器MCU1转发给蓝牙模组,由蓝牙模组发送到手机蓝牙;手机蓝牙收到请求后,根据请求的帧号,获取对应的指定长度的升级文件数据,对应数据进行CRC16校验值计算,并把帧文件数据和校验值一起发送给4G模组;4G模组收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤b8;如果不相等,进入步骤b9;
b8、把对应数据根据帧号写入FLASH对应地址中,帧号加1,设置重发次数为0;返回步骤b6;
b9、重发次数加1,如果重发次数小于等于3次,则返回步骤b7;否则,请求升级失败原因为通信故障,进入步骤b11;
b10、所有帧数据下载完成,4G模组对下载的文件数据进行完整性校验,读取存放在FLASH地址中对应的文件数据,从第一个字节开始计算CRC32校验值,长度为文件的总共字节数减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的文件数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤b12;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤b11;
b11、4G模组设置设备号为蓝牙模组设备号,通过串口2通信,发送请求升级失败原因给主控制器MCU1,主控制器MCU1转发给蓝牙模组,再由蓝牙模组发送给手机蓝牙,结束升级文件的下载;进入步骤b12;
b12、4G模组设置设备号为主控制器MCU1的设备号,选择串口2通信通知主控制器MCU1结束升级文件的下载。
8.根据权利要求6或7所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:当升级文件下载完成后,对主控制器MCU1和控制器MCU2进行升级,升级文件包含头文件信息、主控制器MCU1升级文件和控制器MCU2升级文件,头文件信息包括整个升级文件的长度、MCU1版本号、MCU1升级数据长度、MCU1升级数据起始地址、MCU2版本号、MCU2升级数据长度和MCU2升级数据起始地址;主控制器MCU1升级文件包括升级数据和最后4个字节的完成性校验数据;控制器MCU2升级文件包括升级数据和最后4个字节的完成性校验数据。
9.根据权利要求8所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S3具体包括以下子步骤:
c1、当4G模组升级文件下载完成后,首先主动设置进入飞行模式,关闭射频,再请求对主控制器MCU1进行升级,设置设备号为主控制器MCU1的设备号,选择串口2通信发送请求升级主控制器MCU1指令;主控制器MCU1收到升级指令后,检测当前充电桩是否允许升级,如果当前充电桩不在充电而且不在安全故障模式,则进入步骤c2;否则,请求升级失败原因为充电桩不满足升级条件,进入步骤c12;
c2、主控制器MCU1关闭相关外设,设置设备号为控制器MCU2的设备号,通过串口3发送MCU1升级指令,控制器MCU2收到指令后,停止串口3的数据发送,再关闭蓝牙模组的串口通信,通过硬件IO控制信号设置蓝牙模组进入睡眠模式;主控制器MCU1在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤c3;否则,进入步骤c14;
c3、在主控制器MCU1的bootloader程序升级前验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据发送给4G模组,4G模组收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,主控制器MCU1根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤c4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤c12;
c4、主控制器MCU1通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口2发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU1升级数据长度除以一帧字节数,4G模组把最大帧号再发给主控制器MCU1,主控制器MCU1收到最大帧号后,设置帧号为1,进入步骤c5;
c5、主控制器MCU1判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤c6;否则,进入步骤c10;
c6、主控制器MCU1请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU1数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给主控制器MCU1,主控制器MCU1收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤c7;如果不相等,进入步骤c9;
c7、主控制器MCU1首先检测IO_Signal信号的端口是否为高电平,如果为高电平,则进入步骤c8;如果为低电平,则进入步骤c11;
c8、检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU1应用程序起始地址+(帧号-1)*128,FLASH察除的长度为16384,对此段的FLASH进行察除操作;如果不为0,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU1应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384,则设置FLASH已经写入数据长度等于0;返回步骤c5;
c9、重发次数加1,如果重发次数小于等于3次,则返回步骤c6;否则,请求升级失败原因为通信故障,进入步骤c12;
c10、所有帧数据拷贝完成,对MCU1应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU1应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU1升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤c13;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤c12;
c11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤c7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤c12;
c12、主控制器MCU1发送请求升级失败原因给4G模组,结束升级;4G模组收到失败原因后,MCU1升级失败次数加1;如果MCU1升级失败次数小于等于3次,则返回步骤c4;如果MCU1升级失败次数大于3次,则进入步骤c14;
c13、主控制器MCU1发送升级成功指令给4G模组,MCU1升级完成;进入步骤c14;
c14、结束。
10.根据权利要求9所述的一种基于移动通信和蓝牙通信的车载充电桩在线升级方法,其特征在于:所述步骤S4具体包括以下子步骤:
d1、当主控制器MCU1升级完成后,4G模组再请求对控制器MCU2进行升级,设置设备号为控制器MCU2的设备号,选择串口2通信发送请求升级控制器MCU2指令,经过MCU1转发给MCU2;进入步骤d2;
d2、控制器MCU2收到升级MCU2指令后,开启串口3的数据发送,控制器MCU2在RAM中指定地址写入0xa5、0x5a、0xa5、0x5a这4个字节,再软件复位重启,进入bootloader程序,读取RAM中指定地址的4个字节数据,如果分别为0xa5、0x5a、0xa5、0x5a,则表示需要升级APP程序,进入步骤d3;否则,进入步骤d14;
d3、在控制器MCU2的bootloader程序在升级前验证身份,根据指定算法和秘钥生成一个SEED,设置设备号为4G模组的设备号,把SEED相关数据经过主控制器MCU1发送给4G模组,4G模组收到SEED后,根据指定的算法和秘钥,使用SEED计算出对应的KEY1,再发送给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2根据同样指定的算法和秘钥,使用SEED计算出对应的KEY2,比较KEY1和KEY2,如果相等,则进入步骤d4;如果不相等,则请求升级失败原因为身份确认失败,进入步骤d12;
d4、控制器MCU2通知4G模组升级准备就绪,设置设备号为4G模组的设备号,通过串口3经过主控制器MCU1发送升级准备就绪指令,4G模组收到准备就绪指令后,计算出最大帧号数等于MCU2升级数据长度除以一帧字节数,4G模组把最大帧号再发给主控制器MCU1,由主控制器MCU1转发给控制器MCU2,控制器MCU2收到最大帧号后,设置帧号为1,进入步骤d5;
d5、控制器MCU2判断帧号是否小于等于最大帧号,如果帧号小于等于最大帧号数,则进入步骤d6;否则,进入步骤d10;
d6、控制器MCU2请求4G模组发送帧号对应的帧数据,4G模组收到指令后,读取当前帧对应的数据,帧数据地址=MCU2数据的起始地址+(帧号-1)*128,一帧数据长度为128字节,再对一帧数据进行CRC16校验值计算,并把帧数据和校验值一起发送给控制器MCU2,控制器MCU2收到数据后,同样对数据部分进行CRC16计算算出校验值,和收到的校验值比较,如果相等,则进入步骤d7;如果不相等,进入步骤d9;
d7、控制器MCU2首先判断低压状态是否为0,如果为0,则进入步骤d8;如果为1,则进入步骤d11;
d8、控制器MCU2检查当前段的FLASH已经写入数据长度是否为0,如果为0,察除FLASH新的段,FLASH察除起始地址=MCU2应用程序起始地址+(帧号-1)*128,FLASH察除段的长度为16384,对此段的FLASH进行察除操作;如果不为0,直接把对应数据写入FLASH对应地址中,帧数据写入地址=MCU2应用程序起始地址+(帧号-1)*128,写入完成后,帧号加1,设置重发次数为0,FLASH已经写入数据长度=FLASH已经写入数据长度+128,如果FLASH已经写入数据长度等于16384,则设置FLASH已经写入数据长度等于0;返回步骤d5;
d9、重发次数加1,如果重发次数小于等于3次,则返回步骤d6;否则,请求升级失败原因为通信故障,进入步骤d12;
d10、所有帧数据拷贝完成,对MCU2应用程序所有数据进行完整性校验,读取存放在FLASH地址中对应的MCU2应用程序数据,从第一个字节开始计算CRC32校验值,长度为MCU2升级数据长度减去4个字节,计算的CRC32校验值和读取存放在FLASH地址中对应的MCU2应用程序数据最后4个字节的CRC32校验值进行比较,如果相等,则校验通过,进入步骤d11;如果不相等,则请求升级失败原因为完整性校验失败,进入步骤d12;
d11、低压超时计时器加1,如果低压超时计时器小于低压超时阈值,则返回步骤d7;如果低压超时计时器大于等于低压超时阈值,则请求升级失败原因为低压超时,进入步骤d12;
d12、控制器MCU2设置设备号为4G模组的设备号,发送请求升级失败原因,由主控制器MCU1转发给4G模组,结束升级;4G模组收到失败原因后,MCU2升级失败次数加1;如果MCU2升级失败次数小于等于3次,则返回步骤d4;如果MCU2升级失败次数大于3次,则进入步骤d14;
d13、控制器MCU2设置设备号为4G模组的设备号,发送升级成功指令,由主控制器MCU1转发给4G模组,MCU2升级完成;进入步骤d14;
d14、结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295044.0A CN115996222B (zh) | 2023-03-24 | 2023-03-24 | 一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295044.0A CN115996222B (zh) | 2023-03-24 | 2023-03-24 | 一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115996222A true CN115996222A (zh) | 2023-04-21 |
CN115996222B CN115996222B (zh) | 2023-06-06 |
Family
ID=85995444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310295044.0A Active CN115996222B (zh) | 2023-03-24 | 2023-03-24 | 一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996222B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634260A (zh) * | 2016-01-30 | 2016-06-01 | 深圳南云微电子有限公司 | 输出短路保护方法及电路 |
WO2017197832A1 (zh) * | 2016-05-18 | 2017-11-23 | 北京新能源汽车股份有限公司 | 车辆及用于车辆的低压蓄电池的充电控制方法和系统 |
US20180163655A1 (en) * | 2016-12-12 | 2018-06-14 | Hyundai Motor Company | Method of improving engine startability using hardware wake-up period control and vehicle using the same |
CN108376077A (zh) * | 2018-02-11 | 2018-08-07 | 广东美的厨房电器制造有限公司 | 控制单元的升级方法和装置 |
CN109271183A (zh) * | 2018-08-20 | 2019-01-25 | 惠而浦(中国)股份有限公司 | 可升级程序的洗衣机系统及其控制方法 |
CN109766117A (zh) * | 2018-12-12 | 2019-05-17 | 天津津航技术物理研究所 | 一种基于dsp通用平台在线升级方法 |
CN110096294A (zh) * | 2019-05-07 | 2019-08-06 | 柏科智能(厦门)科技有限公司 | 一种可任意断点无线升级mcu应用程序的方法 |
CN111208753A (zh) * | 2019-12-24 | 2020-05-29 | 西安旭彤电子科技股份有限公司 | 一种基于arm的fpga启动及在线升级方法 |
CN113204365A (zh) * | 2021-05-27 | 2021-08-03 | 宁波均胜新能源汽车技术有限公司 | 充电桩的升级方法与智能充电桩 |
-
2023
- 2023-03-24 CN CN202310295044.0A patent/CN115996222B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634260A (zh) * | 2016-01-30 | 2016-06-01 | 深圳南云微电子有限公司 | 输出短路保护方法及电路 |
WO2017197832A1 (zh) * | 2016-05-18 | 2017-11-23 | 北京新能源汽车股份有限公司 | 车辆及用于车辆的低压蓄电池的充电控制方法和系统 |
US20180163655A1 (en) * | 2016-12-12 | 2018-06-14 | Hyundai Motor Company | Method of improving engine startability using hardware wake-up period control and vehicle using the same |
CN108376077A (zh) * | 2018-02-11 | 2018-08-07 | 广东美的厨房电器制造有限公司 | 控制单元的升级方法和装置 |
CN109271183A (zh) * | 2018-08-20 | 2019-01-25 | 惠而浦(中国)股份有限公司 | 可升级程序的洗衣机系统及其控制方法 |
CN109766117A (zh) * | 2018-12-12 | 2019-05-17 | 天津津航技术物理研究所 | 一种基于dsp通用平台在线升级方法 |
CN110096294A (zh) * | 2019-05-07 | 2019-08-06 | 柏科智能(厦门)科技有限公司 | 一种可任意断点无线升级mcu应用程序的方法 |
CN111208753A (zh) * | 2019-12-24 | 2020-05-29 | 西安旭彤电子科技股份有限公司 | 一种基于arm的fpga启动及在线升级方法 |
CN113204365A (zh) * | 2021-05-27 | 2021-08-03 | 宁波均胜新能源汽车技术有限公司 | 充电桩的升级方法与智能充电桩 |
Non-Patent Citations (2)
Title |
---|
SHI SHUANGLONG: "Study on Group Control Charging System and Cluster Control Technology of Electric Vehicle", 《2018 2ND IEEE CONFERENCE ON ENERGY INTERNET AND ENERGY SYSTEM INTEGRATION (EI2)》 * |
李春雨;夏敏磊;: "基于CPLD的SPI Flash程序在线加载方案", 《自动化与仪器仪表》, no. 12 * |
Also Published As
Publication number | Publication date |
---|---|
CN115996222B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096294B (zh) | 一种可任意断点无线升级mcu应用程序的方法 | |
CN111061499A (zh) | 一种基于文件系统的ecu更新方法及系统 | |
CN108334331B (zh) | 一种安全的电动汽车电池管理系统软件升级方法 | |
CN109673009B (zh) | 一种vcu软件空中升级方法及装置 | |
CN111813425A (zh) | 设备升级方法、装置、设备及存储介质 | |
CN105511929A (zh) | 一种设备远程无线升级方法 | |
CN111061447A (zh) | 无线传屏方法、装置及系统 | |
CN108664256A (zh) | 系统的固件更新方法、装置和电池管理系统 | |
CN111538515A (zh) | 一种电能表程序的升级方法、装置和设备 | |
CN113352924A (zh) | 一种基于蓝牙连接的充电方法、系统及存储介质 | |
CN112069008A (zh) | 设备调试信息获取方法、装置和设备调试信息生成方法 | |
CN105007564A (zh) | 基于云端授权的蓝牙智能连接方法、装置及系统 | |
CN115996222B (zh) | 一种基于移动通信和蓝牙通信的车载充电桩在线升级方法 | |
CN113147485A (zh) | 控制车辆充电的方法、装置及车辆 | |
CN114385215A (zh) | 软件升级方法及系统 | |
CN103010039A (zh) | 一种电池管理系统引导加载方法 | |
CN110399150A (zh) | 一种bios升级方法、系统、装置及计算机存储介质 | |
CN101739530B (zh) | Arm系统启动过程中的加密方法 | |
CN114840241A (zh) | 一种数据处理方法以及相关设备 | |
CN114268614A (zh) | 一种设备固件升级方法、装置及系统 | |
CN112804307A (zh) | 一种联动场景执行的方法及装置 | |
CN111615030A (zh) | 一种新型tws耳机的升级方法、装置及介质 | |
CN116541047A (zh) | 固件升级方法、装置、计算机设备及计算机可读存储介质 | |
CN116048595A (zh) | 一种智能终端无感升级方法、系统及电动叉车 | |
CN116489143A (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 |