一种电力线载波通信模块程序启动、升级与切换方法与流程

文档序号:14574545发布日期:2018-06-02 01:11阅读:563来源:国知局
一种电力线载波通信模块程序启动、升级与切换方法与流程

本发明属于电力线载波通信模块应用技术领域,涉及一种电力线载波通信模块的启动、升级与切换方法。



背景技术:

电力线载波(PLC)通信是指利用现有的输电线或配电线作为信号传输媒介的一种通信方式,由于其具有覆盖范围广、无需专门布线等优点,正成为一种非常有吸引力的通信方式。

电力线载波通信模块由于产品升级、bug修复等原因往往需要升级软件,特别是在某些情况下,需要将模块的程序升级到专门的测试版本,待测试完成后,再还原为原先的版本。

经查,现有专利号为CN201610316336.8的中国专利《一种电力线载波通信模块的升级方法》,包括电力线载波通信模块获取智能电能表地址作为自身地址;获取通信软件版本信息并确认需要升级的电力线载波通信模块;将最新版本的通信软件程序采用电力线载波通信的方式发送给需要升级的电力线载波通信模块;电力线载波通信模块接收最新版本的通信软件程序并加载,完成升级。这种方法是采用电力线载波通信的方式对通信模块升级,自动化程度高,无需人工干预;采用分包传输和缺包补发的方式传输数据,安全性和可靠性好;电力线载波通信模块预留存储空间,能够在接收升级数据时正常工作,实现了在线升级,但是升级速度还不够理想,更新时间还是比较长。

由于电力线载波通信的速率较低,且载波通信信号易受电力线上其他信号的干扰,升级速度比较慢,耗时长,这时如果电力线载波通信模块在升级时保留原先的版本,在需要还原时,只需要升级一个配置文件,即可将模块程序切换到原先版本,避免了应用程序的升级,提高了效率,减少了更新时间。



技术实现要素:

本发明所要解决的技术问题是提供一种电力线载波通信模块的启动、升级与切换方法,具有简单快速高效的特点,大大缩短升级时间。

本发明解决上述技术问题所采用的技术方案为:一种电力线载波通信模块的启动、升级与切换方法,其特征在于:所述电力线载波通信模块的程序存储区分为Boot分区、应用程序一分区、应用程序二分区和配置分区四个区,启动时,Boot分区的Boot程序根据配置分区的内容选择执行应用程序一分区或者应用程序二分区的应用程序,当程序接收到应用程序升级命令时,先判断当前运行程序属于哪个应用程序分区,若应用程序一分区为当前运行分区,则将应用程序二分区作为备份区,若应用程序二分区为当前运行分区,则将应用程序一分区作为备份区,程序将接收到的应用程序升级文件存储到备份区;当程序接收到配置分区升级命令后,将接收到的配置分区文件经校验合格后存储到配置分区,然后复位载波通信模块,让载波通信模块重启,实现载波模块升级;此外通过更新配置分区的内容,即可实现应用程序一分区和应用程序二分区的运行切换,从而实现程序功能的切换或程序版本的还原或升级。

作为改进,所述Boot分区用于存放Boot程序,其功能包括初始化CPU和必要的硬件、引导加载应用程序和具备升级应用程序功能。

作为改进,所述应用程序一分区和应用程序二分区的构成相同,每个分区包含2个字节的应用程序版本信息,4个字节的应用程序的长度,应用程序内容,4个字节的应用程序内容的校验值,校验方式采用CRC32校验。

再改进,所述配置分区的构成包含1个字节的当前运行程序分区信息,2个字节的应用程序一分区的版本信息,2个字节的应用程序二分区的版本信息,4个字节的配置分区校验值,校验方式采用CRC32校验。

进一步,所述电力线载波通信模块的程序的启动具体步骤为:

1)程序启动时,首先运行Boot分区程序,Boot程序读取整个配置分区的内容,根据配置分区的校验值检查配置分区的完整性,若配置分区不完整,执行步骤6);

2)Boot程序读取配置分区中当前运行程序分区的信息,选择应用程序一分区或者应用程序二分区作为当前运行分区;

3)Boot程序读取整个当前运行分区的内容,根据当前运行分区的校验值检查当前运行分区的完整性,若当前运行分区不完整,执行步骤6);

4)Boot程序将当前运行分区中的程序版本信息与配置分区中当前运行分区对应的版本信息进行比较,若不相同,执行步骤6);

5)Boot程序执行当前运行分区中的应用程序,模块程序启动完毕;

6)Boot程序通过指示灯或者/和蜂鸣器或者/和调试端口打印或者/和显示界面打印来提示警告信息,操作者通过程序烧写工具来烧写程序或者通过Boot程序的升级功能,更新应用程序分区或者切换区,更新程序,使模块恢复正常工作。

优选,所述步骤1)的校验值检查采用CRC32校验。

优选,所述步骤3)的校验值检查采用CRC32校验。

最后,配置分区控制运行哪个应用程序分区中的程序,在所述电力线载波通信模块的Boot分区、应用程序一分区、应用程序二分区和配置分区的这四个区完整的情况下,只需升级配置分区的内容,使配置分区的内容完整且与应用程序一分区、应用程序二分区的版本信息匹配,即可实现应用程序一分区和应用程序二分区的运行切换,从而实现程序功能的切换或程序版本的还原或升级。

与现有技术相比,本发明的优点在于:将程序存储区分为Boot分区、应用程序一分区、应用程序二分区和配置分区四个区,Boot程序根据配置分区的内容选择执行相应的应用程序,实现电力线载波通信模块相应的功能,升级时,只需设置升级一个配置文件,即可将模块程序切换到原先版本,避免了应用程序的升级,提高了效率,减少了更新时间。本发明通过更新配置分区来实现电力线载波通信模块升级和功能更新,具有简单快速高效的特点,有利于提高效率,缩短更新时间。

附图说明

图1是本发明提供的电力线载波通信模块程序存储区的构成示意图;

图2是应用程序分区的构成示意图;

图3是配置分区的构成图;

图4是模块程序启动流程图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

一种电力线载波通信模块程序启动、升级与切换方法,所述电力线载波通信模块的程序存储区分为四个区,如图1所示,分别为Boot分区、应用程序一分区、应用程序二分区和配置分区;

其中Boot分区存放Boot程序,其功能包括初始化必要的硬件,引导加载应用程序,具备升级应用程序功能;

应用程序一分区和应用程序二分区的构成相同,如图2所示,每个分区包含2个字节的应用程序版本信息,4个字节的应用程序的长度,应用程序内容,4个字节的应用程序内容的校验值,校验方式采用CRC32校验;

配置分区的构成如图3所示,包含1个字节的当前运行程序分区信息,2个字节的应用程序一分区的版本信息,2个字节的应用程序二分区的版本信息,4个字节的配置分区校验值,校验方式采用CRC32校验;

电力线载波通信模块程序的启动步骤如下所示:

(1)程序启动时,首先运行Boot区程序,Boot程序完成初始化操作后,读取整个配置分区的内容,然后计算当前运行程序分区信息、应用程序一分区的版本信息、应用程序二分区的版本信息的CRC32校验值。如果计算出来的CRC32校验值与配置分区存储的CRC32校验值相同,则表示配置分区是完整的;若不一致,

则表示配置分区是不完整的,执行步骤(6)。

(2)Boot程序读取配置分区中当前运行程序分区信息,这1个字节的数据为0,表示Boot程序选择应用程序一分区作为运行程序;为1,表示Boot程序选择应用程序二分区中的程序作为运行程序;若为其他值,则执行步骤(6)。假设本示例中,该值为1,Boot程序选择应用程序二分区中的程序作为运行程序。

(3)Boot程序读取整个应用程序二分区的内容,然后计算应用程序版本信息、应用程序长度、应用程序内容的CRC32校验值。如果计算出来的CRC32校验值与应用程序二分区存储的CRC32校验值相同,则表示应用程序二分区是完整的;若不一致,则表示应用程序二分区是不完整的,执行步骤(6)。

(4)Boot程序读取配置分区中应用程序二分区版本信息,同时Boot程序读取应用程序二分区中的应用程序版本信息,两者相比较,若不相同,表示程序不匹配,执行步骤(6)。

(5)Boot程序执行应用程序二分区中的应用程序。模块程序启动完毕。

(6)Boot程序通过指示灯或者/和蜂鸣器或者/和调试端口打印或者/和显示界面打印等提示告警信息。操作者可通过程序烧写工具来烧写程序或者通过Boot程序的升级功能,更新应用程序分区或者切换区的(其一或同时更新),更新程序,使模块恢复正常工作。

当需要进行载波模块程序升级时,若是Boot程序实现升级功能,则Boot程序在收到升级指令时,读取配置分区中当前运行程序分区信息,若该值为0,表示当前运行程序为应用程序一分区中的程序,选择应用程序二分区作为备份分区,存放接收到的升级文件;若该值为1,表示当前运行程序为应用程序二分区中的程序,选择应用程序一分区作为备份分区,存放接收到的升级文件;若该值为其他值,选择应用程序一分区作为备份分区,存放接收到的升级文件。

模块程序接收到配置分区升级命令后,将接收到的配置分区文件经校验合格后存储到配置区。

若模块应用程序一分区和应用程序二分区分别存放着不同功能的程序,且当前运行二分区的程序,即配置分区完整,当前运行分区信息字节值为1,且配置分区的应用程序二分区版本信息与应用程序二分区里的应用程序版本信息一致。

当想要将模块功能切换,且待切换的功能与应用程一分区里的功能相同时,不需要升级应用程序文件,只需升级与应用程序一分区匹配的配置分区内容即可。即配置分区内容中当前运行分区信息值为0,配置分区内容中应用程序一分区版本信息与应用程序一分区中的应用程序版本信息相同,配置分区的校验值正确。升级完配置分区内容后,让模块复位重启,就可实现载波通信模块功能的切换。

以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,以上所描述的具体的实施示例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

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