logo资料库

2016下半年嵌入式系统设计师考试真题及答案-下午卷.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
2016 下半年嵌入式系统设计师考试真题及答案-下午卷 第 1 题 阅读以下说明,回答问题 1 至问题 3。 【说明】 某综合化智能空气净化器设计以微处理器为核心,包含各种传感器和控制器,具有检测环境 空气参数(包含温湿度、可燃气体、细颗粒物等),空气净化、加湿、除湿、加热和杀菌等 功能,并能通过移动客户端对其进行远程控制。 图 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 语言编写了对应的数据接收和校验程序,请根据注释要 求补全程序。 程序段如下:
答案解析: 211×8=2048B=2KB 本题考查嵌入式系统设计的基本概念和代码阅读与编写的能力。 此类题目要求考生认真阅读题目所述嵌入式系统的结构,了解设计过程,根据要求仔细阅读 并理解代码,根据代码上下文填入所缺内容。 该微处理器系统拥有一块 11 条地址线、8 条数据线的 SRAM,要求计算其容量。此题考查嵌 入式系统微处理器体系结构的基本概念。题目说明有 8 根数据线,表示访问数据一次可以访 问 8 个 bit(―个字节),即一个单元放一个字节。有 11 根地址线,表示编址为 0〜211-1。 因此存储的容量大小为:8*211bit=2048B=2KB。
答案解析: (1)控制器 (2)视图 (3)模型 此题考查嵌入式系统软件设计的基本概念和流程。客户端软件开发使用框架形式,采用模型 (M)—视图(V)—控制器(C)设计模式。MVC 模式使应用程序的输入、处理和输出分开。 使用 MVC 应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自 处理自己的任务。 视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML 元素组 成的界面,在新式的 Web 应用程序中,HTML 依旧在视图中扮演着重要的角色,但一些新的 技 术 已 层 出 不 穷 , 它 们 包 括 AdobeFlash 和 XHTML , XML/XSL , WML 等 一 些 标 识 语 言 和 Webservices。如何处理应用程序的界面变得越来越有挑战性。MVC 的好处是它能为你的应 用程序处理很多不同的视图。 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如它可 能用像 EJBs 和 ColdFusionComponents 这样的构件对象来处理数据库。被模型返回的数据是 中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模 型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链 接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定 调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 完整的流程模型如下图所述: 答案解析: (1)0xAA (2)0xC0 (3)mPkt[i+2] (4)mPkt[8]
(5)(uintl 6_t)mPkt[2]|(uintl 6_t)(mPkt[3]<<8)或其等价形式 (6)(uintl 6_t)mPkt[4]|(uintl6 _t)(mPkt[5]<<8)或其等价形式 此题考查嵌入式系统底层代码的阅读与理解及编写的能力,结合题目给出的代码分析如下: 首先定义数据类型,为了在不同平台之间更方便的移植,嵌入式系统代码编写时经常对数据 类型进行重新定义。题目代码中明确说明了此类定义后,考生在答题时应尽量使用定义后的 数据类型声明。
通过上述分析,容易得出各问题答案如下: (1)判断是否为数据帧的帧头,查题干数据可知帧头标识为 0xAA; (2)判断是否为数据帧的指令号,查题干数据可知指令号为 0xC0; (3)进行 CRC 计算,根据代码上下文可知为为第 2〜7 字节数据 mPkt[i+2]; (4)进行 CRC 校验,查题干数据可知 CRC 校验位为 mPkt[8]; (5)考查位操作,根据题干数据可知为数据 2 左移 8 位加上数据 1(uintl 6_t)mPkt[2]|(uintl 6_t)(mPkt[3]<<8)或者(uintl 6_t)((mPkt[3]<<8)|mPkt[2]); (6)考查位操作,根据题千数据可知为数据 4 左移 8 位加上数据 3(uintl 6_t)mPkt[4]|(uintl 6_t)(mPkt[5]<<8)或者(uintl 6_t)((mPkt[5]<<8)|mPkt[4])。
第 2 题 阅读以下说明,回答问题 1 至问题 4。 【说明】 王工在采用某 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 汇编程序。
分享到:
收藏