下载App
搜答案
所有课程
登录
注册
千题库
从业资格
软件水平考试
【中级】嵌入式系统设计师
案例分析
案例分析
题量:27题
题型:问答题
试卷简介: 案例分析, 此试卷为参加"【中级】嵌入式系统设计师"的考生提供的"案例分析"的答案和解析。
开始做题
下载试卷
App做题
试题预览
1
问答题
0分
某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案如图1所示。该方案是基于VME总线的多机并行处理系统,由主控制模块作为VME总线的主设备,即总线控制器,负责整个系统的控制与管理;3个数据处理模块作为从设备,负责数据处理与计算;1个I/O模块也作为从设备,负责系统与外部接口之间的高速数据通信。同时,为了简化设计,该系统5个模块均采用同一款VME协议芯片,实现内总线和VME总线的连接。
该系统中每个模块的相关信息见表1所示。
1、王工设计采用共享存储器方式,进行多机之间的通信。VME共享存储器的地址空间映射,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME总线地址空间的映射,输入窗口实现VME总线地址空间到处理器本地地址空间的映射。 输出窗口空间设置说明:为了每个模块能访问到其他4个模块,在每个模块的处理器本地地址空间中开辟5M空间,映射到VME总线上的5M地址空间。映射关系见表2。
输入窗口空间设置说明:每个模块分配1M的VME地址空间,并将这1M空间映射到处理器本地RAM区域中,专门用于VME通信数据缓冲区。映射关系见表3。
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线共享存储器工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用1M数据缓冲区的第一个32位作为握手标志。则数据处理模块1访问标志区的总线地址为______,数据处理模块2访问标志区的总线地址为______。 I/O模块向主控制模块发送控制命令,它们之间采用1M数据缓冲区偏移0x100处作为命令缓冲区。则I/O模块访问命令区的总线地址为______,主控制模块访问命令区的总线地址为______。
2、如表1所示,该系统中采用的处理器有大端和小端两种工作模式。王工设计VME总线上传输的数据全部采用小端方式,那么当处理器通过VME总线发送数据时,需要根据自己的工作模式,对数据进行必要的转换,以符合协议要求。 当I/O模块向主控制模块发送控制命令0xAABBCCDD,那么它写入V=ME总线的实际数据是______,当主控制模块向数据处理模块3和I/O模块发送控制命令0x12345678,那么它写入VME总线的实际数据是______和______。
3、为了提高数据通信的性能,在进行大数据量通信时,王工设计采用DMA的方式。DMA通信方式能够满足高速VME设备的需求,也有利于发挥CPU效率。该VME协议芯片有两种DMA工作方式:一种是直接方式(Direct mode),一种是链方式(Linked list mode)。
在直接方式下,在每次数据传输前,需要驱动程序对DMA控制寄存器进行设置,然后进行DMA传输,并等待传输完成,或者异常错误。直接方式是一种软件和硬件同步工作方式。在链方式下,驱动程序只需要设置命令包。
在通信过程中,硬件根据命令包的内容完成传输,并根据链中的下一个命令包,继续传输,直到所有命令包完成或者异常错误。链方式是一种软件和硬件异步工作的方式。 图2是DMA直接方式的流程图,请补全流程图。
点击查看答案
2
问答题
0分
在某四轴飞行器系统设计中,利用惯性测量单元(IMU)、PID电机控制、2.4G无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞行器方案。整个系统的设计包括飞控板和遥控板两部分,两者之间采用2.4G无线模块进行数据传输。飞控板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU16050作为惯性测量单元,通过2.4G无线模块和遥控板进行通信,最终根据PID控制算法以PWM方式驱动空心电机来控制目标。
图1为李工设计的系统总体框图。
飞控板和遥控板的核心处理器都采用STM32 F103。飞控系统的惯性测量单元采用MPU6050测量传感器,MPU6050使用IIC接口,时钟引脚SCL、数据引脚SDA和数据中断引脚分别接到STM32的对应管脚,图2为该部分原理图。遥控板采用STM32单片机进行设计,使用AD对摇杆模拟数据进行采集,采用NRF2401无线模块进行通信,图3为该部分原理图。 李工所设计的系统软件同样包含飞控板和遥控板两部分,飞控板软件的设计主要包括无线数据的接收、自身姿态的实时计算、电机PID增量的计算和PWM的电机驱动。遥控板主控制器软件通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控板。
图4为飞控系统的软件流程示意图。
1、由图1系统总体框图设计可知,飞控板和遥控板之间是用2.4G无线通信进行数据传输,各自主处理器和无线通信模块之间是SPI接口。同时,在飞控板上,处理器和惯性测量单元是通过IIC进行数据交互。以下关于SPI接口和IIC接口的描述中,正确的是:______ 、______、______、______。 A.SPI和IIC都是主从式通信方式 B.SPI的数据收发线是各自独立的,IIC也是同样 C.SPI和IIC的传输都不需要片选控制 D.IIC总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线 E.IIC总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大 F.在原理设计中,到底采用SPI和IIC哪种方式,需要依据外设芯片的接口而定 G.SPI是一种环形总线结构 H.在IIC总线上,可以有多个从设备具有相同的IIC地址
2、(1)图2飞控板部分原理图中,R4的作用是什么?
(2)图3遥控板部分原理图中,C11、C12、C13、C14的作用是什么?
3、在STM32处理器的PWM使用过程中,最为关键的就是PWM的频率和占空比。PWM的频率依赖于PWM模块的参考时钟频率,自动装载寄存器ARR的值加1之后再乘以参考时钟频率即可得到PWM的频率。PWM的占空比是用捕获比较寄存器CCR和自动装载寄存器ARR获得的,PWM占空比=CCR/(ARR+1)。 假设当前主控板的STM32处理器PWM模块的参考时钟频率为1kHz,要将PWM模块的频率设置为100kHz,则ARR寄存器的值应设置为多少?如果此时占空比希望设置为20%,那么CCR寄存器的值应该设置为多少?
4、5毫秒进行一次定时器的触发,每次中断都会检查一次无线模块数据的接收,以确保飞控系统控制信息的实时性。每2次中断(即1毫秒)读取一次。MPU16050单元的数据,并进行算法处理。每4次中断(即2毫秒)通过计算当前飞控板系统的姿态,结合遥控端的目标姿态,根据两者的差值通过PID控制算法对各个电机进行调速控制。每200次中断(即100毫秒)采集一次电池电压,然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大小。 图4为飞控系统软件实现的简要流程图,根据以上描述,请补全图4中的空(1)~(6)处的内容。
点击查看答案
3
问答题
0分
阅读以下关于某嵌入式系统多路数据采集的说明,回答下列问题。
[说明] 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。
设计人员设计函数num_of_passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:
9采用如下数据结构存储通道号及采集值: Struct value {unsigned int No; //通道号,1到16 unsigned short Value1; //余度1采集值 unsigned short Value2; //余度2采集值 }
10当输入参数异常时,函数返回-1;
11若正确统计了无故障通道数目,则返回该数目;
12该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。
开发人员根据上述要求使用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)||(num>16)) 5)return-1; //当输入参数异常时,函数返回-1 6)for(n=0; nimage.png=num; n++) { 7)if((array[n].Value1>45) && ((array[n].Value2>45))) 8)counter=counter+1; } 9)return counter; }
1、嵌入式软件中通常使用圈复杂度来衡量程序的可维护性(一般要求圈复杂度不大于10),请计算函数num_of_passer的圈复杂度。
2、作为测试人员,请参照表1序号1的方式使用代码审查的方法找出该程序中所包含的至少3处错误。
3、覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请指出对函数num_of_passer达到100%语句覆盖、100%分支(DC.覆盖和100%MC/DC覆盖所需的最少测试用例数目,如表2所示。
点击查看答案
4
问答题
0分
某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等功能,并能通过移动客户端对其进行远程控制。图1-1为该系统电气部分连接图,除微处理器外,还包括了片上32KJBFLASH,以及SRAM和EEPROM。
问题:1.1 该系统的SRAM的地址线宽度为11,数据线宽度为8,其容量为多少字节?
问题:1.2 该系统分别设计了IOS和Android两种不同操作系统下的客户端程序,二者在开发上都使用MVC(模型(M)—视图(V)—控制器(C))设计模式。在典型的程序设计中,用户可以直接和视图进行交互,通过对事件的操作,可以触发视图的各种事件,再通过控制器,以达到更新模型或数据的目的。请完善图1-2所示的流程模型。
问题:1.3 该系统采用数字式激光传感器检测PM2.5、PM10,并通过异步串行接口将数据上报给处理器,通信波特率为9600bps,上报周期为1.5秒,数据帧内容包括:报文头、指令号、数据(6字节)、校验和及报文尾,具体字段描述如表1-1所示。
王工根据数据报文通信协议,使用C语言编写了对应的数据接收和校验程序,请根据注释要求补全程序。程序段如下:
点击查看答案
5
问答题
0分
王工在采用某16位嵌入式CPU进行A/D采集硬件电路设计时,利用8255控制器C口中的PC0输出控制信号,利用PC7读入AD574的状态信号,利用A口和B口读入AD574转换好的12位数据。图2-1为该A/D采集硬件系统设计的部分连接示意图。
其中,AD574各个管脚功能定义如表2-1所述。
AD574的控制功能状态表如表2-2所示。
8255控制器各个管脚及地址控制描述如表2-3所示。
问题:2.1 在该嵌入式系统设计中,AD574是工作在12位转换模式还是8位转换模式?
问题:2.2 图2-1中245为双向缓冲器,在该硬件设计中配置8255控制字时,CPU需要向245进行数据输出(245的A口传输给B口);在获取AD采集数据时CPU需要接收245所传输过来的数据(245的B口传输给A口)。根据硬件设计,描述DR分别为高、低电平时,245双向缓冲器在A、B口之间进行数据传输的方向。
问题:2.3 在该A/D变换中,如果用1/2LSB(最低有效位)来表示量化误差,当该A/D控制器的量程范围为5V时,其量化误差是多大?
问题:2.4 王工根据上述硬件设计,编写对应的数据采集程序,首先需要对8255进行初始化,然后进行数据采集,请根据注释要求补全如下X86汇编程序。
点击查看答案
百度扫一扫练题
关注千题库公众号
【中级】嵌入式系统设计师-题库
千题库下载
历年真题
历年考试真题试卷, 真实检验
章节练习
按章节做题, 系统练习不遗漏
考前押题
考前押题, 提高分数
模拟试题
海量考试试卷及答案, 分数评估
进入题库
相关试卷
嵌入式系统开发与维护
综合练习
案例分析
历年真题 (上午)
嵌入式系统设计师 (上午)真题精选1
嵌入式系统设计师 (上午)真题精选2
嵌入式系统设计师 (上午)真题精选2
嵌入式系统设计师 (上午)真题精选3
历年真题 (下午)
嵌入式系统设计师 (下午)真题精选1
嵌入式系统设计师 (下午)真题精选2
嵌入式系统设计师 (下午)真题精选3
收藏本站
Ctrl+D
将本站加入到书签,做题找题搜题,快速快捷。
下载App
微信扫一扫打开
回到顶部