多套惯导系统多路数字量采集与处理防冲突方法及系统技术方案

技术编号:24516817 阅读:19 留言:0更新日期:2020-06-17 06:32
本发明专利技术提供了一种多套惯导系统多路数字量采集与处理防冲突方法及系统,该方法将缓存设置为三级,缓存的大小根据数据接收频率及数据量大小动态设置,设置第一级缓存的写入读出开关,当第一级缓存不可用时,将采集到的数据存入第二级缓存中,对第一级缓存中读出的数据进行组帧处理,并将组好后的数据帧写入第三级缓存中。本发明专利技术通过多级缓存动态创建克服数据采集与处理任务冲突问题,同时通过创建相互独立的多组缓存,不同组的缓存采用并行工作模式,提高数据处理速度,避免了多套惯导系统多路数字量输出时,存在的数据采集与处理任务冲突问题,大幅度提高了惯导系统的测试和生产效率。

Multi channel digital data acquisition and processing anti conflict method and system for multiple inertial navigation systems

【技术实现步骤摘要】
多套惯导系统多路数字量采集与处理防冲突方法及系统
本专利技术属于数据处理领域,涉及一种多路数字量采集与处理防冲突方法,尤其是一种用于多套惯导系统多路数字量采集与处理防冲突方法。
技术介绍
惯导系统研制完成后,通过运行于计算机上的测试软件,对惯导系统的功能和性能进行测试和验证,测试软件需完成惯导系统输出的数字量数据的采集和处理,数字量主要包括网口数据、串口数据等。当测试软件同时测试多套惯导系统,并且每套惯导系统有多路数字量输出时,测试软件采集的数据量很大,并且会出现数据并发(即不同系统不同通道的数据同时到来)的情况,以及在惯导系统数据发送频率较高时(例如1ms从一个通道发送一帧数据),都会对数据的正确采集和处理产生较大压力。此时,测试软件在采集和处理惯导数据时就容易产生任务冲突,造成采集的惯导数据帧丢失、出错等情况,无法完成对惯导系统的测试和验证。需要设计出一种多路数字量采集与处理的防冲突方法,保证惯导数据的可靠采集与处理,从而满足惯导系统测试和验证的需要。
技术实现思路
本专利技术的目的在于提供一种多套惯导系统多路数字量采集与处理防冲突方法及系统,实现惯导系统输出数字量的可靠采集与处理避免数据帧丢失、时序出错等问题。本专利技术解决上述技术问题采用的技术方案如下:一种多套惯导系统多路数字量采集与处理防冲突方法,包括如下步骤:S1、设置缓存:以单套惯导系统输出的一路数字量数据为单位设置缓存,所述缓存包括三级,缓存的大小根据数据接收频率及数据量大小动态设置;S2、设置第一级缓存的写入读出开关;S3、采集处理单套惯导系统的单路数字量数据:S3.1、采集到新的数据时,判断第一级缓存的写入读出开关状态,若可用,将数据存入第一级缓存,若不可用,将采数据存入第二级缓存;再次采集到新的数据时,若第一级缓存仍不可用,则继续将数据存入第二级缓存中,如果第一级缓存可用,则将第二级缓存中的全部数据和最后一次采集到的数据一次性写入第一级缓存中;S3.2、对第一级缓存中读出的数据进行组帧处理,并将组好后的数据帧写入第三级缓存中;S4、对单套惯导系统输出的多路数字量进行采集和处理,或者对于多套惯导系统输出的多路数字量进行采集和处理,则按照S1~S3中的方法创建多组缓存分别处理。进一步的,所述缓存的数据类型设置为BYTE类型。进一步的,所述第一级缓存写入或读出数据过程中,其写入读出开关始终置为不可用。进一步的,所述第一级缓存和第二级缓存为一维数组,所述第三级缓存为二维数组。进一步的,所述步骤S3.2之前还包括如下步骤:读取第一级缓存中的数据时,判断第一级缓存的状态,如果可用则允许读取数据,如果不可用则不允许读取数据,直至第一级缓存状态为可用时再读取数据。进一步的,所述步骤S3.2具体包括如下步骤:设置通讯帧的帧格式,包括帧头、帧号、帧中的数据长度、校验和、帧尾;(a)将从第一级缓存读出的字节与帧头逐一比较,如果找到帧头则执行(b),如果未找到帧头,则删除已比较过的字节,继续从后面的字节中查找帧头;(b)比较帧号,若帧号正确则执行(c),如果帧号不正确,则删除已找到的帧头,重新从(a)开始执行;(c)按照帧中的数据长度取帧内容,然后计算校验和,将计算出的校验和与从第一级缓存读出数据中校验和位置对应字节进行比较,如果相等说明校验和正确,则执行(d),如果校验和不正确,则删除已找到的帧头、帧号,重新从(a)开始执行;(d)比较帧尾,如果帧尾正确,则正确识别出一个完整的数据帧,将该帧数据写入第三级缓存中,如果帧尾不正确,则删除已找到的帧头、帧号、帧中的数据长度、帧内容和校验和,重新从(a)开始执行。进一步的,所述步骤(c)中校验和为除帧头、帧尾、校验和之外所有字节累加和的低8位,或者除帧头、帧尾、校验和之外所有字节进行异或运算。进一步的,所述步骤S3.2之后还包括将读出的字节从第一级缓存中删除的步骤。本专利技术还提供一种多套惯导系统多路数字量采集与处理防冲突系统,包括缓存设置单元、数字量采集单元、第一级缓存写入数据单元、第二级缓存写入数据单元、第一级缓存读出数据单元、通讯帧格式设置单元、数据组帧处理及第三级缓存写入数据单元;所述缓存设置单元用于设置缓存的类型、个数、大小;所述数字量采集单元用于采集惯导系统数据;所述第一级缓存写入数据单元用于将采集的数字量数据写入第一级缓存中;所述第二级缓存写入数据单元用于将无法写入第一级缓存中的数据写入第二级缓存中;所述第一级缓存读出数据单元用于将第一级缓存中的数据读出;所述通讯帧格式设置单元用于设置通讯帧的帧格式;所述数据组帧处理及第三级缓存写入数据单元,按照设置的通讯帧格式,将从第一级缓存中读出的数据与通讯帧格式进行逐一查找比对处理,将比对正确后的完整数据帧写入第三级缓存中。本专利技术的有益效果:本专利技术采用多级缓存动态创建技术,实现单套惯导单路数字量的实时采集与组帧处理,克服单套惯导系统数据输出频率高时,存在的数据采集与处理任务冲突问题。同时通过创建相互独立的多组缓存,不同组的缓存采用并行工作模式,提高数据处理速度,避免了多套惯导系统多路数字量输出时,存在的数据采集与处理任务冲突问题,大幅度提高了惯导系统的测试和生产效率。采用本专利技术技术方案,可以有效完成多套惯导系统多路数字量以1ms周期输出时的数据采集与处理任务,数据采集准确率提高到99.99%以上,有效解决惯导系统数据并发、数据高频率发送时存在的数据帧丢失、时序出错等问题。附图说明所包括的附图用来提供对本专利技术实施例的进一步的理解,其构成了说明书的一部分,用于例示本专利技术的实施例,并与文字描述一起来阐释本专利技术的原理。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的设置的三级缓存示意图;图2为本专利技术实施例中提供的多套惯导系统多路数字量采集与处理防冲突的系统框图。具体实施方式下面将结合附图对本专利技术技术方案进行详细说明。本专利技术提供的一种多套惯导系统多路数字量采集与处理防冲突方法,包括如下步骤:S1、设置缓存以采集和处理单套惯导系统输出的某一路数字量数据为单位设置缓存,缓存包括三级,第一级缓存A、第二级缓存B和第三级缓存C,第一级缓存A和第二级缓存B为一维数组,第三级缓存C为二维数组,如图1所示。第一级缓存A用于存储从网口或串口接收到的透明的字节流;第二级缓存B用于当第一级缓存A正在被使用时存储从网口或串口接收到的透明的字节流;第三级缓存C用于存储将第一级缓存A中的透明字节流进行组帧处理后的数据,图1中的每一段代表一帧完整的数据。由于通过网口或串口接收到的透明的字节流是以字节为单位的,所以缓存的数据类型设置为BYTE类型,缓存的大小可以根据数据接收频率及数据量大小动态设置和改变,该方法对外提供设置缓存大本文档来自技高网...

【技术保护点】
1.一种多套惯导系统多路数字量采集与处理防冲突方法,其特征在于,包括如下步骤:/nS1、设置缓存:以单套惯导系统输出的一路数字量数据为单位设置缓存,所述缓存包括三级,缓存的大小根据数据接收频率及数据量大小动态设置;/nS2、设置第一级缓存的写入读出开关;/nS3、采集处理单套惯导系统的单路数字量数据:/nS3.1、采集到新的数据时,判断第一级缓存的写入读出开关状态,若可用,将数据存入第一级缓存,若不可用,将采数据存入第二级缓存;再次采集到新的数据时,若第一级缓存仍不可用,则继续将数据存入第二级缓存中,如果第一级缓存可用,则将第二级缓存中的全部数据和最后一次采集到的数据一次性写入第一级缓存中;/nS3.2、对第一级缓存中读出的数据进行组帧处理,并将组好后的数据帧写入第三级缓存中;/nS4、对单套惯导系统输出的多路数字量进行采集和处理,或者对于多套惯导系统输出的多路数字量进行采集和处理,则按照S1~S3中的方法创建多组缓存分别处理。/n

【技术特征摘要】
1.一种多套惯导系统多路数字量采集与处理防冲突方法,其特征在于,包括如下步骤:
S1、设置缓存:以单套惯导系统输出的一路数字量数据为单位设置缓存,所述缓存包括三级,缓存的大小根据数据接收频率及数据量大小动态设置;
S2、设置第一级缓存的写入读出开关;
S3、采集处理单套惯导系统的单路数字量数据:
S3.1、采集到新的数据时,判断第一级缓存的写入读出开关状态,若可用,将数据存入第一级缓存,若不可用,将采数据存入第二级缓存;再次采集到新的数据时,若第一级缓存仍不可用,则继续将数据存入第二级缓存中,如果第一级缓存可用,则将第二级缓存中的全部数据和最后一次采集到的数据一次性写入第一级缓存中;
S3.2、对第一级缓存中读出的数据进行组帧处理,并将组好后的数据帧写入第三级缓存中;
S4、对单套惯导系统输出的多路数字量进行采集和处理,或者对于多套惯导系统输出的多路数字量进行采集和处理,则按照S1~S3中的方法创建多组缓存分别处理。


2.如权利要求1所述的防冲突方法,其特征在于,所述缓存的数据类型设置为BYTE类型。


3.如权利要求1所述的防冲突方法,其特征在于,所述第一级缓存写入或读出数据过程中,其写入读出开关始终置为不可用。


4.如权利要求1所述的防冲突方法,其特征在于,所述第一级缓存和第二级缓存为一维数组,所述第三级缓存为二维数组。


5.如权利要求1所述的防冲突方法,其特征在于,所述步骤S3.2之前还包括如下步骤:
读取第一级缓存中的数据时,判断第一级缓存的状态,如果可用则允许读取数据,如果不可用则不允许读取数据,直至第一级缓存状态为可用时再读取数据。


6.如权利要求1所述的防冲突方法,其特征在于,所述步骤S3.2具体包括如下步骤:
设置通讯帧的帧格式,包括帧头、帧号、帧中的数据长度、校验和、帧尾;
(a)将从第一级缓存读出的字...

【专利技术属性】
技术研发人员:陈留涛杨业明郭悦权晓蕾尹伟伟林渊王明东秦振汉
申请(专利权)人:航天科工惯性技术有限公司
类型:发明
国别省市:北京;11

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

1