首页 理论教育 优化建议:软件系统任务优先级分配策略

优化建议:软件系统任务优先级分配策略

时间:2023-06-25 理论教育 版权反馈
【摘要】:在弹载三轴存储测试装置软件系统的任务划分完毕后,还需要给任务赋予相应的优先级,从而使得整个系统的性能达到最优化。因此该任务的优先级仅次于三轴数据采样任务。串口通信任务在执行程序下载时,其工作方式由PC 机发出,具有抢占优先级,优先级最高。因此可以将串口通信任务优先级定义为最低,通过指令方式达到任务状态切换。

优化建议:软件系统任务优先级分配策略

在弹载三轴存储测试装置软件系统的任务划分完毕后,还需要给任务赋予相应的优先级,从而使得整个系统的性能达到最优化。弹载三轴存储测试装置软件系统的任务优先级划分如下:

三轴数据采样任务是整个弹载三轴存储测试装置完成指定功能的基础,只有采样量化三轴数据后才可以运行调零放大、数据存储等任务,因此在所有任务中该任务的优先级最高。

自动调零放大任务负责传感器零点的校正。系统每次上电后,三轴采样任务和该任务轮换运行,消除传感器的零点偏移,待调零结束后终止该任务的运行。因此该任务的优先级仅次于三轴数据采样任务。

某些试验场合只需要记录三轴原始数据时,数据存储任务的优先级仅次于自动调零放大任务。而在某些场合需要使用三轴采样数据时,三轴数据解耦任务的优先级将高于三轴数据存储任务。

串口通信任务在执行程序下载时,其工作方式由PC 机发出,具有抢占优先级,优先级最高。串口通信任务在执行三轴数据传输时,其状态的切换主要也是通过外触发方式。因此可以将串口通信任务优先级定义为最低,通过指令方式达到任务状态切换。

以上五个任务之间通信通过信号量、消息队列方式进行切换。其优先级安排如下:(www.xing528.com)

void Task_Sample(void pdata);//使用高优先级中断采样,优先级5

voidTask_BridgeZero(void pdata);//自动调零放大任务,优先级6

void Task_DataSave(void pdata);//三轴数据存储任务,优先级7

void Task_DataDecouple(void pdata);//三轴数据解耦任务,优先级8

void Task_DataSend(void pdata);//串口通信任务,优先级9

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈