时钟芯片的校时方法及校时装置、智能设备与流程

文档序号:13135116阅读:749来源:国知局
时钟芯片的校时方法及校时装置、智能设备与流程

本发明涉及电子器件技术领域,具体涉及一种时钟芯片的校时方法及校时装置、智能设备。



背景技术:

随着智能型消费类电子产业的蓬勃发展,越来越多的智能设备出现在人们的日常生活中。

目前的智能设备(如智能台灯、智能窗帘等)通常都具有实时时钟功能,该功能的主要实现方式包括两种:第一种是在设备内部增设时钟芯片,第二种方式是利用互联网获取当前时间,相比第二种方式,第一种实现时钟功能的方式没有互联网限制,因此应用更为广泛;

然而,对于上述第一种采用时钟芯片实现时钟功能的方式,通常时钟芯片由石英晶振提供准确时基,但是由于外界电磁干扰、电路板上的寄生电容等因素的存在会造成实时时钟芯片走时不准确,即便是每天几秒的误差经过日积月累也将会变得不可忽略,针对该问题,目前采用的解决方式是每天定时校准一次,即通过对一批样品进行出厂检测,然后根据检测出来的误差来对这批产品的时钟芯片进行定时校准(例如在每日的0时0分进行校准),通常选择整数(例如每日补偿3秒)来对时钟芯片进行校准,但是由于每日的误差都不一定为整数,还是会存在累积误差。



技术实现要素:

基于上述现状,本发明的主要目的在于提供一种时钟芯片的校时方法及校时装置、智能设备,可以减小时钟芯片的走时误差。

为实现上述目的,本发明的技术方案提供了一种时钟芯片的校时方法,包括:

s1:获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差;

s2:若判断所述时钟芯片的走时存在误差,则利用定时器和/或计数器的计时对所述时钟芯片的走时进行补偿。

优选地,利用定时器和/或计数器的计时对所述时钟芯片的走时进行补偿的方法包括:若判断所述时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

优选地,步骤s1包括:

s11:读取预设的分钟变量的值以及所述时钟芯片走时的分钟值,其中,所述分钟变量的取值范围为0~59之间的整数,且所述分钟变量根据定时器和/或计数器的计时执行每分钟加1操作;

s12:若所述读取的所述分钟变量的值与所述时钟芯片走时的分钟值不同,则判断所述时钟芯片的走时存在误差。

优选地,在步骤s1之前还包括:

计算所述时钟芯片的走时相对标准时间每产生所述第二预设时间的误差所需的时间,从而得到所述第一预设时间。

优选地,每隔第三预设时间执行一次步骤s1。

优选地,所述第三预设时间小于或等于所述第一预设时间。

优选地,所述第二预设时间为1秒。

优选地,在步骤s1之前还包括:

判断所述时钟芯片是否处于联网状态,若否,则执行步骤s1,若是,则从预设的服务端获取时间信息,并根据从所述服务端获取的时间信息对所述时钟芯片进行校时。

为实现上述目的,本发明的技术方案还提供了一种时钟芯片的校时装置,包括:

判断模块,用于获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差;

校时模块,用于当所述判断模块判断所述时钟芯片的走时存在误差时利用定时器和/或计数器的计时对所述时钟芯片的走时进行补偿。

优选地,所述校时模块用于当所述判断模块判断所述时钟芯片的走时存在误差时利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

优选地,所述判断模块包括:

读取单元,用于读取预设的分钟变量的值以及所述时钟芯片走时的分钟值,其中,所述分钟变量的取值范围为0~59之间的整数,且所述分钟变量根据定时器和/或计数器的计时执行每分钟加1操作;

判断单元,用于若所述读取的所述分钟变量的值与所述时钟芯片走时的分钟值不同,则判断所述时钟芯片的走时存在误差。

优选地,所述校时装置还包括:

计算模块,用于计算所述时钟芯片的走时相对标准时间每产生所述第二预设时间的误差所需的时间,从而得到所述第一预设时间。

优选地,每隔第三预设时间,所述判断模块获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差。

优选地,所述第三预设时间小于或等于所述第一预设时间。

优选地,所述第二预设时间为1秒。

优选地,所述校时装置还包括:

控制模块,用于判断所述时钟芯片是否处于联网状态,若否,则控制所述判断模块获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差,若所述时钟芯片处于联网状态,则从预设的服务端获取时间信息,并根据从所述服务端获取的时间信息对所述时钟芯片进行校时。

为实现上述目的,本发明的技术方案还提供了一种智能设备,包括:

时钟芯片;

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断所述时钟芯片的走时是否存在误差;

若判断所述时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

优选地,所述处理器包含所述定时器和/或计数器。

本发明提供的时钟芯片的校时方法,通过利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差,当判断时钟芯片的走时存在误差时,再利用定时器和/或计数器的计时对时钟芯片的走时进行补偿,相比现有技术,本发明可以减小时钟芯片的走时误差。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施方式提供的一种时钟芯片的校时方法的流程图;

图2是本发明实施方式提供的另一种时钟芯片的校时方法的流程图;

图3是本发明实施方式提供的一种时钟芯片的校时装置的示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1,图1是本发明实施方式提供的一种时钟芯片的校时方法的流程图,该方法包括:

s1:获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差;

s2:若判断所述时钟芯片的走时存在误差,则利用定时器和/或计数器的计时对时钟芯片的走时进行补偿,具体地,若判断时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

本发明实施方式提供的时钟芯片的校时方法,通过利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差,当判断时钟芯片的走时存在误差时,再利用定时器和/或计数器进行计时,当计时的时间达到第一预设时间时,对时钟芯片的走时进行第二预设时间的补偿,相比现有技术,本发明可以减小时钟芯片的走时误差。

其中,在步骤s1中,利用定时器和/或计数器确定的时间信息可以包括小时信息、分钟信息以及秒数信息,由于目前的智能设备通常只显示小时信息和分钟信息,并且时钟芯片的误差不会过大,因此,可以通过判断分钟信息是否准确来判断时钟芯片的走时是否存在误差,优选地,上述步骤s1包括:

s11:读取预设的分钟变量的值以及所述时钟芯片走时的分钟值,其中,所述分钟变量的取值范围为0~59之间的整数,且所述分钟变量根据定时器和/或计数器的计时执行每分钟加1操作;

s12:若所述读取的所述分钟变量的值与所述时钟芯片走时的分钟值不同,则判断所述时钟芯片的走时存在误差。

例如,可以在向时钟芯片写入当前时间的同时,将该当前时间的分钟位的值赋值给该分钟变量(例如,写入时钟芯片的当前时间为22点42分,这时分钟变量也被赋值为42),之后该分钟变量根据定时器和/或计数器的计时执行每分钟加1操作,在后续的任一时刻,如同时读取的分钟变量的值和时钟芯片走时的分钟值相同,则判断时钟芯片不存在误差,不执行步骤s2中的校时操作,如同时读取的分钟变量的值和时钟芯片走时的分钟值不同,则判定时钟芯片存在误差,执行步骤s2中的校时操作,即利用定时器和/或计数器进行计时,当计时的时间达到第一预设时间时,对时钟芯片的走时进行第二预设时间的补偿;

其中,在本发明中,第一预设时间的值可通过预先检测的方式得到,即当第二预设时间的值固定时,可以通过对时钟芯片进行预先检测,计算时钟芯片的走时相对标准时间每产生该第二预设时间的误差所需的时间,然后将该所需的时间作为第一预设时间,例如,可对样品时钟芯片进行测试,测试出该样品时钟芯片的走时相对标准时间每经过24小时产生的误差(可以多次测试,然后取平均值),然后由该误差计算得到该样品时钟芯片每产生第二预设时间的误差所需的时间,即得到第一预设时间的值,并将该值作为与该样品时钟芯片同批次的时钟芯片的第一预设时间;

例如,该第二预设时间为1秒,测得样本时钟芯片的误差为+2.4秒/24小时(即每隔24小时相比标准时间慢2.4秒),故每隔24*60/2.4=600分钟,时钟芯片就会产生大约+1秒(即每隔600分钟相比标准时间慢1秒)的误差,在该批次的时钟芯片使用过程中,若判断时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当计时的时间达到600分钟时,对时钟芯片的走时进行加1秒的补偿;

例如,该第二预设时间为1秒,测得样本时钟芯片的误差为-2.4秒/24小时(即每隔24小时相比标准时间快2.4秒),故每隔24*60/2.4=600分钟,时钟芯片就会产生大约-1秒(即每隔600分钟相比标准时间快1秒)的误差,在该批次的时钟芯片使用过程中,若判断时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当计时的时间达到600分钟时,对时钟芯片的走时进行减1秒的补偿;

优选地,为提高校时的准确性,每一个时钟芯片可以通过对自身预先检测,从而得到第一预设时间的值,在本发明实施方式中,在步骤s1之前还包括:

计算所述时钟芯片的走时相对标准时间每产生所述第二预设时间的误差所需的时间,从而得到所述第一预设时间。即不再采用样品进行检测,而通过对自身进行检测得到第一预设时间的值,使每一个时钟芯片的第一预设时间的值更加精确,提高校时的准确性,其中,该检测的方式与上述采用样品检测的方式相同,此处不再赘述。

其中,在本发明实施中,可以每隔第三预设时间执行一次步骤s1,优选地,所述第三预设时间小于或等于所述第一预设时间,从而实现每隔第一预设时间至少执行一次步骤s1。

参见图2,图2是本发明实施方式提供的另一种时钟芯片的校时方法的流程图,该方法包括:

s101:向时钟新芯片写入当前时间,同时将当前时间的分钟位的值赋值给分钟变量a;

s102:计时清零,开始计时;

s103:判断步骤s102中的计时是否达到第三预设时间,若是则执行步骤s104,同时将计时清零,重新开始计时,若否,则继续计时;

通过步骤s102~s103可以实现每隔预设第三预设时间执行一次步骤s104,其中,步骤s102~s103中的计时同样可以采用定时器和/或计数器实现;

s104:同时读取分钟变量a的值以及时钟芯片走时的分钟值,其中,分钟变量a的取值范围为0~59之间的整数,且分钟变量根据定时器和/或计数器的计时执行每分钟加1操作,判断读取的时钟新芯走时的分钟值与分钟变量a的值是否存在误差,若否,则本次不对时钟芯片进行校时操作,若是,则执行步骤s105;

s105:触发变量b开始根据定时器和/或计数器的计时执行每分钟加1操作;

s106:判断触发变量b是否达到设定值,若否,则触发变量继续累加,若是(即计时的时间达到第一预设时间),则执行步骤s107,并将触发变量b的值清零;

s107:对时钟芯片的走时进行第二预设时间的补偿。

通过步骤s105~s107实现了利用定时器和/或计数器进行计时,当该计时的时间达到第一预设时间时,对时钟芯片的走时进行第二预设时间的补偿。

优选地,为了获得更加精确的实时时间,还可以采用在线和离线相结合的方式对时钟芯片进行校时,即可以利用设备联网时获取的时间校准时钟芯片,在本发明实施方式中,在步骤s1之前还包括:

判断所述时钟芯片是否处于联网状态,若否,则执行步骤s1,若是,则从预设的服务端获取时间信息,并根据从所述服务端获取的时间信息对所述时钟芯片进行校时。

此外,参见图3,图3是本发明实施方式提供的一种时钟芯片的校时装置的示意图,该校时装置包括:

判断模块100,用于获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差;

校时模块200,用于当所述判断模块100判断所述时钟芯片的走时存在误差时利用定时器和/或计数器的计时对所述时钟芯片的走时进行补偿,具体地,校时模块200用于当判断模块判断所述时钟芯片的走时存在误差时利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

优选地,所述判断模块包括:

读取单元,用于读取预设的分钟变量的值以及所述时钟芯片走时的分钟值,其中,所述分钟变量的取值范围为0~59之间的整数,且所述分钟变量根据定时器和/或计数器的计时执行每分钟加1操作;

判断单元,用于若所述读取的所述分钟变量的值与所述时钟芯片走时的分钟值不同,则判断所述时钟芯片的走时存在误差。

优选地,所述校时装置还包括:

计算模块,用于计算所述时钟芯片的走时相对标准时间每产生所述第二预设时间的误差所需的时间,从而得到所述第一预设时间。

优选地,每隔第三预设时间,所述判断模块获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差。

优选地,在本发明实施方式中,所述第三预设时间小于或等于所述第一预设时间。

例如,在本发明实施方式中,所述第二预设时间为1秒。

优选地,在本发明实施方式中,所述校时装置还包括:

控制模块,用于判断所述时钟芯片是否处于联网状态,若否,则控制所述判断模块获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断时钟芯片的走时是否存在误差,若所述时钟芯片处于联网状态,则从预设的服务端获取时间信息,并根据从所述服务端获取的时间信息对所述时钟芯片进行校时。

此外,本发明实施方式还提供了一种智能设备,包括:

时钟芯片,例如,该时钟芯片可以ds1302;

处理器(cpu);

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取利用定时器和/或计数器确定的时间信息,并根据所述利用定时器和/或计数器确定的时间信息判断所述时钟芯片的走时是否存在误差;

若判断所述时钟芯片的走时存在误差,则利用定时器和/或计数器进行计时,当所述计时的时间达到第一预设时间时,对所述时钟芯片的走时进行第二预设时间的补偿。

优选地,所述处理器包含所述定时器和/或计数器,即可以利用智能设备的处理器(cpu)中的定时器和/或计数器实现上述时间信息的确定以及计时,而不需要在智能设备中增加额外的定时器和/或计数器。

例如,可以预先对智能设备的时钟芯片进行测试,测试出时钟芯片的走时相对标准时间每经过24小时产生的误差(可以多次测试,然后取平均值),然后由该误差计算得到时钟芯片每产生1秒的误差所需的时间,即得到第一预设时间的值,例如,测得时钟芯片ds1302的误差为+2.4秒/24小时(即每隔24小时相比标准时间慢2.4秒),故每隔24*60/2.4=600分钟,时钟芯片就会产生大约+1秒(即每隔600分钟相比标准时间慢1秒)的误差;

在相应的编译环境中对智能设备的cpu添加自动校准时间的指令,在指令中预设两个变量,分别为分钟变量a(分钟变量a的取值范围为0至59中的整数,并在该范围内循环)和触发变量b,当cpu给时钟芯片ds1302写入当前时间时,同时将当前时间的分钟位的值赋值给分钟变量a(例如,当cpu写入时钟芯片ds1302的当前时间为22点42分,这时分钟变量a也被赋值为42),分钟变量a开始根据cpu的定时器和/或计数器的计时执行每分钟加1的操作,而此时,时钟芯片也由外部32.768k石英晶振提供的时基进行独立走时;

在智能设备的使用过程中,智能设备的cpu每隔第三预设时间读取一次时钟芯片走时的分钟值并与cpu中的分钟变量a的值进行比较,当两值不相等时,则判断时钟芯片的走时相对标准时间已经存在误差,触发变量b便开始根据cpu的定时器和/或计数器的计时执行每分钟加1的操作,当触发变量b的值等于设定值(例如,若预先得到的第一预设时间为600分钟,则该设定值即为600)时,cpu对时钟芯片进行+1秒的校准。

通过上述方式实现了以智能设备的cpu的定时器/计数器为基准,时钟芯片每产生1秒的误差就进行误差校时,使用户得到更加准确的时间信息。

其中,上述的智能设备可以为智能家居设备,例如可以为如智能台灯、智能窗帘等;

本发明实施方式提供的智能设备,通过以cpu的定时器和/或计数器为基准,并且在占用较少cpu资源的情况下,可以减小时钟芯片的走时误差,为用户提供更加准确的时间信息。

本领域的技术人员容易理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。

应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。

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