问答题 (一共5题,共5分)

1.

ATM自动取款机系统是一个由终端机、ATM系统、数据库组成的应用系统,具有提取现金、查询账户余额、修改密码及转账等功能。

ATM自动取款机系统用例图如图1所示。

中级嵌入式系统设计师,章节练习,案例分析

ATM自动取款机系统功能组成如图2所示。

中级嵌入式系统设计师,章节练习,案例分析

1、根据ATM自动取款机系统功能和系统用例图,完成图3所示的ATM自动取款机系统的系统状态图,将系统状态图中的(1)~(6)补充完整。

中级嵌入式系统设计师,章节练习,案例分析

2、ATM自动取款机系统取款用例描述用户取款的过程。其事件流如下:

(1)基本流 a.用户输入取款金额; b.系统验证输入金额是否符合输入要求; c.系统验证用户账户余额; d.系统显示用户账户余额; e.用户确认取款金额; f.系统要求点钞机出钞; g.系统更新并保存账户信息。

(2)备选流 a.如果输入金额不符合输入数字格式要求,给出提示,退出; b.如果输入金额超出最大取款金额,给出提示,退出; c.如果用户没有确认,给出提示,退出。

根据上述ATM:自动取款机系统取款用例描述,请完成取款功能的流程图。

3、ATM自动取款机系统是与银行服务器联网的网络系统,由于系统涉及个人和企事业单位的财产安全,要求网络通信安全可靠,因此通信过程要采取消息加解密、身份认证、消息鉴别和访问控制等信息安全措施。

(1)请简要解释下列术语的基本概念。 a.对称密钥 b.公开密钥 c.访问控制 d.消息鉴别

(2)以下几种常见的加密算法哪些属于对称加密算法?哪些属于非对称加密算法?a.DES b.RSA c.AES d.IDEA e.PGP f.DSA g.椭圆曲线DSA

2.

在嵌入式系统设计中,李工使用某嵌入式处理器和对应的以太网芯进行带有网络功能的单板实现,该电路中还包含DDR、Flash等存储芯片和相应的外围控制芯片。

图1为所选用嵌入式处理器的存储模块存储地址总线变换示意图,

图2为以太网芯片外围设计的相关原理示意图,

图3为用户在该嵌入式单板系统上实现内部嵌入式Web服务器的流程示意图。

在该嵌入式处理器的存储系统设计中,嵌入式处理器内部包含SA[25:0](从高到低)共26根系统地址总线,外部使用22根数据线和外部存储设备进行连接。 嵌入式处理器和以太网芯片之间的交互接口为:MII(Media Independent Interface)接口,包含数据线和控制线。数据线分为收发两个方向:其中RXD[3:0]为并行数据接收线,RXCLK为对应的时钟线;TXD[3:0]为并行数据发送线,TXCLK为对应的时钟线。

MDIO和MDC为控制线,通过其进行以太网芯片的配置。以太网芯片的最大通信频率由其外围的晶振频率和收发数据线的并行数目决定。 在嵌入式系统设计中,嵌入式处理器和以太网芯片之间可以设计为一对多的方式,每个以太网控制器都有一个PHYID,该PHYID依赖于以太网芯片周边的电路设计。在图2的设计中,该以太网芯片的PHYID由图中的PHYID[4:0]五个管脚来定。

对于该以太网芯片而言,PHYID[4:0]在启动时是作为。PHYID选择控制使用,在启动后是作为其他指示功能使用。PHYID的最大值是31(五位),最小是0,由PHYID[4:0]从高位到低位决定,对应管脚为高电平时对应的值为1,低电平时对应的值为0。

中级嵌入式系统设计师,章节练习,案例分析

中级嵌入式系统设计师,章节练习,案例分析

1、如图1所示,用户可以通过寄存器将存储总线变换方式配置为字节模式(8位模式),半字模式(16位模式)或者字模式(32位模式)中的任何一种,不同模式下,所使用到的地址线不同。 在图2中的,①、②、和③分别对应的地址线连接应该依次是______。 A SA2-SA23, SA1-SA22, SA0-SA21 B SA0-SA21, SA2-SA23, SA1-SA22 C SA1-SA22, SA2-SA23, SA0-SA21 D SA0-SA21, SA1-SA22, SA2-SA23 根据图2的网络部分相关电路设计,可以知道该嵌入式处理器的网络通信中,最大通信频率是______Mbps。 A.10000 B.1000 C.100 D.10 如果该网络芯片工作在100Mbps,那么在图2的设计中,RXCLK的工作频率应该是______Mbps.根据图2的电路和题目说明,在该电路中,以太网芯片的PHYID应该是______。

2、在图3中,为了实现嵌入式Web服务器和对应的请求流程,李工设计了该流程示意图,根据网络通信的过程,从下面选项中选择合适的处理过程,填充图3中的空(1)~(4)。 空(1)~(4)备选答案: A.创建TCP socket套接字 B.关闭socket套接字 C.accept尝试建立TCP连接 D.HTTP服务 E.数据发送处理 F.数据接收处理 G.bind绑定套接字 H.本地其他服务处理 I.listen侦听客户套接字 J.创建UDP socket套接字

中级嵌入式系统设计师,章节练习,案例分析

3.

某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下:

1.模式选择:采集模式控制离散量信号In_D1并通过模式识别信号灯显示软件当前工作模式。在信号In_D1为低电平时进入正常工作模式(模式识别信号灯为绿色),为高电平时进入维护模式(模式识别信号灯为红色)。软件在正常工作模式下仅进行刹车控制和记录刹车次数,在维护模式下仅进行中央控制器指令响应;

2.刹车控制:采用定时中断机制,以5ms为周期采集来自驻车器发出的模拟量信号In_A1以及来自刹车踏板发出的模拟量信号In_A2,并向刹车执行组件发送模拟量信号Out_A1进行刹车控制;

3.记录刹车次数:在Out_A1大于4V时,读出非易失存储器NVRAM中保存的刹车次数记录进行加1操作,然后保存至非易失存储器NVRAM中;

4.响应中央控制器指令:接收来自中央控制器的串行口指令字In_S1,回送串行口响应字Out_S1。当接收的指令字错误时,软件直接丢弃该命令字,不进行任何响应。 指令字及响应字说明如表1所示。表1 指令字和响应字

中级嵌入式系统设计师,章节练习,案例分析

1、请简述本软件串行输入接口测试的测试策略及测试内容。针对表1中“读取刹车次数指令”进行鲁棒性测试时应考虑哪些情况?

2、某测试人员设计了表2所示的操作步骤对模式选择功能进行测试(表中END表示用例到此结束)。

中级嵌入式系统设计师,章节练习,案例分析

为进一步提高刹车控制软件的安全性,在需求中增加了设计约束:软件在单次运行过程中,若进入正常工作模式,则不得再进入维护模式。请参照表2的测试用例完成表3,用于测试该设计约束。

中级嵌入式系统设计师,章节练习,案例分析

3、本项目在开发过程中通过测试发现了17个错误,后期独立测试发现了31个软件错误,在实际使用中用户反馈了2个错误。请计算缺陷探测率(DDP)。

4.

某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案如图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直接方式的流程图,请补全流程图。

中级嵌入式系统设计师,章节练习,案例分析

5.

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

[程序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=2j; iimage.png=n; i++) { f=f0+f1; f0=f1; f1=f; } return f; } void main12 {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) { ______; if(______){ 阻塞该进程; 将该进程插入信号量S的等待队列; } } [程序4] V操作的形式化定义: V(S) { ______; if(______){ 从信号量S的等待队列中取出队首进程; 将其插入就绪队列; } }

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

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

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