基于FREERTOS系统的时钟同步方法、装置、存储介质及计算机制造方法及图纸

技术编号:35025932 阅读:21 留言:0更新日期:2022-09-24 22:57
本发明专利技术提供一种基于FREERTOS系统的时钟同步方法、装置、存储介质及计算机,FREERTOS系统中包括多个任务模块,该方法包括:对多个任务模块进行时钟同步校准,并通过任一任务模块向其对应的传感器下发控制命令或查询命令;当任务模块接收到传感器回复的消息信息时,判断消息信息是否符合第一预设要求;若消息信息符合第一预设要求,则计算出接收数据长度,以及识别出有效数据帧;判断接收数据长度是否符合数据通信协议规定的数据长度;若是,则判断有效数据帧的数据参数是否符合第二预设要求;若有效数据帧的数据参数符合第二预设要求,则将解析后的消息信息上传使任务模块与FREERTOS系统的时钟同步。本发明专利技术能够保证系统时钟的同步性。步性。步性。

【技术实现步骤摘要】
基于FREERTOS系统的时钟同步方法、装置、存储介质及计算机


[0001]本专利技术涉及数据处理
,特别涉及一种基于FREERTOS系统的时钟同步方法、装置、存储介质及计算机。

技术介绍

[0002]在嵌入式板与其他多个传感器有大量的数据交互,常常会导致时钟混乱,底部逻辑不稳定,为了保证整体驱动系统的稳定性和可靠性,与各传感器间有特定的通信协议,各设备的通信格式与数据各不相同。为保证通信的实时性和减少系统开销,通常采取中断方式接收数据,把数据存放到缓存区中。当定时读取缓存区中的数据时,为了保证有效识别数据,通常采取拼帧或者建立软环形缓存的方法搜索通信帧的帧头和帧尾。如果时钟同步失败,会造成数据更新不及时,甚至通信中断。
[0003]当多个中断函数如果同时作用时,会导致CPU接收数据到处理数据环节上都存在一定的延时,导致时钟混乱,最终导致系统不稳定。
[0004]目前在实现多传感器数据接收和发送时,通常采用两种方式,一种是比较传统的方式:单纯在中断函数当中进行数据的接收,运用定时器,对时序进行简单的梳理,容易导致系统时序混乱,时钟不同步,最终导致程序崩溃;另一种方式为:采用创建第一任务,通过第一任务,确定多个第二任务中每个第二任务的运行状态以及处理器能够维持停止模式的目标时长,第一任务的优先级低于每个第二任务的优先级;若根据目标时长和每个第二任务的运行状态,确定每个第二任务满足进入停止模式的条件时,控制处理器在目标时长内处于停止模式。该方式只是简单的通过查询处理器的状态,从而来控制任务的运行,使CPU的利用率降低。因此,两种方式在CPU接收数据到处理数据环节上都存在一定的延时,均为对时钟进行同步,串行数据同步的实时性有待提高。

技术实现思路

[0005]基于此,本专利技术的目的是提供一种基于FREERTOS系统的时钟同步方法、装置、存储介质及计算机,以至少解决上述技术中的不足。
[0006]本专利技术提出一种基于FREERTOS系统的时钟同步方法,所述FREERTOS系统中包括多个任务模块,所述基于FREERTOS系统的时钟同步方法包括:
[0007]对所述多个任务模块进行时钟同步校准,并通过任一任务模块向其对应的传感器下发控制命令或查询命令;
[0008]当所述任务模块接收到所述传感器根据所述控制命令或所述查询命令所回复的消息信息时,判断所述消息信息是否符合第一预设要求;
[0009]若所述消息信息符合第一预设要求,则计算出所述消息信息的接收数据长度,以及识别出所述消息信息的有效数据帧;
[0010]判断所述接收数据长度是否符合数据通信协议规定的数据长度;
[0011]若所述接收数据长度符合数据通信协议规定的数据长度,则判断所述有效数据帧
的数据参数是否符合第二预设要求;
[0012]若所述有效数据帧的数据参数符合第二预设要求,则对所述消息信息进行解析,并将解析后的消息信息上传,以使所述任务模块与所述FREERTOS系统的时钟同步。
[0013]进一步的,计算出所述消息信息的接收数据长度的步骤包括:
[0014]获取所述FREERTOS系统中寄存器的剩余传输数据长度;
[0015]利用预设的传输数据长度与所述剩余传输数据长度计算出所述消息信息的接收数据长度。
[0016]进一步的,所述识别出所述消息信息的有效数据帧的步骤之前,所述方法还包括:
[0017]获取所述消息信息的发送状态,并判断所述发送状态是否处于完成状态;
[0018]若所述发送状态处于完成状态,下发所述消息信息的任务信号量,并识别出所述任务信号量中的有效数据帧。
[0019]进一步的,判断所述有效数据帧的数据参数是否符合第二预设要求的步骤包括:
[0020]提取所述有效数据帧中的字节,并对所述字节的帧头帧尾、字节数以及冗余循环码进行校验;
[0021]若所述字节的帧头帧尾、字节数以及冗余循环码校验成功,则判定所述有效数据帧的数据参数符合第二预设要求;
[0022]若所述字节的帧头帧尾、字节数以及冗余循环码校验失败,则丢弃所述消息信息,判断所述有效数据帧的数据参数不符合第二预设要求。
[0023]进一步的,所述将解析后的消息信息上传,以使所述任务模块与所述FREERTOS系统的时钟同步的步骤包括:
[0024]控制所述FREERTOS系统按照预设时间间隔向所述任务模块发送同步报文,并记录所述同步报文的发送时间;
[0025]当所述任务模块接收到所述同步报文时,记录所述同步报文的送达时间;
[0026]控制所述任务模块按照预设随机时间间隔向所述FREERTOS系统发送延时请求报文,并记录所述延时请求报文的发送时间,所述预设随机时间间隔大于所述预设时间间隔;
[0027]当所述FREERTOS系统接收到所述延时请求报文时,记录所述延时请求报文的送达时间;
[0028]根据所述同步报文的发送时间、所述同步报文的送达时间、所述延时请求报文的发送时间以及所述延时请求报文的送达时间计算出所述FREERTOS系统与所述任务模块之间的时钟间偏差以及网络延迟;
[0029]根据所述时钟间偏差和所述网络延迟优化所述任务模块的本地时钟,以使所述任务模块与所述FREERTOS系统的时钟同步。
[0030]进一步的,所述FREERTOS系统与所述任务模块之间的时钟间偏差以及网络延迟的计算公式为:
[0031][0032][0033]式中,Offset表示FREERTOS系统与任务模块之间的时钟间偏差,Delay表示
FREERTOS系统与任务模块之间的网络延迟,t1表示同步报文的发送时间,t2表示同步报文的送达时间,t3表示延时请求报文的发送时间,t4表示延时请求报文的送达时间。
[0034]本专利技术还提出一种基于FREERTOS系统的时钟同步装置,所述FREERTOS系统中包括多个任务模块,所述基于FREERTOS系统的时钟同步装置包括:
[0035]命令下发模块,用于对所述多个任务模块进行时钟同步校准,并通过任一任务模块向其对应的传感器下发控制命令或查询命令;
[0036]第一判断模块,用于当所述任务模块接收到所述传感器根据所述控制命令或所述查询命令所回复的消息信息时,判断所述消息信息是否符合第一预设要求;
[0037]处理模块,用于若所述消息信息符合第一预设要求,则计算出所述消息信息的接收数据长度,以及识别出所述消息信息的有效数据帧;
[0038]第二判断模块,用于判断所述接收数据长度是否符合数据通信协议规定的数据长度;
[0039]第三判断模块,用于若所述接收数据长度符合数据通信协议规定的数据长度,则判断所述有效数据帧的数据参数是否符合第二预设要求;
[0040]时钟同步模块,用于若所述有效数据帧的数据参数符合第二预设要求,则对所述消息信息进行解析,并将解析后的消息信息上传,以使所述任务模块与所述FRE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FREERTOS系统的时钟同步方法,所述FREERTOS系统中包括多个任务模块,其特征在于,所述基于FREERTOS系统的时钟同步方法包括:对所述多个任务模块进行时钟同步校准,并通过任一任务模块向其对应的传感器下发控制命令或查询命令;当所述任务模块接收到所述传感器根据所述控制命令或所述查询命令所回复的消息信息时,判断所述消息信息是否符合第一预设要求;若所述消息信息符合第一预设要求,则计算出所述消息信息的接收数据长度,以及识别出所述消息信息的有效数据帧;判断所述接收数据长度是否符合数据通信协议规定的数据长度;若所述接收数据长度符合数据通信协议规定的数据长度,则判断所述有效数据帧的数据参数是否符合第二预设要求;若所述有效数据帧的数据参数符合第二预设要求,则对所述消息信息进行解析,并将解析后的消息信息上传,以使所述任务模块与所述FREERTOS系统的时钟同步。2.根据权利要求1所述的基于FREERTOS系统的时钟同步方法,其特征在于,计算出所述消息信息的接收数据长度的步骤包括:获取所述FREERTOS系统中寄存器的剩余传输数据长度;利用预设的传输数据长度与所述剩余传输数据长度计算出所述消息信息的接收数据长度。3.根据权利要求1所述的基于FREERTOS系统的时钟同步方法,其特征在于,所述识别出所述消息信息的有效数据帧的步骤之前,所述方法还包括:获取所述消息信息的发送状态,并判断所述发送状态是否处于完成状态;若所述发送状态处于完成状态,下发所述消息信息的任务信号量,并识别出所述任务信号量中的有效数据帧。4.根据权利要求1所述的基于FREERTOS系统的时钟同步方法,其特征在于,判断所述有效数据帧的数据参数是否符合第二预设要求的步骤包括:提取所述有效数据帧中的字节,并对所述字节的帧头帧尾、字节数以及冗余循环码进行校验;若所述字节的帧头帧尾、字节数以及冗余循环码校验成功,则判定所述有效数据帧的数据参数符合第二预设要求;若所述字节的帧头帧尾、字节数以及冗余循环码校验失败,则丢弃所述消息信息,判断所述有效数据帧的数据参数不符合第二预设要求。5.根据权利要求1所述的基于FREERTOS系统的时钟同步方法,其特征在于,所述将解析后的消息信息上传,以使所述任务模块与所述FREERTOS系统的时钟同步的步骤包括:控制所述FREERTOS系统按照预设时间间隔向所述任务模块发送同步报文,并记录所述同步报文的发送时间;当所述任务模块接收到所述同步报文时,记录所述同步报文的送达时间;控制所述任务模块按照预设随机时间间隔向所述FREERTOS系统发送延时请求报文,并记录所述延时请求报文的发送时间,所述预设随机时间间隔大于所述预设时间间隔;当所述FREERTOS系统接收到所述延时请求报文时,记录所述延...

【专利技术属性】
技术研发人员:聂志华曾锐陈韬曾竞凯
申请(专利权)人:江西省智能产业技术创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1