A公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间

题库2022-08-02  30

问题 A公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133 MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024 KB)、4路422半双工串口接口(其中两路的频率115200 Hz,另两路频率38400 Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下:(1)系统要求以5 ms为周期从双口存储器中采集1024 KB的输入数据,处理任务的时间约为1ms(称为5ms任务)。(2)系统要求以20 ms为周期从两路422接口(115200 Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4 ms)任务后,分别输出大小为16 B的控制命令(称为20 ms任务)。(3)系统要求以60 ms为周期从两路422接口(38400 Hz)中采集一定数据格式的大小为6 B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2 ms)任务后,分别输出大小为2 B的控制命令和一个28位D/A数据,输出8路离散量控制数据(称为60ms任务);(4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms(称为1s任务)。A公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工提出为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。【问题1】请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?【问题2】李工和王工通过认真地对需求进行分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。【问题3】根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。

选项

答案

解析 【问题1】采用嵌入式实时操作系统的主要理由及优点:操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。(3)操作系统对可靠性有较强的保障支持能力。(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。【问题2】嵌入式实时系统中时间性能评估主要考虑以下几个因素:(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。(3)任务的上下文切换时间和中断响应时间。针对本题的具体数据,系统的工作时序关系应该是:系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。【问题3】优先级策略:小周期优先策略。数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。【解析】本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。【问题1】实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是"短小精干",执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。李工认为在裸机上直接开发实时性好,王工认为采用嵌入式实时操作系统可靠性好。系统并没有给出拟采用的操作系统的具体性能指标,但题目中指出"课题组最后采用了王工的建议",可以判断该操作系统既有好的可靠性,又能满足实时性要求。【问题2】系统的任务按照执行的周期进行了分类,包括5ms任务(即在5ms、10ms、15ms等时刻,该任务需要被唤醒执行)、20ms任务、60ms任务和1s任务(系统软硬件测试)。系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20 ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。工作流程如图8-1所示。【问题3】根据图8-1,可知需要采用小周期优先策略,即任务优先级排序从低到高为1s任务→60ms任务→20ms任务→5ms任务。因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。所以,422接口适合采用中断方式。双口存储器和离散量接口由于是直接访问存储器,所以采用查询方式比较合适。A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。
转载请注明原文地址:https://tihaiku.com/congyezige/2397803.html

最新回复(0)