CN112131741B - 一种实时双内核单机半实物仿真架构及仿真方法 - Google Patents
一种实时双内核单机半实物仿真架构及仿真方法 Download PDFInfo
- Publication number
- CN112131741B CN112131741B CN202011001773.3A CN202011001773A CN112131741B CN 112131741 B CN112131741 B CN 112131741B CN 202011001773 A CN202011001773 A CN 202011001773A CN 112131741 B CN112131741 B CN 112131741B
- Authority
- CN
- China
- Prior art keywords
- real
- time
- kernel
- simulation
- interrupt
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013480 data collection Methods 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims abstract description 14
- 238000007405 data analysis Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000009471 action Effects 0.000 claims description 24
- 238000006073 displacement reaction Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 16
- 239000012530 fluid Substances 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 19
- 238000011161 development Methods 0.000 abstract description 3
- 230000010354 integration Effects 0.000 abstract description 3
- 238000004904 shortening Methods 0.000 abstract description 2
- 230000001133 acceleration Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Fluid Mechanics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种实时双内核单机半实物仿真架构及仿真方法,半实物仿真主机内部设有多核心中央处理器,多核心中央处理器包括共享一套设备驱动/接口模块及中断托管系统的实时内核模块和非实时内核模块,实时内核模块包括实时内核,非实时内核模块包括通用操作系统内核;两个独立运行的实时内核和通用操作系统内核承载于中断托管系统之上;实时内核与和通用操作系统内核之间通过通信通道进行数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离。本发明提高了半实物仿真的实时性、算法兼容性以及仿真一致性,从而达到有效评估待测模块的目的,降低了系统集成难度,缩短了开发周期。
Description
技术领域
本发明属于仿真技术领域,涉及一种实时双内核单机半实物仿真架构及仿真方法。
背景技术
飞行器包含机电、结构、热、气动等多个方面的综合系统,并且由于其飞行速度快,与气流作用状态复杂,存在多种风险因素。因此需要通过理论计算、仿真、半实物仿真等多种手段对可能的飞行状态进行模拟,以检验算法以及系统单元的正确性及可靠性。
典型的飞行器控制回路如图1a所示,主要包含姿态感知单元、控制计算单元和执行/动作单元三个模块,实际飞行过程中,壳体和舵的姿态在气流的作用下不停的变化,姿态感知单元周期性的由传感器获得飞行器的姿态加速度信息,并传递给控制计算单元,由控制计算单元根据飞行器当前姿态和速度信息以及预定的飞行轨迹计算出执行/动作单元所需变化量,并向执行/动作单元发出动作指令。执行\动作单元根据指令控制作动器做出相应调整,使得飞行器按照预定轨迹飞行。
由于在测试状态,不具备飞行条件,因此往往采用仿真/半实物仿真系统对飞行器的整个飞行过程进行仿真,半实物仿真系统包含气动仿真模型、控制算法模型和模拟动作单元三个模块,其中气动仿真模型负责模拟飞行器在飞行过程中与气流的相互作用,最终输出和姿态感知单元输出格式一致的飞行器的姿态、加速度信息,并传递给控制计算单元;控制算法模型负责根据收到的飞行器姿态加速度信息以及预定的飞行轨迹计算出执行/动作单元所需变化量,输出和控制计算单元输出格式一致的动作指令;模拟动作单元模拟了执行/动作单元,负责根据接受到的动作指令,改变舵的姿态进而改变飞行器姿态。
飞行器的仿真分为全仿真、作动器半实物仿真、控制回路半实物仿真三个层面:
全仿真:全仿真旨在评估气动模型和控制算法在仿真状态下的性能,采用仿真方式实现整个飞行器控制回路,如图1b(实线)所示。该仿真中,由气动模型得出飞行器的姿态信息,交由控制算法模型根据姿态信息和预设飞行轨迹计算出当前要执行的指令,按照严格的时间顺序将动作指令发送给模拟动作单元,模拟动作单元进一步改变气动模型参数,使得飞行器姿态发生改变,如此循环直到飞行仿真结束。
作动器半实物仿真:作动器半实物仿真旨在评估执行/动作单元的执行准确性和效能,如图1b(点画线)所示。该仿真中,由半实物仿真系统负责姿态感知单元模拟和控制计算单元的模拟,采用预设的气动模型及控制算法模型计算出当前要执行的指令,按照严格的时间顺序将动作指令发送给作动器,同时利用传感器获取作动器的执行结果,对作动器的执行效能进行评估。
控制回路半实物仿真:控制回路半实物仿真旨在评估控制计算单元和执行/动作单元的准确性和效能,如图1b(虚线)所示。该仿真中,由半实物仿真系统负责姿态感知单元的模拟,采用预设的气动模型算出飞行器实际飞行时的姿态加速度,按照严格的时间顺序将加速度发送给控制计算单元,控制计算单元再计算出相应动作指令并发送给执行\动作单元,最后利用传感器获取作动器的执行结果,从而对控制回路的效能进行评估。
典型的高速飞行器系统,具有飞行速度快、指令周期短的特性,为了更加准确地评估控制回路及控制算法的有效性,在实现本发明的过程中,发明人发现现有半实物仿真系统存在以下问题:
1、仿真软件依赖于操作系统,实时性差;
仿真软件往往依托于成熟的操作系统,利用操作系统提供的丰富的接口函数实现特定模型仿真,然而目前主流操作系统均采用抢占式任务调度,执行确定性无法满足控制要求,另一方面,操作系统的典型调度时间片为15ms,难以及时响应定时周期小于10ms的飞行器控制应用。因此,在实际仿真过程中,仿真软件难以满足半实物仿真系统的实时性要求。
2、核心算法的兼容性问题;
用于飞行控制的控制算法是飞行器的核心算法,需要经过多次验证调优以确保飞行的可靠性。一般参数调优首先在仿真系统中完成,而后在飞行器嵌入式系统上进行移植和实现,不同的系统环境往往具有不同的底层实现,所带来的兼容性问题,一方面增加了算法实现的周期和难度,另一方面系统移植环节可能引入额外的逻辑错误,为后期调试甚至于飞行带来风险。
3、数据收集与展示干扰仿真状态的问题;
为了评估待测模块的性能,半实物仿真系统往往需要收集各种状态数据及测试结果数据。由于飞行器控制周期短,导致待收集和保存的状态信息数据量大,所占用的计算、存储及显示资源多,大幅度占用了控制回环中的计算时间,而且大数据量带来的内存换页、磁盘保存等操作将引入额外的随机时延,将会严重挤压算法余量,干扰实际仿真状态。
发明内容
为了解决上述问题,本发明提供一种实时双内核单机半实物仿真架构,提高了半实物仿真的实时性、算法兼容性以及仿真一致性,从而达到有效评估待测模块的目的,降低了系统集成难度,缩短了开发周期,解决了现有技术中存在的问题。
本发明的另一目的是,提供一种实时双内核单机半实物仿真系统。
本发明所采用的技术方案是,一种实时双内核单机半实物仿真架构,半实物仿真主机内部设有多核心中央处理器,多核心中央处理器包括共享一套设备驱动/接口模块及中断托管系统的实时内核模块和非实时内核模块,实时内核模块包括实时内核,非实时内核模块包括通用操作系统内核;独立运行的实时内核和通用操作系统内核承载于中断托管系统之上;
所述设备驱动/接口模块,用于根据外设的数据请求向中断托管系统发起中断请求;
所述中断托管系统,用于对中断请求进行路由,将实时中断请求发送至实时内核,将非实时中断请求发送至通用操作系统内核;
所述实时内核,用于响应实时中断请求,处理外设与实时仿真软件的交互和计算,实现实时仿真并向伺服舵机发送控制指令;
所述通用操作系统内核,用于按照优先级处理非实时中断请求,通过用户接口层完成多个用户顶层应用的调度和运行,提供传统仿真、计算、显示所需的操作系统环境;
所述实时内核与通用操作系统内核之间通过通信通道进行数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离。
进一步的,所述实时内核上运行有实时仿真软件,采用和实际飞行一致的运行环境,独占一个物理CPU核心运行;所述通用操作系统内核通过用户接口层同时运行有多个顶层通用应用模块,运行顺序由通用操作系统按照优先级进行调度。
进一步的,所述实时仿真软件,用于在运行过程中周期性查询角位移传感器采集的数据、流体仿真模型数据,根据流体仿真模型数据完成命令计算并向伺服舵机发出动作指令。
进一步的,所述顶层通用应用模块包括参与快速反馈决策的仿真软件、数据收集与分析软件,用仿真软件输出的数据考核被测系统的性能。
进一步的,所述半实物仿真主机通过可扩展接口分别与伺服舵机、角位移传感器连接,角位移传感器用于测量伺服舵机的实际偏转角度;所述参与快速反馈决策的仿真软件为气动场仿真软件,用于仿真飞行器的姿态、速度,并根据当前的气动模型给出飞行器受外部作用力的情况,输出的流体仿真模型数据并反馈给飞行器的控制回路;所述数据收集与分析软件,用于收集角位移传感器采集的运行监测数据,输出气动模型的超差值、偏离值,分析仿真过程中控制回路对飞行器姿态的控制能力,以及对拉偏的容错能力,并显示分析结果。
进一步的,所述通信通道采用管道/缓冲机制构建,通过硬件内部总线实现实时内核和通用操作系统内核之间的数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离。
进一步的,所述中断托管系统为基础底层,位于系统底层,是操作系统的底层逻辑,不依赖于操作系统。
进一步的,所述实时内核为RTlinux实时内核或Vxworks实时内核,能够提供确定性的中断响应时间,中断到达后,依据排序处理完当前任务才响应。
进一步的,所述通用操作系统内核为Linux或Windows内核。
一种实时双内核单机半实物仿真方法,采用上述实时双内核单机半实物仿真架构,具体按照以下步骤进行:
S1,将半实物仿真主机的多核心中央处理器在逻辑上划分为独立运行的两组:实时内核模块和非实时内核模块;
S2,初始化中断托管系统,将所有硬件中断、实时中断和非实时中断注册在中断托管系统中,初始化实时内核和通用操作系统内核,划分实时内核和通用操作系统内核的独立运行地址空间,实时内核和通用操作系统内核运行各自的顶层应用程序;
S3,外设的数据请求通过设备驱动/接口模块发起中断请求,中断托管系统对中断请求进行路由,将实时中断请求发送至实时内核,实时内核响应实时中断,处理外设与实时仿真软件的交互和计算;中断托管系统将非实时中断请求发送至通用操作系统内核,通用操作系统内核按照优先级处理非实时中断请求,并通过用户接口层完成多个用户顶层应用的调度和运行;实时内核和通用操作系统内核通过通道直接读取或写入共享数据,完成数据传递;
S4,实时内核和通用操作系统内核循环等待并处理由中断托管系统触发的中断请求,直至完成单机半实物仿真。
本发明的有益效果是:
1、本发明半实物仿真系统的实时仿真、模拟计算、数据收集及展示采用一套基于多核心CPU的硬件系统,采用中断托管系统管理所有硬件中断,将实时中断请求和非实时中断请求分别送至实时内核和通用操作系统内核处理,同时实现了实时模块和非实时模块的协同仿真,结构更简单、效率更高;传统仿真系统需要部署专门的实时主机和非实时主机,并需要解决两个主机的数据共享问题。
2、本发明算法兼容性好,可以保证飞控程序的运行环境/状态与实际飞行状态一致,消除了传统架构中算法移植步骤,避免了可能引入的风险。
3、本发明仿真一致性高,基于通信管道的数据共享,占用资源少,实时性高,解决了不同内核、不同进程之间的数据共享问题,数据即时输出到非实时内核模块,避免了传统仿真架构中,数据存储带来的不确定延时问题,能够实现±50μs的定时准确性;消除了仿真统计数据对仿真流程的干扰,仿真一致性高。
4、将通用操作系统内核托管于中断托管系统,能够无缝运行依赖于操作系统的仿真软件,并能够利用操作系统的图形库及计算库快速完成数据分析与展示,大大降低了系统集成难度以及开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是现有典型的飞行器控制逻辑示意图。
图1b是现有半实物仿真逻辑示意图。
图2是本发明实施例实时双内核单机半实物仿真架构。
图3是本发明实施例飞行器作动器半实物仿真硬件拓扑图。
图中,1.接口卡,2.多核心中央处理器,3.显示单元,4.伺服舵机,5.角位移传感器,6.实时内核模块,7.非实时内核模块,8.设备驱动/接口模块、9.中断托管系统、10.实时内核、11.通用操作系统内核、12.实时仿真软件、13.用户接口层、14.气动场仿真软件、15.数据收集与分析软件。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实现本发明的思路是,在一个多核心硬件平台上,利用中断托管系统独立管理硬件,中断托管系统之上承载实时内核模块和通用内核两个独立的操作系统内核,采用实时内核模块解决实时仿真问题以及算法兼容性问题,采用通用内核提供传统仿真、计算、显示软件所需的操作系统环境,利用CPU核心隔离技术实现两个内核的独立运行,采用管道/缓冲机制构建实时/非实时内核模块(应用)的交互,最终实现实时性好、兼容性强、仿真一致性好的半实物仿真系统。
本发明实施例一种实时双内核单机半实物仿真架构,如图2-3所示,半实物仿真主机内部设有多核心中央处理器2,多核心中央处理器2包括实时内核模块6和非实时内核模块7,两模块共享一套设备驱动/接口模块8及中断托管系统9,中断托管系统9之上承载两个独立运行的操作系统内核,实时内核10和通用操作系统内核11;实时内核10属于实时内核模块6,通用操作系统内核11属于非实时内核模块7;
设备驱动/接口模块8,用于根据外设的数据请求向中断托管系统9发起中断请求;
中断托管系统9,用于对中断请求进行路由,将实时中断请求发送至实时内核10,将非实时中断请求发送至通用操作系统内核11;
实时内核10,用于响应实时中断请求,处理外设与实时仿真软件12的交互和计算,实现实时仿真并向伺服舵机4发送控制指令;
通用操作系统内核11,用于按照优先级处理非实时中断请求,并通过用户接口层13完成多个用户顶层应用的调度和运行,提供传统仿真、计算、显示所需的操作系统环境;通用操作系统内核11不能直接运行用户程序,由用户接口层13实现内核和用户程序的桥接,使得多个用户程序能够运行。
实时内核10与和通用操作系统内核11之间通过通信通道进行数据交互,通信通道采用管道/缓冲机制构建,通过硬件内部总线实现实时内核10和通用操作系统内核11之间的数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离,实时性高,从而实现仿真逻辑流程准确度高、一致性好的同时,满足仿真后台数据的在线收集、处理以及展示需求。
通用操作系统内核11上通过用户接口层13同时运行有多个顶层通用应用模块,运行顺序由通用操作系统按照优先级进行调度;用户顶层应用,指的是运行于一般操作系统上的应用层软件,具体由用户配置;具体可以包括参与快速反馈决策的仿真软件数据收集与分析软件15,用仿真软件软件输出的数据考核被测系统的性能;参与快速反馈决策的仿真软件可以为气动场仿真软件14、液体仿真软件、多物理场仿真软件以及复杂动态特性仿真软件等;气动场仿真软件14,用于仿真飞行器的姿态、速度,并根据当前的气动模型给出飞行器受外部(大气)作用力的情况,输出的流体仿真模型数据反馈给飞行器的控制回路。
数据收集与分析软件15,用于收集角位移传感器5采集的运行监测数据,分析仿真过程中控制回路对飞行器姿态的控制能力,以及对拉偏的容错能力,进而评估控制算法的有效性,分析的输出一般为模型的超差值,偏离值等,并显示分析结果。
实时内核10上运行有实时仿真软件12,采用和实际飞行一致的运行环境,独占一个物理CPU核心运行;实时仿真软件12,用于在运行过程中周期性查询角位移传感器5采集的数据、流体仿真模型数据,根据流体仿真模型数据完成命令计算并向伺服舵机4发出动作指令;实时仿真软件12主要由用户定义。角位移传感器5的数据属于第三方验证数据,比如伺服控制器命令要求舵机打到15度偏角,但实际上可能打到了15.2度偏角,这个15.2度只能由角位移传感器5获得,那么实时仿真软件的气动计算的实际值应以实际角度为准,仿真中需要实时获取角位移传感器5查询到的数据,修正实际姿态,考核控制算法的有效性。
本发明实施例仿真架构包括物理硬件、基础底层、内核层、应用层,物理硬件包括接口卡1、多核心中央处理器2、显示单元3、伺服舵机4、角位移传感器5,基础底层包括设备驱动/接口模块8和中断托管系统9,设备驱动/接口模块8是驱动硬件的底层驱动;内核层包括实时内核10和通用操作系统内核11,应用层包括实时仿真软件12、用户接口层13、气动场仿真软件14、数据收集与分析软件15。
本发明实施例一种实时双内核单机半实物仿真方法,具体按照以下步骤进行:
S1,将半实物仿真主机的多核心中央处理器2在逻辑上划分为独立运行的两组:实时内核模块6和非实时内核模块7;
S2,初始化中断托管系统9,将所有硬件中断、实时中断和非实时中断注册在中断托管系统9中,初始化实时内核10和通用操作系统内核11,划分实时内核10和通用操作系统内核11的独立运行地址空间,实时内核10和通用操作系统内核11运行各自的顶层应用程序;
S3,仿真时,外设的数据请求通过设备驱动/接口模块8发起中断请求,中断托管系统9对中断请求进行路由,将实时中断请求发送至实时内核10,实时内核10响应实时中断,处理外设与实时仿真软件12的交互和计算;中断托管系统9将非实时中断请求发送至通用操作系统内核11,通用操作系统内核11按照优先级处理非实时中断请求,并通过用户接口层13完成多个用户顶层应用的调度和运行;实时内核10和通用操作系统内核11通过通信通道直接读取或写入共享数据,完成数据传递;
S4,实时内核10和通用操作系统内核11循环等待并处理由中断托管系统9触发的中断请求,直至完成单机半实物仿真。
中断托管系统9之上承载两个独立运行的操作系统内核,并非针对某特性操作系统定制,中断托管系统9位于系统底层,是具体操作系统的底层逻辑,不依赖于具体操作系统,相反能够为具有实时性的操作系统提供更高的实时性,例如采用RT-linux系统内核,定时精度可达10μs级别,远高于现有技术。
外设一般是数据采集卡等产生数据的设备,数据自主产生,发生向主控设备传入数据的请求,传入请求通过触发外设中断的方式通知半实物仿真主机的操作系统进行响应。由于处理中断需要时间,一小段时间内可能有多个中断同时到达,则需要针对中断优先级(就是事件的紧急程度)决定优先处理哪个中断。每个中断的处理都需要占用一定的CPU时间,多个外设产生的多个中断则有可能造成系统中断响应的延迟。这种延迟在实时性高的应用中是不可接受的,比如语音,延迟就会引起卡顿,在实时性要求低的应用中则没有影响,比如网络文件下载。
一般来讲,一种操作系统只有一种中断响应机制,要么实时,要么非实时,要实现同时使用实时和非实时,就要用两套硬件,中间用外部接口连接;本发明利用中断托管系统9使得两个独立运行系统内核能够跑在一个硬件上,并通过硬件内部总线实现数据高速共享(外部数据共享到内部数据共享和实时/非实时内核模块的内部数据共享),即节省硬件、数据共享速率高。
本发明提供的实时双内核单机半实物仿真架构,即能够运行满足不同要求软件的能力和平台接口,类似于我们PC上提供一个USB和HDMI合一的接口,可以插U盘也可以插投影仪,本来PC的接口只能有一个,至于用户用USB插U盘还是移动硬盘由用户确定,本发明的架构,提供的是平台,提供了软件能够运行的基本环境,即实时软件在非实时系统上运行,则无法得到正确的结果,需要操作系统配合才可以,非实时软件在实时系统上运行,可能无法及时处理中断卡死,所以需要依赖于通用操作系统的优先级调度机制,本发明就是提出了同时能够兼容这两种软件并允许他们相互快速交换数据的平台架构。
实时内核10可以为RT-linux实时内核或Vxworks实时内核,能够提供确定性的中断响应时间,比如外部中断触发,响应时间确定为不超过10us,非实时则不行,中断到达后,依据排序,处理完当前任务才响应,那么响应时间就和当前在处理的任务的复杂程度有关,无法保证中断确定时间实时响应。
通用操作系统内核11为Linux或Windows内核,具体选择则是看用户要运行的通用软件是Linux平台下的还是Windows平台下的。
实施例
以某飞行器作动器半实物仿真为例,其硬件架构如图3所示。半实物仿真主机内部设有显示单元3、多核心中央处理器2、接口卡1,半实物仿真主机通过可扩展接口分别与伺服舵机4、角位移传感器5连接,伺服舵机4用于执行半实物仿真主机发出的指令,角位移传感器5用于测量伺服舵机4的实际偏转角度,用于比对。
接口卡1内部安装有设备驱动/接口模块8,用于保证外部数据到达后,能够第一时间发出中断通知中断托管系统9响应中断。
显示单元3,用于显示多核心中央处理器2仿真评估结果,以及用户交互、获取设置参数等。
多核心中央处理器2的多个核心共享一套寻址系统,使得多个核心可以独立运行又能够不经过地址转换就访问同一个地址上的数据,从而实现方便的数据共享。
逻辑架构:
本发明实施例中实时内核模块6采用轮询式任务调度,使得任务执行有较强的时间确定性,针对实时性任务;实时仿真软件12为飞控程序,运行于RT-linux实时内核10上,采用和实际飞行一致的运行环境,运行过程中负责以5ms周期查询角位移传感器5的数据、查询流体仿真模型数据、完成命令计算并向伺服舵机4发出动作指令,飞控程序独占一个物理CPU核心运行,保证定时响应准确触发。
非实时内核模块7采用抢占式任务调度,针对通用应用设计,通过Linux/Windows内核运行气动场仿真软件14和在线数据分析软件两个应用,其中气动场仿真软件14负责利用内置飞行器模型仿真出不同飞行姿态受力数据供RT-linux实时内核模块调用;在线数据分析软件负责通过通信管道收集来自角位移传感器5的运行监测数据,对数据进行分析并显示。气动场仿真软件14和在线数据分析软件共享一个或多个CPU核心运行,运行顺序由操作系统按照优先级进行调度,没有实时性要求的软件的任务运行顺序遵循通用内核的调度顺序,没有实时性要求,因此不考虑延迟带来的影响。
本发明通过中断托管系统,在一个多核CPU上承载了两个不同的操作系统内核,在实时内核10(专用系统)上运行实时仿真软件12,使得原本实时仿真软件12在通用系统上仿真所产生的实时性问题得到了解决;同时在通用操作系统内核11上运行通用系统应用,使得原本通用应用在专用系统上运行所产生的兼容性问题得到了解决;采用中断管理系统使得两个系统共享一套硬件,解决了硬件共享问题,并采用基于内部总线的管道/缓冲机制实现不同内核上运行的应用的通信,解决了原本在一个系统上运行两个软件,现在分开到两个系统之后无法共享数据协同仿真的问题。所有模块均运行于单机硬件系统上,各模块共享一套硬件平台,实时内核模块和通用内核模块运行于同一个CPU上,在逻辑上划分核心独立运行,两个内核共享高速缓冲以及内存,能够真实反应被仿真软件的运行环境,能够同时满足实时应用的高响应速度需求以及非实时应用的丰富的软件接口需求,兼容性好,仿真一致性高。内核模块之间数据交换通过通信管道,通信通道采用有名管道技术或者网络套接字技术,实现不同系统及进程之间的数据共享,避免了外部数据交换过程,数据交换不经过接口以及网线等外设,不存在网络带宽、延迟等因素的影响,数据交换带宽可达几十Gbps,数据延时可低至几十纳秒(ns)级别。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (7)
1.一种实时双内核单机半实物仿真架构,其特征在于,半实物仿真主机内部设有多核心中央处理器(2),多核心中央处理器(2)包括共享一套设备驱动/接口模块(8)及中断托管系统(9)的实时内核模块(6)和非实时内核模块(7),实时内核模块(6)包括实时内核(10),非实时内核模块(7)包括通用操作系统内核(11);独立运行的实时内核(10)和通用操作系统内核(11)承载于中断托管系统(9)之上;
所述设备驱动/接口模块(8),用于根据外设的数据请求向中断托管系统(9)发起中断请求;
所述中断托管系统(9),用于对中断请求进行路由,将实时中断请求发送至实时内核(10),将非实时中断请求发送至通用操作系统内核(11);
所述实时内核(10),用于响应实时中断请求,处理外设与实时仿真软件(12)的交互和计算,实现实时仿真并向伺服舵机(4)发送控制指令;
所述通用操作系统内核(11),用于按照优先级处理非实时中断请求,通过用户接口层(13)完成多个用户顶层应用的调度和运行,提供传统仿真、计算、显示所需的操作系统环境;
所述实时内核(10)与通用操作系统内核(11)之间通过通信通道进行数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离;
所述实时内核(10)上运行有实时仿真软件(12),采用和实际飞行一致的运行环境,独占一个物理CPU核心运行;所述通用操作系统内核(11)通过用户接口层(13)同时运行有多个顶层通用应用模块,运行顺序由通用操作系统按照优先级进行调度;
所述实时仿真软件(12),用于在运行过程中周期性查询角位移传感器(5)采集的数据、流体仿真模型数据,根据流体仿真模型数据完成命令计算并向伺服舵机(4)发出动作指令;
所述顶层通用应用模块包括参与快速反馈决策的仿真软件、数据收集与分析软件(15),用仿真软件输出的数据考核被测系统的性能。
2.根据权利要求1所述的一种实时双内核单机半实物仿真架构,其特征在于,所述半实物仿真主机通过可扩展接口分别与伺服舵机(4)、角位移传感器(5)连接,角位移传感器(5)用于测量伺服舵机(4)的实际偏转角度;所述参与快速反馈决策的仿真软件为气动场仿真软件(14),用于仿真飞行器的姿态、速度,并根据当前的气动模型给出飞行器受外部作用力的情况,输出的流体仿真模型数据并反馈给飞行器的控制回路;所述数据收集与分析软件(15),用于收集角位移传感器(5)采集的运行监测数据,输出气动模型的超差值、偏离值,分析仿真过程中控制回路对飞行器姿态的控制能力,以及对拉偏的容错能力,并显示分析结果。
3.根据权利要求1所述的一种实时双内核单机半实物仿真架构,其特征在于,所述通信通道采用管道/缓冲机制构建,通过硬件内部总线实现实时内核(10)和通用操作系统内核(11)之间的数据交互,将实际仿真逻辑流程与数据收集、分析流程隔离。
4.根据权利要求1所述的一种实时双内核单机半实物仿真架构,其特征在于,所述中断托管系统(9)为基础底层,位于系统底层,是操作系统的底层逻辑,不依赖于操作系统。
5.根据权利要求1所述的一种实时双内核单机半实物仿真架构,其特征在于,所述实时内核(10)为RTlinux实时内核或Vxworks实时内核,能够提供确定性的中断响应时间,中断到达后,依据排序处理完当前任务才响应。
6.根据权利要求1所述的一种实时双内核单机半实物仿真架构,其特征在于,所述通用操作系统内核(11)为Linux或Windows内核。
7.一种实时双内核单机半实物仿真方法,其特征在于,采用1-6任一项所述的一种实时双内核单机半实物仿真架构,具体按照以下步骤进行:
S1,将半实物仿真主机的多核心中央处理器(2)在逻辑上划分为独立运行的两组:实时内核模块(6)和非实时内核模块(7);
S2,初始化中断托管系统(9),将所有硬件中断、实时中断和非实时中断注册在中断托管系统(9)中,初始化实时内核(10)和通用操作系统内核(11),划分实时内核(10)和通用操作系统内核(11)的独立运行地址空间,实时内核(10)和通用操作系统内核(11)运行各自的顶层应用程序;
S3,外设的数据请求通过设备驱动/接口模块(8)发起中断请求,中断托管系统(9)对中断请求进行路由,将实时中断请求发送至实时内核(10),实时内核(10)响应实时中断,处理外设与实时仿真软件(12)的交互和计算;中断托管系统(9)将非实时中断请求发送至通用操作系统内核(11),通用操作系统内核(11)按照优先级处理非实时中断请求,并通过用户接口层(13)完成多个用户顶层应用的调度和运行;实时内核(10)和通用操作系统内核(11)通过通信通道直接读取或写入共享数据,完成数据传递;
S4,实时内核(10)和通用操作系统内核(11)循环等待并处理由中断托管系统(9)触发的中断请求,直至完成单机半实物仿真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011001773.3A CN112131741B (zh) | 2020-09-22 | 2020-09-22 | 一种实时双内核单机半实物仿真架构及仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011001773.3A CN112131741B (zh) | 2020-09-22 | 2020-09-22 | 一种实时双内核单机半实物仿真架构及仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131741A CN112131741A (zh) | 2020-12-25 |
CN112131741B true CN112131741B (zh) | 2024-01-30 |
Family
ID=73842159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011001773.3A Active CN112131741B (zh) | 2020-09-22 | 2020-09-22 | 一种实时双内核单机半实物仿真架构及仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131741B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110108A (zh) * | 2021-04-28 | 2021-07-13 | 北京星途探索科技有限公司 | 一种三层结构保障半实物仿真实时性的实现方法 |
CN113759245B (zh) * | 2021-09-14 | 2024-06-21 | 许昌开普检测研究院股份有限公司 | 基于统一硬件平台的继电保护静模测试和动模测试方法 |
CN115168013A (zh) * | 2022-04-29 | 2022-10-11 | 武汉深之度科技有限公司 | 一种任务运行系统、方法及计算设备 |
CN117931412B (zh) * | 2024-03-21 | 2024-06-11 | 北京邮电大学 | 一种双内核实时操作系统及任务调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370606B1 (en) * | 1998-11-05 | 2002-04-09 | Compaq Computer Corporation | System and method for simulating hardware interrupts in a multiprocessor computer system |
CN1687902A (zh) * | 2005-04-22 | 2005-10-26 | 上海海事大学 | 嵌入式实时仿真平台 |
CN101887378A (zh) * | 2010-06-18 | 2010-11-17 | 阳坚 | 一种半实物实时仿真机和半实物实时仿真系统 |
-
2020
- 2020-09-22 CN CN202011001773.3A patent/CN112131741B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370606B1 (en) * | 1998-11-05 | 2002-04-09 | Compaq Computer Corporation | System and method for simulating hardware interrupts in a multiprocessor computer system |
CN1687902A (zh) * | 2005-04-22 | 2005-10-26 | 上海海事大学 | 嵌入式实时仿真平台 |
CN101887378A (zh) * | 2010-06-18 | 2010-11-17 | 阳坚 | 一种半实物实时仿真机和半实物实时仿真系统 |
Non-Patent Citations (1)
Title |
---|
王进 ; 谢利理 ; .飞机刹车半物理仿真系统实时软件设计.计算机测量与控制.2009,(04),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112131741A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131741B (zh) | 一种实时双内核单机半实物仿真架构及仿真方法 | |
CN103098032B (zh) | 仿真方法和系统 | |
EP3382536B1 (en) | Emulation of hardware components | |
US20190278247A1 (en) | Control system and control method | |
CN110488630B (zh) | 一种控制增稳飞控计算机测试系统及测试方法 | |
KR20080065936A (ko) | 동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템 | |
CN110502861B (zh) | 基于卫星信息流的全数字化仿真系统 | |
CN114818599A (zh) | 芯片仿真验证系统 | |
CN107678958A (zh) | 一种用于综合参数显示系统软件的测试方法 | |
CN114490036A (zh) | 一种可扩展分布式多余度无人机智能飞行控制计算机 | |
CN103713940A (zh) | 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法 | |
CN111308911A (zh) | 一种基于卫星姿轨控的全功能模块化模拟处理系统及方法 | |
EP3547123A2 (en) | Virtualized avionics systems for operational environments | |
CN116414526B (zh) | 一种基于虚拟机的仿真装置和方法 | |
CN109100952B (zh) | 分布式半实物仿真航天器健康管理系统区域推理机 | |
CN117075570A (zh) | 数据处理方法、设备及系统 | |
US20230035673A1 (en) | Information processing system, information processing apparatus, use method of information processing apparatus, user terminal, and program therefor | |
Gholkar et al. | Hardware-in-loop simulator for mini aerial vehicle | |
US7447618B2 (en) | Method and system for ASIC simulation | |
CN103970027B (zh) | 一种综合电子软件仿真环境中的遥测处理单元模拟方法 | |
Farrukh et al. | FLYOS: Integrated Modular Avionics for Autonomous Multicopters | |
CN112859643A (zh) | 一种物理系统仿真机及其组建方法 | |
CN113867173B (zh) | 一种无人机集群集中式硬件在回路仿真系统及方法 | |
Rafeeq | A Development Platform to Evaluate UAV Runtime Verification Through Hardware-in-the-loop Simulation | |
CN114021311A (zh) | 一种基于rtx的异构并行半实物仿真装置和方法 |
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 |