CN111290305A - 多套惯导系统多路数字量采集与处理防冲突方法及系统 - Google Patents

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

Info

Publication number
CN111290305A
CN111290305A CN201811487313.9A CN201811487313A CN111290305A CN 111290305 A CN111290305 A CN 111290305A CN 201811487313 A CN201811487313 A CN 201811487313A CN 111290305 A CN111290305 A CN 111290305A
Authority
CN
China
Prior art keywords
data
frame
level cache
cache
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811487313.9A
Other languages
English (en)
Other versions
CN111290305B (zh
Inventor
陈留涛
杨业明
郭悦
权晓蕾
尹伟伟
林渊
王明东
秦振汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Science and Industry Inertia Technology Co Ltd
Original Assignee
Aerospace Science and Industry Inertia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aerospace Science and Industry Inertia Technology Co Ltd filed Critical Aerospace Science and Industry Inertia Technology Co Ltd
Priority to CN201811487313.9A priority Critical patent/CN111290305B/zh
Publication of CN111290305A publication Critical patent/CN111290305A/zh
Application granted granted Critical
Publication of CN111290305B publication Critical patent/CN111290305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

多套惯导系统多路数字量采集与处理防冲突方法及系统
技术领域
本发明属于数据处理领域,涉及一种多路数字量采集与处理防冲突方法,尤其是一种用于多套惯导系统多路数字量采集与处理防冲突方法。
背景技术
惯导系统研制完成后,通过运行于计算机上的测试软件,对惯导系统的功能和性能进行测试和验证,测试软件需完成惯导系统输出的数字量数据的采集和处理,数字量主要包括网口数据、串口数据等。当测试软件同时测试多套惯导系统,并且每套惯导系统有多路数字量输出时,测试软件采集的数据量很大,并且会出现数据并发(即不同系统不同通道的数据同时到来)的情况,以及在惯导系统数据发送频率较高时(例如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类型,缓存的大小可以根据数据接收频率及数据量大小动态设置和改变,该方法对外提供设置缓存大小的接口,当用户调用该接口设置完成后,该方法根据设置的缓存大小创建并初始化缓存。
S2、设置第一级缓存的写入读出开关WriteReadDataSwitch
对第一级缓存A设置允许数据写入读出开关WriteReadDataSwitch,当WriteReadDataSwitch的值为TRUE时,允许对第一级缓存A进行数据写入或读出操作,即第一级缓存A处于可用状态;当WriteReadDataSwitch的值为FALSE时,不允许对第一级缓存A进行数据写入或读出操作,即第一级缓存A处于不可用状态。在对第一级缓存A写入或读出数据过程中,WriteReadDataSwitch始终置为FALSE,防止被再次操作产生冲突,当数据写入或读出完成后,将WriteReadDataSwitch置为TRUE。
S3、采集处理单套惯导系统的单路数字量数据
S3.1、当网口或串口采集到新的数据时,若此时第一级缓存A处于可用状态,即WriteReadDataSwitch的值为TRUE,则将采集到的数据存入第一级缓存A中;若此时第一级缓存A处于不可用状态,即WriteReadDataSwitch的值为FALSE,则将采集到的数据存入第二级缓存B中。之后网口或串口再次采集到新的数据,如果第一级缓存A的WriteReadDataSwitch的值仍为FALSE,则继续将采集到的数据存入第二级缓存B中,如果WriteReadDataSwitch的值为TRUE,则将第二级缓存B中的全部数据和最后一次采集到的数据一次性写入第一级缓存A中。及时将第二级缓存B数据存入第一级缓存A中,可以确保接收到的数据被及时的进行组帧处理。
S3.2、由于第一级缓存A中写入的是透明的字节流,无法对其进行直接解析和使用,在向第一级缓存A中写入数据的同时,还要进行数据读出操作,数据读出之后进行组帧处理,将组好后的数据帧写入第三级缓存C中,读出的字节从第一级缓存A中删除。
在对从第一级缓存A中读出的数据进行组帧处理时,首先设置通讯帧的帧格式,主要包括帧头、帧号、帧中的数据长度、校验和、帧尾等信息。组帧处理过程如下:
(a)将从第一级缓存A读出的字节与帧头逐一比较,如果找到帧头则执行(b),如果未找到帧头,则删除已比较过的字节,继续从后面的字节中查找帧头。
(b)比较帧号,若帧号正确则执行(c),如果帧号不正确,则删除已找到的帧头,重新从(a)开始执行。
(c)按照帧中的数据长度取帧内容,然后计算校验和,将计算出的校验和与从第一级缓存A读出数据中校验和位置对应字节进行比较,如果相等说明校验和正确,则执行(d),如果校验和不正确,则删除已找到的帧头、帧号,重新从(a)开始执行。
(d)比较帧尾,如果帧尾正确,说明已正确识别出一个完整的数据帧,将该帧数据写入第三级缓存C中。如果帧尾不正确,则删除已找到的帧头、帧号、帧中的数据长度、帧内容和校验和,重新从(a)开始执行。
第三级缓存C中的数据帧可用于通讯帧解析,解析后的数据可用于显示和保存等。
上述组帧处理方法的优点是使用非常灵活,根据通讯帧格式设置信息,可以自适应的完成多种通讯帧的组帧处理。采用逐字节比较匹配的方法进行组帧处理,该方法容易实现且运行效率较高。同时,也可以采用常规组帧处理方法如循环查找法、递归查找法等。
上述通讯帧的帧格式也可以只包括帧头、帧号、帧中的数据长度、校验和、帧尾等信息中的若干个信息,即通讯帧的帧格式是帧头、帧号、帧中的数据长度、校验和、帧尾中若干个信息的组合。
上述步骤(c)中计算校验和的方法有多种,如:除帧头、帧尾、校验和之外所有字节累加和的低8位作为校验和;除帧头、帧尾、校验和之外所有字节进行异或运算作为校验和等。
S4、对单套惯导系统输出的多路数字量进行采集和处理,或者对于多套惯导系统输出的多路数字量进行采集和处理,则按照S1~S3中的方法创建多组缓存即可。
通过创建多组缓存以及设置数据写入读出开关WriteReadDataSwitch,解决了数据写入与读出时的冲突问题,由于不同组的缓存在工作时相互独立、互不干扰,不同组的缓存采用并行工作模式,从而提高了数据处理的速度;同时避免了将多路数字量集中缓存,造成的数据耦合及处理过程复杂等问题。从而保证采集到的数据既不丢失也不会产生时序错乱。
同时,本发明还提供了一种用于多套惯导系统多路数字量采集与处理防冲突的系统,如图2所示,是通过缓存设置单元、数字量采集单元、第一级缓存A写入数据单元、第二级缓存B写入数据单元、第一级缓存A读出数据单元、通讯帧格式设置单元、数据组帧处理及第三级缓存C写入数据单元实现的。
其中,(1)缓存设置单元,用于设置缓存的类型、个数、大小,(2)数字量采集单元,用于采集惯导系统网口或串口数据,(3)第一级缓存A写入数据单元,用于将采集的数字量数据写入第一级缓存A中,(4)第二级缓存B写入数据单元,用于将无法写入第一级缓存A中的数据写入第二级缓存B中,直至第一级缓存A处于可用状态时,再将第二级缓存B中的全部数据和最后一次采集到的数据一次性写入第一级缓存A中。(5)第一级缓存A读出数据单元,用于将第一级缓存A中的数据读出,(6)通讯帧格式设置单元,用于设置通讯帧的帧格式,主要包括帧头、帧号、帧中的数据长度、校验和、帧尾等信息,(7)数据组帧处理及第三级缓存C写入数据单元,按照设置的通讯帧格式,将从第一级缓存A中读出的数据与通讯帧格式进行逐一查找比对处理,将比对正确后的完整数据帧写入第三级缓存C中。
下面结合具体实施例,阐述惯导系统数字量采集与处理方法。
实施例1单套惯导系统单路数字量采集与处理
首先,通过缓存设置单元,设置第一级缓存A、第二级缓存B和第三级缓存C,可设置第一级缓存A的大小为1024*1024=1048576个BYTE类型的存储空间,即1MB的存储空间;设置第二级缓存B的大小为64*1024=65536个BYTE类型的存储空间,即64KB的存储空间;第三级缓存C为二维数组,设置第三级缓存C的大小为1024*1024=1048576个BYTE类型的存储空间,即1024个一维数组,每个一维数组的大小为1024字节,此处假设每个数据帧的总长度不大于1024字节。
设置第一级缓存A的写入读出开关WriteReadDataSwitch。
通过通讯帧格式设置单元设置通讯帧的格式,这里可设置帧头为4个字节,分别为0xAA、0xBB、0xCC和0xDD,帧号为0x10,帧中的数据长度为0x30,校验和用一个字节表示,校验和为帧号、帧中的数据长度、帧中数据所有字节累加和的低8位,帧尾为0xFF。
然后,通过数字量采集单元采集网口或串口数据,以每次采集到的数据为100个字节为例。采集到数据后须将数据写入缓存中,如果此时第一级缓存A的WriteReadDataSwitch开关值为TRUE,则通过第一级缓存A写入数据单元,将数据写入第一级缓存A中,在写入过程中将WriteReadDataSwitch开关置为FALSE,写入结束后将WriteReadDataSwitch开关置为TRUE;采集到数据后,如果第一级缓存A的WriteReadDataSwitch开关值为FALSE,则通过第二级缓存B写入数据单元,将采集到的数据写入第二级缓存B中,直至第一级缓存A的WriteReadDataSwitch开关值为TRUE时,再将第二级缓存B中的全部数据和最后一次采集到的数据一次性写入第一级缓存A中。
之后,通过第一级缓存A读出数据单元,将数据从第一级缓存A中读出用于数据组帧处理,如果第一级缓存A中的数据量小于512个字节,则把数据全部一次性读出,如果第一级缓存A中的数据量大于512个字节,则每次最多读出512个字节。读取第一级缓存A中的数据时,需判断WriteReadDataSwitch开关的值,如果该开关的值为TRUE则允许读取数据,如果该开关的值为FALSE则不允许读取数据,直至该开关的值为TRUE时再读取数据。
最后,通过数据组帧处理及第三级缓存C写入数据单元,将从第一级缓存A中读出的数据,根据设置的通讯帧格式进行组帧处理,并将组帧处理好的数据帧写入缓存C中。组帧处理过程如下:
a)首先,将从第一级缓存A读出的字节与帧头0xAA、0xBB、0xCC和0xDD逐一比较,如果找到帧头则执行b),如果未找到帧头,则删除已比较过的字节,继续从后面的字节中查找帧头。
b)比较帧号0x10,若帧号正确则执行c),如果帧号不正确,则删除已找到的帧头,重新从a)开始执行。
c)按照帧中的数据长度0x30,取0x30个字节的帧内容,并将帧号、帧中的数据长度、帧内容逐字节累加并取低8位,与从第一级缓存A读出数据中校验和位置对应字节进行比较,如果相等说明校验和正确,则执行d),如果校验和不正确,则删除已找到的帧头、帧号,重新从a)开始执行。
d)比较帧尾0xFF,如果帧尾正确,说明已正确识别出一个完整的数据帧,将该帧数据写入缓存C中。如果帧尾不正确,则删除已找到的帧头、帧号、帧中的数据长度、帧内容和校验和,重新从a)开始执行。
第三级缓存C中的数据帧可用于解析,解析后的数据可用于显示和保存等。
实施例2多套惯导系统多路数字量采集与处理
同时测试4套惯导系统,每套惯导系统有2路数字量输出。与实施例1不同的是:
首先,通过缓存设置单元,设置8组缓存,对于每一组缓存缓存:设置第一级缓存A、第二级缓存B和第三级缓存C,可设置第一级缓存A的大小为1024*1024=1048576个BYTE类型的存储空间,即1MB的存储空间;设置第二级缓存B的大小为128*1024=131072个BYTE类型的存储空间,即128KB的存储空间;第三级缓存C为二维数组,设置第三级缓存C的大小为1024*1024=1048576个BYTE类型的存储空间,即1024个一维数组,每个一维数组的大小为1024字节,此处假设每个数据帧的总长度不大于1024字节。
对于每一组缓存,分别设置第一级缓存A允许数据的写入读出开关WriteReadDataSwitch。
通过通讯帧格式设置单元设置通讯帧的格式,这里可设置帧头为2个字节,分别为0xAA、0x55,无帧号,帧中的数据长度为0x80,校验和用一个字节表示,校验和为帧中的数据长度、帧中数据所有字节累加和的低8位,无帧尾。
数据读取、写入缓存步骤与实施例1相同,不同之处在于组帧处理过程如下:
a)首先,将从第一级缓存A读出的字节与帧头0xAA、0x55逐一比较,如果找到帧头则执行c),如果未找到帧头,则删除已比较过的字节,继续从后面的字节中查找帧头。
c)按照帧中的数据长度0x80,取0x80个字节的帧内容,并将帧中的数据长度、帧内容逐字节累加并取低8位,与从第一级缓存A读出数据中校验和位置对应字节进行比较,如果相等说明校验和正确,说明已正确识别出一个完整的数据帧,将该帧数据写入缓存C中。如果校验和不正确,则删除已找到的帧头,重新从a)开始执行。
通过动态创建多级缓存以及设置数据写入读出开关WriteReadDataSwitch,解决了数据写入与读出及处理时的冲突问题,有效解决惯导系统数据并发、数据高频率发送时存在的数据帧丢失、时序出错等问题。
结论:对于4套惯导系统,每套惯导系统2路数字量进行采集与处理,连续采集1小时,8路数字量,每路采集了大约600MB数据,经过对数据的处理验证,未出现数据帧丢失、出错等情况,数据正确率达到100%。大幅度提高了惯导系统测试、生产效率。
上述实施例出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。
在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

Claims (9)

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)将从第一级缓存读出的字节与帧头逐一比较,如果找到帧头则执行(b),如果未找到帧头,则删除已比较过的字节,继续从后面的字节中查找帧头;
(b)比较帧号,若帧号正确则执行(c),如果帧号不正确,则删除已找到的帧头,重新从(a)开始执行;
(c)按照帧中的数据长度取帧内容,然后计算校验和,将计算出的校验和与从第一级缓存读出数据中校验和位置对应字节进行比较,如果相等说明校验和正确,则执行(d),如果校验和不正确,则删除已找到的帧头、帧号,重新从(a)开始执行;
(d)比较帧尾,如果帧尾正确,则正确识别出一个完整的数据帧,将该帧数据写入第三级缓存中,如果帧尾不正确,则删除已找到的帧头、帧号、帧中的数据长度、帧内容和校验和,重新从(a)开始执行。
7.如权利要求6所述的防冲突方法,其特征在于,所述步骤(c)中校验和为除帧头、帧尾、校验和之外所有字节累加和的低8位,或者除帧头、帧尾、校验和之外所有字节进行异或运算。
8.如权利要求1所述的防冲突方法,其特征在于,所述步骤S3.2之后还包括将读出的字节从第一级缓存中删除的步骤。
9.一种采用权利要求1所述的防冲突方法的系统,其特征在于,包括缓存设置单元、数字量采集单元、第一级缓存写入数据单元、第二级缓存写入数据单元、第一级缓存读出数据单元、通讯帧格式设置单元、数据组帧处理及第三级缓存写入数据单元;所述缓存设置单元用于设置缓存的类型、个数、大小;所述数字量采集单元用于采集惯导系统数据;所述第一级缓存写入数据单元用于将采集的数字量数据写入第一级缓存中;所述第二级缓存写入数据单元用于将无法写入第一级缓存中的数据写入第二级缓存中;所述第一级缓存读出数据单元用于将第一级缓存中的数据读出;所述通讯帧格式设置单元用于设置通讯帧的帧格式;所述数据组帧处理及第三级缓存写入数据单元,按照设置的通讯帧格式,将从第一级缓存中读出的数据与通讯帧格式进行逐一查找比对处理,将比对正确后的完整数据帧写入第三级缓存中。
CN201811487313.9A 2018-12-06 2018-12-06 多套惯导系统多路数字量采集与处理防冲突方法及系统 Active CN111290305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811487313.9A CN111290305B (zh) 2018-12-06 2018-12-06 多套惯导系统多路数字量采集与处理防冲突方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811487313.9A CN111290305B (zh) 2018-12-06 2018-12-06 多套惯导系统多路数字量采集与处理防冲突方法及系统

Publications (2)

Publication Number Publication Date
CN111290305A true CN111290305A (zh) 2020-06-16
CN111290305B CN111290305B (zh) 2021-05-04

Family

ID=71021162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811487313.9A Active CN111290305B (zh) 2018-12-06 2018-12-06 多套惯导系统多路数字量采集与处理防冲突方法及系统

Country Status (1)

Country Link
CN (1) CN111290305B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114509966A (zh) * 2021-12-30 2022-05-17 北京无线电测量研究所 一种非同步高速串口实时连续数据采集系统
CN114650217A (zh) * 2022-05-19 2022-06-21 长沙竹叶电子科技有限公司 一种串口接收数据处理方法、装置、设备及介质
CN117520597A (zh) * 2023-09-11 2024-02-06 北京国卫星通科技有限公司 惯导数据采集与分析系统的数据记录实现方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182802A2 (en) * 2000-08-25 2002-02-27 Texas Instruments Incorporated Triple data buffer system for high data rate communication systems
EP1191778A1 (en) * 2000-09-22 2002-03-27 Kabushiki Kaisha Toshiba Imaging method
CN102098131A (zh) * 2009-12-15 2011-06-15 航天科工惯性技术有限公司 一种基于动态参数配置的串口数据帧通用组帧解帧方法
CN102510323A (zh) * 2011-09-22 2012-06-20 航天科工惯性技术有限公司 一种串口数据的帧识别方法
CN102665151A (zh) * 2012-04-24 2012-09-12 烽火通信科技股份有限公司 一种分组传送网中sdh业务dcc开销的处理方法及装置
CN102819586A (zh) * 2012-07-31 2012-12-12 北京网康科技有限公司 一种基于高速缓存的url分类方法和设备
CN102841865A (zh) * 2011-06-24 2012-12-26 上海芯豪微电子有限公司 高性能缓存系统和方法
CN104348685A (zh) * 2014-11-29 2015-02-11 中国航空工业集团公司第六三一研究所 一种机载afdx网络数据监控方法
CN104765573A (zh) * 2015-04-10 2015-07-08 中国船舶重工集团公司第七一0研究所 一种串口通讯数据处理分析方法
CN105208275A (zh) * 2015-09-25 2015-12-30 北京航空航天大学 一种支持流数据片内实时处理的系统及设计方法
CN105847077A (zh) * 2016-03-17 2016-08-10 华为技术有限公司 一种检测多路串行数据冲突的方法及装置、设备
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182802A2 (en) * 2000-08-25 2002-02-27 Texas Instruments Incorporated Triple data buffer system for high data rate communication systems
EP1182802B1 (en) * 2000-08-25 2017-04-19 Texas Instruments Inc. Triple data buffer system for high data rate communication systems
EP1191778A1 (en) * 2000-09-22 2002-03-27 Kabushiki Kaisha Toshiba Imaging method
CN102098131A (zh) * 2009-12-15 2011-06-15 航天科工惯性技术有限公司 一种基于动态参数配置的串口数据帧通用组帧解帧方法
CN102841865A (zh) * 2011-06-24 2012-12-26 上海芯豪微电子有限公司 高性能缓存系统和方法
CN102510323A (zh) * 2011-09-22 2012-06-20 航天科工惯性技术有限公司 一种串口数据的帧识别方法
CN102665151A (zh) * 2012-04-24 2012-09-12 烽火通信科技股份有限公司 一种分组传送网中sdh业务dcc开销的处理方法及装置
CN102819586A (zh) * 2012-07-31 2012-12-12 北京网康科技有限公司 一种基于高速缓存的url分类方法和设备
CN104348685A (zh) * 2014-11-29 2015-02-11 中国航空工业集团公司第六三一研究所 一种机载afdx网络数据监控方法
CN104765573A (zh) * 2015-04-10 2015-07-08 中国船舶重工集团公司第七一0研究所 一种串口通讯数据处理分析方法
CN105208275A (zh) * 2015-09-25 2015-12-30 北京航空航天大学 一种支持流数据片内实时处理的系统及设计方法
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统
CN105847077A (zh) * 2016-03-17 2016-08-10 华为技术有限公司 一种检测多路串行数据冲突的方法及装置、设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘光宇 等: "《基于ARM的多串口数据接收系统设计》", 《计算机与数字工程》 *
周庆 等: "《综合模块化航电软件仿真测试环境研究》", 《航空学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114509966A (zh) * 2021-12-30 2022-05-17 北京无线电测量研究所 一种非同步高速串口实时连续数据采集系统
CN114509966B (zh) * 2021-12-30 2023-11-03 北京无线电测量研究所 一种非同步高速串口实时连续数据采集系统
CN114650217A (zh) * 2022-05-19 2022-06-21 长沙竹叶电子科技有限公司 一种串口接收数据处理方法、装置、设备及介质
CN117520597A (zh) * 2023-09-11 2024-02-06 北京国卫星通科技有限公司 惯导数据采集与分析系统的数据记录实现方法
CN117520597B (zh) * 2023-09-11 2024-04-26 北京国卫星通科技有限公司 惯导数据采集与分析系统的数据记录实现方法

Also Published As

Publication number Publication date
CN111290305B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN111290305B (zh) 多套惯导系统多路数字量采集与处理防冲突方法及系统
US10606806B2 (en) Method and apparatus for storing time series data
CN101876934B (zh) 一种用于对输入数据进行采样的方法和系统
CN114356223B (zh) 存储器的访问方法及装置、芯片、电子设备
CN111949568B (zh) 一种报文处理方法、装置及网络芯片
CN110740054A (zh) 一种基于强化学习的数据中心虚拟化网络故障诊断方法
CN114710224A (zh) 帧同步方法及装置、计算机可读介质、电子设备
CN102937936A (zh) 使用n路高速缓冲存储器的系统和方法
CN109918226A (zh) 一种静默错误检测方法、装置及存储介质
CN114035849A (zh) 用于执行原子操作的系统、原子操作方法及装置
US10334011B2 (en) Efficient sorting for a stream processing engine
CN115421672A (zh) 一种基于芯片的数据存储方法、系统及存储介质
CN113486109A (zh) 异构数据库的数据同步方法、装置及电子设备
CN112988884B (zh) 大数据平台数据存储方法及装置
CN110532104A (zh) 一种多通道数据实时排序方法及系统
CN108073709B (zh) 一种数据记录的操作方法、装置、设备和存储介质
CN111198806A (zh) 一种基于服务开放平台的服务调用数据统计分析方法及系统
CN116457751A (zh) 一种写数据通路结构和芯片
CN115934583A (zh) 分级缓存方法、装置及系统
CN110955710B (zh) 一种数据交换作业中脏数据的处理方法及装置
CN112948281A (zh) 数据处理方法、装置、设备及存储介质
CN114556283A (zh) 一种数据写入、一致性检查和读取的方法及装置
CN112383443A (zh) 运行于rdma通信环境的并行应用通信性能预测方法
CN113157736B (zh) 分布式数据库中的查询计划优化方法及系统
CN115865808B (zh) 灵活以太网的数据块的处理方法、装置、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant