问答题
实时系统 博学公司承担了一项嵌入式系统软件开发项目。该项目主要用于车载电子系统中监视发动机及燃油系统等系统工作状况,并通过综合仪表显示给驾驶员。经过多次与用户沟通,形成以下技术要求: (1)本项目的硬件平台由主处理机模块和多种接口模块组成,底板采用标准VME总线(硬件结构图见图12-8),具体硬件模块配置如下: ①主处理机模块(CPM)采用PowerPC755,主频266MHz,配有SDRAM存储器和FLASH存储器;提供一个定时/计数器;支持16级中断和二级Cache。 ②输入输出模块(IOC)支持16路RS422接口信号,传输速率不低于115.2kbps,IOC模块与CPM模块的数据交换采用64KB双端口存储器。 ③离散量接口模块(DAM)支持64路开关型离散量输入输出接口;2路频率量输入;12位A/D转换器和12位D/A转换器。 ④图形处理模块(GPM)用于显示图形,支持OpenGL标准接口软件。 ⑤MBI模块主要提供1553B外总线接口,PSM为电源支持模块。 (2)本项目软件主要工作在CPM模块中,完成对外部设备的数据采集、分析和相应的控制,将监视结果以图形方式显示给驾驶员。该系统的软件主要包括外部接口驱动软件、VME数据传输软件、处理软件、图形显示和外总线(1553B)数据交换软件。要求数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下一帧。详细的技术要求如下: ①16路RS422接口主要完成对汽车燃油系统、动力系统和驾驶员命令的数据采集与控制。RS422数据传输格式将以32B为基本数据块,分别以20ms、40ms、60ms、1s这4个不同周期交换数据。 ②64路离散量数据主要监控发动机工作状态,要求每10ms采集一次,并在下一个10ms周期内将发动机状况显示到驾驶员座舱。 ③多路模拟量数据主要采集发动机转速、油量及汽车的其他数据,为驾驶员监控汽车状态提供必要的量化数据。模拟量数据的刷新频率为1s。 ④外总线(1553B)主要完成该系统与汽车其他电子系统的数据交换。 公司将本项目交给项目主管李工实施,要求李工按技术要求完成本项目的软件设计工作,公司根据合同关于"数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下一帧"的要求,提醒李工设计中重点考虑整个系统的实时性问题。李工完成设计后,提交公司评审,会上就李工设计中存在的缺陷展开了激烈讨论,最终达成一致。 李工在设计IOC模块软件时指出:为了使CPM模块能够及时处理RS422数据,在IOC与CPM间的双端口存储器中为每个422通道设计一级缓冲,当某通道接收一个字节时,就将数据放入缓冲,由CPM接收(其结构见图12-9)。这样的好处在于每当有数据输入时,CPM模块可立即读取,而增大双口缓冲的目的是在CPM来不及处理时可防止数据的丢失。同时,IOC中的程序相对简单、实时性好、可以不考虑422通道的数据传输周期,只要按查询方式对16路422输入进行查询读取即可。 会上,王工提出了强烈的反对意见,认为这种设计方法绝对不可取,这种方法只考虑了软件的简单与便利,而没有针对软件特点考虑问题,在设计中对实时性、负载平衡分配以及实现算法上均存在缺陷,必须改进。 (1)你认为李工的设计在实时性、负载平衡分配和实现算法上存在怎样的缺陷?详细说明理由。 (2)请给出IOC模块和CPM模块之间双口存储器数据交换方法。
发布日期:2021-01-28
试题解析
软件开发项目
软件开发项目简而言之就是用户的需求( 这个定义是针对计算机专业人士而言的)为了满足人们日益增长的生活工作需要,需要通过软件开发人员通过一系列的手段获取用户的需求,然后通过分析,遵循一定的开发原理采取相对应得方法,完成所有开发、验证工作并完成项目验收,最终产生用户所想要的软件。
- 中文名
-
软件开发项目
- 外文名
-
software development project
实时系统
一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。所谓“实时”,是表示“及时”,而实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。实时系统(Real-time system,RTS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该在事先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。
- 中文名
-
实时系统
- 领域
-
实时系统,系统,计算机系统
- 外文名
-
Real-time system,RTS
- 特点
-
任务具有一定的时间约束
博学
博学:“博”,大通也。(《说文》)即宽广、广博。现代综合性大学,在专业、学科等方面都应具有“博”的特点,在学术思想、学术风格、学术观点上应兼容并包、百花争艳;作为教师,应学识渊博、造诣精深;作为学生,应打下厚实的功底,全面提升综合素质。
- 中文名
-
博学
- 外文名
-
erudite;learned
- 词义
-
学识渊博,知道的多,了解的广,知识丰富
- 出处
-
《说文》
- 拼音
-
bó xué
- 注音
-
ㄅㄛˊ ㄒㄩㄝˊ
- 反义词
-
末学
正确答案:
(1)从本题的第(2)项要求中的描述①可以看出,RS422的数据是按32B为基本数据块进行传输的,这说明数据块应是连续发送的。
①实时性:李工提出的在IOC接收到一个字节后就发送给CPM模块,这不但影响了IOC的实时性,同时也影响了CPM的实时性。
②负载平衡分配:从命题上可以看出IOC是智能设备,可以独立完成RS422的数据采集,按李工设计方法,IOC的处理能力没有充分发挥,而加大了CPM模块负载量,使得两模块的负载不平衡。
③实现算法:前两个设计缺陷的存在,使得实现算法上软件的功能模块设计不完整、增大了CPM模块上的软件设计复杂度、没有有效地利用硬件资源。
(2)IOC和CPM之间的数据交换设计办法
①首先,将IOC和CPM两模块的任务负载量划分均衡,具体使IOC按每个RS422通道的32B为基本数据块进行接收,一次统一提交给CPM模块。
②在IOC模块中为每个通道设计1~2个32B缓冲区。IOC在接到一个字节后,将数据放入每个32B缓冲区,当一个完整的数据块接收完成后,一次性地将数据发送给CPM模块。
③IOC的软件可以使用中断方式或查询方式进行数据接收,一旦数据块的头字节到达后,使用查询方式连续将32个字节接收完成。
④CPM模块的通道采集程序可一次性读取完成的数据块,这样,降低了CPM的数据采集负载。
解析:
暂无解析