费控智能电能表的实时时钟同步纠错方法

文档序号:8318030阅读:434来源:国知局
费控智能电能表的实时时钟同步纠错方法
【技术领域】
[0001]本发明涉及电能计量仪表仪器技术领域,具体来讲是一种费控智能电能表的实时时钟同步纠错方法。
【背景技术】
[0002]随着单片机、智能芯片在电能表中的运用,具有多功能的费控智能电能表也得到了越来越广泛的应用。由于费控智能电能表中的一些功能需要时钟的配合,如分时计量、电量自动结算等,这些功能涉及到电能表的电量计量和结算,因此准确性显得尤为重要。而时钟在其中扮演着重要角色,因此一定要保证时钟的准确性。
[0003]但现有的费控智能电能表在运行时,需要实时的从外部时钟芯片中读取时间数据。而在频繁的通讯过程中,由于与外部时钟芯片的通讯信号在物理信道中传输,线路本身电器特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、电器信号在线路上产生反射造成的回音效应、相邻线路间的串扰以及其他各种外界因素(如大气中的闪电、开关的跳火、外界强电流磁场的变化、电源的波动等)都会造成信号的失真。这将会使单片机收到的二进制数位和外部时钟芯片实际发送的二进制数位不一致,从而造成由“O”变成“ I”或由“I”变成“O”的差错。这样一来,实时时钟的准确性就会受到影响,从而影响了费控智能电能表的计量和结算等功能的正常使用。

【发明内容】

[0004]针对现有技术中存在的缺陷,本发明的目的在于提供一种费控智能电能表的实时时钟同步纠错方法,能有效保证电能表中实时时钟的准确性。
[0005]为达到以上目的,本发明采取的技术方案是:提供一种费控智能电能表的实时时钟同步纠错方法,所述电能表内部设有单片机、能产生外部时钟的外部时钟芯片和存有时钟数据的外部存储器,且单片机分别与外部时钟芯片、外部存储器连接,该实时时钟同步纠错方法包括以下步骤:
[0006]S1.在单片机内部创建一个由八位数组组成的内部时钟,该八位数组中依次存放秒、分、时、周、日、月、年以及校验和;同时定义一个七位数组用于存放外部时钟的秒、分、时、周、日、月、年;
[0007]S2.电能表上电启动,并对内部时钟进行初始设置;
[0008]S3.通过单片机内部的定时器产生一个秒信号,利用所述秒信号每秒钟对内部时钟进行加I秒操作;
[0009]S4.判断内部时钟是否已加10秒,若是,转S5,若否,转S3 ;
[0010]S5.读取外部时钟芯片的数据,并对所读取的数据进行校验,判断外部时钟芯片中的外部时钟是否正常,若是,转S6,若否,转S7 ;
[0011]S6.将外部时钟的秒、分、时、周、日、月、年对应存储至单片机内的七位数组中,并对内部时钟进行校验,判断内部时钟是否正常,若是,转S8,若否,转S9 ;
[0012]S7.对内部时钟进行校验,判断内部时钟是否正常,若是,转S10,若否,转Sll ;
[0013]S8.判断内部时钟与外部时钟相差是否大于5秒,若是,转S10,若否,转S9 ;
[0014]S9.用外部时钟覆盖内部时钟,转S3 ;
[0015]S10.用内部时钟覆盖外部时钟,转S3 ;
[0016]Sll.用外部存储器中的时钟分别覆盖内部时钟、外部时钟,并置时钟错误标志,转S3 ο
[0017]在上述技术方案的基础上,步骤S2中,对内部时钟进行初始设置的具体步骤包括:
[0018]S21.读取外部时钟芯片中控制寄存器的控制位信息以及时间寄存器中存储的外部时钟信息;
[0019]S22.对控制寄存器的控制位的值以及时间寄存器中存储的外部时钟格式分别进行校验,判断两者是否均正常,若是,进入S23,若否,进入S24 ;
[0020]S23.将外部时钟的秒、分、时、周、日、月、年对应存储至单片机内的七位数组中,并用该外部时钟覆盖内部时钟;
[0021]S24.用外部存储器中的时钟分别覆盖内部时钟、外部时钟,并置时钟错误标志。
[0022]在上述技术方案的基础上,步骤S3中,所述秒信号由单片机的定时器将2ms的定时中断计数500次后产生。
[0023]在上述技术方案的基础上,步骤S3中,对内部时钟进行加I秒操作之前以及加I秒操作之后,均需对内部时钟进行校验操作;校验时,先将内部时钟的前七个字节相加后取256的模,再将取模后的结果与内部时钟的校验和的值进行比较,若相等,则校验通过,若不相等,则读取外部时钟,并用外部时钟覆盖内部时钟。
[0024]在上述技术方案的基础上,步骤S3中,内部时钟进行加I秒操作后,若内部时钟为跨整点,则将当前内部时钟写入到外部存储器中。
[0025]在上述技术方案的基础上,步骤S5中,所读取的外部时钟芯片的数据包括控制寄存器的控制位信息以及时间寄存器中存储的外部时钟信息。
[0026]在上述技术方案的基础上,步骤S5中,对外部时钟芯片的数据进行校验时,需分别对控制寄存器的控制位的值以及时间寄存器中存储的外部时钟格式进行校验,且仅当两者均正常时,才能判断外部时钟芯片中的外部时钟为正常。
[0027]在上述技术方案的基础上,步骤S8中,判断内部时钟与外部时钟相差是否大于5秒时,将内部时钟的分、时、周、日、月、年分别与外部时钟的分、时、周、日、月、年进行比较,若相等,则判断为相差不大于5秒;若不相等,则判断为相差大于5秒。
[0028]本发明的有益效果在于:
[0029]1、本发明在传统的外部时钟,即硬时钟的基础上引入了内部时钟,即软时钟,且每隔10秒钟就会对外部时钟和内部时钟依次进行校验,并对出现异常的时钟进行同步纠错操作,使得内部时钟与外部时钟相互制约形成二元互制机制,增强了费控智能电能表的时钟抗干扰能力,有效地保证了电能表中实时时钟的准确性,使得电能表的各项功能稳定可
A+-.与巨O
[0030]2、本发明中,由于具有内部、外部双时钟系统,使得电能表对外部时钟的读取可以每隔10秒钟才进行一次,相较于传统的纯外部时钟系统的电能表来说,无需每秒对外部时钟进行读取,大大减少了读取外部时钟的频率,降低了受到干扰的几率,同时也提高了系统运行效率。
[0031]3、本发明中,在对外部时钟进行校验时,需分别对控制寄存器的控制位的值以及时间寄存器中存储的外部时钟格式进行校验,能最大程度上地校验出外部时钟是否因外界因素造成了信号的失真或不一致,一旦外部时钟出现异常,即可及时做出相应的纠错操作,将外界干扰的影响降到最低,从而保证了电能表实时时钟的准确性。
[0032]4、本发明中,在对内部时钟进行加I秒操作之前以及加I秒操作之后,均需对内部时钟进行校验操作,不但进一步提高了内部时钟的准确性和可靠性,而且校验过程简单、方便。
【附图说明】
[0033]图1为本发明实施例中费控智能电能表的实时时钟同步纠错方法的流程图;
[0034]图2为本发明实施例中对内部时钟进行初始设置的具体流程图。
【具体实施方式】
[0035]以下结合附图对本发明的实施例作进一步详细说明。
[0036]如图1所示,本发明提供一种费控智能电能表的实时时钟同步纠错方法,所述电能表内部设有单片机、能产生外部时钟的外部时钟芯片和存有时钟数据的外部存储器,且单片机分别与外部时钟芯片、外部存储器连接。该实时时钟同步纠错方法包括以下步骤:
[0037]S1.在单片机内部创建一个由八位数组组成的内部时钟,设为inside_date[8],该八位数组中依次存放秒、分、时、周、日、月、年以及校验和;同时定义一个七位数组用于存放外部时钟,设为outside_date[7],该七位数组中依次存放秒、分、时、周、日、月、年。
[0038]S2.电能表上电启动,并对内部时钟进行初始设置。
[0039]其中,如图2所示,对内部时钟进行初始设置的具体步骤包括:
[0040]S21.读取外部时钟芯片中控制寄存器的控制位信息以及时间寄存器中存储的外部时钟信息。
[0041 ] S22.对控制寄存器的控制位的值以及时间寄存器中存储的外部时钟格式分别进行校验,判断两者是否均正常,若是,转入S23 ;若否,转入S24。
[0042]S23.将外部时钟的秒、分、时、周、日、月、年存储至单片机内的七位数组中,并用该外部时钟覆盖内部时钟,即用outside_date[7]中的秒、分、时、周、日、月、年覆盖inside_date[8]中的秒、分、时、周、日、月、年,并更新校验和。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1