[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc

上传人:explodesoak291 文档编号:493318 上传时间:2018-11-30 格式:DOC 页数:24 大小:347KB
下载 相关 举报
[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷及答案与解析 一、试题一 0 阅读以下说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】 某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境空气参数 (包含温湿度、可燃气体、细颗粒物等 ),空气净化、加湿、除湿、加热和杀菌等功能,并能通过移动客户端对其进行远程控制。 图 1-1为该系统电气部分连接图,除微处理器外,还包括了片上 32KB FLASH,以及 SRAM和EEPROM。1 该 系统的 SRAM的地址线宽度为 11,数据线宽度为 8,其容量为多少字节 ? 2 该

2、系统分别设计了 iOS和 Android两种不同操作系统下的客户端程序,二者在开发上都使用 MVC(模型 (M)一视图 (V)一控制器 (C)设计模式。在典型的程序设计中,用户可以直接和视图进行交互,通过对事件的操作,可以触发视图的各种事件,再通过控制器,以达到更新模型或数据的目的。请完善图 1-2所示的流程模型。 3 该系统采用数字式激光传感器检测 PM2 5、 PM10,并通过异步串行接口将数据上报给处理器,通信波特率为 9600bps,上 报周期为 1 5秒,数据帧内容包括:报文头、指令号、数据 (6字节 )、校验和及报文尾,具体字段描述如表 1-1所示。王工根据数据报文通信协议,使用

3、C语言编写了对应的数据接收和校验程序,请根据注释要求补全程序。 程序段如下: #define uintl 6_t unsigned short #define uint8_t unsigned char uintl6_t Pm25; uintl6_t Pm10; void ProcessSerialData() uint8 t mData=0; uint8 t i=0; uint8 t mPkt10=0); uint8 t mCheck=0; while(Serial available()0) mData=Serial read(); delay(2); 延迟 2毫秒 if(mData= (

4、1) ) 等待直到有效数据包接收到 mPkt0=mData; mData=Serial read(); if(mData= (2) ) mPkt1=mData; mCheck=0; for(i=0; i 二、试题二 3 阅读以下说明,回答问题 1至问题 4,将解答填入答题纸的对应栏内。【说明】 王工在采用某 16位嵌入式 CPU进行 AiD采集硬件电路设计时,利用 8255控制器C口中的 PC0输出控制信号,利用 PC7读入 AD574的状态信号,利用 A口和 B口读入 AD574转换好的 12位数据。图 2-1为该 A D采集硬件系统设计的部分连接示意图。 其中, AD574各个管脚功能定义

5、如表 2-1所述。AD574的控制功能状态表如表 2-2所示。8255控制器各个管脚及地址控制描述如表 2-3所示。4 在该嵌入式系统设计中, AD574是工作在 12位转换模式还是 8位转换模式 ? 5 图 2 1中 245为双向缓冲器,在该硬件设计中配置 8255控制字时, CPU需要向245进行数据输出 (245的 A口传输给 B口 );在获取 AID采集数据时 CPU需要接收245所传输过来的数据 (245的 B口传输给 A口 )。根据硬件设计,描述 DR分别为高、低电平时, 245双向缓冲器在 A、 B口之间进行数据传输的方向。 6 在该 A D变换中,如果用 I 2 LSB(最低有

6、效位 )来表示量化误差,当该 AID控制器的量程范围为 5V时,其量化误差是多大 ? 7 王工根据上述硬件设计,编写对应的数据采集程序, 首先需要对 8255进行初始化,然后进行数据采集,请根据注释要求补全如下 X86汇编程序。 初始化 8255程序如下: INIT8255: MOV DPTR, (1) ;进行 8255的工作模式配置 MOV A, 10011010B MOVX DPRT, A MOV A, 0000000IB MOVXDPRT, A 数据采集程序如下: ORG 0200H ACQU NOP MOV DPTR, (2) ;通过 8255的 C口进行 AD574的 MOV A,

7、(3) ;转换控制 MOVX QDPRT, A MOV A, (4) MOVX DPRT, A WAIT: MOVX A, DPTR ANL A, (5) :通过与操作判断 AD转换是否完毕 JNZ WAIT MOV DPTR, (6) ;读取 8255 A口的 AD转换数 据 MOVX A, DPTR MOV R2, A ;有效数据存放在 R2寄存器中 MOV DPTR, (7) ;读取 8255 B口的 AD转换数据 MUVX A, DPTR ANL A, (8) ;提取 A寄存器中有效的低 4位数据 MOV R3, A ; 4位有效数据存放在 R3寄存器中 RET 三、试题三 7 阅读以

8、下说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内 。 【说明】 某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集的可靠性,对采集数值使用三余度采集方法进行三个通道的数据采集。 1三余度数据采集及处理要求: (1)如果某通道采集值在 -3 0, 3 0v正常范围内,且与任一相邻通道间差值不大于 0 5v,则该通道数据满足要求; (2)如果某通道采集值超过 -3 0, 3 0v正常范围,或者此通道采集值与其他两个通道的差值均大于 0 5v,则该通道数据不满足要求; (3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据平均值; (4)如果三通道值均满足要

9、求,且相邻两数值的差值相等,则取三个采集值的中间值; (5)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据平均值; (6)如果大于一个通道数据不满足采集要求,取安全值 0v。 2对计算输出控制率的具体处理算法如下: (1)如果依据采集数据计算的控制率 C1与目前实际控制率 C0差值不大于 0 01,则使用本周期计算控制率 C1进行输出控制,否则使用目前实际控制率 C0输出控制,连续超过范围计数加 1,不上报传感器故障; (2)如果连续 3个周期计算的控制率 C1与目前实际控制率 C0差 值大于 0 01,则上报传感器三级故障,连续超过范围计数清零,使用目前实际控制率 C0输出控制

10、;如果已经连续 3个周期控制率差值超过范围,并已上报三级故障,但第 4个周期计算的控制率 C1与目前实际控制率 C0差值不大于0 01,则清除三级故障上报,并使用 C1进行输出控制; (3)如果累计大于等于 10个周期计算的控制率 C1与目前实际控制率 C0差值大于 0 01,则上报传感器二级故障,使用目前实际控制率 C0输出控制; (4)如果累计大于等于 100个周期计算的控制率 C1与目前实际控制率 C0差值大于 0 01,则上报传感器一级故 障,清除二级故障,并切断输出控制 (输出安全值 0); (5)如果低级故障和高级故障同时发生,则按高级故障上报和处理。 8 为了测试采集算法,在不考

11、虑测量误差的情况下,根据所设计测试用例的输入填写表 3-1中的 (1) (6)空,预期输出结果精度为小数点后保留两位数字。9 白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用的方法,请简述白盒测试方法与黑盒测试方法的概念。同时依据本题说明,指明问题 1中设计的测试用例使用了白盒测试方法还是黑盒测试方法。 10 为了测试控制率计算算法,在不考虑测量误差的情况下 ,请完善所设计的测试用例,填写表 3-2中的空 (1) (6)。四、试题四 10 阅读下列说明,回答问题 1至问题 3,将答案填入答题纸的对应栏内。【说明】 某公司承接了一个数据处理模块的项目,由沈工负责模块的方案设计,沈工的设计方案如

12、图 4-1所示。该数据处理模块以 PowerPC处理器为核心,设计了存储器、以太网、温度传感器、调试接口等功能电路。 处理器外接 FLASH存储器用于存储上电初始化程序和应用程序。处理器通过 12C接口连接测温电路,监控模块的工作温度。以太网、串口、调试离散量等用于软件调试和状态显示 。 测温电路选用ADT7461AR芯片,用于测试模块温度。 ADT7461AR是一个双通道数字温度计,工作电压 3v至 5v,具有低超温报警功能,采用 IzC接口实现主机对远程本地温度数据的采集,采集数据存储在高低两个数据寄存器中,每个寄存器为 16位,高寄存器表示整数值,低寄存器表示小数值。存储模块采用某公司的

13、 FLASH存储芯片。支持编程、擦除、复位等操作命令。该 FLASH芯片的常用命令序列如表 4-1所示。表中的地址和数据皆为 16进制数。11 ADT7461AR芯片支持两种测温模式,其中第一种模式为 二进制模式,用 0表示0度,测温范围为 0 +127 ;第二种模式为偏移二进制模式,用 64表示 0度,测温范围为一 55 +150 ,温度数据转换关系如表 4-2所示。 请在 (1) (4)处写出对应温度的二进制数。12 沈工用 C语言实现对 FLASH的操作,需按照表 4-1中定义的命令序列顺序执行即可。仔细阅读下列代码,请在 (1) (4)处将对应的 C语言代码补全。 *定义宏 FLASH

14、_BASE_ADDRESS为 FLASH芯片的基地址 *: #define FLASH_BASE_ADDRESS XXXXXXXX(此处代码略 ) *定义向 FLASH空间写一个命令的宏 * #de fine FLASH_WRITE_BYTE(addr, data)XXXXXXXX(此处代码略 ) *Reset Flash* Void ResetFlash(VOid) FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS, 0xF0); return; *对 FLASH的擦除是按扇区进行的, SectorErase函数每次可擦除一个扇 区。假设某扇区的偏移地址为 offset

15、_addr,下面 SectorErase函数体为擦除该扇区的命令序列 * void SectorErase(int offset_addr) FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS+0x555, 0xAA); FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS+(1), 0x55); FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS+0x555, (2); FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS+0x555, 0xAA); FLASH_WRITE_BYTE(FLASH_BASE_ADDRE

16、SS+0x2AA, 0x55); FLASH_WRITE_BYTE(FLASH_BASE_ADDRESS+(3), (4); return; 13 该嵌入式系统对处理的性能要求较高,沈工在完成软件设计后,需要对每一个函数的执行性能进行测试,检测其是否满足系统设计的要求。沈工通过 PowerPC处理器内部的 高精度时钟寄存器 (TimeBase)进行计时,该寄存器由高低两个 32位的寄存器组成,根据总线频率自动递增,当低 32位寄存器递增到 0xFFFFFFFF时,向高 32位寄存器进位。计数值可以换算成时间值,精确到微秒级。 在功能函数 functionlO的执行体前后,进行时间统计,最后计算

17、出该函数的执行时间值,请在 (1) (2)处将对应的 C语言代码补全。 S truct timeBase uns igned int upper; unsigned int lower; ; Void function1(Void) struct timeBase tb0, tb1, tb2; long Value; *获取 TimeBase寄存器中的计数值 * TimeBaseGet( tb0 upper, tb0 lower); /* 函数执行体 */ *再次获取 TimeBase寄存器中的计数值 * TimeBaseGet( tb1 upper, tbl lower); tb2 uppe

18、r=tb1 uppertb0 upper; *当低 32位计数值未反转,则直接进行计算,否则需借用高位进行计算 * if ( tb1 lower = tb0 lower ) tb2 lower=(1); else tb2 upper一 =1; tb2 lower=(2); *根据总线频率,将时钟节拍转换为时间值 * value=CountToUs (tb2); printf(” s cost time dus n”, _function_, Value); 五、试题五 13 阅读以下说明和 C程序代码,回答问题 1至问题 3,将答案填入答题纸的对应栏内。【说明】 【程序 1】是关于条件编译的一

19、段程序示例; 【程序 2】是一段switch语句应用示例。 C语言要求 switch之后圆括弧内的 “表达式 ” 类型必须是整型或字符型。该程序代码中 a与 x的对应关系如表 5-1所示。【程序 3】是冒泡排序算法的实现。假设有 N个数据存放在数组 aa中,用冒泡排序将这 N个数从小到大排序。 首先,在 aa0到 aaN-1的范围内,依次比较两个相邻元素的值,若 aajaaj+1,则交换 aaj与 aaj+1, j的值取 0, 1, 2, , N一 2;经过这样一趟冒泡,就把这 N个数中最大的数放到 aaN1中。接下来对 aa0到aaN一 2中的数再进行一趟冒泡,这样就将该范围内的最大值换到

20、aaN-2中。依次进行下去,最多只要进行 N-1趟冒泡,就可完成排序。如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理。【 C程序代码 l】 #include #define_DEF_X main() int x; #ifndef_DEF_X x=1; #else x=2; #endif printf(”x= d n”, x); 【 C程序代码 2】 float a; int x; Scanf(” d”, a);switch( (int)a) case 0: case 1: case 2: if(a2)X=1; else (1) ; break; case 3: (2)

21、; break; case 4: (3); break; default: prinf(”a is error r n”); 【 C程序代码 3】 #include #define N 8 main() int I, j, aaN, temp, swap; clrscr(); for(i=0; iaaj+1) swap=1; temp=aaj; aaj=aaj+1; aaj+1=temp; if( (6) ) break; for(i=0; i 14 (1)什么是 C语言的条件编译 ? (2)请解释 #ifndef的作用。 (3)分析【 C程序代码 1】,写出该段执行 后的输出结果。 15 完

22、成【 C程序代码 2】中的 (1) (3)空,将答案写到答题纸相应的位置。 16 完成【 C程序代码 3】中的 (4) (6)空,将答案写到答题纸相应的位置。 2016年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷答案与解析 一、试题一 1 【正确答案】 2118=2048B=2KB 【试题解析】 该微处理器系统拥有一块 11条地址线、 8条数据线的 SRAM,要求计算其容量。此题考查嵌入式系统微处理器体系结构的基本概念。题目说明有 8根数据线,表示访问数据一 次可以访问 8个 bit(一个字节 ),即一个单元放一个字节。有 11根地址线,表示编址为 0 211一 1

23、。 因此存储的容量大小为:8*211bit=2048B=2KB。 2 【正确答案】 (1)控制器 (2)视图 (3)模型 【试题解析】 此题考查嵌入式系统软件设计的基本概念和流程。客户端软件开发使用框架形式,采用模型 (M)一视图 (V)一控制器 (C)设计模式。 MVC模式使应用程序的输入、处理和输出分开。使用 MVC应用程序被分成三个核心部件:模型(M)、视图 (V)、控制器 (C),它们各自处理自己的任 务。 视图是用户看到并与之交互的界面。对老式的 Web应用程序来说,视图就是由 HTML元素组成的界面,在新式的 Web应用程序中, HTML依旧在视图中扮演着重要的角色,但一些新的技术

24、己层出不穷,它们包括 Adobe Flash和 XHTML, XML XSL, WML等一些标识语言和 Web services。如何处理应用程序的界面变得越来越有挑战性。MVC的好处是它能为你的应用程序处理很多不同的视图。 模型表示企业数据和业务规则。在 MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和 ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去

25、完成用户的需求。所以当单击 Web页面中的超链接和发送 HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。完整的流程模型如下图所述:3 【正确答案】 (1)0xAA (2)0xC0 (3)mPkti+2 (4)mPkt8 (5)(uintl6_t)mPkt2|(uintl6_t)(mPkt30) mData=Serial read(); 通过 Serial read读取串口函数接口读一个字节串口数据,存到 mData变量中。 delay(2); 延迟 2ms,确保数据包已被接收。 if(mData=

26、0xAA)判断是否为数据帧头,帧头标志 0xAA已在题目中给出。 mPkt0=mData; 如果为帧头,说明一帧数据开始,此时将帧头存到接收缓冲区内 mData=Serial read(); *使用 Serial read接口继续读取一个字节帧数据,存到 mData变量中,完整的代码此时也应用延时 1一 2ms的操作 * if(mData=0xc0)继续判断是否为指令号 0xC0,即数据帧中第二个字节内容 mPkt1=mData; 将指令号 0xC0存到接收缓冲区内 mCheck=0; 校验和变量 mCheck清 零 for(i=0; i6; i+) data recv and crc cal

27、c 使用 Serial read接口循环接收 6个字节的数据,依次存入接收缓冲区中 mPkti+2=Serial read(); delay(2); 每次调用 Serial read接口读数据后,延迟 2ms的时间 mCheck+=mPkti+2;计算校验和,存到变量 mCheck中 mPkt8=Seriall read(); 使用 Seriall read接口读取校验和数据,存到接收缓冲区中 delay(1); mPkt9=Seriall read(); 使用 Seriall read接口读取帧尾数据 if(mCheck=mPkt8) 判断校验和是否相符 Seriall flush(); *

28、校验和相符,表示已完成一帧数据接收,调用 Seriall flush接口清除串口 数据 * Pm25=(uintl6一 t)mPkt2|(uintl6一 t)(mPkt38); *计算 PM2 5的数值,题目给出数据 1表示 PM2 5的低字节,数据 2表示PM2 5的高字节,因此将字节序为 3的数据 mPkt3左移 8位于字节序为 2的数据 mPkt2进行或操作得出,注意使用强制类型转换,位操作的方式计算量相对小,计算速度快,因此在计算资源紧张的嵌入式环境中大量使用 * Pm10=(uint16一 t)mPkt4|(uint16一 t)(mPkt58); get one good packe

29、t return; 通过上述分析,容易得出各问题答案如下: (1)判断是否为数据帧的帧头,查题干数据可知帧头标识为 0xAA; (2)判断是否为数据帧的指令号,查题干数据可知指令号为 0xC0: (3)进行 CRC计算,根据代码上下文可知为为第 2 7字节数据 mPkti+2; (4)进行 CRC校验,查题干数据可知 CRC校验位为 mPkt8; (5)考查位操作,根据题干数据可知为数据 2左移 8位加上数据l(uintl6_t)mVkt2| (uintl6_t)(mPkt38)或者 (uintl6_t)(mPkt38)|mPkt2); (6)考查位操作,根据题干数据可知为数据 4左移 8位加

30、上数据3(uintl6_t)mPkt4| (uintl6_t)(InPl(t58)或者 (uintl6_t)(mPkt58)|mPkt4)。 二、试题二 4 【正确答案】 12位 【试题解析】 在该嵌入式系统设计中, AD574是工作在 12位转换模式还是 8位转换模式依赖于 AD574周边的管脚电路设计。从题目中已经给出的器件功能 描述并结合原理图进行推断。 从题目给出的器件描述中可以看出,根据 AD574的 A0管脚确定 12位 8位模式,从原理图可以看出, A0接地,即低电平。结合 AD574的功能描述,可以知道该系统设计中 AD574工作在 12位模式。 5 【正确答案】 DR=高电平

31、时, A口传向 B口 DR=低电平时, B口传向 A口 【试题解析】 图 2-1中 245为双向缓冲器,在该硬件设计中配置 8255控制字时, CPU需要向 245进行数据输出 (245的 A口传输给 B口 );在获取 AD采集数据时 CPU需要接收 245所传输 过来的数据 (245的 B口传输给 A口 )。 根据硬件设计图可以看出,当 DR为高电平时, RD信号是无效的,也就是读信号无效,即此时为写信号有效。在写信号有效情况下,数据传输方向是从处理器向 8255方向进行数据传输,即从 A口传输给 B口。反之,如果 RD为低电平时,此时 RD信号有效,也就是读信号有效,既需要从外部将数据读入

32、到 CPU处理器中,即从 8255进行数据读取,放到处理器中,所以方向应该是从 B口传输到 A口。 6 【正确答案】 5V40962=0 61mv 【试题解析】 在该 A D变换中,如果用 1 2 LSB(最低有效位 )来表示量化误差,当该 A D控制器的量程范围为 5v时,其量化误差是多大 ? 由于工作在 12位,其范围为 4096个刻度。另外考虑到采用 1 2LSB作为量化误差,所以误差大小即为: 5v (4096*2)=0 61mv。 7 【正确答案】 (1)#C003H (2)#C002H (3)#00H (4)#01H (5)#80H (6)#C000H (7)#C001H (8)#

33、0FH 【试题解析】 运行数据采集程序时,首 先需要对 8255进行初始化,然后进行数据采集。 在该程序中,需要先进行 8255的工作模式配置,由原理图和 8255的工作模式可知,在该配置情况下,必须使得 8255的 A1 A0=11,即工作在寻址控制器模式下,同时保证 8255的片选有效,即必须使得 A15=A14=1,A13=A12=A11=A2=0 才可以,所以此时需要给 DPTR寄存器的地址为#C003H。 在进行数据采集过程中,需要先通过 8255的 C口进行 AD574的转换控制,要对 C口操作即需要 A1A0=10,再考虑到片选的有效性,需要给 DPTR的地址是#C002H。 在

34、进行一次数据转换时需要在 PC0产生一个上升沿,所以要给 C口输出配置为#00H和 #01H。 当从 C口取出状态字后,需要借助 C口的最高位 STS进行转换完毕的状态判断,因此取出数据存在 A寄存器后,需要和 #80H进行与操作来判断最高位的完成状态。 当判断有有效数据时候,需要分别从 8255的 A口和 B口进行数据的获取,因此需要分别配置 A口和 B口的地址,依次为 #C000H和 #C001H。 在进行 12位数据合并时,只需要通过与操作取出低 4位数据,和 #0FH进行 与操作即可。 三、试题三 8 【正确答案】 (1)1 90v (2)1 55v (3)2 70v (4)-2 90

35、v (5)0v (6)0v 【试题解析】 为了测试三余度通道数据采集算法,就要依据题目说明三余度通道数据采集及处理要求中给定的 6条设计要求,进行测试用例的设计。首先依据第 1条设计说明,采集值正常范围为 -3 0, 3 0v,将输入范围进行等价类划分,划分为无效等价类 (超出正常范围 )和有效等价类 (正常范围 ),同时在有效等价类中,还存在 “任意两通 道间差值不大于 0 5v”的约束。将设计测试用例的范围整理出来后,就可按照软件测试的要求设计测试用例。但是由于本题给出了采集值,只需要根据采集值计算输出即可。 对于序号 1、序号 2和序号 3,因为三个采集值都是正常范围,且任意两通道间差值

36、不大于 0 5v,依据第 3条和第 4条设计说明,采集值应为差值较小的两通道数据的平均值或相邻两数值的差值相等,则取三个采集值的中间值。因为序号 1数据差值都为 0 0v,所以取三个通道采集值的中间值,故采集值为 0 00v;序号 2取 In_U0和 In_U2的平均值,为 1 90v;序号 3取 In_U0和 In_U1的平均值,为 1 55v。 对于序号 4,三个通道采集值是正常范围,但 In_U2通道与 In_U0和 In_U1间差值大于 0 5v,依据第 2条和第 5条设计说明, In_U2通道采集值不满足要求,应取满足要求的 In_U0和 In_U1两个通道数据的平均值,故采集值为2

37、 70v。 对于序号 5, In_U1通道通道采集值是超出正常范围, In_U0和 In_U2通道在正常范围,这里要注意 In_U0采集值为边界点,依据第 2条和第 5条设计说明, In_U1通道采集值不满足要求,应取满足要求的 In_U0和 In_U2两个通道数据的平均值,故采集值为一 2 90v。 对于序号 6,三个通道采集值是正常范围,但三个通道采集值的任意两两差值均大于 0 5v,依据第 2条和第 6条设计说明,应取安全值 0v,故采集值为 0v。 对于序号 7,两个通道采集值超出正常范围,依据第 2条和第 6条设计说明,应取安全值 0v,故采集值为 0v。 9 【正确答案】 白盒测试

38、也称结构测试、逻辑测试或基于程序的测试,这种测试应了解程序的内部构造,并且根据内部构造设计测 试用例。 黑盒测试又称功能测试、数据驱动测试或基于需求规格说明的测试,这种测试不必了解被测对象的内容情况,而依靠需求规格说明中的功能来设计测试用例。 问题 1中设计的测试用例使用了黑盒测试方法。 【试题解析】 此题考查白盒测试方法和黑盒测试方法的概念及应用。 白盒测试也称结构测试、逻辑测试或基于程序的测试,需了解程序的内部构造,并且根据内部构造设计测试用例。 黑盒测试又称功能测试、数据驱动测试或基于需求规格说明的测试,这种测试不必了解被测对象的内容情况,而依靠需求规格说明 中的功能来设计测试用例。 由

39、于白盒测试方法与黑盒测试方法的概念定义较多,此题中白盒测试概念中只需给出根据程序内部构造设计测试用例的关键词即可,黑盒测试概念中只需给出依靠相应文档给出的功能设计测试用例即可。 问题 1中设计的测试用例时,只是根据设计算法,进行功能方面的测试,不需要了解程序的内部构造,按照黑盒测试方法的概念,确定问题 1使用了黑盒测试方法。 10 【正确答案】 (1)1 454 (2)2 (3)9到 98都可以 (4)二级故障 (5)0 (6)一级故障 【试题解析】 为了测试 控制率计算算法,就要依据题目说明对采集数值计算控制率的具体处理算法中给定的 5条设计要求,进行测试用例的设计。此题考查测试用例的设计,

40、不仅包括输入数据的设计,还包括前置条件 (比如控制率超差连续计数和累计计数 )及预期输出的设计 (比如输出控制率和上报故障情况 ),条件增多,比问题 1难度增加。 对于序号 1,前置条件中控制率超差连续计数和累计计数都为 0,计算控制率与实际控制率误差不超过 0 01,依据第 1条设计说明,输出控制率为计算控制率1 632,不上报故障。 对于序号 2,前置条件中控制率超差连续计数和累计计数 都为 0,计算控制率与实际控制率误差超过 0 01,依据第 1条设计说明,输出控制率为实际控制率1 454,不上报故障。 对于序号 3,前置条件中控制率超差累计计数为 6,计算控制率与实际控制率误差超过 0

41、 01,并且上报了三级故障,输出控制率为实际控制率 2 369,依据第 2条设计说明,确定控制率超差连续计数预期值应该为 3,所以前置条件中的控制率超差连续计数只能为 2。 对于序号 4,前置条件中控制率超差连续计数为 1,计算控制率与实际控制率误差超过 0 01,并且上报了二级故障,输出控制率为实际控制率 1 557,依据第 3条、第 4条和第 5条设计说明,确定控制率超差累计计数预期结果应该为大于等于 10且小于等于 99的整数,所以前置条件中的控制率超差累计计数为 9至 98区间中的任意整数,即任意大于等于 9且小于等于 98的整数。 对于序号 5,前置条件中控制率超差连续计数为 2并且

42、累计计数为 9,计算控制率与实际控制率误差超过 0 01,输出控制率为实际控制率 2 234,依据第 3条和第 5条设计说明,确定控制率超差累计计数预期结果应该为 10,所以应该上报二级故障。 对于序号 6,前置条件中控制率超差连续计数为 0并且累计计 数为 99,计算控制率与实际控制率误差超过 0 01,依据第 4条和第 5条设计说明,确定控制率超差累计计数预期应为 100,此时应该上报传感器一级故障,并清除二级故障,同时切断输出控制,即输出安全值 0,所以输出控制率为 0,上报一级故障。 四、试题四 11 【正确答案】 (1)0011 0110 0000 0000 (2)0000 0000

43、 0100 0000 (3)0100 0001 0000 0000 (4)0011 0010 0000 0000 【试题解析】 计算机模拟量是指变量 在一定范围连续变化的量,也就是在一定范围 (定义域 )内可以取任意值 (在值域内 )。模拟量输入是指输入为连续变化的物理量。与之相对的是数字量,数字量是分立量,而不是连续变化量,只能取几个分立值,如二进制数字变量只能取两个值。 本题中采用的是 ADT7461AR芯片,在工作时的电压信号就属于模拟信号,因为在任何情况下被测温度都不可能发生突跳,所以测得的电压信号无论在时间上还是在数量上都是连续的。而且,这个电压信号在连续变化过程中的任何一个取值都是

44、具体的物理意义,即表示一个相应的温度。芯片采集模拟量输入信号,然后用二进 制表示出来,由设备驱动程序通过读取芯片的寄存器,获取温度值。温度值的精度取决于芯片寄存器的位数,精度越高,位数越多,把这个模拟量表示的越细,结果也就越精准。 由题干得知,该芯片的采集数据存储在高低两个数据寄存器中,高寄存器表示整数值,低寄存器表示小数值。 当芯片工作在第一种模式 (即二进制模式时 ),由于测温范围为0 至 +127 ,则高 8位寄存器从 0到 127,表示 0 +127 ,而低 8位寄存器表示小数值,每一位分别表示 2-1 、 2-2 、 2-3 、 2-4 、 2-5 、 2-6 、 2-7 、 2-8

45、 ,表示精度为 2-8 。所以 +0 25 高位为 0,低位为 0100 0000; +50 高位为0011 0010,低位为 0。 当芯片工作在第二种模式,即偏移二进制模式时,用 64表示 0度。由于测温范围为一 55 +150 ,则高 8位寄存器从 9(64-55)到214(64+150),表示一 55 +150 ,而低 8位寄存器表示小数值,表示含义和精度同第一种模式。所以一 10 高位为 00110110,低位为 0; +1 高位为 0100 0001,低位为 0。 12 【正确答案】 (1)0x2AA (2)0x80 (3)offset_addr (4)0x30 【试题解析】 本题中

46、采用的 FLASH芯片为 NOR FLASH, NOR FLASH是很常见的一种存储芯片,数据掉电不会丢失。 NOR FLASH支持 Execute On Chip,即程序可以直接在 FLASH片内执行 (这意味着存储在 NOR FLASH上的程序不需要复制到 RAM就可以直接运行 )。因此,在嵌入式系统中, NOR FLASH很适合作为启动程序的存储介质。 NOR FLASH的读取和 RAM很类似 (只要能够提供数据的地址,数据总线就能够正确的给出数据 ),但不 可以直接进行写操作。对 NOR FLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。 FLASH一般都分

47、为很多个 SECTOR,每个 SECTOR包括一定数量的存储单元,对有些大容量的 FLASH,还分为不同的 BANK,每个: BANK包括一定数目的 SECTOR。 FLASH的擦除操作一般都是以 SECTOR、 BANK或是整片FLASH为单位的。 在对 FLASH进行写操作的时候,每个位可以通过编程由 1变为 0,但不可以由0修改为 1。为了保证写操作的正确性,在执行写操作前,都要执行擦 除操作,擦除操作会把 FLASH的一个 SECTOR、一个 BANK或是整片 FLASH的值全修改为 0xFF,这样写操作就可以正确完成了。 FLASH芯片一般都支持编程、擦除、复位等操作命令,命令序列可

48、参考芯片厂家提供的用户手册。本项目中根据芯片手册提供的常用命令序列表,可知SECTOR擦除操作共需要 6个周期的总线写操作完成,命令序列如下: 1)将 OxAA写到 FLASH芯片地址 0x555; 2)将 0x55写到 FLASH芯片地址 0x2AA; 3)将 0x80写到 FLASH芯片地址 0x555; 4)将 OxAA写到 FLASH芯片地址 0x555; 5)将 0x55写到 FLASH芯片地址 0x2AA; 6)将 0x30写到要擦除的 SECTOR对应的地址。 13 【正确答案】 (1)tb1 lower-tb0 lower (2)0xFFFFFFFF-tb0 lower+tb1 lower+1 【试题解析】 Power Architecture的处理器提供了一个名为 Time Base(TB)的计数寄存器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1