时钟异常检测方法及装置、计算机可读存储介质、设备与流程

文档序号:16205127发布日期:2018-12-08 07:00阅读:203来源:国知局
时钟异常检测方法及装置、计算机可读存储介质、设备与流程

本发明涉及单片机控制技术领域,具体涉及一种单片机时钟异常检测方法及装置、计算机可读存储介质、设备。

背景技术

单片机运行需要时钟支持,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序,因此单片机可以看作在时钟驱动下的时序逻辑电路。目前可以采用下述两种方式检测单片机时钟电路是否发生异常,具体为:一是:使用外部时钟电路,如晶振或陶振,与单片机内部的时钟电路进行比较,当二者的误差超过一定范围时可以判断单片机内部的时钟电路异常。二是:将单片机时钟电路与市电频率进行比较,当二者的误差超过一定范围时也可以判断单片机内部的时钟电路异常。但是,上述两种检测方式均需要设置额外的电路结构,如外部时钟电路和市电检测电路,增加了单片机的设计成本和应用成本。同时,采用第二种检测方式时还需要进行绝缘保护。



技术实现要素:

为了解决现有技术中的上述问题,即为了解决单片机需要依赖外设电路检测时钟是否异常的技术问题,本发明提供了一种单片机时钟异常检测方法及装置、计算机可读存储介质、设备。

第一方面,本发明中一种单片机时钟异常检测方法的技术方案是:

所述方法包括:

获取单片机与预设设备之间的通讯信号;

判断所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差是否大于预设阈值:若大于则单片机时钟发生异常。

进一步地,本发明提供的一个优选技术方案为:

所述通讯信号为基于时钟同步的信号、或为不基于时钟同步的信号。

进一步地,本发明提供的一个优选技术方案为:

所述方法还包括:

获取所述单片机时钟的振荡偏差;

比较所获取的振荡偏差与预设的振荡偏差阈值:若所获取的振荡偏差大于所述预设的振荡偏差阈值,则所述单片机时钟发生异常。

进一步地,本发明提供的一个优选技术方案为:

所述预设的振荡偏差阈值k如下式所示:

其中,所述terr为时钟错误时间,所述tbyte为通讯信号中一个字节的预设传送时间;

所述时钟错误时间terr的确定方法为:

当所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差大于预设阈值时,设定所述时钟错误时间为通讯信号中采样电平的上升沿与预设的采样点之间的时间长度。

第二方面,本发明中一种单片机时钟异常检测装置的技术方案是:

所述装置包括:

第一信号获取模块,配置为获取单片机与预设设备之间的通讯信号;

第一信号判断模块,配置为判断所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差是否大于预设阈值:若大于则单片机时钟发生异常。

进一步地,本发明提供的一个优选技术方案为:

所述通讯信号为基于时钟同步的信号、或为不基于时钟同步的信号。

进一步地,本发明提供的一个优选技术方案为:

所述装置还包括:

第二信号获取模块,配置为获取所述单片机时钟的振荡偏差;

第二信号判断模块,配置为比较所获取的振荡偏差与预设的振荡偏差阈值:若所获取的振荡偏差大于所述预设的振荡偏差阈值,则单片机时钟发生异常。

进一步地,本发明提供的一个优选技术方案为:

所述第二信号判断模块包括如下式所示的预设的振荡偏差阈值模型k:

其中,所述terr为时钟错误时间,所述tbyte为通讯信号中一个字节的预设传送时间;

所述第二信号判断模块还包括时钟错误时间计算模块;所述时钟错误时间计算模块配置为当所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差大于预设阈值时,设定所述时钟错误时间为通讯信号中采样电平的上升沿与预设的采样点之间的时间长度。

第三方面,本发明中一种计算机可读存储介质的技术方案是:

所述计算机可读存储介质中存储有计算机程序,所述程序适用于由处理器加载并执行以实现上述技术方案所述的单片机时钟异常检测方法中的各步骤。

第四方面,本发明中一种计算机设备的技术方案是:

所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述技术方案所述的单片机时钟异常检测方法中的各步骤。

与现有技术相比,上述技术方案至少具有以下有益效果:

1、本发明提供的一种单片机时钟异常检测方法,其可以依据单片机与预设设备的通讯信号,判断单片机时钟是否发生异常,不需要设置单独的外部时钟电路或检测电路,降低了单片机成本。

2、本发明提供的一种单片机时钟异常检测方法,其第一信号判断模块可以依据单片机与预设设备的通讯信号,判断单片机时钟是否发生异常,不需要设置单独的外部时钟电路或检测电路,降低了单片机成本。

3、本发明提供的一种计算机可读存储介质,存储有计算机程序,该程序可以适用于由处理器加载并执行以实现上述技术方案所述的单片机时钟异常检测方法中的各步骤。

4、本发明提供的一种计算机设备,其处理器执行存储在存储器上的计算机程序时可以实现上述技术方案所述的单片机时钟异常检测方法中的各步骤。

附图说明

图1是本发明实施例中一种单片机时钟异常检测方法的实施流程图;

图2是本发明实施例中一种单片机时钟异常检测装置的结构示意图;

图3是本发明实施例中单片机通讯示意图;

图4是本发明实施例中通讯信号的采样点示意图;

图5是本发明实施例中通讯信号中一个字节的正常采样示意图;

图6是本发明实施例中一种通讯信号中一个字节的异常采样示意图;

图7是本发明实施例中另一种通讯信号中一个字节的异常采样示意图;

其中,11:第一信号获取模块;12:第一信号判断模块;21:第一单片机;22:第二单片机。

具体实施方式

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

单片机可以采用外部时钟电路作为基准时钟,外部时钟电路虽然具备较高的校准精度,但是也相应地增加了单片机成本。进一步地,单片机也可以采用与市电频率进行比较的方式进行时钟校准,但是这种校准方式需要在单片机的控制板中设置市电检测电路,如过零检测电路、a/d转换电路、电压测量电路等,不仅增加了单片机成本还需要对非隔离采样电路进行加强绝缘或双重绝缘保护。基于此,本发明提供了一种以单片机通讯信号为判据的时钟检测方法,不需要设置单独的外部时钟电路、市电检测电路,同时由于通讯信号的电压与单片机的电源性质相同,不需要进行绝缘保护。

下面结合附图,对本发明提供的一种单片机时钟异常检测方法进行说明。

图1示例性示出了本实施例中一种单片机时钟异常检测方法的实施流程,如图所示,本实施例中单片机时钟异常检测方法可以包括下述步骤,具体为:

步骤s101:获取单片机与预设设备之间的通讯信号。

本实施例中预设设备指的是可以配置为与单片机进行通讯的设备,该设备可以为单片机或其他可配置的电子设备。同时,单片机与预设设备的通讯方式可以为采用时钟同步信号线的通讯方式,如i2c总线通讯方式,也可以为不采用时钟同步信号线的通讯方式,如串行异步通讯方式。相应地,所获取的单片机与预设设备之间的通讯信号可以为基于时钟同步的信号,也可以为不基于时钟同步的信号。

步骤s102:判断所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差是否大于预设阈值:若大于则单片机时钟发生异常。

本实施例中采样点指的是通讯信号中一个字节包含的各位的采样点,一个字节所包含的位可以为起始位、数据位、停止位。单片机时钟正常时通讯信号中两个相邻采样点之间的时间间隔与预设的采样周期的偏差应当小于预设阈值,当相邻采样点之间的时间间隔与预设的采样周期的偏差大于预设阈值后,会导致采样点超出对应的位或未达到对应的位,造成误采样,使得误采样的位所在的字节发生数据采集错误,即通讯异常。同时,通讯信号中采样点是以单片机时钟为时间基准,因此在上述通讯异常的情况下可以判断为单片机时钟发生异常。

下面以两个单片机之间的通讯信号为例,对本实施例中单片机时钟异常检测方法进行说明。

图3示例性示出了本实施例中处于通讯状态的两个单片机,如图所示,本实施例中第一单片机21与第二单片机22采用uart串行通讯,且uart串行通讯的波特率为9600,则通讯信号中一个字节的一个位的电平宽度tm如下式(1)所示:

同时,设定通讯信号中一个字节包括一个起始位、8个数据位和一个停止位,则通讯信号中一个字节的传送时间tbyte如下式(2)所示:

tbyte=tm×10≈1.04ms(2)

图4示例性示出了本实施例中通讯信号的采样点,如图所示,本实施例中通讯信号的一个字节的一个位的电平宽度tm=104μs,采样点为电平宽度tm的中间时刻。

图5示例性示出了本实施例中通讯信号中一个字节的正常采样,如图所示,本实施例中各采样点均为字节中各位的电平宽度tm的中间时刻。

图6示例性示出了本实施例中一种通讯信号中一个字节的异常采样,如图所示,本实施例中设定单片机时钟在该字节的第四个采样点时发生异常,第四个采样点不是其对应位的电平宽度tm的中间时刻且超过了该中间时刻,使得第三个采样点与第四个采样点之间的时间间隔与预设的采样周期的偏差大于预设阈值,导致该字节的第十个采样点超过其对应的位,如图6中线圈所标注的区域,将不能正确采样到该位,即通讯异常。

图7示例性示出了本实施例中另一种通讯信号中一个字节的异常采样,如图所示,本实施例中设定单片机时钟在该字节的第四个采样点时发生异常,第四个采样点不是其对应位的电平宽度tm的中间时刻且小于该中间时刻,使得第三个采样点与第四个采样点之间的时间间隔与预设的采样周期的偏差大于预设阈值,导致该字节的第十个采样点未达到其对应的位,如图7中线圈所标注的区域,将不能正确采样到该位,即通讯异常。

进一步地,基于上述单片机时钟异常检测方法实施例所述的通讯信号判断条件,本实施例还提供了一种优选的单片机时钟异常检测方法实施方案,具体为:

步骤s201:获取单片机时钟的振荡偏差。

步骤s202:比较所获取的振荡偏差与预设的振荡偏差阈值:若所获取的振荡偏差大于预设的振荡偏差阈值,则单片机时钟发生异常。

本实施例中预设的振荡偏差阈值k如下式(3)所示:

公式(3)中参数terr的含义为时钟错误时间,具体地,本实施例中可以按照下述方法确定时钟错误时间terr:

当所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差大于预设阈值时,设定时钟错误时间为通讯信号中采样电平的上升沿与预设的采样点之间的时间长度。例如,图3所示第一单片机21与第二单片机22的通讯信号中预设的采样点为通讯信号的一个字节的一个位的电平宽度tm的中间时刻,因此可以得到钟错误时间terr=52μs。

进而,可以得到本实施例中预设的振荡偏差阈值k=5%,此时通讯信号发生异常。因此,当检测到单片机时钟的振荡偏差超过5%时可以判断为单片机时钟异常。

本实施例中以单片机时钟的振荡偏差为判据,提高了单片机时钟异常检测的可操作性。

上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。

基于与方法实施例相同的技术构思,本发明实施例还提供了一种单片机时钟异常检测装置。下面结合附图对该单片机时钟异常检测装置进行具体说明。

图2示例性示出了本实施例中单片机时钟异常检测装置的结构,如图所示,本实施例中单片机时钟异常检测装置可以包括第一信号获取模块11和第一信号判断模块12。其中,第一信号获取模块11可以配置为获取单片机与预设设备之间的通讯信号。第一信号判断模块12可以配置为判断所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差是否大于预设阈值:若大于则单片机时钟发生异常。

具体地,本实施例中通讯信号为基于时钟同步的信号、或为不基于时钟同步的信号。

进一步地,本实施例中单片机时钟异常检测装置还可以包括下述结构,具体为:

本实施例中单片机时钟异常检测装置还可以包括第二信号获取模块和第二信号判断模块。其中,第二信号获取模块可以配置为获取单片机时钟的振荡偏差。第二信号判断模块可以配置为比较所获取的振荡偏差与预设的振荡偏差阈值:若所获取的振荡偏差大于所述预设的振荡偏差阈值,则单片机时钟发生异常。

同时,本实施例中第二信号判断模块还包括如公式(3)所示的预设的振荡偏差阈值模型k,以及时钟错误时间计算模块。其中,时钟错误时间计算模块可以配置为当所获取的通讯信号中相邻采样点的时间间隔与预设的采样周期的偏差大于预设阈值时,设定时钟错误时间为通讯信号中采样电平的上升沿与预设的采样点之间的时间长度。

上述单片机时钟异常检测装置实施例可以用于执行上述单片机时钟异常检测方法实施例,其技术原理、所解决的技术问题及产生的技术效果相似,所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的单片机时钟异常检测的具体工作过程及有关说明,可以参考前述单片机时钟异常检测方法实施例中的对应过程,在此不再赘述。

本领域技术人员可以理解,上述单片机时钟异常检测装置还包括一些其他公知结构,例如处理器、控制器、存储器等,其中,存储器包括但不限于随机存储器、闪存、只读存储器、可编程只读存储器、易失性存储器、非易失性存储器、串行存储器、并行存储器或寄存器等,处理器包括但不限于cpld/fpga、dsp、arm处理器、mips处理器等,为了不必要地模糊本公开的实施例,这些公知的结构未在图2中示出。

应该理解,图2中的各个模块的数量仅仅是示意性的。根据实际需要,各模块可以具有任意的数量。

本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的服务器、客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,pc程序和pc程序产品)。这样的实现本发明的程序可以存储在pc可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

基于上述单片机时钟异常检测方法实施例,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中可以存储有计算机程序。同时,该计算机程序可以适用于由处理器加载并执行以实现上述单片机时钟异常检测方法实施例中的各步骤。

基于上述单片机时钟异常检测方法实施例,本发明还提供了一种计算机设备,该计算机设备可以包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。同时,该处理器执行计算机程序程序时可以实现上述单片机时钟异常检测方法实施例中的各步骤。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在本发明的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的pc来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

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