试题三(25分)阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。[问题1](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。
【问题1】采用嵌入式实时操作系统的主要理由及优点:操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。(3)操作系统对可靠性有较强的保障支持能力。(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。【问题2】嵌入式实时系统中时间性能评估主要考虑以下几个因素:(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。(3)任务的上下文切换时间和中断响应时间。针对本题的具体数据,系统的工作时序关系应该是:系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。【问题3]优先级策略:小周期优先策略。数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。