CN112116729B - 一种基于VxWorks系统的机载数据采集方法 - Google Patents

一种基于VxWorks系统的机载数据采集方法 Download PDF

Info

Publication number
CN112116729B
CN112116729B CN202010940318.3A CN202010940318A CN112116729B CN 112116729 B CN112116729 B CN 112116729B CN 202010940318 A CN202010940318 A CN 202010940318A CN 112116729 B CN112116729 B CN 112116729B
Authority
CN
China
Prior art keywords
task
data
data acquisition
message queue
self
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.)
Active
Application number
CN202010940318.3A
Other languages
English (en)
Other versions
CN112116729A (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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202010940318.3A priority Critical patent/CN112116729B/zh
Publication of CN112116729A publication Critical patent/CN112116729A/zh
Application granted granted Critical
Publication of CN112116729B publication Critical patent/CN112116729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于VxWorks系统的机载数据采集方法,属于机载数据采集技术领域。本发明将机载数据采集功能分解为数据采集接收、数据传输发送、周期自检3个任务,根据重要性排序划分优先级;其中建立了一种基于VxWorks消息队列进行任务间通讯和消息二级缓存的方法,既保证了数据采集任务的实时性,又缓解了数据传输任务的压力。本发明将机载数据采集传输方法通用化,并提高了程序的可靠性,适用于所有使用VxWorks操作系统的设备。

Description

一种基于VxWorks系统的机载数据采集方法
技术领域
本发明属于机载数据采集技术领域,具体涉及一种基于VxWorks系统的机载数据采集方法。
背景技术
目前,随着飞机航电系统的不断迭代发展,各系统及设备之间的交联关系也愈加复杂,为掌握各设备在飞行过程中的状态,需要数据采集设备进行机上数据采集、增加时间标记、并组包实时发送给记录器存储,以便进行数据分析。数据采集的实时性和数据传输的完整性是机载数据采集设备的两大指标,为保证实时性多采用VxWorks操作系统,在硬件资源已确定的情况下,功能性能完成的质量主要取决于软件设计的水平。
为保证实时性和完整性的两个指标,系统任务的划分与任务间通讯的设计,目前主要存在以下三种方法:
1、设备上电初始化完成后启动单任务,数据采集、组包、传输发送顺序执行,此方法优点是逻辑清晰简单,但在采集数据量峰值或者受到外部干扰时,可能出现由于设备传输耗时长导致数据采集实时性差,甚至数据采集丢包的问题。
2、设备上电初始化完成后建立多任务,将数据采集组包和数据传输发送分为两个任务,通过共享内存的方式进行通信,数据采集组包任务将采集组包的数据填入共享内存,数据传输任务将共享内存中的数据读出并发送给记录器。此方法能保证数据采集的实时性,但可能存在访问共享内存冲突的风险,导致数据填入或读出错误。
3、设备上电初始化完成后建立数据采集组包和数据传输发送两个任务,通过信号量和共享内存结合的方式进行通信,数据采集组包任务申请信号量成功后,将采集组包的数据填入共享内存,然后释放信号量;数据传输任务申请信号量成功后,将共享内存中的数据读出,然后释放信号量,并发送数据给记录器。该方法能够保证采集的实时性,并且避免了访问共享内存冲突的风险,难点在于对共享内存数据交换协议的制定,需要考虑兼容多种情况,对软件实现较复杂。
为了解决目前机载采集处理方法的不足,在保证采集性能实时性和完整性的同时,提高可靠性,需要提供一种通用的数据采集传输的方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现一种基于VxWorks系统的机载数据采集方法,在保证采集性能实时性和完整性的同时,提高程序可靠性和通用性。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于VxWorks系统的机载数据采集方法,该方法将机载数据采集功能分解为数据采集接收任务、数据传输发送任务、周期自检任务3个任务,根据重要性排序划分优先级,将数据采集接收任务的优先级定为最高,其次依次为数据传输发送任务、周期自检任务;全局消息队列用于数据采集接收任务和数据传输发送任务间的通讯,同时还作为二级缓存;周期自检任务完成对设备状态的检查和信息的统计。
优选地,设备上电后,进行自检及初始化:等待各模块启动2秒,然后检查各模块的上电自检状态,若自检存在故障,进行故障处理,点亮设备故障灯,并通过信号对外输出接口进行故障上报,用于故障提示和分析;若自检正常,则创建全局消息队列;
然后,创建数据采集接收任务、数据传输发送任务、周期自检任务;
数据采集接收任务开始,串口打印开始信息,若5ms信号量刷新,先记住开始采集时间,然后进行各通道数据的采集、组包及实时处理操作,将组包好的数据发送至全局消息队列,处理完成后计算本次的处理间隔,与之前记录的处理间隔对比得到最大处理间隔,并统计各通道已接收数据和看门狗喂狗;若5ms信号量不更新,任务进入休眠状态,其他任务可正常工作;
数据传输发送任务开始,串口打印开始信息,接收数据采集接收任务发送的全局消息队列中消息,将消息内容读出并填入待发送数据缓冲区中,当缓冲区填满后,一次性将发送缓冲区内的数据发送给记录设备。
优选地,周期自检任务完成对设备硬件模块的检查,并通过读取全局变量的方式掌握当前设备及软件的状态,在设备调试时可将信息打印输出,用以辅助实时的状态监测及分析,装机后再关闭打印。
优选地,设备上电后,进行自检及初始化过程中,全局消息队列的属性设置为正常先进先出模式,消息个数设置为10000,全局消息队列的传输内容设计为结构体形式,包含数据通道号、数据长度和数据内容三个成员,其中数据内容大小设置为1KB;数据传输发送任务接收到全局消息队列内容后,按此格式接收解析,可直接取出对应长度的消息内容,按照对应通道号进行发送。
优选地,设备上电后,进行自检及初始化过程中,设置辅助时钟每秒200tick,即周期5ms,绑定辅助时钟处理函数刷新信号量;设置看门狗周期为2秒,若2秒内不喂狗,则狗叫重启,防止程序跑飞。
优选地,执行数据采集接收任务时,数据采集处理间隔统计选用vxTimeBaseGet函数。
优选地,执行数据传输发送任务时,数据传输发送任务内部对全局消息队列数据进行拼包操作,数据长度拼到2KB后再一次性发送。
优选地,全局消息队列为Vxworks消息队列,即采用Vxworks操作系统提供的消息队列功能作为采集和传输任务之间的通讯手段。
优选地,设置周期自检任务每5秒打印输出统计信息一次,输出信息包括设备上电时长、自检结果、各通道已接收数据统计、各通道已发送数据统计、最大处理间隔、当前消息队列占用量、最大消息队列占用量信息。
本发明还提供了一种所述的方法在机载数据采集技术领域中的应用。
(三)有益效果
本发明将机载数据采集功能分解为数据采集接收、数据传输发送、周期自检3个任务,根据重要性排序划分优先级;其中建立了一种基于VxWorks消息队列进行任务间通讯和消息二级缓存的方法,既保证了数据采集任务的实时性,又缓解了数据传输任务的压力。本发明将机载数据采集传输方法通用化,并提高了程序的可靠性,适用于所有使用VxWorks操作系统的设备。
附图说明
图1是本发明一种基于VxWorks系统的机载数据采集方法中软件上电流程图;
图2是本发明一种基于VxWorks系统的机载数据采集方法中任务执行示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为了在保证采集性能实时性和完整性的同时,提高程序可靠性和通用性,本发明提出了一种基于VxWorks系统的机载数据采集方法。该方法将机载数据采集功能分解为数据采集接收任务、数据传输发送任务、周期自检任务3个任务,根据重要性排序划分优先级,为保证采集的实时性,将数据采集接收任务的优先级定为最高;建立VxWorks消息队列,用于数据采集接收任务和数据传输发送任务间的通讯,同时还作为二级缓存,在保证数据采集任务实时性的同时,缓解数据传输任务的压力;周期自检任务完成对设备状态的检查和信息的统计等;其中,该方法建立了一种基于VxWorks消息队列进行任务间通讯和消息二级缓存的方法。具体实施步骤如下:
设备上电后,进行自检及初始化。如图1所示,软件等待各模块启动2秒,然后检查各模块的上电自检状态,若自检存在故障,进行故障处理,点亮设备故障灯,并通过信号对外输出接口进行故障上报,用于故障提示和分析;若自检正常,则创建全局消息队列,即VxWorks消息队列,用于任务间的通信和采集数据的缓存。
其中,全局消息队列的属性设置为正常先进先出模式,消息个数设置为10000,全局消息队列传输内容设计为结构体形式,包含数据通道号、数据长度和数据内容三个成员,其中数据内容大小设置为1KB。数据记录任务接收到全局消息队列内容后,按此格式接收解析,可直接取出对应长度的消息内容,按照对应通道号进行发送。
其中,设置辅助时钟每秒200tick,即周期5ms,绑定辅助时钟处理函数刷新信号量;设置看门狗周期为2秒,若2秒内不喂狗,则狗叫重启,防止程序跑飞。
然后,创建数据采集接收任务、数据传输发送任务、周期自检任务,优选地,三个任务优先级分别设置为60(优先级最高)、80、100。
三个任务的执行过程及任务间的关系如图2所示。
数据采集接收任务开始,串口打印开始信息,若5ms信号量刷新,先记住开始采集时间,然后进行各通道数据的采集、组包及实时处理等操作,将组包好的数据发送至全局消息队列,处理完成后计算本次的处理间隔,与之前记录的处理间隔对比得到最大处理间隔,并统计各通道已接收数据和看门狗喂狗;若5ms信号量不更新,任务进入休眠状态,其他任务可正常工作。
其中,数据采集处理间隔统计选用vxTimeBaseGet函数,分辨率可达到微秒级以上。
数据传输发送任务开始,串口打印开始信息,接收数据采集接收任务发送的全局消息队列中消息,将消息内容读出并填入待发送数据缓冲区中,当缓冲区填满后,一次性将发送缓冲区内的数据发送给记录设备。
其中,为保证传输数据的高效率,避免频繁地占用发送通道,数据传输发送任务内部对全局消息队列数据进行拼包操作,数据长度拼到2KB后再一次性发送。
采用Vxworks操作系统提供的消息队列功能作为采集和传输任务之间的通讯手段,可以避免申请信号灯和维护共享内存的复杂逻辑,增加了程序的可靠性。并且针对不同的采集设备,根据需缓存内容的大小,只需调整几个参数就能够改变消息传输的格式和能够缓存的消息数量,提高了程序的通用性和可移植性。
周期自检任务主要完成对设备硬件模块的检查,并通过读取全局变量的方式掌握当前设备及软件的状态,在设备调试时可将信息打印输出,用以辅助实时的状态监测及分析,装机后再关闭打印。
其中,设置周期自检任务每5秒打印输出统计信息一次,输出信息包括设备上电时长、自检结果、各通道已接收数据统计、各通道已发送数据统计、最大处理间隔、当前消息队列占用量、最大消息队列占用量等信息。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (2)

1.一种基于VxWorks系统的机载数据采集方法,其特征在于,该方法将机载数据采集功能分解为数据采集接收任务、数据传输发送任务、周期自检任务3个任务,根据重要性排序划分优先级,将数据采集接收任务的优先级定为最高,其次依次为数据传输发送任务、周期自检任务;全局消息队列用于数据采集接收任务和数据传输发送任务间的通讯,同时还作为二级缓存;周期自检任务完成对设备状态的检查和信息的统计;
设备上电后,进行自检及初始化:等待各模块启动2秒,然后检查各模块的上电自检状态,若自检存在故障,进行故障处理,点亮设备故障灯,并通过信号对外输出接口进行故障上报,用于故障提示和分析;若自检正常,则创建全局消息队列;
然后,创建数据采集接收任务、数据传输发送任务、周期自检任务;
数据采集接收任务开始,串口打印开始信息,若5ms信号量刷新,先记住开始采集时间,然后进行各通道数据的采集、组包及实时处理操作,将组包好的数据发送至全局消息队列,处理完成后计算本次的处理间隔,与之前记录的处理间隔对比得到最大处理间隔,并统计各通道已接收数据和看门狗喂狗;若5ms信号量不更新,任务进入休眠状态,其他任务可正常工作;
数据传输发送任务开始,串口打印开始信息,接收数据采集接收任务发送的全局消息队列中消息,将消息内容读出并填入待发送数据缓冲区中,当缓冲区填满后,一次性将发送缓冲区内的数据发送给记录设备;
周期自检任务完成对设备硬件模块的检查,并通过读取全局变量的方式掌握当前设备及软件的状态,在设备调试时可将信息打印输出,用以辅助实时的状态监测及分析,装机后再关闭打印;
设备上电后,进行自检及初始化过程中,全局消息队列的属性设置为正常先进先出模式,消息个数设置为10000,全局消息队列的传输内容设计为结构体形式,包含数据通道号、数据长度和数据内容三个成员,其中数据内容大小设置为1KB;数据传输发送任务接收到全局消息队列内容后,按此格式接收解析,可直接取出对应长度的消息内容,按照对应通道号进行发送;
设备上电后,进行自检及初始化过程中,设置辅助时钟每秒200tick,即周期5ms,绑定辅助时钟处理函数刷新信号量;设置看门狗周期为2秒,若2秒内不喂狗,则狗叫重启,防止程序跑飞;
执行数据采集接收任务时,数据采集处理间隔统计选用vxTimeBaseGet函数;
执行数据传输发送任务时,数据传输发送任务内部对全局消息队列数据进行拼包操作,数据长度拼到2KB后再一次性发送;
全局消息队列为Vxworks消息队列,即采用Vxworks操作系统提供的消息队列功能作为采集和传输任务之间的通讯手段。
2.如权利要求1所述的方法,其特征在于,设置周期自检任务每5秒打印输出统计信息一次,输出信息包括设备上电时长、自检结果、各通道已接收数据统计、各通道已发送数据统计、最大处理间隔、当前消息队列占用量、最大消息队列占用量信息。
CN202010940318.3A 2020-09-09 2020-09-09 一种基于VxWorks系统的机载数据采集方法 Active CN112116729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010940318.3A CN112116729B (zh) 2020-09-09 2020-09-09 一种基于VxWorks系统的机载数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010940318.3A CN112116729B (zh) 2020-09-09 2020-09-09 一种基于VxWorks系统的机载数据采集方法

Publications (2)

Publication Number Publication Date
CN112116729A CN112116729A (zh) 2020-12-22
CN112116729B true CN112116729B (zh) 2022-07-26

Family

ID=73802945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010940318.3A Active CN112116729B (zh) 2020-09-09 2020-09-09 一种基于VxWorks系统的机载数据采集方法

Country Status (1)

Country Link
CN (1) CN112116729B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608883B (zh) * 2021-06-21 2024-02-13 天津津航计算技术研究所 一种基于VxWorks实时操作系统的封装方法
CN114995887A (zh) * 2022-05-26 2022-09-02 中国航空工业集团公司沈阳飞机设计研究所 一种双数据卡同步启动记录方法
CN115314338B (zh) * 2022-07-27 2024-03-12 湖南航天机电设备与特种材料研究所 一种实时性运动控制方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504892A (zh) * 2002-12-05 2004-06-16 华为技术有限公司 一种任务间通信的实现方法
CN105162727A (zh) * 2015-08-13 2015-12-16 东方电子股份有限公司 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法
JP2018055285A (ja) * 2016-09-27 2018-04-05 富士ゼロックス株式会社 電子装置及び画像処理装置
CN109118609A (zh) * 2017-06-26 2019-01-01 深圳市道通智能航空技术有限公司 无人机飞行日志记录方法、装置、存储介质和计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560858A (zh) * 2018-12-06 2019-04-02 西南电子技术研究所(中国电子科技集团公司第十研究所) 高速实时数据采集传输模块
CN110989551A (zh) * 2019-11-22 2020-04-10 天津津航计算技术研究所 一种基于VxWorks系统通用型接口板的测试系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504892A (zh) * 2002-12-05 2004-06-16 华为技术有限公司 一种任务间通信的实现方法
CN105162727A (zh) * 2015-08-13 2015-12-16 东方电子股份有限公司 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法
JP2018055285A (ja) * 2016-09-27 2018-04-05 富士ゼロックス株式会社 電子装置及び画像処理装置
CN109118609A (zh) * 2017-06-26 2019-01-01 深圳市道通智能航空技术有限公司 无人机飞行日志记录方法、装置、存储介质和计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Vxworks 的航空传感器数据采集系统设计分析;倪 明;《航空制造技术》;20150531(第9期);第94-95页 *
基于VxWorks的机载雷达告警系统与实现;蔡伟;《中国优秀博硕士学位论文全文数据库(硕士)》;中国学术期刊(光盘版)电子杂志社;20160115(第1期);第35-41页 *

Also Published As

Publication number Publication date
CN112116729A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112116729B (zh) 一种基于VxWorks系统的机载数据采集方法
CN110213143B (zh) 一种1553b总线ip核及监视系统
CN109600187B (zh) 一种时间触发统一网络传输端系统的调度方法及装置
US9088433B2 (en) Device and method for recording protocol events in an advanced communication system
CN106775659B (zh) 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法
US20140068134A1 (en) Data transmission apparatus, system, and method
US9135130B2 (en) Debugging method, chip, board, and system
CN109862034B (zh) 数据传输处理系统、网关和数据传输处理方法
CN112261142B (zh) 一种rdma网络的数据重传方法、装置及fpga
EP4138336A1 (en) Communication data processing method and apparatus
CN112131155A (zh) 一种高扩展性的基于fpga的pcie事务层传输方法
CN115480976A (zh) 一种软硬件协同片上系统诊断方法
CN114900515A (zh) 一种列车文件回传方法、列车主机、站点及控制中心
CN114429711A (zh) 消息分发方法、装置、存储介质与服务器
CN104484260B (zh) 一种基于GJB289总线接口SoC的仿真监控电路
KR20200062594A (ko) 차량용 디버깅 시스템의 동작 방법
CN116647490A (zh) 一种航空afdx网络数据检测系统
CN114257492B (zh) 智能网卡的故障处理方法、装置、计算机设备和介质
CN101145968B (zh) 网管系统和传输设备间数据发送及接收方法
CN114116554B (zh) 一种基于fpga的雷达数据转发架构及转发方法
CN114970428A (zh) 用于SoC中Flexray总线控制器的验证系统及方法
CN108107750B (zh) 一种电力系统仿真的实时io数据处理方法及系统
CN116917876A (zh) 一种数据处理方法及装置
US20230208676A1 (en) Data communication method and apparatus, electronic device, and storage medium
CN117971743B (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