一种充电桩自身程序升级方法及装置与流程

文档序号:13030909阅读:663来源:国知局
一种充电桩自身程序升级方法及装置与流程

本发明实施例涉及一种升级技术,尤其涉及一种充电桩自身程序升级方法及装置。



背景技术:

随着新能源电动汽车的快速发展,交直流充电桩的需求每日剧增,全国各地都在建充电桩,功能也在不断进行升级完善,当建好的桩需要升级程序时,现今都是维护人员采用到现场,采用笔记本电脑升级软件,由于充电桩都是分散建设,充电桩软件的更新率也在加大,面对传统的软件烧录方式,需要维护人员去现场使用烧录器更新程序的方法而言,使公司运营维护成本加大,而且效率降低。



技术实现要素:

本发明实施例提供一种充电桩自身程序升级方法及装置,能够自动升级充电桩自身程序、提升升级效率。

第一方面,本发明实施例提供了一种充电桩自身程序升级方法,包括:

于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;

若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机。

进一步的,若所述充电枪的握手电压为预设值,则根据升级文件的版本向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:

若所述充电枪的握手电压为预设值,则获取充电桩自身程序的当前版本;

若所述升级文件的版本高于所述当前版本,则控制所述智能终端向所述下位机发送握手指令;

若获取到所述下位机回复的握手指令,则将升级文件通过总线传输至所述下位机中。

进一步的,于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本之前,还包括:

将下位机的内部存储区划分为第一存储区和第二存储区,其中,第一存储区用于存储升级文件的版本对应的升级文件,第二存储区用于存储当前版本对应的升级文件;

相应的,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:

若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机中的第一存储区;

根据所述第一存储区中的升级文件进行相应的升级操作。

进一步的,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机之后,还包括:

于升级操作完成后,若接收到版本复原指令,则获取所述第二存储区内的当前版本对应的升级文件进行版本复原操作。

进一步的,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:

若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件以升级数据包的形式通过数据传输总线从智能终端发送至下位机,其中,所述升级文件包括至少一个升级数据包;

于最后一个升级数据包传输至下位机中时,根据下位机中存储的全部升级数据包的长度、属性和连续性判断所述下位机中存储的全部升级数据包是否为完整的升级文件;

若下位机中存储的全部升级数据包为完整的升级文件,则进行升级操作。

第二方面,本发明实施例还提供了一种充电桩自身程序升级装置,该装置包括:

获取模块,用于于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;

发送模块,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机。

进一步的,所述发送模块具体用于:

若所述充电枪的握手电压为预设值,则获取充电桩自身程序的当前版本;

若所述升级文件的版本高于所述当前版本,则控制所述智能终端向所述下位机发送握手指令;

若获取到所述下位机回复的握手指令,则将升级文件通过总线传输至所述下位机中。

进一步的,还包括:

存储区划分模块,用于于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本之前,将下位机的内部存储区划分为第一存储区和第二存储区,其中,第一存储区用于存储升级文件的版本对应的升级文件,第二存储区用于存储当前版本对应的升级文件;

相应的,所述发送模块包括:

文件发送单元,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机中的第一存储区;

升级单元,用于根据所述第一存储区中的升级文件进行相应的升级操作。

进一步的,还包括:

复原模块,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机之后,于升级操作完成后,若接收到版本复原指令,则获取所述第二存储区内的当前版本对应的升级文件进行版本复原操作。

进一步的,所述发送模块具体用于:

若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件以升级数据包的形式通过数据传输总线从智能终端发送至下位机,其中,所述升级文件包括至少一个升级数据包;

于最后一个升级数据包传输至下位机中时,根据下位机中存储的全部升级数据包的长度、属性和连续性判断所述下位机中存储的全部升级数据包是否为完整的升级文件;

若下位机中存储的全部升级数据包为完整的升级文件,则进行升级操作。

本发明实施例通过于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,能够自动升级充电桩自身程序、提升升级效率。

附图说明

图1是本发明实施例一中的一种充电桩自身程序升级方法的流程图;

图2是本发明实施例二中的一种充电桩自身程序升级方法的流程图;

图3是本发明实施例三中的一种充电桩自身程序升级方法的流程图;

图4是本发明实施例四中的一种充电桩自身程序升级装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种充电桩自身程序升级方法的流程图,本实施例可适用于充电桩自身程序升级的情况,该方法可以由本发明实施例提供的充电桩自身程序升级装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:

s110,于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本。

其中,充电桩包括:充电枪、智能终端和下位机。

具体的,当接收到升级请求时,先获取充电枪的握手电压,根据握手电压确定充电枪的当前状态。

s120,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机。

其中,所述下位机是直接控制设备获取设备状况的计算机,一般是plc/单片机之类的,优选的,下位机为单片机。

具体的,将充电枪与车辆接口相连的过程为:按下充电枪按键,插入车辆插座,再放开充电枪按键。充电桩将检测到握手电压12v-6v-4v的电平变化。一旦检测到握手电压为4v,则说明充电桩将判断充电枪插入成功,车辆接口完全连接。

具体的,当充电枪的握手电压为预设值时说明充电枪处于空闲状态,例如可以是,预设值为12v你,若检测到充电枪的握手电压为12v的时候,则说明充电枪处于空闲状态,若检测到充电枪的握手电压为4v的时候,则说明充电枪处于工作状态。

具体的,当通过can(controllerareanetwork,控制器局域网络)总线接收到升级请求时(包括升级文件的版本及升级目标地址和指令信息),首先判断充电桩是否工作在充电状态,如果充电桩处于充电中则会挂起升级请求,发送忙碌状态报文信息告诉智能终端本次升级指令忽略,现在处于充电状态,不能完成升级过程,需等待空闲时段再进行本次升级过程。用来防护在充电过程中因为升级而中断当前充电过程,使得目标车辆中途停充不能充满电量,进而造成增加异常停机的比率的情况。如若充电桩处于空闲状态,则根据升级请求报文版本号获取升级文件,存储重要的运行参数,重启当前系统。

可选的,若所述充电枪的握手电压为预设值,则根据升级文件的版本向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:

若所述充电枪的握手电压为预设值,则获取充电桩自身程序的当前版本;

若所述升级文件的版本高于所述当前版本,则控制所述智能终端向所述下位机发送握手指令;

若获取到所述下位机回复的握手指令,则将升级文件通过总线传输至所述下位机中。

具体的,若充电桩处于空闲状态,则将升级文件的版本和充电桩自身程序的当前版本对比,如若升级文件的版本和当前版本相同或比当前版本低则忽略本次升级,且通过can报文返回忽略原因及当前版本信息。

在一个具体的例子中,若升级文件的版本高于所述当前版本,则开始500ms的定时,周期性的向下位机发送握手指令,等待并实时查询can通信端口的接收数据,直至接收到下位机回复的握手指令为止。若500ms内未收到握手指令则回复升级超时状态跳出进入用户程序入口开始执行用户程序。

本实施例的技术方案,通过于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,能够自动升级充电桩自身程序、提升升级效率。

实施例二

图2为本发明实施例二中的一种充电桩自身程序升级方法的流程图,本实施例以前述实施例一为基础进行优化,提供了优选的充电桩自身程序升级方法,具体是,于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本之前,还包括:将下位机的内部存储区划分为第一存储区和第二存储区,其中,第一存储区用于存储升级文件的版本对应的升级文件,第二存储区用于存储当前版本对应的升级文件;相应的,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机中的第一存储区;根据所述第一存储区中的升级文件进行相应的升级操作。

相应的,本实施例的方法具体包括如下步骤:

s210,将下位机的内部存储区划分为第一存储区和第二存储区,其中,第一存储区用于存储升级文件的版本对应的升级文件,第二存储区用于存储当前版本对应的升级文件。

其中,所述第二存储区用于备份当前版本对应的升级文件,以防止由于升级失败或者升级后的程序出现问题时导致充电桩无法使用的情况。

具体的,主要完成对mcu硬件外设的初始化(can通讯设置初始化,功能提示指示灯,内部定时器),对内部存储区的划分,定义程序缓存地址范围,读取内部程序flash各标识位等,为后续和升级上位机进行数据通讯做初期准备。

s220,于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本。

s230,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机中的第一存储区。

s240,根据所述第一存储区中的升级文件进行相应的升级操作。

可选的,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机之后,还包括:

于升级操作完成后,若接收到版本复原指令,则获取所述第二存储区内的当前版本对应的升级文件进行版本复原操作。

其中,版本复原指令主要应用于当用户升级完程序后发现升级文件有问题,又没有升级版本的修复时。

其中,版本复原操作主要是将升级后的充电桩自身程序还原为升级前的充电桩自身程序。

在一个具体的例子中,在直流充电枪驱动程序正常运行逻辑中,通过can总线接收到版本复原指令时,首先根据充电枪的握手电压确定充电枪的工作状态,进而根据充电枪的工作状态确定充电桩的工作状态,再判断内部flash存储器存储区域内旧版本的用户app是否存在,然后判断存储区域内旧版本的用户app是否有效(即app1的运行标识0x08008000位置标识是否有效),如若有效则把app1内存储的0x08080000内容复制到app2地址0x08020000中,置位app2标识0x08004000,并跳转app2用户程序标识0x08020000。并存储重要的运行参数,重启当前系统。

本实施例的技术方案,通过于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,能够自动升级充电桩自身程序、提升升级效率。

实施例三

图3为本发明实施例三中的一种充电桩自身程序升级方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,包括:若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件以升级数据包的形式通过数据传输总线从智能终端发送至下位机,其中,所述升级文件包括至少一个升级数据包;于最后一个升级数据包传输至下位机中时,根据下位机中存储的全部升级数据包的长度、属性和连续性判断所述下位机中存储的全部升级数据包是否为完整的升级文件;若下位机中存储的全部升级数据包为完整的升级文件,则进行升级操作。

如图3所示,本实施例的方法具体包括如下步骤:

s310,于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本。

s320,若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件以升级数据包的形式通过数据传输总线从智能终端发送至下位机,其中,所述升级文件包括至少一个升级数据包。

其中,将所述升级文件分解成多个升级数据包,依次传输至下位机,例如,将升级文件分为4个升级数据包,将4个升级数据包依次传输至下位机中。

s330,于最后一个升级数据包传输至下位机中时,根据下位机中存储的全部升级数据包的长度、属性和连续性判断所述下位机中存储的全部升级数据包是否为完整的升级文件。

可选的,可以根据下位机中存储的全部升级数据包的长度判断下位机中存储的全部升级数据包是否为完整的升级文件;也可以根据下位机中存储的全部升级数据包的属性判断下位机中存储的全部升级数据包是否为完整的升级文件;还可以根据下位机中存储的全部升级数据包的连续性判断下位机中存储的全部升级数据包是否为完整的升级文件,或者可以为根据下位机中存储的全部升级数据包的长度、属性和连续性中的任意两种综合判断所述下位机中存储的全部升级数据包是否为完整的升级文件。

s340,若下位机中存储的全部升级数据包为完整的升级文件,则进行升级操作。

具体的,若下位机中存储的全部升级数据包为完整的升级文件,则说明升级文件已经全部传输至下位机中,则可以开始进行升级。

在一个具体的例子中,由于充电桩中单片机的程序文件大多是hex文件,而在总线中传送的报文,每一帧的有效字节数为8个。因此需要把hex文件分解成多包传送给单片机,最后完成整个升级文件的烧写。把hex文件按每行3包的方法拆分,这样发送完一行共需要3帧can总线的报文,每帧一个帧标识加七个字节。直至发送完最后一包升级文件结束。数据传输过程包括传输hex文件和帧标识数据。在循环检测中,侦测到接收一帧can总线的报文后首先提取数据域第一字节数据,判断数据标识意义,根据不同意义进行不同处理:如果数据第一字节为握手标识(04)则置位握手标志位,通过can总线回复握手成功报文;如果数据第一字节为3页数据传输标识(01,02,03)则按标识顺序缓存相应数据,并回复接收成功标识报文。当收到拼接校验标识(06)后还是做和校验并与hex文件单行和校验数比对校验,完成后返回本行传输完毕状态报文;如果校验失败则返回当前行传输失败报文,上位机启动重传机制。直至上位机传输到最后一行且校验完成后,上位机传送传输完成标识(08),boot服务程序收到08后启动hex文件连续性校验。

在另一个具体的例子中,当单片机通过can总线收到效验指令后,执行hex文件效验程序,hex文件的传输过程是按行传送的,每行分为3包数据,当收到效验指令后,首先把这3包数据按照顺序,拼成一行,存储在名称为数组中。对收到的数据进行累加和效验,数组第一字节代表的是数据长度,hex文件除了数据还有4个字节代表hex文件的属性,首先计算收到数据的长度,为第1字节加4,然后把收到数组长度的所有字节进行累加和效验,和最后一个字节做比较,如果错误,返回-1,正确,则执行下一步。对数组属性进行判断,取数组的第4字节,如果是0x04代表是hex文件开头起始标志,这时置位收报头标志。如果是0x00代表收到的数据,如果是其它值代表有错误,返回-1。当收到的是数据时需要判断在收到数据之前是否收到过报头,如果是没有收到报头就直接收到的数据,则证明hex文件不完整,返回-1。如果收到的属性是数据,并且之前已经收到了报头。如果是第一条数据,根据收到的地址和本次收到的数据长度,进行累加,计算下次数据的写入地址并存储到变量中,并置位收到起始数据标志,返回0,并发送回应数据效验正确指令。如果不是第一条数据,判断是否收到起始数据标志,如果没收到返回-1,否则判断收到数据的地址连续性,判断接收数据中的本次地址是否和上次计算的地址偏移一致,如果不一致,证明收到的数据有错误,地址不连续返回-1,否则证明地址一致,然后把本次地址加上数据长度,计算下次数据的写入地址并存储到变量中,供下次接收数据进行效验。当hex文件完整性,连续性校验完毕后,开始对芯片内部flash编程,首先擦除app1区的flash空间,然后把当前app2区域内的应用程序按规则偏移拷贝到app1区并清空app2,写入flash运行标识0x08004000。app1备份程序,并写入flash运行标志0x08008000,用来实现上一版本的用户程序本地备份。方便设备实现升级反悔功能。拷贝完成后,把app2区域内的应用程序擦除,并把ram中本次通过can总线接收的hex文件按顺序写入app2flash区域内,最后置相应的app2运行标志位0x08004000。上述功能完毕则整个升级过程结束发送升级完成报文,跳转app2用户程序0x08020000。

在另一个具体的例子中,为150kw分体式直流充电桩自身程序升级,本发明实施例的方案可以应用于生产量化过程,生产之前给各个控制芯片烧写本服务程序和出厂检测量化程序。可直接封装外壳,完成整机。检测量化完毕后直接通过在线升级方法升级为出厂固件程序,不需要拆卸两层外壳通过can通讯线缆对各单片机直接编程,方便快捷,生产一次成型,提高生产效率。另外,本发明的方案还实现了远程维护功能,因150kw直流充电桩内部集成操作系统,可连接内部网络,通过对操作系统基于本升级方法协议进行应用程序开发,可通过网络由远程维护中心直接控制充电站本地的操作系统程序,借助于本发明实施例的方案对充电站内所有充电桩自身程序进行升级。大大节省了人力维护成本,提升了版本升级的便利性。

本实施例的技术方案,通过于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,能够自动升级充电桩自身程序、提升升级效率。

实施例四

图4为本发明实施例四提供的一种充电桩自身程序升级装置的结构示意图。本实施例可适用于充电桩自身程序升级的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供充电桩自身程序升级功能的设备中,如图4所示,所述充电桩自身程序升级装置具体包括:获取模块410和发送模块420。

其中,获取模块410,用于于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;

发送模块420,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机。

可选的,所述发送模块具体用于:

若所述充电枪的握手电压为预设值,则获取充电桩自身程序的当前版本;

若所述升级文件的版本高于所述当前版本,则控制所述智能终端向所述下位机发送握手指令;

若获取到所述下位机回复的握手指令,则将升级文件通过总线传输至所述下位机中。

可选的,还包括:

存储区划分模块,用于于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本之前,将下位机的内部存储区划分为第一存储区和第二存储区,其中,第一存储区用于存储升级文件的版本对应的升级文件,第二存储区用于存储当前版本对应的升级文件;

相应的,所述发送模块包括:

文件发送单元,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机中的第一存储区;

升级单元,用于根据所述第一存储区中的升级文件进行相应的升级操作。

可选的,还包括:

复原模块,用于若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机之后,于升级操作完成后,若接收到版本复原指令,则获取所述第二存储区内的当前版本对应的升级文件进行版本复原操作。

可选的,所述发送模块具体用于:

若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件以升级数据包的形式通过数据传输总线从智能终端发送至下位机,其中,所述升级文件包括至少一个升级数据包;

于最后一个升级数据包传输至下位机中时,根据下位机中存储的全部升级数据包的长度、属性和连续性判断所述下位机中存储的全部升级数据包是否为完整的升级文件;

若下位机中存储的全部升级数据包为完整的升级文件,则进行升级操作。

本实施例的技术方案,通过于接收到升级请求时,获取充电枪的握手电压,其中,所述升级请求包括:升级文件的版本;若所述充电枪的握手电压为预设值,则根据升级文件的版本号向智能终端发送升级指令,以使所述升级文件的版本对应的升级文件从智能终端发送至下位机,能够自动升级充电桩自身程序、提升升级效率。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1