本发明涉及电能表领域,特别是涉及一种基于外部晶振的时钟校正方法、装置及电能表。
背景技术:
1、时钟系统是智能电能表的重要硬件组成部分,它为整个电能表的软件功能运转提供稳定的时钟节拍,从而保证程序稳定、有序的运行。而时钟系统的核心就是晶体振荡器,它具有极高的稳定性和准确性。而随着用电环境的日趋复杂,用户对电能表的稳定性也提出了更高的要求。例如,更快的通信速度,更准确的时间,更加灵敏的电压,电流数值采集,更加准确的电能计量等等。而这些功能的实现,都离不开晶体精确的时钟信号。
2、目前,发明人发现传统技术中存在电能表上电响应速度慢等问题。
技术实现思路
1、基于此,有必要提供一种提高电能表上电响应速度的基于外部晶振的时钟校正方法、装置及电能表。
2、为了实现上述目的,一方面,本申请实施例提供了一种基于外部晶振的时钟校正方法,包括步骤:
3、在外部晶振处于正常工作状态时,获取内部振荡器在外部晶振的单位计数值下对应的第一计数值;
4、获取外部晶振的第一频率和内部振荡器的第二频率,并根据第一频率和第二频率,得到第二计数值;
5、根据第一计数值和第二计数值,对内部振荡器进行校正。
6、在其中一个实施例中,还包括步骤:
7、将外部晶振配置为第一定时器的时钟源,且将内部振荡器配置为第二定时器的时钟源;
8、获取内部振荡器在外部晶振的单位计数值下对应的第一计数值的步骤,包括:
9、在第一定时器到达预设计数周期时,获取第二定时器对应的第一计数值。
10、在其中一个实施例中,根据第一频率和第二频率,得到第二计数值的步骤,包括:
11、获取外部晶振的第一分频数,以及内部振荡器的第二分频数;
12、基于第一频率、第二频率、第一分频数和第二分频数,得到第二计数值;
13、根据第一频率和第二频率,得到第二计数值的步骤,包括:
14、获取外部晶振的第一倍频数,以及内部振荡器的第二倍频数;
15、基于第一频率、第二频率、第一倍频数和第二倍频数,得到第二计数值。
16、在其中一个实施例中,根据第一计数值和第二计数值,对内部振荡器进行校正的步骤,包括:
17、基于第一频率和第二频率,得到单位偏差数;
18、获取第一计数值和第二计数值的差值,并将差值和单位偏差数的商确定为寄存器调整值;
19、基于寄存器调整值,降低或增大控制器的寄存器的数值。
20、在其中一个实施例中,基于第一频率和第二频率,得到单位偏差数的步骤中,基于以下公式得到单位偏差数:
21、d=t%f2n1/f1;
22、其中,d为单位偏差数;t%为寄存器每调整最低有效位的频率,内部振荡器对应的频率变化比例;f1为外部晶振的频率;f2为内部振荡器的频率;n1为外部晶振的分频数。
23、在其中一个实施例中,在降低或增大控制器的寄存器的数值的步骤之后,还包括:
24、返回执行获取内部振荡器在外部晶振的单位计数值下对应的第一计数值的步骤直至发生预设事件;其中,预设事件包括寄存器调整值为0,或返回执行获取第一计数值的步骤的次数达到预设值。
25、在其中一个实施例中,基于寄存器调整值,降低或增大控制器的寄存器的数值,包括:
26、在寄存器调整值大于零的情况下,降低控制器的寄存器的数值;
27、在寄存器调整值小于零的情况下,增大控制器的寄存器的数值。
28、一方面,本发明实施例提供了基于外部晶振的时钟校正装置,包括:
29、第一计数值获取模块,用于在外部晶振处于正常工作状态时,获取内部振荡器在外部晶振的单位计数值下对应的第一计数值;
30、第二计数值获取模块,用于获取外部晶振的第一频率和内部振荡器的第二频率,并根据第一频率和第二频率,得到第二计数值;
31、校正模块,用于根据第一计数值和第二计数值,对内部振荡器进行校正。
32、一方面,本发明实施例还提供了一种电能表,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法的步骤。
33、另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
34、上述技术方案中的一个技术方案具有如下优点和有益效果:
35、上述基于外部晶振的时钟校正方法,在外部晶振处于正常工作状态时,采用控制器的内部振荡器作为系统时钟,然后获取内部振荡器在外部晶振的单位计数值下对应的第一计数值,根据第一计数值以及理论的第二计数值,对内部振荡器进行校正,能够提高电能表上电的响应速度,提高时钟的准确度,且在外部晶振停振的情况下,电能表仍然可以正常运行。
1.一种基于外部晶振的时钟校正方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于外部晶振的时钟校正方法,其特征在于,还包括步骤:
3.根据权利要求2所述的基于外部晶振的时钟校正方法,其特征在于,根据所述第一频率和所述第二频率,得到第二计数值的步骤,包括:
4.根据权利要求1所述的基于外部晶振的时钟校正方法,其特征在于,根据所述第一计数值和所述第二计数值,对所述内部振荡器进行校正的步骤,包括:
5.根据权利要求4所述的基于外部晶振的时钟校正方法,其特征在于,基于所述第一频率和所述第二频率,得到单位偏差数的步骤中,基于以下公式得到所述单位偏差数:
6.根据权利要求4所述的基于外部晶振的时钟校正方法,其特征在于,在降低或增大所述控制器的寄存器的数值的步骤之后,还包括:
7.根据权利要求4所述的基于外部晶振的时钟校正方法,其特征在于,基于所述寄存器调整值,降低或增大所述控制器的寄存器的数值的步骤,包括:
8.一种基于外部晶振的时钟校正装置,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种电能表,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。