发明名称 一种ARINC653标准下的航电系统分区窗口调度方法
摘要 本发明属于嵌入式时空分区技术,涉及一种ARINC653标准下的航电系统分区窗口调度方法。通过计算基准时间片Tp,以基准时间片为单位积木式拼接分区的执行窗口时间、主时间框架调度时间、系统空闲时间。分区周期、主时间框架均为基准时间片的整数倍,将分区因周期的不同要求而产生的调度排序问题得到简化。通过该方法每个分区的周期释放点均能落在本分区的时间窗口上。设计了两种分区调度中的周期控制模式以适用于不同类型的嵌入式系统:功能分区控制模式和IO分区进行控制模式。
申请公布号 CN103544065B 申请公布日期 2017.02.22
申请号 CN201310542756.4 申请日期 2013.11.05
申请人 中国航空工业集团公司西安飞机设计研究所 发明人 刘冬;蔡瑞宗;王东;王亮
分类号 G06F9/50(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 中国航空专利中心 11008 代理人 李建英
主权项 一种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%,分区时间窗口<img file="FDA0001013026340000011.GIF" wi="550" he="165" />(i=1,2,…n)计算各分区的窗口时间为Tw1、Tw2…Twn;步骤3:各分区取整后的窗口时间为Tw1、Tw2…Twn,设分区的任务周期包含P1、P2、P3…Pm共m种不同周期,其中Pi&lt;=Pj(j&gt;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,取<img file="FDA0001013026340000021.GIF" wi="606" he="142" />为调度表中应用运行总时间;计算<img file="FDA0001013026340000022.GIF" wi="171" he="143" />为系统调度表最小安全门限;步骤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次,则本条步骤不适用。
地址 710089 陕西省西安市72号信箱