一种ARINC653标准下的航电系统分区窗口调度方法技术方案

技术编号:9618199 阅读:410 留言:0更新日期:2014-01-30 05:58
本发明专利技术属于嵌入式时空分区技术,涉及一种ARINC653标准下的航电系统分区窗口调度方法。通过计算基准时间片Tp,以基准时间片为单位积木式拼接分区的执行窗口时间、主时间框架调度时间、系统空闲时间。分区周期、主时间框架均为基准时间片的整数倍,将分区因周期的不同要求而产生的调度排序问题得到简化。通过该方法每个分区的周期释放点均能落在本分区的时间窗口上。设计了两种分区调度中的周期控制模式以适用于不同类型的嵌入式系统:功能分区控制模式和IO分区进行控制模式。

A window scheduling method for avionics system partition window under ARINC653 standard

The invention belongs to the embedded space-time division technique, and relates to a method for dispatching the subarea window of an avionics system under the ARINC653 standard. By calculating the benchmark time slice Tp, the execution window time, the main time frame, the scheduling time and the system idle time of the building block type splicing partition are based on the benchmark time slice. The partition period and the main time frame are integer multiples of the benchmark time slice, and the scheduling problem caused by different cycles is simplified. By this method, the periodic release points of each partition can fall on the time window of the partition. Two periodic control models are designed for different types of embedded systems: functional partitioning control mode and IO partition control mode.

【技术实现步骤摘要】
一种ARINC653标准下的航电系统分区窗口调度方法
本专利技术属于嵌入式时空分区技术,涉及一种ARINC653标准下的航电系统分区窗口调度方法。
技术介绍
针对新型飞机航空电子系统可移植、可重用、高可靠的需要,美国航电委员会于1997年针对新一代飞机数据综合化提出的应用程序接口标准——Arinc653。Arinc653规范中定义了应用程序和操作系统隔离,提出时间隔离、空间分区的概念。我国在2005年提出的GJB5357-2005标准中对这一概念也作出了相关定义。ARINC653操作系统通过内存管理,给每个单独的应用分区划分一块独享的内存空间,通过软件配置可以调节虚拟内存大小、动态内存总大小。分区的运行空间不会被其他分区所干扰。采用时间调度表的方式调度多分区运行。设定一个总的调度表主时间轴大小,用户可以将时间轴划分多个任意子时间窗口分配给应用分区运行。分区在自己的时间窗口内独享CPU的所有资源,当分区的时间窗口终止时,操作系统将强行将资源切换给调度表中的下一分区。时分设计的CPU资源划分,使得计算机应用软件的某一子系统故障将不会蔓延到其它系统。CPU资源在时间空间上不会进入某一故障的死锁状态。这种时分设计给系统安全带来了提升。对于多任务多功能的复杂系统,系统需求、安全等级、周期以及优先级各不相同,如何给出一个合理可靠的分区划分、分区排序、窗口分配、调度顺序,是系统设计能否成功的关键。对于工程应用而言,目前还没有一套关于多分区操作系统时间片调度设计的完整方法。
技术实现思路
本专利技术的目的是提出一种对于多任务多功能的复杂系统、系统需求、安全等级、周期以及优先级各不相同的情况下,如何给出一个合理可靠的分区划分、分区排序、窗口分配、调度顺序的在ARINC653标准下的航电系统分区窗口调度方法。本专利技术的技术解决方案窗口调度的假设条件:(1)完成分区任务划分后进行,适用于分区划分个数在2~20个之内;(2)分区划分具有唯一独立IO分区,分区中只有IO分区具有对设备外的总线通讯权限,其他分区为功能分区,仅具有离散量通讯权限;(3)分区划分运算量均衡,针对于特定性能CPU,最大分区任务运算量不大于最小分区任务运算量10倍;(4)嵌入式系统分区周期定义为毫秒级别,分区任务周期定义为5ms的整数倍;(5)分区调度周期大于设备CPU处理周期10倍以上;(6)分区间通讯采用端口通讯方式,支持采样端口或者队列端口;采用单位时间片Tp方法,将主时间框架、各分区运行窗口、系统空闲时间窗口以单位时间片Tp的整数倍进行排列,最终得到调度顺序。调度工作流程如下:步骤1:针对机载计算机CPU计算能力,按照各分区分配功能,估算系统分区1、分区2…、分区n运行开销时间为t1、t2、t3…tn;步骤2。设航电系统对分区运行余量要求为q%,分区时间窗口(i=1,2,…n)计算各分区的窗口时间为Tw1、Tw2…Twn;步骤3:各分区取整后的窗口时间为Tw1、Tw2…Twn,设分区的任务周期包含P1、P2、P3…Pm共m种不同周期,其中Pi<=Pj(j>i,j=1,2,…m),由上述假设条件(4)P1、P2、P3…Pm为5ms的整倍数,取P1、P2、P3…Pm、Tw1、Tw2…Twn的最大公约数为基准时间片Tp;步骤4:IO分区负责各分区的数据对外通讯,IO分区周期为所有周期的最小值min(Pi)(i=1,2,…m)。定义主时间框架为Ts,所有分区时间窗口在Ts上进行排列,分区运行从Ts起始运行,逐步运行完所有分区以及系统空闲后到达Ts末端,到达Ts末端后,系统再次从Ts起始循环运行;步骤5:定义所有任务周期P1、P2、P3…Pm的公约数和公倍数集合Vt,定义任一周期Pi,满足(1)对于任意小于Pi的周期Pj(j=1,2,…i),Pi是Pj(j=1,2,…i公倍数,(2)对于任意大于Pi的周期Pk(k=i,i+1,…m),Pi是Pk(k=i,i+1,…m)公约数;定义所有Pi的集合为Vp,取集合V=Vt∪Vp;步骤6:设航电系统运行时间余量为p%,分区i的最小周期为Pmi,取为调度表中应用运行总时间;计算为系统调度表最小安全门限;步骤7:计算航电系统主时间框架为Ts,Ts为满足如下要求的最小值:(1)Ts∈V;(2)Ts应不小于最小安全门限;步骤8:将主时间框架以Tp为基准时间片进行分割,各个分区以计算后的窗口时间Tw1、Tw2…Twn依次排列于主时间框架之上,主时间框架剩余部分设定为航电系统空闲时间;步骤9:根据分区1、分区2,分区3…分区n的相互依存关系,以及通讯密集程度将分区1到分区n进行排序;排序原则为:(1)具有生产顺序的相关分区,根据生产的前后顺序排列;(2)对具有系统启动需求的分区设计在调度表最前;(3)数据交互较多的分区相近排列;(4)在IO分区窗口之间根据均衡分布剩余分区窗口;(5)对于具有任务周期Pmi小于主时间框架Ts的分区i(i=1,2,…n),在调度表中出现[Tw÷Pmi]次,每次相距时间为Pmi,伴随每次分区i出现之间,至少安排一次IO分区出现;(6)IO分区出现次数为[Tw÷min(Pi)](i=1,2,…n),间隔周期为所有周期的最小值min(Pi)(i=1,2,…n);(7)将分区排序后主时间框架上剩余未分配的时间窗口设定为系统空闲窗口;步骤10:选择分区调度表周期控制方式,周期控制方式为如下之一:(1)功能分区控制功能分区控制周期定义为:由功能分区进行周期控制,即功能分区将输出数据根据不同的周期Pi建立不同的周期任务i,由这些周期任务将数据按照周期Pi交给IO分区,IO分区负责接收到数据立即发送设备外部;(2)IO分区周期控制IO分区进行周期控制定义为:IO分区负责控制周期,在IO分区中实现P1、P2、P3…Pm等周期任务,各功能分区根据自身的周期需求P1、P2…Pi建立与IO分区的通讯端口1、端口2…端口i。各功能分区在本分区窗口运行结束时刻,将本分区所有周期Pi的发送数据发送给IO分区的相对应周期端口i上,IO分区以周期Pi去获取各分区传递在分区间端口i上的周期消息,组织数据传输;步骤11:若选择IO分区进行周期控制方式,将IO分区的多个周期控制分散到调度表的多个IO分区中,将周期P1、P2…Pn进行分组,将不同Pi组的周期发送任务分散到不同的IO分区窗口释放,平衡总线负载;若经步骤9计算主时间框架上IO分区仅出现1次,则本条步骤不适用。本专利技术的优点和积极效果:通过计算基准时间片Tp,以基准时间片为单位积木式拼接分区的执行窗口时间、主时间框架调度时间、系统空闲时间。分区周期、主时间框架均为基准时间片的整数倍,将分区因周期的不同要求而产生的调度排序问题得到简化。通过该方法每个分区的周期释放点均能落在本分区的时间窗口上。设计了两种分区调度中的周期控制模式以适用于不同类型的嵌入式系统:功能分区控制模式和IO分区进行控制模式。对于多任务、多周期、多分区的高可靠性ARINC653嵌入式系统,系统需求、安全等级、周期以及优先级各不相同,一种ARINC653标准下的分区窗口调度方法给出一个合理可靠的分区排序、窗口分配、调度顺序和周期控制的方法;通过该方法设计出的分区运行调度表具有满足周期需求、可靠性高、负载本文档来自技高网...
一种ARINC653标准下的航电系统分区窗口调度方法

【技术保护点】
一种ARINC653标准下的航电系统分区窗口调度方法,其特征是,窗口调度的假设条件:(1)完成分区任务划分后进行,适用于分区划分个数在2至20个之内;(2)分区划分具有唯一独立IO分区,分区中只有IO分区具有对设备外的总线通讯权限,其他分区为功能分区,仅具有离散量通讯权限;(3)分区划分运算量均衡,针对于特定性能CPU,最大分区不大于最小分区任务运算量10倍;(4)嵌入式系统分区周期定义为毫秒级别,分区任务周期定义为5ms的整数倍;(5)分区调度周期大于设备CPU处理周期10倍以上;(6)分区间通讯采用端口通讯方式,支持采样端口或者队列端口;采用单位时间片Tp方法,将主时间框架Ts、各分区运行窗口Tw、系统空闲时间窗口Idle以单位时间片Tp的整数倍进行排列,最终得到调度顺序;调度工作流程如下:步骤1:针对机载计算机CPU计算能力,按照各分区分配功能,估算系统分区1、分区2…、分区n运行开销时间为t1、t2、t3…tn;步骤2:设航电系统对分区运行余量要求为q%,分区时间窗口(i=1,2,…n)计算各分区的窗口时间为Tw1、Tw2…Twn;步骤3:各分区取整后的窗口时间为Tw1、Tw2…Twn,设分区的任务周期包含P1、P2、P3…Pm共m种不同周期,其中Pii,j=1,2,…m),由上述假设条件(4)P1、P2、P3…Pm为5ms的整倍数,取P1、P2、P3…Pm、Tw1、Tw2…Twn的最大公约数为基准时间片Tp;步骤4:IO分区负责各分区的数据对外通讯,IO分区周期为所有周期的最小值min(Pi)(i=1,2,…m)。定义主时间框架为Ts,所有分区时间窗口在Ts上进行排列,分区运行从Ts起始运行,逐步运行完所有分区以及系统空闲后到达Ts末端,到达Ts末端后,系统再次从Ts起始循环运行;步骤5:定义所有任务周期P1、P2、P3…Pm的公约数和公倍数集合Vt,定义任一周期Pi,满足(1)对于任意小于Pi的周期Pj(j=1,2,…i),Pi是Pj(j=1,2,…i公倍数,(2)对于任意大于Pi的周期Pk(k=i,i+1,…m),Pi是Pk(k=i,i+1,…m) 公约数;定义所有Pi的集合为Vp,取集合V=Vt∪Vp;步骤6:设航电系统运行时间余量为p%,分区i的最小周期为Pmi,取为调度表中应用运行总时间;计算为系统调度表最小安全门限;步骤7:计算航电系统主时间框架为Ts,Ts为满足如下要求的最小值:(1)Ts∈V;(2)Ts应不小于最小安全门限;步骤8:将主时间框架以Tp为基准时间片进行分割,各个分区以计算后的窗口时间Tw1、Tw2…Twn依次排列于主时间框架之上,主时间框架剩余部分设定为航电系统空闲时间;步骤9:根据分区1、分区2,分区3…分区n的相互依存关系,以及通讯密集程度将分区1到分区n进行排序;排序原则为:(1)具有生产顺序的相关分区,根据生产的前后顺序排列;(2)对具有系统启动需求的分区设计在调度表最前;(3)数据交互较多的分区相近排列;(4)在IO分区窗口之间根据均衡分布剩余分区窗口;(5)对于具有任务周期Pmi小于主时间框架Ts的分区i(i=1,2,…n),在调度表中出现[Tw÷Pmi]次,每次相距时间为Pmi,伴随每次分区i出现之间,至少安排一次IO分区出现;(6)IO分区出现次数为[Tw÷min(Pi)](i=1,2,…n),间隔周期为所有周期的最小值min(Pi)(i=1,2,…n);(7)将分区排序后主时间框架上剩余未分配的时间窗口设定为系统空闲窗口;步骤10:选择分区调度表周期控制方式,周期控制方式为如下之一:(1)功能分区控制功能分区控制周期定义为:由功能分区进行周期控制,即功能分区将输出数据根据不同的周期Pi建立不同的周期任务i,由这些周期任务将数据按照周期Pi交给IO分区,IO分区负责接收到数据立即发送设备外部;(2)IO分区周期控制IO分区进行周期控制定义为:IO分区负责控制周期,在IO分区中实现P1、P2、P3…Pm等周期任务,各功能分区根据自身的周期需求P1、P2…Pi建立与IO分区的通讯端口1、端口2…端口i。各功能分区在本分区窗口运行结束时刻,将本分区所有周期Pi的发送数据发送给IO分区的相对应周期端口i上,IO分区以周期Pi去获取各分区传递在分区间端口i上的周期消息,组织数据传输。步骤11:若选择IO分区进行周期控制方式,将IO分区的多个周期控制分散到 调度表的多个IO分区中,将周期P1、P2…Pn进行分组,将不同Pi组的周期发送任务分散到不同的IO分区窗口释放,平衡总线...

【技术特征摘要】
1.一种ARINC653标准下的航电系统分区窗口调度方法,其特征是,窗口调度的假设条件:(1)完成分区任务划分后进行,适用于分区划分个数在2至20个之内;(2)分区划分具有唯一独立IO分区,分区中只有IO分区具有对设备外的总线通讯权限,其他分区为功能分区,仅具有离散量通讯权限;(3)分区划分运算量均衡,针对于特定性能CPU,最大分区不大于最小分区任务运算量10倍;(4)嵌入式系统分区周期定义为毫秒级别,分区任务周期定义为5ms的整数倍;(5)分区调度周期大于设备CPU处理周期10倍以上;(6)分区间通讯采用端口通讯方式,支持采样端口或者队列端口;采用单位时间片Tp方法,将主时间框架Ts、各分区运行窗口Tw、系统空闲时间窗口Idle以单位时间片Tp的整数倍进行排列,最终得到调度顺序;调度工作流程如下:步骤1:针对机载计算机CPU计算能力,按照各分区分配功能,估算系统分区1、分区2…、分区n运行开销时间为t1、t2…、tn;步骤2:设航电系统对分区运行余量要求为q%,分区时间窗口(i=1,2,…n)计算各分区的窗口时间为Tw1、Tw2…Twn;步骤3:各分区取整后的窗口时间为Tw1、Tw2…Twn,设分区的任务周期包含P1、P2、P3…Pm共m种不同周期,其中Pi<=Pj(j>i,j=1,2,…m),由上述假设条件(4)P1、P2、P3…Pm为5ms的整倍数,取P1、P2、P3…Pm、Tw1、Tw2…Twn的最大公约数为基准时间片Tp;步骤4:IO分区负责各分区的数据对外通讯,IO分区周期为所有周期的最小值min(Pi)(i=1,2,…m),定义主时间框架为Ts,所有分区时间窗口在Ts上进行排列,分区运行从Ts起始运行,逐步运行完所有分区以及系统空闲后到达Ts末端,到达Ts末端后,系统再次从Ts起始循环运行;步骤5:定义所有任务周期P1、P2、P3…Pm的公约数和公倍数集合Vt,定义任一周期Px,满足(1)对于任意小于Px的周期Py(y=1,2,…x),Px是Py(y=1,2,…x)公倍数,(2)对于任意大于Px的周期Pk(k=x,x+1,…m),Px是Pk(k=x,x+1,…m)公约数;定义所有Px的集合为Vp,取集合V=Vt∪Vp;步骤6:设航电系统运行时间余量为p%,分区i的最小周期为Pmi,...

【专利技术属性】
技术研发人员:刘冬蔡瑞宗王东王亮
申请(专利权)人:中国航空工业集团公司西安飞机设计研究所
类型:发明
国别省市:

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

1