一种对电能表芯片程序进行下载更新的方法

文档序号:6573622阅读:320来源:国知局
专利名称:一种对电能表芯片程序进行下载更新的方法
技术领域
本发明涉及电能表和通讯技术领域,更具体地说,涉及一种对电能表芯片 程序进行下载更新的方法。背景技木在电能表生产过程中, 一般存在储备大量的库存品以备急时,库存品中有 各种型号产品,产品中芯片程序也各有不同。当需要出货时, 一般是从库存品 中调出相适应型号的产品,但库存品中产品功能可能不能全面符合市场需求, 这时需要对库存品中的芯片程序进行下载更新,以至满足市场需求。在批量化 生产过程中,特别是在交货时间紧,出货量大时更显得尤为方便重要。如图1所示,在现有技术中, 一般采用问答式的软件下载更新方案,下载 更新的步骤如下51、 上层软件向电能表发送指令帧。上层软件下行广播指令帧l...N, N 由芯片程序大小决定,每128字节为一帧。52、 电能表接收并处理所述指令帧。电能表处理上层软件模块发送来的指 令帧l...N,并且对于上层软件发送来的每一指令帧都会返回应答帧。53、 上层软件对电能表返回的应答帧进行处理。也就是说,上层软件模块 对于电能表返回的应答帧l...N都会一一处理。54、 上层软件在对返回的应答帧的处理过程中,对应答帧进行校验,如果 处理没有出错,则表示电能表合格,程序下载更新成功;否则表示电能表不合 格,程序下载更新不成功。55、 继续下一块电能表芯片程序的下载更新,并循环执行步骤S1。 由此可知,现有技术只能对电能表芯片一次一块地进行更新,速度比较慢,浪费时间较多;而且该方案对电能表芯片的下载更新只进行了一次的校验,该校验很难保证100%下载更新数据包的完整性和安全性,这样也会造成数据下载更新不成功。 发明内容针对现有技术的上述缺陷,本发明要解决现有技术中对电能表芯片程序进 行下载更新的方法中所存在的速度慢,安全性低等问题,提供了一种对电能表 芯片程序进行下载更新的方法,以对电能表进行高速,高效、准确的下载更新。本发明解决其技术问题所采用的技术方案是提供一种对电能表芯片程序 进行下载更新的方法,在上层软件与电能表之间进行数据传输, 在上层软件执行如下步骤a、 上层软件下行广播指令帧l...N,其中N由电能表的芯片程序大小决定;b、 上层软件下行问答指令帧N+l,下行上层软件输出循环冗余校验的校 验结果,所述CRC16校验结果由所述广播指令帧l...N中的校验和进行循环冗 余校验运算所得到;c、 上层软件下行问答指令帧N+2,读取电能表返回的标志位数据; 在电能表执行如下步骤d、 电能表接收到所述广播指令帧数据后,切换到更新程序状态并进行相应 的更新处理;e、 接收到上层软件下行的指令帧N+1后,将上层软件的下行循环冗余校 验的校验结果与电能表内部的循环冗余校验的校验结果进行比较处理;f、 接收到上层软件下行的指令帧N+2后,电能表向上层软件发送带标志 位数据的应答帧。在本发明所述的方法中,所述步骤c具体包括 若所述标志位数据为1,则表示该电能表芯片程序更新不成功; 若所述标志位数据为0,则表示该电能表芯片程序更新成功。 在本发明所述的方法中,所述步骤d中,所述相应的更新处理具体包括 dl、置标志位为0;d2、当收到完整的广播指令帧l...N后,进行校验和运算,并核对所述指令帧是否安全完整;d3、进行电能表程序的更新;若校验或更新过程出现任何非法情况,则置 标志位为l,但整个广播过程中不上行任何指令帧。在本发明所述的方法中,所述步骤e中,所述比较处理具体包括若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校 验的校验结果相同,则表示所收到的指令帧连续的,且每一帧都是完整的;若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校 验的校验结果不同,则表示所收到的数据包为非法,将其标志位置为l。在本发明所述的方法中,所述上层软件与所述电能表之间的数据传输采用 DL/T645-1997通讯规约。在本发明所述的方法中,广播指令帧每一帧数据为128字节,在广播指令 帧下行过程中,电能表禁止上行指令帧,并且在芯片程序更新过程中电能表禁 止主动上行指令帧。在本发明所述的方法中,所述循环冗余校验采用循环冗余校验16位的校 验方法对所有广播指令帧的校验和结果进行校验。在本发明所述的方法中,当电能表接收到广播指令帧数据后,进行更新芯 片程序;若该更新过程中若出现错误,则将标志位置为1,表示电能表更新程 序为不合格。在本发明所述的方法中,所述上层软件通过RS232或RS485串口与所述电 能表连接。在本发明所述的方法中,所述上层软件与功率源、标准表、误差板之间的 数据传输采用内部标准通信协议。本发明解决了现有技术中的下载更新系统中的二个主要问题其一下载更 新的效率问题,其二下载更新时数据传输的完整与全安问题。从而使得电能表 的生产过程效率大大提高,程序下载可靠性更高、安全性更强,数据更完整, 能达到更实用的效果。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是现有技术的电能表芯片程序的下载更新的流程图;图2是本发明的电能表芯片程序的下载更新的流程图;图3是本发明的多个电能表芯片程序的下载更新的结构示意图;图4是图3的多个电能表芯片程序的下载更新的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。如图2所示, 一种对电能表芯片程序进行下载更新的方法,其中, 对于任一个需要更新芯片程序的电能表,上层软件按以下步骤向电能表发 送指令帧数据a、 上层软件下行广播指令帧1…N, N由芯片程序大小决定,每128字节 为一帧,每帧按DL/T645-1997《多功能电能表通信规约》帧格式下行。b、 上层软件下行问答指令帧N+l,下行上层软件输出循环冗余校验(Cyclic Redundancy Check/Code,简称CRC)的校验结果,本发明优选实施例中循环冗 余校验采用的是循环冗余校验16位的校验方法,即CRC16,该CRC16校验结 果由广播指令帧1...>1中的校验和进行01(:16校验运算所得出。c、 上层软件下行问答指令帧N+2,读取电能表标志位数据,如果标识位为 1,表示电能表不合格,程序下载更新不成功;否则表示电能表合格,程序下载 更新成功。对于电能表,则按以下步骤接收并处理由上层软件发来的指令帧-d、 电能表切换到更新程序状态,并置标志位为0;当收到完整的广播指令 帧l...N后,进行校验和运算,并核对所述指令帧是否安全完整;然后再进行 电能表程序的更新。如果校验或更新过程出现任何非法情况,则置标志位为l, 但整个广播过程中不上行任何指令帧。e、 接收到上层软件下行的指令帧N+1后,将上层软件的下行CRC16校验结果与电能表内部的CRC16校验结果进行比较,如果两者相同,则表示所收到 的指令帧连续的,且每一帧都是完整的。否则表示所收到的数据包为非法,将 其标志位置为1。f、接收到上层软件下行的指令帧N+2后,电能表作出应答,向上层软件 返回带标志位数据的应答帧。本发明所述电能表芯片程序下载的方法采用广播指令下载数据,利用校 验、再校验以及CRC16校验对数据的完整安全提供了保障。图3示出了多个电能表芯片程序的下载更新的结构示意图,下载更新软件 通过PC机串口与机柜中的通讯控制器(如CL2011讯控制器)相连,通过通讯 控制器控制功率源(如CL303功率源)、标准表(如CL311V2标准表)、被校 电能通信(即图3中的精密时基源,如CL191精密时基源),通讯控制器与功 率源、标准表共同遵循内部标准通信协议(如CLT1.0通信协议),并与被校表 通信协议遵循多功能电能表通信规约DL/T645-1997 。本发明优选实施例中的挂表架上设置了两排电能表,共12块,也就是说 12块电能表芯片程序可以同时进行下载更新,通信控制器分别通过误差计算器 (如CL188E误差计算器)与挂表架中的每个电能表进行通信。如图4所示,根据上述电能表芯片程序下载更新的步骤,具体如下步骤l: PC机通过串口与功率源、标准表、通讯控制器以及挂表架进行连 接,即PC机中的下载更新软件通过PC机串口对功率源、标准表、误差计算器 (如CL188E误差计算器)发出连机指令。步骤2:连机指令成功后,根据被校的电压电流等基本信息,对功率源发 出升源指令,并输出与被校表相适应的功率。等功率源稳定后,对所有被校表广播指令进入下载更新状态,此时所有被 校表会呜响(可以设置为鸣响三声),液晶显示进入更新初始状态,所有被校表 标志位置为0。步骤3:下载更新程序对需要电能表芯片程序长度进行分块处理,本发明 的实施例将需要下载的程序分隔为N帧,即N=Len/128帧,每帧为128字 节,最后一帧不足补"0",通过广播指令每帧间隔500ms下行,广播下行1-N帧。步骤4:所有电表接收到广播数据后,则开始对数据进行处理。处理结果 中若有任何错误,则标志位为l;若没有任何错误,则表示正常,标志位不变。 但在程序广播过程中不返回任何上行帧。步骤5:广播下行N+1帧,该帧为CRC16校验帧结果的数据帧。步骤6:所有电表接收到广播CRC校验的结果数据后,与自身校验结果进 行比对,若不相等,则标志位为1;若相等,则标志位不变。但在程序广播过 程中不返回任何上行帧。步骤7:广播下行N + 2帧,并读取每块被校表标的标志位数据。 步骤8:被校表接收到指令后返回带有标志位数据的数据帧。 步骤9:下载更新程序根据每块被校表的标志位数据判断,标志位为0则 表示该表合格,否则表示该表为不合格。由此可知,采用本发明的方法可使电能表批量化生产过程中电能表芯片程 序下载更新,速度更快、可靠性更高、安全性更强,数据更完整,本发明下载 更新一块表时间与12块表时间一样,比现有技术方案的效率提高12倍,从而达到更实用的效果。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1. 一种对电能表芯片程序进行下载更新的方法,在上层软件与电能表之间进行数据传输,其特征在于,在上层软件执行如下步骤a、上层软件下行广播指令帧1...N,其中N由电能表的芯片程序大小决定;b、上层软件下行问答指令帧N+1,下行上层软件输出循环冗余校验的校验结果,所述循环冗余校验的校验结果由所述广播指令帧1...N中的校验和进行循环冗余校验运算所得到;c、上层软件下行问答指令帧N+2,读取电能表返回的标志位数据;在电能表执行如下步骤d、电能表接收到所述广播指令帧数据后,切换到更新程序状态并进行相应的更新处理;e、接收到上层软件下行的指令帧N+1后,将上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果进行比较处理;f、接收到上层软件下行的指令帧N+2后,电能表向上层软件发送带标志位数据的应答帧。
2、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征 在于,所述步骤c具体包括若所述标志位数据为1,则表示该电能表芯片程序更新不成功; 若所述标志位数据为0,则表示该电能表芯片程序更新成功。
3、 根据权利要求1或2所述的对电能表芯片程序进行下载更新的方法,其 特征在于,所述步骤d中,所述相应的更新处理具体包括dl、置标志位为0;d2、当收到完整的广播指令帧l...N后,进行校验和运算,并核对所述指 令帧是否安全完整;d3、进行电能表程序的更新;若校验或更新过程出现任何非法情况,则置 标志位为l,但整个广播过程中不上行任何指令帧。
4、 根据权利要求1或2所述的对电能表芯片程序进行下载更新的方法, 其特征在于,所述步骤e中,所述比较处理具体包括若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校 验的校验结果相同,则表示所收到的指令帧连续的,且每一帧都是完整的;若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校 验的校验结果不同,则表示所收到的数据包为非法,将其标志位置为l。
5、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特 征在于,所述上层软件与所述电能表之间的数据传输采用DL/T645-1997通讯 规约。
6、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特 征在于,广播指令帧每一帧数据为128字节,在广播指令帧下行过程中,电能 表禁止上行指令帧,并且在芯片程序更新过程中电能表禁止主动上行指令帧。
7、 根据权利要求1所述的方法,其特征在于,所述循环冗余校验采用循 环冗余校验16位的校验方法对所有广播指令帧的校验和结果进行校验。
8、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征 在于,当电能表接收到广播指令帧数据后,进行更新芯片程序;若该更新过程 中若出现错误,则将标志位置为l,表示电能表更新程序为不合格。
9、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征 在于,所述上层软件通过RS232或RS485串口与所述电能表连接。
10、 根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特 征在于,所述上层软件与功率源、标准表、误差板之间的数据传输采用内部标 准通信协议。
全文摘要
本发明涉及一种对电能表芯片程序进行下载更新的方法,在上层软件执行如下步骤a.上层软件下行广播指令帧1...N;b.上层软件下行问答指令帧N+1,下行上层软件输出CRC16校验结果;c.上层软件下行问答指令帧N+2,读取电能表返回的标志位数据;在电能表执行如下步骤d.电能表接收到广播指令帧数据后,切换到更新程序状态并进行相应的更新处理;e.接收到上层软件下行的指令帧N+1后,将上层软件的下行CRC16校验结果与电能表内部的CRC16校验结果进行比较处理;f.接收到上层软件下行的指令帧N+2后,电能表向上层软件返回带标志位数据的应答帧。实施本发明,使得电能表批量化生产过程中电能表芯片程序下载更新,速度更快、可靠性更高。
文档编号G06F9/445GK101221506SQ20071007295
公开日2008年7月16日 申请日期2007年1月12日 优先权日2007年1月12日
发明者伟 刘 申请人:深圳市科陆电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1