版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016【问题】某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等功能,并能通过移动客户端对其进行远程控制。图1-1为该系统电气部分连接图,除微处理器外,还包括了片上32KBFLASH,以及SRAM和EEPROM。【问题1】该系统的SRAM的地址线宽度为11,数据线宽度为8,其容量为多少字节?【问题2】该系统分别设计了iOS和Android两种不同操作系统下的客户端程序,二者在开发上都使用MVC(模型(M)-视图(V)-控制器(C))设计模式。在典型的程序设计中,用户可以直接和视图进行交互,通过对事件的操作,可以触发视图的各种事件,再通过控制器,以达到更新模型或数据的目的。请完善图1-2所示的流程模型。【问题3】该系统采用数字式激光传感器检测PM2.5、PM10,并通过异步串行接口将数据上报给处理器,通信波特率为9600bps,上报周期为1.5秒,数据帧内容包括:报文头、指令号、数据(6字节)、校验和及报文尾,具体字段描述如表1-1所示。王工根据数据报文通信协议,使用C语言编写了对应的数据接收和校验程序,请根据注释要求补全程序。程序段如下:注释:Serial.available():判断串口接收缓冲器的状态函数。读取串口接收缓冲器的值(128字节寄存器),以判断数据送达到串口。返回:串口已经准备好的字节数。Serial.read():读取串口函数。返回:串口的数据第一个字节,如果没有返回-1。Serial.flush():清除串口缓冲器内容函数。返回:None。【问题1】(3分)【问题2】(3分)(1)控制器(2)视图(3)模型【问题3】(9分)(1)0xAA(2)0xC0(3)mPkt[i+2](4)mPkt[8](5)(uintl6_t)mPkt[2]丨(uintl6_t)(mPkt[3]«8)或其等价形式(6)(uintl6_t)mPkt[4]丨(uintl6_t)(mPkt[5]«8)或其等价形式【问题1】该微处理器系统拥有一块11条地址线、8条数据线的SRAM,要求计算其容量。因为是11条地址线,所以地址的个数是2的11次方。然后有8条数据线,说明一次可以访问的数据为8bit,也就是一个单元存放了1个字节。因此存储的容量大小为:211*8bit=2KB。【问题2】mvc框架由模型(M),视图(V),控制器(C)组成,执行流程一般是:在控制器访问模型获取数据,通过视图渲染页面。(1)控制器(Controller):控制器接受用户的输入并调用模型和视图去完成用户的需求。该部分是用户界面与Model的接口。一方面它解释来自于视图的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面,它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。(2)模型(Model):模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。(3)视图(View):视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。完整的流程模型如下图所述:【问题】王工在采用某16位嵌入式CPU进行A/D采集硬件电路设计时,利用8255控制器C口中的PCO输出控制信号,利用PC7读入AD574的状态信号,利用A口和B口读入AD574转换好的12位数据。图2-1为该A/D采集硬件系统设计的部分连接示意图。其中,AD574各个管脚功能定义如表24所述。AD574的控制功能状态表如表2-2所示。8255控制器各个管脚及地址控制描述如表2-3所示。【问题1】在该嵌入式系统设计中,AD574是工作在12位转换模式还是8位转换模式?【问题2】图2-1中245为双向缓冲器,在该硬件设计中配置8255控制字时,CPU需要向245进行数据输出(245的A口传输给B口);在获取AD采集数据时CPU需要接收245所传输过来的数据(245的B口传输给A口)。根据硬件设计,描述DR分别为高、低电平时,245双向缓冲器在A、B口之间进行数据传输的方向。【问题3】在该A/D变换中,如果用1/2LSB(最低有效位)来表示量化误差,当该A/D控制器的量程范围为5V时,其量化误差是多大?【问题4】王工根据上述硬件设计,编写对应的数据采集程序,首先需要对8255进行初始体,然后进行数据采集,请根据注释要求补全如下X86汇编程序。【问题1】12位【问题2】DR=高电平时,A口传向B口DR=低电平时,B口传向A口【问题3】5V÷4096÷2=0.61mv【问题4】(1)#C003H(2)#C002H#00H(3)#00H(4)#01H(5)#80H(6)#C000H(7)#C001H(8)#0FH本题考查嵌入式硬件系统设计和基本的汇编程序编写知识。【问题1】根据表2-1中AD574各个管脚功能定义表,可以得知A0=0时按照完整的12位数据进行输出,A0=1时按照8位数据进行输出。然后从图2-1的原理图可以看出,A0接地,即低电平。所以采用的是12位转换模式。【问题2】图2-1中245为双向缓冲器,在该硬件设计中配置8255控制字时,CPU需要向245进行数据输出(245的A口传输给B口);在获取AD采集数据时CPU需要接收245所传输过来的数据(245的B口传输给A口)。根据硬件设计,根据表2-3中的RD非为读控制信号,WR非为写控制信号,都是低电平有效。而DR是跟RD非连接在一起,当DR为低电平的时候,也就是RD为低电平,所以RD是有效的,也就是读控制信号有效,是从B口传向A口。当DR为高电平的时候,RD是无效的,也就是WR为低电平有效的,也就是写控制信号有效,是从A口传向B口。【问题3】在该A/D变换中,如果用1/2LSB(最低有效位)来表示量化误差,当该A/D控制器的量程范围为5V时,其量化误差是5v*(1/212)*1/2=0.61mv。【问题】某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集的可靠性,对采集数值使用三余度采集方法进行三个通道的数据采集。1.三余度数据采集及处理要求:(1)如果某通道采集值超过[3.0,3.0]v正常范围内,且与任一相邻通道间差值不大于0.5v,则该通道数据满足要求;(2)如果某通道采集值超过[-3.0,3.0]v正常范围,或者此通道采集值与其他两个通道的差值均大于0.5v,则该通道数据不满足要求;(3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据平均值;(4)如果三通道值均满足要求,且相邻两数值的差值相等,则取三个采集值的中间值;(5)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据平均值;(6)如果大于一个通道数据不满足采集要求,取安全值0v。2.对计算输出控制率的具体处理算法如下:(1)如果依据采集数据计算的控制率C1与目前实际控制率C0差值不大于0.01,则使用本周期计算控制率C1进行输出控制,否则使用目前实际控制率C0输出控制,连续超过范围计数加1,不上报传感器故障;(2)如果连续3个周期计算的控制率C1与目前实际控制率C0差值大于0.01,则上报传感器三级故障,连续超过范围计数清零,使用目前实际控制率C0输出控制;如果已经连续3个周期控制率差值超过范围,并已上报三级故障,但第4个周期计算的控制率C1与目前实际控制率C0差值不大于0.01,则清除三级故障上报,并使用C1进行输出控制;(3)如果累计大于等于10个周期计算的控制率C1与目前实际控制率C0差值大于0.01,则上报传感器二级故障,使用目前实际控制率C0输出控制;(4)如果累计大于等于100个周期计算的控制率C1与目前实际控制率C0,差值大于0.01,则上报传感器一级故障,清除二级故障,并切断输出控制(输出安全值0);(5)如果低级故障和高级故障同时发生,则按高级故障上报和处理。【问题1】为了测试采集算法,在不考虑测量误差的情况下,根据所设计测试用例的输入填写表3-1中的(1)~(6)空,预期输出结果精度为小数点后保留两位数字。【问题2】白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用的方法,请简述白盒测试方法与黑盒测试方法的概念。同时依据本题说明,指明问题1中设计的测试用例使用了白盒测试方法还是黑盒测试方法。【问题3】为了测试控制率计算算法,在不考虑测量误差的情况下,请完善所设计的测试用例,填写表3-2中的空(1)~(6)。【问题1】(1)1.90v(2)1.55v(3)2.70v(4)-2.90v(5)0v(6)0v【问题2】白盒测试也称结构测试、逻辑测试或基于程序的测试,这种测试应了解程序的内部构造,并且根据内部构造设计测试用例。黑盒测试又称功能测试、数据驱动测试或基于需求规格说明的测试,这种测试不必了解被测对象的内容情况,而依靠需求规格说明中的功能来设计测试用例。问题1中设计的测试用例使用了黑盒测试方法。【问题3】(1)1.454(2)2(3)9到98都可以(4)二级故障(5)0(6)一级故障本题考查大家对嵌入式软件测试的方法概念以及测试用例的设计能力。【问题1】根据题干的描述信息来进行答题。1.三余度数据采集及处理要求:(1)如果某通道采集值超过[3.0,3.0]v正常范围内,且与任一相邻通道间差值不大于0.5v,则该通道数据满足要求;(2)如果某通道采集值超过[-3.0,3.0]v正常范围,或者此通道采集值与其他两个通道的差值均大于0.5v,则该通道数据不满足要求;(3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据平均值;(4)如果三通道值均满足要求,且相邻两数值的差值相等,则取三个采集值的中间值;(5)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据平均值;(6)如果大于一个通道数据不满足采集要求,取安全值0v。根据以上的6条设计要求,根据表格中的值来设计测试用例。比如序号2,三个采集值都是在[-3.0,3.0]v的正常范围内,且与任一相邻通道间差值不大于0.5v,根据第3条的说明,则取三通道中差值较小的两通道数据平均值,In_U[0]和In_U[2]的平均值为(2.0v+1.8v)/2=1.90v。【问题2】此题考查白盒测试方法和黑盒测试方法的概念及应用。白盒测试又称结构测试、透明盒测试、逻辑驱动测试、基于代码的测试。盒子指被测试的软件,白盒指盒子是可视的。白盒测试是一种测试用例设计方法,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例。白盒测试主要针对被测程序的源代码,主要用于软件验证,不考虑软件的功能实现,只验证内部动作是否按照设计说明书的规定进行。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。问题1中设计的测试用例时,只是根据设计算法,进行功能方面的测试,不需要了解程序的内部构造,按照黑盒测试方法的概念,确定问题1使用了黑盒测试方法。【问题3】这道题类似于问题1,考查大家对测试用例的设计能力,只是难度稍微偏高点了,因为不仅要考虑输入数据,还要考虑前置条件以及输出的情况。【问题】某公司承接了一个数据处理模块的项目,由沈工负责模块的方案设计,沈工的设计方案如图4-1所示。该数据处理模块以PowerPC处理器为核心,设计了存储器、以太网、温度传感器、调试接口等功能电路。处理器外接FLASH存储器用于存储上电初始化程序和应用程序。处理器通过I2C接口连接测温电路,监控模块的工作温度。以太网、串口、调试离散量等用于软件调试和状态显示。测温电路选用ADT7461AR芯片,用于测试模块温度,ADT7461AR是一个双通道数字温度计,工作电压3v至5v,具有低/超温报警功能,采用I2C接口实现主机对远程/本地温度数据的采集,采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。存储模块采用某公司的FLASH存储芯片。支持编程、擦除、复位等操作命令。该FLASH芯片的常用命令序列如表4-1所示。表中的地址和数据皆为16进制数。【问题1】ADT7461AR芯片支持两种测温模式,其中第一种模式为二进制模式,用0表示0度,测温范围为0℃~+127℃;第二种模式为偏移二进制模式,用64表示0度,测温范围为-55℃~+150℃,温度数据转换关系如表4-2所示。请在(1)~(4)处写出对应温度的二进制数。【问题2】沈工用C语言实现对FLASH的操作,需按照表4-1中定义的命令序列顺序执行即可。仔细阅读下列代码,请在(1)~(4)处将对应的C语言代码补全。【问题3】该嵌入式系统对处理的性能要求较高,沈工在完成软件设计后,需要对每一个函数的执行性能进行测试,检测其是否满足系统设计的要求。沈工通过PowerPC处理器内部的高精度时钟寄存器(TimeBase)进行计时,该寄存器由高低两个32位的寄存器组成,根据总线频率自动递增,当低32位寄存器递增到0xFFFFFFFF时,向高32位寄存器进位。计数值可以换算成时间值,精确到微秒级。在功能函数fimction10的执行体前后,进行时间统计,最后计算出该函数的执行时间值,请在(1)~(2)处将对应的C语言代码补全。【问题1】(1)0011011000000000(2)0000000001000000(3)0100000100000000(4)0011001000000000【问题2】(1)0x2AA(2)0x80(3)offset_addr(4)0x30【问题3】(1)tbl.lower–tb0.lower(2)0xFFFFFFFF–tb0.lower+tbl.lower+1本题考查嵌入式系统中计算机模拟量表示、FLASH设备驱动、高精度计数器等方面的相关知识及应用。【问题1】根据题干的描述信息,该芯片的采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。当芯片工作在第一种模式(二进制模式),用0表示0度。根据温度为0℃时为0000000000000000,+1℃时为0000000100000000,说明高8位寄存器的范围是从0到127,表示了0℃~127℃。然后根据+0.5℃时为0000000010000000,低8位寄存器中从左到右分别表示了+0.5℃,+0.25℃,+0.125℃等。当芯片工作在第二种模式(偏移二进制模式),用64表示0度。低8位跟二进制模式是一样的。高8位寄存器从9(64-55)到214(64+150),表示-55℃~+150℃【问题2】根据表4-1以及C语言代码的注释,可以得知是需要对扇区进行擦除操作,而扇区擦除操作共需要6个命令的总线写操作完成,命令序列如下:(1)将0xAA写到FLASH芯片地址0x555;(2)将0x55写到FLASH芯片地址0x2AA;(3)将0x80写到FLASH芯片地址0x555;(4)将0xAA写到FLASH芯片地址0x555;(5)将0x55写到FLASH芯片地址0x2AA;(6)将0x30写到要擦除的扇区对应的地址。【问题3】PowerArchitecture的处理器提供了一个名为TimeBase(TB)的计数寄存器,它用来记录系统时间。TB寄存器会以一种依赖于实现的总线频率周期性地增加,这个频率可能不是恒定的。操作系统(OS)要负责确定更新频率是否发生了变化,以及对内部结构进行必要的调整,从而将计数值换算为绝对时间值。一般TB寄存器的计时精度可以达到微妙级。本项目中用一个包含高低两个32位整型数的结构体来存储TB寄存器的值。当低32位寄存器发生溢出时,处理器会自动向高32寄存器加1。通过插桩的方式测量函数的执行时间时,需要在功能函数fimctionlO的执行体前后,分别两次获取TB寄存器的值,最后计算两次的差值,即为该函数的执行时间值。本题中tb0为函数进入时的TB值,tb1为函数退出前的TB值,tb2为tb1和tb0的差值,即函数的执行时间。当tb1的低32位大于等于tb0的低32位时,tb2的高位等于tb1的高位与tb0的高位的差值,tb2的低位等于tb1的低位与tb0的低位的差值。当tb1的低32位小于tb0的低32位时,则需借用高位进行计算。tb2的高位等于tb1高位与tb0高位的差值再减1,tb2的低位等于0xFFFFFFFF-tb0的低位+tb1的低位再加1。【问题】【程序1】是关于条件编译的一段程序示例;【程序2】是一段switch语句应用示例。C语言要求switch之后圆括弧内的“表达式”类型必须是整型或字符型。该程序代码中a与x的对应关系如表5-1所示。【程序3】是冒泡排序算法的实现。假设有N个数据存放在数组aa中,用冒泡排序将这N个数从小到大排序。首先,在aa[0]到aa[N-1]的范围内,依次比较两个相邻元素的值,若aa[j]>aa[j+l],则交换aa[j]与aa[j+l],j的值取0,1,2,…,N-2;经过这样一趟冒泡,就把这N个数中最大的数放到aa[N-l]中。接下来对aa[0]到aa[N-2]中的数再进行一趟冒泡,这样就将该范围内的最大值换到aa[N-2]中。依次进行下去,最多只要进行N-1趟冒泡,就可完成排序。如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理。【问题1】(1)什么是C语言的条件编译?(2)请解释#ifndef的作用。(3)分析【C程序代码1】,写出该段执行后的输出结果。【问题2】完成【C程序代码2】中的(1)~(3)空,将答案写到答题纸相应的位置。【问题3】完成【C程序代码3】中的(4)~(6)空,将答案写到答题纸相应的位置。【问题1】(1)条件编译:C语言中提供控制编译器流程的语句。或C源程序中希望对其中一部分内容只是在满足一定条件时才进行编译,形成目标代码,这种对一部分内容指定编译的条件称为条件编译。(2)#ifndef的作用:如果后面的“宏名”未定义,则编译其体内的程序段;否则就编译#else部分的程序段,如果没有#else部分,则当“宏名”已定义时直接跳过#endif。(3)x=2【问题2】(1)x=3(2)x=l(3)x=2【问题3】(4)&aa[i](5)N-i-1(6)!swap或swap==0本题考查C语言编程方面的基础知识。【问题1】考查条件编译的概念;【问题2】考查考生对switch语句的理解;【问题3】考查考生对排序算法程序的理解。【问题1】条件编译是指预处理器根据条件编译指令,有条件地选择源程序代码中的一部分代码作为输出,送给编译器进行编译。主要是为了有选择性地执行相应操作,防止宏替换内容(如文件等)的重复包含。比如以下ifdef语句的功能就是:如果#ifdef后的宏名在此前已用#define语句定义,则编译程序段1;否则编译程序段2,则程序段1被选中,否则程序段2被选中。Ifndef跟ifdef刚好相反。另外就是#else是可以没
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校消防演练工作总结(3篇)
- 2026年PICCO监测临床操作规范指南样本
- 医养结合型养老院制度及职责汇编
- 交通轨道建设项目经理绩效评定表
- 雪糕广告活动策划方案(3篇)
- 天台防水施工方案(3篇)
- 智能制造设备调试与维护技术指南
- 2026校招:陕西电子信息集团试题及答案
- 护理创新实践:护理案例研究
- 产品采购审批流程含成本效益分析标准化工具
- 深水井施工组织设计方案
- DL∕T 1379-2014 电力调度数据网设备测试规范
- MOOC 算法设计与分析-武汉理工大学 中国大学慕课答案
- 《电工电子技术》课程整体教学设计
- 《高甘油三酯血症》课件
- 【教学创新大赛】教学创新成果报告汇编(8篇)
- 蒙台梭利教学法PPT完整全套教学课件
- 小型红薯粉打捆机的设计17
- 企业安全生产托管工作服务手册
- 2023年新版八年级生物竞赛试题
- 尿动力学检查操作指南2023版
评论
0/150
提交评论