一种嵌入式系统时序仿真分析的场景刻画方法技术方案

技术编号:27684824 阅读:34 留言:0更新日期:2021-03-17 03:46
本发明专利技术公开了一种嵌入式系统时序仿真分析的场景刻画方法,对已经抽象好的系统进行更加精细的控制。该方法提出了中断到达时间,对于周期中断可以指定其激活时间,对于非周期中断则可以设置其到达的时间、到达的次数、多次到达的平均时间、到达的时间间隔、每次中断到达后是否执行,并且还提出了中断的开关时机,允许中断在某个任务执行结束后对中断进行一定的操作。对任务则提出了任务的偏序关系设置,以及状态机下状态的循环和迁移控制。通过外部控制的方式对仿真过程进行细化,为程序设计人员提供了更大的设计空间,可以使模型更加逼近真实系统,得出的仿真结果能更好的提升系统的确定性。

【技术实现步骤摘要】
一种嵌入式系统时序仿真分析的场景刻画方法
本专利技术属于嵌入式系统
,具体涉及一种仿真分析的场景刻画方法。
技术介绍
嵌入式系统(EmbeddedSystem)与人们的关系日益密切,世界上95%微处理器都用于嵌入式系统。嵌入式系统的应用领域非常广泛,在一些对实时性要求比较高的领域,嵌入式系统时序特性是否满足设计要求将对实时系统运行产生关键影响,时序异常可能造成任务执行失败,甚至对系统造成破坏性影响。因此,保证嵌入式软件时序设计以及实现的正确性是嵌入式软件开发的重要任务。而随着嵌入式系统规模和复杂程度不断上升,使用建模与仿真的方法对嵌入式系统进行时序分析逐渐成为一种合理的选择。而在建模与仿真的过程中,由于嵌入式系统的运行过程比较复杂,需要对实时系统中的,单纯通过对中断、任务、调度算法等方面的建模很难准确的通过仿真还原出系统的原型,并且在修改模型的时候可能对仿真过程造成不可预测的改变。为解决上述问题,使仿真过程能够准确对应真实系统,使仿真过程得到的结果有意义,采用场景刻画的方法对仿真过程进行精确控制,对中断的执行与开关做了精确的控制,以应对在真实系统中可能出现的情况。并且对任务的偏序关系以及任务中的状态机进行精细设置,并且可以在不修改原本的模型的基础上,采用外部约束的方法进行调试,简化了涉及人员的操作,提高了模型的精细程度,使得仿真的结果也更加合理,为程序设计人员提供更加精确的参考,以提高嵌入式系统的确定性。
技术实现思路
为了克服现有技术的不足,本专利技术提供了一种嵌入式系统时序仿真分析的场景刻画方法,对已经抽象好的系统进行更加精细的控制。该方法提出了中断到达时间,对于周期中断可以指定其激活时间,对于非周期中断则可以设置其到达的时间、到达的次数、多次到达的平均时间、到达的时间间隔、每次中断到达后是否执行,并且还提出了中断的开关时机,允许中断在某个任务执行结束后对中断进行一定的操作。对任务则提出了任务的偏序关系设置,以及状态机下状态的循环和迁移控制。通过外部控制的方式对仿真过程进行细化,为程序设计人员提供了更大的设计空间,可以使模型更加逼近真实系统,得出的仿真结果能更好的提升系统的确定性。本专利技术解决其技术问题所采用的技术方案包括以下步骤:步骤1:建立嵌入式系统时序仿真分析的场景刻画的总体模型;首先对场景整体进行刻画,其中包括中断到达时间、任务执行偏序关系、状态机的循环控制、状态之间迁移控制、中断开关时机控制;模型如下:Scene={InterruptArrive,TaskSequence,CycleControl,TransControl,InterruptSwitch}其中InterruptArrive代表中断的到达时间,TaskSequence代表任务偏序关系控制,CycleControl代表循环迁移控制,TransControl状态之间的迁移控制,InterruptSwitch代表中断开关时机控制;步骤2:建立周期中断以及非周期中断的到达时间控制模型;周期中断的达到时间模型表示为:ISRArrTimep=<IDp,ISRTypep,StartTimep>其中IDp表示周期中断的唯一标识符,ISRTypep表示中断的类型,StartTimep代表周期中断的开始时间;在仿真过程中,周期中断在指定的到达时间到达,而不是在仿真开始时即刻到达,到达时间指在仿真开始到周期中断开始执行或者开始进行响应的时间间隔;非周期中断的到达时间表示为:InterruptArrTimeT=<IDT,ISRTypeT,StartTimeT,ExeOrNotT>其中InterruptArrTimeT代表非周期中断到达时间,IDT代表非周期中断的唯一标识符,ISRTypeT代表中断的类型,,StartTimeT代表非周期中断的到达时间,ExeOrNotT代表每次到达是否执行;其中非周期中断的到达时间StartTimeT能够设置多个值,代表中断多次到达的情况,表示如下:StartTimeT={Time1,Time2,...,Timen}其中Time1,Time2,…Timen,代表每个非周期中断的到达时间,多个到达时间表示非周期中断到达多次,但每次中断到达后能够通过设置ExeOrNotT操作该次中断是否执行,表示如下:ExeOrNotT={Exe1,Exe2,...,Exen}其中Exe1,Exe2,…,Exen,代表中断到达多次后每次是否执行,参数数量与StartTimeT一致;步骤3:建立任务偏序关系的模型;系统中执行的任务集合为Task={T1,T2,...,Tn},n≥2,集合中的任务之间存在偏序关系:TaskSequence={Tn,...,Tm},Tn,...,Tm∈Task偏序关系即预先设计任务的执行顺序,其中Tn,...,Tm代表系统中执行的部分任务集合,按照集合中任务排列的先后顺序代表任务之间的偏序关系;步骤4:建立循环迁移控制模型CycleControl={ID,StartTask,StartStatus,EndStatus,CycleCount}其中ID代表循环迁移控制变量的唯一标识符,StartTask代表循环执行所在的任务标识符,StartStatus代表循环开始的状态标识符,EndStatus代表状态循环结束的状态,StartStatus和EndStatus为StartTask中的状态机的任意状态,CycleCount代表状态循环的次数CycleCount∈{1,2,...,n};步骤5:建立状态迁移控制进行模型:TransControl={ID1,InitialVal,TransTask,StartStatus1,VarVal,ToStatus,NewVal}其中ID1代表状态迁移控制变量的唯一标识符,InitialVal代表该变量的初始值InitialVal∈{1,2,...n},TransTask代表状态迁移的任务标识符,StartStatus1代表状态迁移的起始状态,VarVal代表状态迁移全局变量迁移之前的值VarVali∈{1,2,...n},ToStatus代表迁移到的状态,NewVal代表状态迁移后的变量值NewVal∈{1,2,...n};步骤6:对中断开关进行建模:InterruptSwitch={ID2,SwitchTask,SwitchStart,Release,ControlType,ISRID}其中ID2为中断开关控制变量唯一标识符,SwitchTask代表执行任务的识符,SwitchStart代表任务执行的操作,Release代表任务执行后生成的任务或者作业;ControlType代表对中断的操作量ControlType∈{On,Off},即定义中断的开操作或者关操作;ISRID代表被操作的中断标识符;步骤7:嵌入式系统时序仿真分析本文档来自技高网...

【技术保护点】
1.一种嵌入式系统时序仿真分析的场景刻画方法,其特征在于,包括以下步骤:/n步骤1:建立嵌入式系统时序仿真分析的场景刻画的总体模型;/n首先对场景整体进行刻画,其中包括中断到达时间、任务执行偏序关系、状态机的循环控制、状态之间迁移控制、中断开关时机控制;模型如下:/nScene={InterruptArrive,TaskSequence,CycleControl,TransControl,InterruptSwitch}/n其中InterruptArrive代表中断的到达时间,TaskSequence代表任务偏序关系控制,CycleControl代表循环迁移控制,TransControl状态之间的迁移控制,InterruptSwitch代表中断开关时机控制;/n步骤2:建立周期中断以及非周期中断的到达时间控制模型;/n周期中断的达到时间模型表示为:/nISRArrTime

【技术特征摘要】
1.一种嵌入式系统时序仿真分析的场景刻画方法,其特征在于,包括以下步骤:
步骤1:建立嵌入式系统时序仿真分析的场景刻画的总体模型;
首先对场景整体进行刻画,其中包括中断到达时间、任务执行偏序关系、状态机的循环控制、状态之间迁移控制、中断开关时机控制;模型如下:
Scene={InterruptArrive,TaskSequence,CycleControl,TransControl,InterruptSwitch}
其中InterruptArrive代表中断的到达时间,TaskSequence代表任务偏序关系控制,CycleControl代表循环迁移控制,TransControl状态之间的迁移控制,InterruptSwitch代表中断开关时机控制;
步骤2:建立周期中断以及非周期中断的到达时间控制模型;
周期中断的达到时间模型表示为:
ISRArrTimep=<IDp,ISRTypep,StartTimep>
其中IDp表示周期中断的唯一标识符,ISRTypep表示中断的类型,StartTimep代表周期中断的开始时间;在仿真过程中,周期中断在指定的到达时间到达,而不是在仿真开始时即刻到达,到达时间指在仿真开始到周期中断开始执行或者开始进行响应的时间间隔;
非周期中断的到达时间表示为:
InterruptArrTimeT=<IDT,ISRTypeT,StartTimeT,ExeOrNotT>
其中InterruptArrTimeT代表非周期中断到达时间,IDT代表非周期中断的唯一标识符,ISRTypeT代表中断的类型,,StartTimeT代表非周期中断的到达时间,ExeOrNotT代表每次到达是否执行;
其中非周期中断的到达时间StartTimeT能够设置多个值,代表中断多次到达的情况,表示如下:
StartTimeT={Time1,Time2,...,Timen}
其中Time1,Time2,…Timen,代表每个非周期中断的到达时间,多个到达时间表示非周期中断到达多次,但每次中断到达后能够通过设置ExeOrNotT操作该次中断是否执行,表示如下:
ExeOrNotT={Exe1,Exe2,...,Exen}
其中Exe1,Exe2,…,Exen,代表中断到达多次后每次是否执行,参数数量与StartTimeT一致;
步骤3:建立任务偏序关系的模型;
系统中执行的任务集合为Task={T1,T2,...,Tn},n≥2,集合中的任务之间存在偏序关系:
TaskSequence={Tn,...,Tm},Tn,...,Tm∈Task
偏序关系即预先设计任务的执行顺序,其中Tn,...,Tm代表系统中执行的部分任务集合,按照集合中任务排列的先后顺序代表任务之间的偏序关系;
步骤4:建立循环迁移控制模型
CycleControl={ID,StartTask,StartStatus,EndStatus,CycleCount}
其中ID代表循环迁移控制变量的唯一标识符,StartTask代表循环执行所在的任务标识符,StartStatus代表循环开始的状态标识符,EndStatus代表状态循环结束的状态,StartStatus和EndStatus为Star...

【专利技术属性】
技术研发人员:朱怡安李联齐宗龙史先琛
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

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

1