当前位置:首页计算机类软件水平考试中级嵌入式系统设计师->某公司承接了一个控制系统项目,由王工负责系统方案设计。王工设

某公司承接了一个控制系统项目,由王工负责系统方案设计。王工设计方案如图1所示。该方案是基于VME总线多机并行处理系统,由主控制模块作为VME总线主设备,即总线控制器,负责整个系统控制与管理;3个数据处理模块作为从设备,负责数据处理与计算;1个I/O模块也作为从设备,负责系统与外部接口之间高速数据通信。同时,为了简化设计,该系统5个模块均采用同一款VME协议芯片,实现内总线和VME总线连接。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

该系统中每个模块相关信息见表1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

1、王工设计采用共享存储器方式,进行多机之间通信。VME共享存储器地址空间映射,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME总线地址空间映射,输入窗口实现VME总线地址空间到处理器本地地址空间映射。 输出窗口空间设置说明:为了每个模块能访问到其他4个模块,在每个模块处理器本地地址空间中开辟5M空间,映射到VME总线上5M地址空间。映射关系见表2。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

输入窗口空间设置说明:每个模块分配1MVME地址空间,并将这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直接方式流程图,请补全流程图。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

答案:
本题解析:

1、0xD020'0000 0x00F0'0000 0xD000'0100 0x00F0'0100

2、0xAABBCCDD 0x78563412 0x78563412

3、(1)设置DMA目地址或(2) (2)设置传输长度或(1) (3)设置DMA传输启动位DMA是否正常终止

1、本题考查嵌入式系统中计算机总线、存储、DMA等相关知识及应用。 该系统是基于VME总线多机并行处理系统,采用共享存储器方式进行多机之间通信,定义了5MBVME空间,用于主控制模块等5个模块之间VME通信。 VME总线共享存储器方式,通过地址空间映射来实现,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME总线地址空间映射,本系统中每个模块配置了相同5MB处理器输出窗口地址空间(0xD000' 0000~0xD04F' FFFF),用于映射到VME总线上5MB地址空间(0x0000' 0000~0x004F' FFFF)。输入窗口实现VME总线地址空间到处理器本地地址空间映射。本系统中按照模块顺序,每个模块将1MVME地址空间,映射到处理器本地RAM区域中(0x00F0' 0000~0x00FF' FFFF),专门用于VME通信数据缓冲区。整个系统映射关系图3所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

由于所有驱动都采用总线远程写方式,数据处理模块1要访问数据处理模块2通信缓冲区,访问基地址就是数据处理模块2内存缓存区对应VME总线地址,即VME总线0x0020' 0000,该地址对应数据处理模块1本地地址,则为0xD020' 0000。由于所有驱动都采用总线本地读方式,所以数据处理模块2访问基地址为本地存储器地址,即0x00F0' 0000。具体地址空间再由基地址加上指定偏移即可。 同理,I/O模块要访问主控制模块通信缓存区,访问基地址就是主控制模块内存缓存区对应VME总线地址,即VME总线0x0000' 0000,该地址对应I/O模块本地地址,则为0xD000' 0000。主控制模块访问基地址为本地存储器地址,即0x00F0' 0000。具体地址空间再由基地址加上指定偏移即可。

2、数据在计算机中表示时,有大端和小端两种格式。大端模式是指数据高位保存在内存低地址中,而数据低位保存在内存高地址中,这样存储模式有点儿类似于把数据当作字符串顺序处理,地址由小向大增加,而数据从高位往低位放。小端模式是指数据高位保存在内存高地址中,而数据低位保存在内存低地址中,这种存储模式将地址高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,与用户逻辑方法一致。 例如,数字0x12345678在内存中表示形式为:

1.大端模式:低地址------>高地址0x12|0x34|0x56|0x78

2.小端模式:低地址------>高地址0x78|0x56|0x34|0x12

从软件处理角度上,不同端模式处理器进行数据传递时必须要考虑端模式不同。如进行网络数据传递时,必须要考虑端模式转换。其中互联网使用网络字节顺序采用大端模式进行编址,而主机字节顺序则根据处理器不同而不同,如PowerPC处理器使用大端模式,而Pentium处理器使用小端模式。大端模式处理器字节序到网络字节序不需要转换;而小端模式处理器字节序到网络字节必须要进行转换。

在该系统中,VME总线上传输数据全部采用小端方式,但主控制模块、数据处理模块1、数据处理模块2、数据处理模块3均采用大端方式处理器,因此发送到VME总线上数据要进行大端到小端模式转换,而从VME总线上接收数据,要进行小端到大端模式转换,但I/O模块由于采用是小端模式处理器,则不需要进行转换。

3、DMA(Direct Memory Access, 直接内存存取)是所有计算机重要特色,它允许不同速度硬件装置来传输数据,而不需要依赖于CPU大量负载。DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输过程则由DMA控制器来实行和完成,如图4所示。典型例子就是移动一个外部内存区块到芯片内部更快内存区。这样操作并没有让处理器工作拖延,反而可以被重新安排去处理其他工作。DMA传输对于高效能嵌入式系统是很重要。 在实现DMA传输时,由DMA控制器直接掌控总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。

(1)DMA请求 CPU对DMA控制器初始化,并提供要传送数据起始位置、目地址和数据长度。并向I/O设备发出启动操作命令,I/O设备提出DMA请求。

(2)DMA响应 DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O设备开始DMA传输。

(3)DMA传输 DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O设备进行DMA传输。 在DMA控制器控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器参与。

(4)DMA结束 当完成规定成批数据传送后,DMA控制器即释放总线控制权,并向I/O设备发出结束信号。当I/O设备收到结束信号后,一方面停止I/O设备工作,另一方面向CPU提出中断请求,使CPU从不介入状态解脱,并执行一段检查本次DMA传输操作正确性代码。最后带着本次操作结果及状态继续执行原来程序。

由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM与I/O设备开辟一条直接传送数据通路,使CPU效率大为提高。

更新时间:2022-07-22 11:42
纠错

你可能感兴趣的试题

问答题

在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:

[程序1]:实现两个变量值互换;

[程序2]:完成某功能C语言程序;

[程序3]和[程序4]:是P、V操作形式化定义,设S为信号量。在多道程序系统中,进程是并发执行。这些进程间存在着不同相互制约关系,主要表现为同步和互斥两个方面。信号量是解决进程间同步与互斥有效方法。[程序1]void swap (int n1, int n2){int tmp=n1;n1=n2;n2=tmp;}[程序2]#include image.pngstdio.h>int fun (int n){int f0=0, f1=1, f, i;if (n==0) return 0;if (n==1) return 1;for(i=2; iimage.png=n; i++){f=f0+f1;f0=f1;f1=f;}return f;}void main(){int n=5;printf ("fun(%d)=%d\n", n, fun(n));n=7;printf ("fun(%d)=%d\n", n, fun(n));n=9;printf ("fun(%d)=%d\n", n, fun(n));}[程序3]P操作形式化定义:P (S){__1____;if(__2____){阻塞该进程;将该进程插入信号量S等待队列;}}[程序4]V操作形式化定义:V(S){__3____;if(___4___){从信号量S等待队列中取出队首进程;将其插入就绪队列;}}

问题1:执行[程序1]后,没有能够实现两个变量值交换,为什么?请修改上述函数,实现两个变量值交换,要求函数无返回值,形式为:void swap(...)。

问题2:请问[程序2]运行结果是什么?

问题3:请简述什么是临界资源?什么是临界区? 请完成[程序3]和[程序4]形式化定义。

查看答案
问答题

某直升机显示控制计算机是其座舱显控系统核心部件,将来自飞行员参数和控制命令与载机飞行参数信息进行融合处理后,在显示器上显示。该显示控制计算机由一个显示控制单元和一个输入输出单元组成,它们之间通过双口RAM进行数据交换,如图4-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

显示控制单元采用Freescale公司PowerPC8270高性能、低功耗32位处理器,并设计有系统FLASH存储器、用户FLASH存储器、SDRAM存储器。CPU内部宾成存储器控制器,提供地址译码、数据处理周期访问时序、SDRAM时钟等功能。输入输出单元采用Ti公司DSP F2812高性能、低功耗16位处理器,采用ARINC429总线用于接收导航计算机、大气数据计算机等外部设备数据。

ARINC429解算程序严格遵循ARINC429规范,其通用字格式如表4-1所示,字长32Bit,不用数据位填“0”。当接收到ARINC429数据后,首先判断状态位,只有在状态和标号正确情况下,才进一步根据分辨率等进行解算数据含义

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题1、系统FLASH存储器存储容量是8MB,用于存储CPU模块引导程序、BIT测试程序,FLASH在板编程程序,网口操作系统,用户程序。

系统FLASH地址分配在存储空间高端,地址空间为(1)~OxFFFFFFFF。用户FLASH存储器存储容量是为(2),用于记录数据存储。FLASH地址分配在存储空间高端,地址空间为0x78000000?0x7BFFFFFF。SDRAM存储容量是256MB,用于运行操作系统和应用软件,地址空间位于存储器低端0x00000000~3)。

请完成(1)~(3)填空。

问题2、根据ARINC429数据标号(D8-D1)可知该数据为高度表数据。根据系统定义,高度表数据分辨率为0.1米,即D9为1表示0.1米,D10为1表示0.2米,D11为1表示0.4米,依此类推。若接收数据帧中D28-D9位是0000.0000.0111.1101.0000,则当前高度是(1)米。若当前高度是100米,则数据帧中D28-D9位应为(2)。请完成(1)和(2)填空。

问题3、显示控制单元和输入输出单元通过双口jiao换信息,两个处理器上软件采用相同定义结构体来定义双口单元,方便交换信息。

以下是双口结构体定义:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/为了避免由于不同编译环境对上述数据结构产生不同编译结果,建议对上述数据结构通过设置紧缩属性(packed属性),强迫编译器采用字节对齐方式,在该模式下,SPM_CHAN_RX429结构体占用(1)字节存储空间。ARINC429接收通道设计为由一个首尾相连FIFO数组形成环形队列。

输入输出单元根据头指针向环形队列写入数据,头指针始终指向下一个要写入位置,并且限制写入数据最多为31个,即队尾与队首之间至少保留一个元素空间。

显示控制单元根据尾指针从环形队列读取数据,尾指针始终指向下一个要读取位置。初始化环形队列C语言为:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/SPM_CHAN_RX429 *pBuf;pBuf= (SPM_CHAN_RX429 *) ADDR_3RAM_PPC; /*双口地址宏定义*/ pBuf->ctrlWord=0;pBuf->head=O; pBuf->tail=O;判断队列为空C语言为(2)。判断队列为满C语言为(3)。;请完成(1)~(3)填空。

查看答案
问答题

某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集可靠性,对采集数值使用三余度采集方法进行三个通道数据采集。

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)。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

在某嵌入式系统设计中,使用8片RAM进行64KRAM外部存储器扩展,如图所示。该CPU有16根地址线,8根数据线,在设计中,利用CPU作为访问控制信号,该访问控制信号低电平有效。另外,R/W作为读写命令信号(高电平为读,低电平为写)。8片8Kx8位RAM芯片与CPU相连,RAM芯片片选内部为上拉电阻到电源,各个RAM芯片片选信号和74138译码器输出相连,译码器地址选择端连接到CPUA13,A14,A15地址线上。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题1:根据上图所示,写出RAM0,RAM1和RAM7地址范围(请用16进制进行表示)。RAM0: (1)RAM1: (2)RAM7: (3)若CPU操作地址总线为A800H,结合上图所示示意图,CPU访问是哪个RAM存储器 ?(4) ?。

问题2:如果运行时发现不论往哪片RAM写入数据后,以C000H为起始地址存储芯片都有与其相同数据,假设芯片与译码器可靠工作,则说明:

(1)RAM0~RAM7中______片选输入端总是处于低电平。

(2)如果有问题存储芯片片选输入端总是处于低电平,以下可能原因中描述不正确是______。A.该存储芯片CS端与存储芯片端错连或短路B.该存储芯片CS端与CPU端错连或短路C.该存储芯片CS端与地线错连或短路D.该存储芯片CS端悬空

问题3:根据连接图,若出现地址线A15与CPU断线,并搭接到高电平上,下面描述中正确是______。(该题为多选题)A.此时存储器只能寻址A15=1地址空间B.此时存储器只能寻址总共64KB空间高32KB地址空间C.此时访问64KB空间高32KB地址空间时会错误地访问到低32KB地址空间D.此时访问64KB空间低32KB地址空间时会错误地访问到高32KB地址空间

查看答案
问答题

阅读以下关于电梯模拟控制系统设计方案说明,回答下列问题。

[说明]王工在实验室负责自动电梯模拟控制系统设计,自动电梯模拟控制系统需要完成电梯运行控制算法、输入界面和输出界面三项主要任务。系统结构图如图1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

根据电梯运行流程,把电梯划分为停止状态、运行状态、开门状态和关门状态4种控制状态。停止状态是指电梯在没有任何请求情况下静止状态,而不是指电梯在运行过程中开门前停顿状况,本题忽略停顿状况,把电梯从运行状态直接迁移为开门状态。电梯根据控制状态迁移规则进行状态迁移,系统初始时,电梯处于停止状态。

问题1:电梯根据控制状态迁移规则进行迁移,其状态迁移图如图2所示。请根据下面状态转移条件,完成状态迁移图。可供选择状态转移条件:a.其他楼层有呼叫请求;b.无呼叫请求;c.乘客进入电梯或等待一段时间后;d.到达请求楼层;e.电梯所在楼层有呼叫请求。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题2:电梯运行处理程序流程图如图3所示。请完成该流程图。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题3:系统采用多级优先级中断结构,如图4所示。它要求CPU在执行完当前指令时转而对中断请求进行服务。设备A连接于最高优先级,设备B次之,设备C又次之。IRQx为中断请求信号,INTx为CPU发出中断响应信号

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

现假设:TDC为硬件中断周期时间;TM为一个指令执行周期时间;TA、TB、TC分别为A、B、C中断服务程序执行时间;TS、TR为保护现场和恢复现场所需时间。图5是中断处理过程示意图。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

当三个设备同时发出中断请求时,依次处理设备A、B、C时间是多少?这种结构下中断饱和时间是多少?

查看答案
问答题

企业根据利润提成发放奖金。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元部分按10%提成,高于10万元部分,可提成15%;利润在20万到40万之间时,高于20万元部分,可提成20%;40万到60万之间时高于40万元部分,可提成25%;60万到100万之间时,高于60万元部分,可提成30%;高于100万元时,高于100万元部分可提成35%o已知企业本年度12个月月利润存储在数组profit中,程序要求根据月利润计算月奖金并存储到数组bonus中,然后计算并返回该企业年度总利润total_profito该程序实现如下:

【程序】int calculate_bonus(const int profit[ ], int bonus[ ]){int n=12;int i=0;int sum_profit=0;int bonus1,bonus2,bonus4,bonus6,bonuslO;bonus1=100000*0.1;bonus2=bonus1+100000*0.15;bonus4=bonus2+200000*0.2;bonus6=bonus4+200000*0.25; bonusl0=bonus6+400000*0.3;for (i=0;iimage.pngn; i++){if (profit[i]image.png=100000)(1);else if(profit[i]image.png=200000)(2);else if(profit[i]image.png=400000)(3);else if(profit[i]image.png=600000)(4);else if(profit[i]image.png=1000000)(5) ;else(6) ;}/*以下代码计算年度总利润*/i=0;while(iimage.pngn)sum_profit += profit[++i];return sum_profit;}

问题:1 在程序中,使用关键字const修饰输入参数profit,请将这样修饰作用写到(1)处。如果程序中bonus数组也使用const修饰,是否正确,并给出解释,请将答案写到(2)处。

问题:2 分析程序中计算年度总利润代码,指出错误一行代码,将错误代码写到(1)处;然后用一条语句实现正确代码,将正确代码写到(2)处。

问题:3 根据题意分析程序,完成程序中(1)~(6),每个空行只能写一行代码,即用一条语句来描述。

查看答案
问答题

某直升机显示控制计算机是其座舱显控系统核心部件,将来自飞行员参数和控制命令与载机飞行参数信息进行融合处理后,在显示器上显示。该显示控制计算机由一个显示控制单元和一个输入输出单元组成,它们之间通过双口RAM进行数据交换,如图4-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

显示控制单元采用Freescale公司PowerPC8270高性能、低功耗32位处理器,并设计有系统FLASH存储器、用户FLASH存储器、SDRAM存储器。CPU内部宾成存储器控制器,提供地址译码、数据处理周期访问时序、SDRAM时钟等功能。输入输出单元采用Ti公司DSP F2812高性能、低功耗16位处理器,采用AF.INC429总线用于接收导航计算机、大气数据计算机等外部设备数据。

ARINC429解算程序严格遵循ARINC429规范,其通用字格式如表4-1所示,字长32Bit,不用数据位填“0”。当接收到ARINC429数据后,首先判断状态位,只有在状态和标号正确情况下,才进一步根据分辨率等进行解算数据含义。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:1 系统FLASH存储器存储容量是8MB,用于存储CPU模块引导程序、BIT测试程序,FLASH在板编程程序,网口操作系统,用户程序。系统FLASH地址分配在存储空间高端,地址空间为(1)~OxFFFFFFFF。用户FLASH存储器存储容量是为(2),用于记录数据存储。FLASH地址分配在存储空间高端,地址空间为0x78000000?0x7BFFFFFF。SDRAM存储容量是256MB,用于运行操作系统和应用软件,地址空间位于存储器低端0x00000000~3)。请完成(1)~(3)填空。

问题:2 根据ARINC429数据标号(D8-D1)可知该数据为高度表数据。根据系统定义,高度表数据分辨率为0.1米,即D9为1表示0.1米,D10为1表示0.2米,D11为1表示0.4米,依此类推。若接收数据帧中D28-D9位是0000.0000.0111.1101.0000,则当前高度是(1)米。若当前高度是100米,则数据帧中D28-D9位应为(2)。请完成(1)和(2)填空。

问题:3 显示控制单元和输入输出单元通过双口交换信息,两个处理器上软件采用相同定义结构体来定义双口单元,方便交换信息。以下是双口结构体定义:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/为了避免由于不同编译环境对上述数据结构产生不同编译结果,建议对上述数据结构通过设置紧缩属性(packed属性),强迫编译器采用字节对齐方式,在该模式下,SPM_CHAN_RX429结构体占用(1)字节存储空间。ARINC429接收通道设计为由一个首尾相连FIFO数组形成环形队列。输入输出单元根据头指针向环形队列写入数据,头指针始终指向下一个要写入位置,并且限制写入数据最多为31个,即队尾与队首之间至少保留一个元素空间。显示控制单元根据尾指针从环形队列读取数据,尾指针始终指向下一个要读取位置。初始化环形队列C语言为:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/SPM_CHAN_RX429 *pBuf;pBuf= (SPM_CHAN_RX429 *) ADDR_3RAM_PPC; /*双口地址宏定义*/ pBuf->ctrlWord=0;pBuf->head=O; pBuf->tail=O;判断队列为空C语言为(2)。判断队列为满C语言为(3)。;请完成(1)~(3)填空。

查看答案
问答题

某飞行器供油阀控制软件通过控制左右两边油箱BL、BR向左右发动机EL、ER供油,既要保证飞行器正常飞行,又要保证飞行器平衡,该软件主要完成功能如下:

(1)无故障情况下,控制左油箱Bl向左发动机BL供油,右油箱EL向右发动机BR供油,不上报故障;

(2)当左油箱BL故障时,控制右油箱BR分别向左、右发动机EL和ER供汩,并上报二级故障——左油箱故障;

(3)当右油箱BR故障时,控制左油箱BL分别向左、右发动机EL和ER供汩,并上报二级故障——右油箱故障;

(4)当左发动机EL故障时,根据左右油箱剩油量决定(如果左右油箱剩油量之差大于等于50升,则使用剩油量多油箱供油,否则同侧优先供油)左油箱BL还是右油箱BR向右发动机Er供油,并上报一级故障——左发动机故障;

(5)当右发动机ER故障时,根据左右油箱剩油量决定(如果左右油箱剩油量之差大于等于50升,则使用剩油量多油箱供油,否则同侧优先供油)左油箱BL.还是右油箱BR向左发动机El供油,并上报一级故障——右发动机故障;

(6)当一个油箱和一个发动机同时故障时,则无故障油箱为无故障发动机供油,并上报一级故障——故障油箱和发动机所处位置;

(7)当两个油箱或两个发动机同时故障或存在更多故障时,则应进行双发断油控制,并上报特级故障——两侧油箱或两侧发动机故障;

(8)故障级别从低到高依次为二级故障、一级故障和特级故障,如果低级故障和高级故障同时发生,则只上报最高级别故障。

问题:1 在嵌入式软件测试中,一般采用测试方法有白盒测试、黑盒测试和灰盒测试方法,白盒测试方法中需要基于(1)进行测试;根据本题给定条件,最恰当测试方法应选择(2)。

问题:2 覆盖率是度量测试完整性一个手段,也是度量测试有效性一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。在实现第6条功能时,设计人员对部分功能采用了下列算法:if((BL==故障)&&(EL==故障)){BR供油ER;BL断油;EL断油;}请指出对上述算法达到100%语句覆盖、100%分支(DC)覆盖和100%MC/DC覆盖所需最少测试用例数目。请完成表3-1中(1)?(3)填空。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:3 为了测试此软件功能,测试人员设计了表3-2所示测试用例,请填写该表中空(1)?(9),并将答案填写在对应栏中。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

某公司承接了一个数据处理模块项目,由沈工负责模块方案设计,沈工设计方案如图4-1所示。该数据处理模块以PowerPC处理器为核心,设计了存储器、以太网、温度传感器、调试接口等功能电路。处理器外接FLASH存储器用于存储上电初始化程序和应用程序。

处理器通过I2C接口连接测温电路,监控模块工作温度。以太网、串口、调试离散量等用于软件调试和状态显示。测温电路选用ADT7461AR芯片,用于测试模块温度。ADT7461AR是一个双通道数字温度计,工作电压3v至5v,具有低/超温报警功能,采用I2C接口实现主机对远程/本地温度数据采集f采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

存储模块采用某公司FLASH存储芯片。

支持编程、擦除、复位等操作命令。该FLASH芯片常用命令序列如表4-1所示。表中地址和数据皆为16进制数。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.1 ADT7461AR芯片支持两种测温模式,其中第0种模式为二进制模式,用0表示0度,测温范围为0℃?+127℃;第二种模式为偏移二进制模式,用64表示0度,测温范围为-55℃?+150℃,温度数据转换关系如表4-2所示。请在(1)?(4)处写出对应温度二进制数。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.2 沈工用C语言实现对FLASH操作,需按照表4-1中定义命令序列顺序执行即可。仔细阅读下列代码,请在(1)?(4)处将对应C语言代码补全。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.3 该嵌入式系统对处理性能要求较高,沈工在完成软件设计后,需要对每一个函数执行性能进行测试,检测其是否满足系统设计要求。沈工通过PowerPC处理器内部高精度时钟寄存器(TimeBase)进行计时,该寄存器由高低两个32位寄存器组成,根据总线频率自动递增,当低32位寄存器递增到0xFFFFFFFF时,向高32位寄存器进位。计数值可以换算成时间值,精确到微秒级。在功能函数functkm1()执行体前后,进行时间统计,最后计算出该函数执行时间值,请在(1)?(2)处将对应C语言代码补全。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集可靠性,对采集数值使用三余度采集方法进行三个通道数据采集。

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,则使用本周期计算控制率Cdft行输出控制,否则使用目前实际控制率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)如果低级故障和高级故障同时发生,则按高级故障上报和处理。

问题:3.1 为了测试采集算法,在不考虑测量误差情况下,根据所设计测试用例输入填写表3-1中(1)?(6)空,预期输出结果精度为小数点后保留两位数字。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:3.2 白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用方法。请简述白盒测试方法与黑盒测试方法概念。同时依据本题说明,指明问题1中设计测试用例使用了白盒测试方法还是黑盒测试方法。

问题:3.3 为了测试控制率计算算法,在不考虑测量误差情况下,请完善所设计测试用例,填写表3-2中空(1)?(6)。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案