[计算机类试卷]2015年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc
《[计算机类试卷]2015年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2015年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、2015年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析 一、试题一 0 阅读以下关于某嵌入式系统设计的说明,回答问题 1至问题 4,将答案填入答题纸的对应栏内。【说明】 某公司承接了某嵌入式系统的研制任务。该嵌入式系统由数据处理模块、系统管理模块、 FC网络交换模块和智能电源模块组成,系统组成如图 1-1所示。数据处理模块处理系统的应用任务;系统管理模块除了处理系统的应用任务外,还负责管理整个嵌入式系统; FC网络交换模块采用消息机制,支持广播和组播,主要负责系统的数据交换;智能 电源模块负责给其他模块供电,该模块根据系统命令可以给其他模块供电或停止供电。1
2、【问题 1】 该系统的软件大部分是用 C语言编程的,编程人员经常会使用运算符,请按优先级由高到低的次序,重新排序下面的运算符:, =, =, &。 2 【问题 2】 该系统的开发要求按软件能力成熟度模型 CMM 3级开发,请回答下列问题: (1)CMM 3级包含多少个关键过程域 ? (2)请写出 CMM 3级的关键过程域。 (3)CMM2级包含多少个关键过程域 ? (4)在对该开发软件单位进行 CMM 3级达标评级时,只需检查 3级的 关键过程域还是 3级和 2级的关键过程域都需要检查 ? 3 【问题 3】 (1)在本系统中, FC网络采用何种拓扑结构 ?请从如下 4项中选择最为合适的。 A总
3、线 B树型 C星形 D点对点 (2)FC网络除了用于交换的光纤基础架构,还必须有高性能的 I O通道结构支持, I O通道在 FC网络中的优势是什么 ? 4 【问题 4】 智能电源模块首先进行系统初始化,初始化后各设备就可使用,再根据系统初始配置表对嵌入式系统的其他模块供电。智能电源模块通常完成两件事情:一、周期性地查询本模块温度、各路电流 (给各模块供电的 )以及电源模块的供电是否异常,如果异常,则进行异常处理,并报系统管理模块,由系统管理模块进行决策;二、进入中断处理程序,处理系统管理模块的各种命令,如果系统管理模块命令关机下电,则智能电源模块对所有模块 (也包括自己 )进行下电处理。 图
4、 1-2是智能电源模块上的管理软件处理流程图,请完成该流程图,给 (1) (5)处填空。 二、试题二 4 阅读以下关于某四轴飞行器系统设计的说明,回答问题 1至问题 4,将解答填入答题纸的对应栏内。【说明】 在某四轴飞行器系统设计中,利用惯性测量单:元(IMU)、 PID电机控制、 2 4G无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞行器方案。整个系统的设计包括飞控板和遥控板两部分,两者之间采用 2 4G无线模块进行数据传输。飞控板采用高速单片机 STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器 MPU6050作为惯性测量单元,通过 2 4G无线模块和
5、遥控板进行通信,最终根据 PID控制算法以PWM方式驱动空心电机来控制目标。图 2-1为李工设计的系统总体框图。飞控板和遥控板的核心处理器都采用STM32F103。飞控系统的惯性测量单元采用 MPU6050测量传感器, MPU6050使用 IIC接口,时钟引脚 SCL、数据引脚 SDA和数据中断引脚分别接到 STM32的对应管脚,图 2-2为该部分原理图。遥控板采用 STM32单片机进行设计,使用 AD对摇杆模拟数据进行采集,采用 NRF2401无线模块进行通信,图 2-3为该部分原理图。 李工所设计的系统软件同样包含飞控板和遥控板两部分,飞控板软件的设计主要包括无线数据的接收、自身姿态的实时
6、计算、电机 PID增量的计算和 PWM的电机驱动。遥控板主控制器软件通过 ADC外设对摇杆数据进行采集,把采集到的数据通过 2 4G无线通信模块发送至飞控板。图 2-4为飞控系统的软件流程示意图。5 【问题 1】 由图 2一 1系统总体框图设计可知,飞控板和遥控板之间是用 2 4G无线通信进行数据传输,各自主处理器和无线通信模块之间是 SPI接口。同时,在飞控板上,处理器和惯性测量单元是通过 IIC进行数据交互。以下关于 SPI接口和 IIC接口的描述中,正确的是: _(1)、 _(2)、 _(3)、_(4)。 A SPI和 IIC都是主从式通信方式 B SPI的数据收发线是各自独立的, II
7、C也是同样 C SPI和 IIC的传输都不需要片选控制 D IIC总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线 E IIC总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大 F在原理设计中,到底采用 SPI和 IIC哪种方式,需要依据外设芯片的接口而定 G SPI是一种环形总线结构 H在 IIC总线上,可以有多个从设备具有相同的 IIC地址 6 【问题 2】 (1)图 2-2飞控板部分原理图中, R4的作用是什么 ? (2)图 2-3遥控板部分原理图中, C11、 C12、 C13、 C14的作用是什么 ? 7 【问题 3】 在 STM32处理器的 PWM使用
8、过程中,最为关键的就是 PWM的频率和占空比。 PWM的频率依赖于 PWM模块的参考时钟频率,自动装载寄存器 ARR的值加1之后再乘以参考时钟频率即可得到 PWM的频率。 PWM的占空比是用捕获比较寄存器 CCR和自动装载寄存器 ARR获得的, PWM占空比 =CCR (ARR+1)。 假设当前主控板的 STM32处理器 PWM模块的参考时钟频率为 lkHz,要将PWM模块的频率设置为 100kHz,则 ARR寄存器的值应设置为多少 ?如果此时占空比希望设 置为 20,那么 CCR寄存器的值应该设置为多少 ? 8 【问题 4】 飞控系统每 0 5毫秒进行一次定时器的触发,每次中断都会检查一次无
9、线模块数据的接收,以确保飞控系统控制信息的实时性。每 2次中断 (即 1毫秒 )读取一次MPLl6050单元的数据,并进行算法处理。每 4次中断 (即 2毫秒 )通过计算当前飞控板系统的姿态,结合遥控端的目标姿态,根据两者的差值通过 PID控制算法对各个电机进行调速控制。每 200次中断 (即 100毫秒 )采集一次电池电压,然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大 小。 图 2-4为飞控系统软件实现的简要流程图,根据以上描述,请补全图 2-4中的空(1) (6)处的内容。 三、试题三 8 阅读以下关于某嵌入式系统多路数据采集的说明,回答问题 1至问题 3,将解答填入
10、答题纸的对应栏内。 【说明】 某嵌入式系统中,存在 16路数据采集通道,为了提高数据采集的可靠性,对 16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于 45时,才表示该路通道正常。设计人员设计函数 num of passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素: (1)采用如下数据结构存储通道号及采集值: Struct value unsigned int No; 通道号, 1到 16 unsigned short Value1; 余度 1采集值 unsigned short Value2;
11、余度 2采集值 (2)当输入参数异常时,函数返回 -1; (3)若正确统计了无故障通道数目,则返回该数目; (4)该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。 开发人员根据上述要求使用 ANSI C对代码实现如下 (代码中第一个数字代表行号 ): 1)unsigned int num_of_passer(struct value array, unsigned int num) 2) unsigned int n=0; 循环变量 3) unsigned int counter; 无故障通道数目 4) if(array=NULL) (num=0)
12、 (num 16) 5) return i; 当输入参数异常时,函数返回 1 6) for in=0; n =num; n+) 7) if(arrayn Value1 45) (arrayn Value2 45) 8) counter=counter+1; 9) return counter; 9 【问题 1】 嵌入式软件中通常使用圈复杂度来衡量程序的可维护性 (一般要求圈复杂度不大于10),请计算函数 num_of_passer的圈复杂度。 10 【问题 2】作为测试人员,请参照表 3-1序号 1的方式使用代码审查的方法找出该程序中所包含的至少 3处错误。11 【问题 3】覆盖率是度量测试完
13、整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和 MC DC覆盖率作为度量指标,请指出对函数 num_of_passer达到 100语句 覆盖、 100分支 (DC)覆盖和 100 MC DC覆盖所需的最少测试用例数目。四、试题四 11 阅读以下关于数据采集与处理系统的说明,回答问题 1至问题 3,将答案填入答题纸的对应栏内。【说明】 某公司承接了一个数据采集与处理系统的项目,由刘工负责系统的方案设计,刘工的设计方案如图 41所示。该方案是基于 PCI总线的多功能处理系统, PCI设备 1是以太网, PCI设备 2用于数据采集, PCI设
14、备 3、PCI设备 4用于和该系统中的其他处理模块进行互联, LEGACY设备 1、 LEGACY设备 2用于处理系统中一些慢速设 备。12 【问题 1】 在以下描述 PCI总线的基本概念中,正确的表述有 _(1)、_(2)、 _(3)、 _(4)、 _(5)、 _(6)。 A PCI总线是一个与处理器有关的高速外围总线 B PCI总线的基本传输机制是猝发式传送 C PCI设备一定是主设备 D PCI的物理地址与其他总线一样,是由内存地址空间和 I O地址组成 E PCI设备的地址译码不能对 配置空间直接寻址 F PCI设备识别主要是对开发商代码和设备代码进行识别 G访问配置空间时, PCI桥
15、应提供 IDSEL信号以选择 PCI设备 H系统中只允许有一条 PCI总线 I PCI总线是高速串行总线 J PCI总线有 3种桥,即 HOST PCI桥, PCI PCI桥, PCI LEGACY桥 K PCI桥是可以把一条总线的地址空间映射到另一条总线的地址空间 13 【问题 2】 PCI设备 2和主 CPU之间采用双口 RAM方式交换数据,双口 RAM是常见的共享式 多端口存储器,其最大的特点是存储数据共享。它允许两个独立的 CPU或控制器同时异步访问存储单元。既然数据共享,就必须存在访问仲裁控制,否则就会出现错误或冲突。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单
16、元数据块的访问权限分配;信令交换逻辑 (例如中断信号 )等。 两个端口对同一内存操作有 4种情况: A两个端口同时对同一地址单元读出数据; B两个端口同时对同一地址单元写入数据; C两个端口不同时对同一地址单元存取数据; D两个端口同时对同一 地址单元,一个写入数据,另一个读出数据。 在上述情况下,两个端口的存取不会出现错误的是 _(1)和_(2),会出现写入错误的是 _(3),会出现读出错误的是_(4)。 14 【问题 3】 PCI设备 2和主 CPU之间通过双端口存储器进行数据交换。刘工设计了环形队列的实现方式。设备 2向环形队列写入数据,主 CPU从环形队列读取数据。环形队列是一个首尾相
17、连的 FIFO数据结构,采用数组存储,到达尾部时将转回到 0位置,该转回是通 过取模操作来实现的。因此环形队列逻辑上是将数组元素 q0与 qMAX-1连接,形成一个存放队列的环形空间。为了方便读写,还要用数组下标来指明队列的读写位置,其中 head指向可以读的位置, tail指向可以写的位置,环形队列如图 4-2所示。使用环形队列时需要判断队列为空还是为满。当tail追上 head时,队列为满,当 head追上 tail时,队列为空。通常判断环形队列为空为满有两种判断方法。 1附加一个标志位 tag,当 head赶上 tail,队列空,则令 tag=0,当 tail赶上 head,队列满,则令
18、tag=1; 2限制 tail赶上 head,即队尾结点与队首结点之间至少留有一个元素的空间。队列空: head=tai:队列满: (rail+1) MAXN=head。 如果采用第一种方法(即附加标志实现算法 ),则环形队列的结构定义如下: typedef struct ringq int head; *头部,出队列方向 * int tail; *尾部,入队列方向 * int tag: int size; *队列总尺寸 * int spaceRINGQ MAX; *队列空间 * RINGQ; RINGQ P, *q; q= p; 初始化环形队列的 C语言代码为: q一 head=q一tail
19、=q一 tag=0: q一 size=RINGQ MAX; 判断队列为空的 C语言代码为_(1)。 判断队列为满的 C语言代码为 _(2)。 入队操作时,如果队列不满,则入队后更新尾指针的 C语言代码为 q tail=_(3)。出队操作时,如果队列不空,则出队后更新头指针的 C语言代码为 q head=_ (4)。 如果采用第二种方法,还采用上述数据结构, 初始化环形队列的 C语言代码为: q一 head=q一 tail=0; q一 size=RINGQMAX; 判断队列为空的 C语言代码为 _(5)。 判断队列为满的 C语言代码为 _(6)。 入队操作时,如果队列不满,则入队后更新尾指针的
20、C语言代码为 q tail=_(7)。出队操作时,如果队列不空,则出队后更新头指针的 C语言代码为 qhead=_(8)。 五、试题五 14 阅读以下关于 C语言编程方面的说明和程序,回答问题 1至问题 3,将答案填入答题 纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 程序 1是关于文件操作的一段程序。 程序 2是某信息管理系统的系统登录和密码验证程序,规定密码最长为 20个字符。首先,打开密码文件 sys_code,如果成功,则将文件中的密码信息与用户输入的密码进行比较,若相等,则身份验证通过并进入信息管理系统,否则输出错误信息并退出登录系
21、统。如果打开文件 sys_code失败,则由用户输入密码并保存到密码文件 sys_code。 【程序 1】 #include #include Void main FILE*fp; char c, fname20; printf(“输入文件名: “); scanf(“ s“, fname); if(fp=fopen(fname, “r“)=_(1) printf(“不能打开文件: s n“, fname); exit(0); while(_(2) *检测文件是否结束 * C=fgetc(fp); if(_(3) *检测文件是否出错 * printf(“文件读错误 n“); break; put
22、char(c); 【程序 2】 void password() int sign=0; sign=checkcode(); if(_(1) printf(“ a n n n n n n n n n t t密码错误,请重新登录 !“); getch(); system(“cls“); exit(1); system(“cls“); printf(“ a n n n n n n n n n t t“); printf(“欢迎登录信息管理系统 ! n“); getch(); return; int checkcode() FILE*fp; char ch, syspwd21=“ 0“; char u
23、srpwd21=“ 0“; int i; *身份验证 * if(fp=fopen(“sys code“, “r“)=NULL) system(“cls“); printf(“please set your identify n“); printf(“password( =20): “); for(i=0; i 20; i+) ch=getchar(); if (ch= r ch= n) break; _(2)=ch; fp=fopen(“sys code“, “W“); fputs(syspwd, fp); fclose(fp); return 0; else system(“cls“); f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2015 年下 半年 软件 水平 考试 中级 嵌入式 系统 设计师 下午 应用技术 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-493237.html