一种弹载嵌入式控制软件周期耗时实时计算方法
【专利摘要】一种弹载嵌入式控制软件周期耗时实时计算方法,通过创建控制软件运行周期定时中断步长变量timer、软件周期耗时精度定时中断步长变量timer_1及软件周期耗时赋值变量time_run,依次设置控制软件运行周期定时中断函数并对其进行使能,且在其中断函数中对timer进行复位;同时设置软件周期耗时精度定时中断函数并对其进行使能,且在其中断函数中对timer_1进行累加数;而后在主体程序记录软件周期耗时起始timer_1值和记录软件周期耗时终止timer_1值,再将两者差值乘以耗时系数即为本周期的程序耗时时间,有效实现实时精确计算控制软件周期耗时,同时灵活易用、通用性高、扩展性好、可靠性高。
【专利说明】
一种弹载嵌入式控制软件周期耗时实时计算方法
技术领域
[0001]本发明涉及软件耗时计算技术领域,尤其涉及一种弹载嵌入式控制软件周期耗时实时计算方法。
【背景技术】
[0002]在控制软件研制过程中,软件研制对控制软件的精度、实时性、周期耗时、占用存储空间的开销及余量等性能指标提出明确要求;软件精度、实时性可通过数据处理软件分析试验数据验证指标符合性,软件存储余量可通过控制软件生成的目标文件存储大小分析得出,然而在以往的控制软件开发期间,缺乏有效手段计算软件周期耗时开销及实时性。
[0003]传统的控制软件周期耗时计算方法主要有两种,方法一,在控制软件周期起始位置设置A通道离散量信号高电平输出,在控制软件周期结束位置设置B通道离散量信号高电平输出;通过示波器分别监测A、B通道离散量信号,以计算A、B通道离散量信号高电平触发时间差值,从而得出该周期耗时时间;方法二,在控制软件周期起始位置设置A通道离散量信号高电平输出,在控制软件周期结束位置设置A通道离散量信号低电平输出;通过示波器监测A通道离散量信号,以计算A通道离散量信号高电平维持时间,从而得出该周期耗时时间。
[0004]上述两种方法均采用修改控制软件设置离散量信号高低电平输出的方式计算控制软件周期耗时,这两种计算方法必然导致控制软件计算耗时状态与真实状态不一致,仅适合在地面测试用;同时设置离散量高低电平需消耗综控机硬件继电器作用时间,进而导致控制软件周期耗时计算不精确,从而影响控制软件周期耗时计算的实时性。
【发明内容】
[0005]本发明所解决的技术问题在于提供一种弹载嵌入式控制软件周期耗时实时计算方法,以解决上述【背景技术】中的缺点。
[0006]本发明所解决的技术问题采用以下技术方案来实现:
一种弹载嵌入式控制软件周期耗时实时计算方法,具体步骤如下:
1)启动主体程序,对系统进行初始化,并创建控制软件运行周期定时中断步长变量timer、软件周期耗时精度定时中断步长变量timer_l及软件周期耗时赋值变量time_run;
2)设置控制软件运行周期定时中断函数并对其进行使能,且在其中断函数中对timer进行复位;同时设置软件周期耗时精度定时中断函数并对其进行使能,且在其中断函数中对t imer_l进行累加数;
3 )在主体程序运行起始位置通过t ime_run记录软件周期耗时起始t imer_l值;
4)在主体程序运行终止位置通过time_run记录软件周期耗时终止timer_l值;
5)计算步骤3)与步骤4)的time_run差值,time_run差值即为本周期耗时时间累加次数;
6)将步骤5)中计算出的time_rUn差值乘以耗时系数即为本周期的程序耗时时间;7)最后分别对timer值与timer_l值进行清零,以进入下一个周期计算耗时时间。
[0007]在本发明中,步骤I)中,软件周期耗时精度设置为0.1ms的线性倍数。
[0008]在本发明中,步骤6)中,耗时系数设置为0.1ms的线性倍数。
[0009]在本发明中,步骤6)中,将获得本周期的程序耗时时间发送至数据记录设备,用于监测。
[0010]有益效果:本发明在不改变综控机硬件环境及控制软件逻辑结构下,实时精确计算控制软件周期耗时,同时可通过数据记录设备实时监测周期耗时,灵活易用、通用性高、扩展性好、可靠性高。
【附图说明】
[0011 ]图1是本发明的较佳实施例的流程图。
【具体实施方式】
[0012]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。
[0013]—种弹载嵌入式控制软件周期耗时实时计算方法,要求匹配的硬件为:综控机自身CPU硬件晶振提供计时精度达到纳秒级,控制软件研制要求需要的精度为毫秒级,以控制软件运行周期为5ms,周期耗时精度为0.1ms为例,对本方法做进一步详细说明:
1)启动主体程序,对系统进行初始化,并创建5ms定时中断步长变量timer5ms、0.1ms定时中断步长变量t imer_lms及软件周期耗时赋值变量t ime_run ;
2)设置5ms定时中断并对其进行使能,在其中断函数中对timerfms进行置“I”;同时设置0.1ms定时中断并对其进行使能,在其中断函数中对timer_lms进行加“I” ;
3 )在主体程序运行起始位置通过t ime_run记录软件周期耗时起始t imer_lms值;
4)在主体程序运行终止位置通过time_run记录软件周期耗时终止timer_lms值,同时计算出软件周期耗时终止timer_lms值与软件周期耗时起始time_run值的差值;
5)将步骤4)中计算出的time_rUn差值乘以0.1的耗时系数即为本周期的程序耗时时间;
6)将步骤5)中获得本周期的程序耗时时间发送至数据记录设备,用于监测;
7)最后分别对timer5ms值与timer_lms值进行清“O”,以进入下一个周期计算耗时时间。
[0014]在本实施例中,不改变综控机硬件环境及控制软件逻辑结构,即可实时精确计算控制软件周期耗时,同时可实时监测周期耗时,通用性高、扩展性好、可靠性高。
[0015]以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【主权项】
1.一种弹载嵌入式控制软件周期耗时实时计算方法,其特征在于,具体步骤如下: 1)启动主体程序,对系统进行初始化,并创建控制软件运行周期定时中断步长变量timer、软件周期耗时精度定时中断步长变量timer_l及软件周期耗时赋值变量time_run; 2)设置控制软件运行周期定时中断函数并对其进行使能,且在其中断函数中对timer进行复位;同时设置软件周期耗时精度定时中断函数并对其进行使能,且在其中断函数中对t imer_l进行累加数; 3)在主体程序运行起始位置通过time_run记录软件周期耗时起始timer_l值; 4)在主体程序运行终止位置通过time_run记录软件周期耗时终止timer_l值; 5)计算步骤3)与步骤4)的time_run差值,time_run差值即为本周期耗时时间累加次数; 6)将步骤5)中计算出的time_rUn差值乘以耗时系数即为本周期的程序耗时时间; 7)最后分别对timer值与timer_l值进行清零,以进入下一个周期计算耗时时间。2.根据权利要求1所述的一种弹载嵌入式控制软件周期耗时实时计算方法,其特征在于,步骤I)中,软件周期耗时精度设置为0.1ms的线性倍数。3.根据权利要求1所述的一种弹载嵌入式控制软件周期耗时实时计算方法,其特征在于,步骤6)中,耗时系数设置为0.1ms的线性倍数。4.根据权利要求1所述的一种弹载嵌入式控制软件周期耗时实时计算方法,其特征在于,步骤6)中,将获得本周期的程序耗时时间发送至数据记录设备。
【文档编号】G06F11/36GK106066829SQ201610411052
【公开日】2016年11月2日
【申请日】2016年6月13日 公开号201610411052.7, CN 106066829 A, CN 106066829A, CN 201610411052, CN-A-106066829, CN106066829 A, CN106066829A, CN201610411052, CN201610411052.7
【发明人】江海雷, 廖峰, 芦勤桑, 夏云凡, 吴克松, 姜芳芳, 张望成, 周平平, 张俊, 罗海鹰, 潘新平, 樊金明, 周晓波, 张洪宇, 曹泽明
【申请人】江西洪都航空工业集团有限责任公司