下载此文档

2022年嵌入式系统设计师下午真题卷.pdf


文档分类:资格/认证考试 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
该【2022年嵌入式系统设计师下午真题卷 】是由【青山代下】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【2022年嵌入式系统设计师下午真题卷 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年嵌入式系统设计师下午真题卷2022年嵌入式系统设计师下午真题卷问答题(共5题,共5分),回答下列问题。[说明]某公司承接了一个数据采集与处理系统的项目,由刘工负责系统的方案设计,刘工的设计方案如图1所示。该方案是基于PCI总线的多功能处理系统,PCI设备1是以太网,PCI设备2用于数据采集,PCI设备3、PCI设备4用于和该系统中的其他处理模块进行互联,LEGACY设备1、LEGACY设备2用于处理系统中一些慢速设备。1、在以下描述PCI总线的基本概念中,正确的表述有______、______、______、______、______、______。,是由内存地址空间和I/,,即HOST/PCI桥,PCI/PCI桥,PCI/、PCI设备2和主CPU之间采用双口RAM方式交换数据,双口RAM1:..是常见的共享式多端口存储器,其最大的特点是存储数据共享。它允许两个独立的CPU或控制器同时异步访问存储单元。既然数据共享,就必须存在访问仲裁控制,否则就会出现错误或冲突。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配;信令交换逻辑(例如中断信号)等。两个端口对同一内存操作有4种情况:;;;,一个写入数据,另一个读出数据。在上述情况下,两个端口的存取不会出现错误的是______和______,会出现写入错误的是______,会出现读出错误的是______。3、PCI设备2和主CPU之间通过双端口存储器进行数据交换。刘工设计了环形队列的实现方式。设备2向环形队列写入数据,主CPU从环形队列读取数据。环形队列是一个首尾相连的FIFO数据结构,采用数组存储,到达尾部时将转回到0位置,该转回是通过取模操作来实现的。因此环形队列逻辑上是将数组元素q[0]与q[MAX-1]连接,形成一个存放队列的环形空间。为了方便读写,还要用数组下标来指明队列的读写位置,其中head指向可以读的位置,tail指向可以写的位置,环形队列如图2所示。使用环形队列时需要判断队列为空还是为满。当tail追上head时,队列为满,当head追上tail时,队列为空。2:..通常判断环形队列为空/为满有两种判断方法。(1)附加一个标志位tag,当head赶上tail,队列空,则令tag=0,当tail赶上head,队列满,则令tag=1;(2)限制tail赶上head,即队尾结点与队首结点之间至少留有一个元素的空间。队列空:head==tai;队列满:(tail+1)%MAXN==head。如果采用第一种方法(即附加标志实现算法),则环形队列的结构定义如下:typedefstructringg{inthead;/*头部,出队列方向*/inttail;/*尾部,入队列方向*/inttag;intsize;/*队列总尺寸*/intspace[RINGQ_MAX];/*队列空间*/}RINGQ;RINGQp,*q;q=p;初始化环形队列的C语言代码为:q->head=q->tail=q->tag=0;q->size=RINGQ_MAX;判断队列为空的C语言代码为______。判断队列为满的C语言代码为______。入队操作时,如果队列不满,则入队后更新尾指针的C语言代码为q->tail=______。出队操作时,如果队列不空,则出队后更新头指针的C语言代码为q->head=______。如果采用第二种方法,还采用上述数据结构,初始化环形队列的C语言代码为:q->head=q->tail=0;q->size=RINGQ_MAX;判断队列为空的C语言代码为______。判断队列为满的C语言代码为______。入队操作时,如果队列不满,则入队后更新尾指针的C语言代码为q->tail=______。出队操作时,如果队列不空,则出队后更新头指针的C语言代码为q->head=______。,回答下列问题。[说明]在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:程序1是关于文件操作的一段程序。程序2是某3:..信息管理系统的系统登录和密码验证程序,规定密码最长为20个字符。首先,打开密码文件sys_code,如果成功,则将文件中的密码信息与用户输入的密码进行比较,若相等,则身份验证通过并进入信息管理系统,否则输出错误信息并退出登录系统。如果打开文件sys_code失败,则由用户输入密码并保存到密码文件sys_code。[程序1]#>#>Voidmain15{FILE*fp;charc,fname[20];输入文件名不能打开文件检测文件是否结束*/{c=fgetc(fp);if(______)/*检测文件是否出错*/{文件读错误[程序2]voidpassword15{intsign=0;sign=checkcode15;if(______){密码错误,请重新登录getch19;欢迎登录信息管理系统getch19;return;}intcheckcode身份验证*/{for(i=0;;i++){ch=getchar19;if(ch==''||ch=='')break;______=ch;}fputs(syspwd,fp);fclose(fp);return0;else{fgets(syspwd,21,fp);fclose(fp);enteryourfor(i=0;;4:..i++){ch=getehar19;if(ch==''||ch=='')break;usrpwd[i]=ch;}if(strcmp(______)!=0)return1;}return0;}}1、变量存储类型是指数据在内存中存储的方法,即确定所定义的变量在内存中的存储位置,也确定了变量的作用域和生存期,内部变量有3种存储类型。假设有一个内部整型变量aa,请按不同存储类型给出相应的变量声明。2、王工在编写某嵌入式程序时,用到对文件系统的操作,由于要保证系统的安全性,要求必须使用文件检测函数feof()和ferror(),完成[程序1]中的空。3、王工根据系统的需求编写了[程序2],请填写其中的空。,回答下列问题。[说明]某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数num_of_passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:9采用如下数据结构存储通道号及采集值:Structvalue{unsignedintNo;//通道号,1到16unsignedshortValue1;//余度1采集值unsignedshortValue2;//余度2采集值}10当输入参数异常时,函数返回-1;11若正确统计了无故障通道数目,则返回该数目;5:..12该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。开发人员根据上述要求使用ANSIC对代码实现如下(代码中第一个数字代表行号):1)unsignedintnum_of_passer(structvaluearray[],unsignedintnum){2)unsignedintn=0;//循环变量3)unsignedintcounter;//无故障通道数目4)if((array=NULL)||(num==0)||(num>16))5)return-1;//当输入参数异常时,函数返回-16)for(n=0;=num;n++){7)if((array[n].Value1>45)((array[n].Value2>45)))8)counter=counter+1;}9)returncounter;}1、嵌入式软件中通常使用圈复杂度来衡量程序的可维护性(一般要求圈复杂度不大于10),请计算函数num_of_passer的圈复杂度。2、作为测试人员,请参照表1序号1的方式使用代码审查的方法找出该程序中所包含的至少3处错误。3、覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请指出对函数num_of_passer达到100%语句覆盖、100%分支(%MC/DC覆盖所需的最少测试用例数目,如表2所示。。该嵌入式系统由数据处理模块、系统管理模块、FC网络交换模块和智能电源模块组成,系统6:..组成如图1所示。数据处理模块处理系统的应用任务;系统管理模块除了处理系统的应用任务外,还负责管理整个嵌入式系统;FC网络交换模块采用消息机制,支持广播和组播,主要负责系统的数据交换;智能电源模块负责给其他模块供电,该模块根据系统命令可以给其他模块供电或停止供电。1、该系统的软件大部分是用C语言编程的,编程人员经常会使用运算符,请按优先级由高到低的次序,重新排序下面的运算符:%,=,<=,。2、该系统的开发要求按软件能力成熟度模型CMM3级开发,请回答下列问题:(1)CMM3级包含多少个关键过程域?(2)请写出CMM3级的关键过程域。(3)CMM2级包含多少个关键过程域?(4)在对该开发软件单位进行CMM3级达标评级时,只需检查3级的关键过程域还是3级和2级的关键过程域都需要检查?3、(1)在本系统中,FC网络采用何种拓扑结构?请从如下4项中选择最为合适的。(2)FC网络除了用于交换的光纤基础架构,还必须有高性能的I/O通道结构支持,I/O通道在FC网络中的优势是什么?4、智能电源模块首先进行系统初始化,初始化后各设备就可使用,再根据系统初始配置表对嵌入式系统的其他模块供电。7:..智能电源模块通常完成两件事情:一、周期性地查询本模块温度、各路电流(给各模块供电的)以及电源模块的供电是否异常,如果异常,则进行异常处理,并报系统管理模块,由系统管理模块进行决策;二、进入中断处理程序,处理系统管理模块的各种命令,如果系统管理模块命令关机下电,则智能电源模块对所有模块(也包括自己)进行下电处理图2是智能电源模块上的管理软件处理流程图,请完成该流程图,给(1)~(5)处填空。,回答下列问题。[说明]在某四轴飞行器系统设计中,利用惯性测量单元(IMU)、PID电机控制、。整个系统的设计包括飞控板和遥控板两部分,。飞控板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU16050作为惯性测量单元,,最终根据PID控制算法以PWM方式驱动空心电机来控制目标。图1为李工设计的系统总体框图。飞控板和遥控板的核心处理器都采用STM32F103。飞控系统的惯性8:..测量单元采用MPU6050测量传感器,MPU6050使用IIC接口,时钟引脚SCL、数据引脚SDA和数据中断引脚分别接到STM32的对应管脚,图2为该部分原理图。遥控板采用STM32单片机进行设计,使用AD对摇杆模拟数据进行采集,采用NRF2401无线模块进行通信,图3为该部分原理图。李工所设计的系统软件同样包含飞控板和遥控板两部分,飞控板软件的设计主要包括无线数据的接收、自身姿态的实时计算、电机PID增量的计算和PWM的电机驱动。遥控板主控制器软件通过ADC外设对摇杆数据进行采集,。图4为飞控系统的软件流程示意图。1、由图1系统总体框图设计可知,,各自主处理器和无线通信模块之间是SPI接口。同时,在飞控板上,处理器和惯性测量单元是通过IIC进行数据交互。以下关于SPI接口和IIC接口的描述中,正确的是:______、______、______、______。,,,快速模式和高速模式,9:..,到底采用SPI和IIC哪种方式,,可以有多个从设备具有相同的IIC地址2、(1)图2飞控板部分原理图中,R4的作用是什么?(2)图3遥控板部分原理图中,C11、C12、C13、C14的作用是什么?3、在STM32处理器的PWM使用过程中,最为关键的就是PWM的频率和占空比。PWM的频率依赖于PWM模块的参考时钟频率,自动装载寄存器ARR的值加1之后再乘以参考时钟频率即可得到PWM的频率。R和自动装载寄存器ARR获得的,R/(ARR+1)。假设当前主控板的STM32处理器PWM模块的参考时钟频率为1kHz,要将PWM模块的频率设置为100kHz,则ARR寄存器的值应设置为多少?如果此时占空比希望设置为20%,R寄存器的值应该设置为多少?4、5毫秒进行一次定时器的触发,每次中断都会检查一次无线模块数据的接收,以确保飞控系统控制信息的实时性。每2次中断(即1毫秒)读取一次。MPU16050单元的数据,并进行算法处理。每4次中断(即2毫秒)通过计算当前飞控板系统的姿态,结合遥控端的目标姿态,根据两者的差值通过PID控制算法对各个电机进行调速控制。每200次中断(即100毫秒)采集一次电池电压,然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大小。图4为飞控系统软件实现的简要流程图,根据以上描述,请补全图4中的空10:..(1)(6)处的内容。11

2022年嵌入式系统设计师下午真题卷 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小894 KB
  • 时间2024-03-25