全国计算机等级考试三嵌入式系统开发技术题库第12套 下载本文

13. 下图为8段LED数码管(图(a))及其共阳极(图(b))及共阴极(图(c))LED数码管的内部结构原理图。为显示字符\,加到共阳极及共阴极LED数码管的dp、g、f、e、d、c、b、a的编码分别为0x 80 及0x 7F 。

14. 在μC/OS-II操作系统中,某任务正在等待键盘输入消息,该任务应处于 挂起 态。若键盘中断服务程序向该任务发送了消息,则该任务转变为 就绪 态。

15. 在μC/OS-II操作系统中,内核对任务的管理通过名为 任务控制块 的数据结构进行。当任务切换时,任务的工作现场被保存到任务的 自用栈 中。

16. 实时系统对外界的响应是否正确不仅取决于功能正确性,而且取决于对事件处理的 时间 正确性。因此,评价实时系统的实时性最重要的指标是 响应时间 ,即系统从事件请求开始到任务完成的时间间隔。

17. 美国风河公司推出的实时性最强、可靠性最高的嵌入式实时操作系统名为 VxWorks 。在该操作系统中,所有与特定电路板上硬件相关的功能都集成在一个库中,该库的名称为 BSP 。

18. Linux操作系统内核的网络模块可分为两部分:一部分提供对各种网络资源访问的控制,称为网络 协议 ;另一部分提供对各种网络硬件的支持,称为网络 驱动程序 。

19. 嵌入式Web服务器应用需求与通用Web服务器应用需求是不同的,它不是以提供信息服务为主,而是提供远程 操作 及配置设备的一种方式。嵌入式Web服务器的硬件设计时,需设计能够支持以太网连接的电路。AX88796是一款以太网控制器芯片,若其片选信号CS引脚连到S3C2410芯片的nGCS3上,那么,读写该芯片内部寄存器的首地址(注:用十六进制数表示地址)是0x18000000。

20. 在ADS1.2的集成开发环境中,若生成的输出文件需要包含所有的调试信息,那么,生成目标应该选择为 Debug 。若目标系统地址映射关系比较复杂

时,应使用 scatter 格式的文件来说明地址映射方式。

便携式血氧仪采用无创伤的血氧检测方法,通过光电信号检测人体手指内动脉血的周期变化特征,从而计算出动脉血氧饱和度(其外形如图所示)。若便携式血氧仪以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述

如下:

a、利用动脉血液中血红蛋白和还原血红蛋白对红光或红外光吸收率的不同,采用光电电路来无创伤检测动脉血氧饱和度,并检测脉率。

b、若动脉血氧饱和度低于90%,需进行声光报警,声光报警的频率与脉搏的频率一致。

c、便携式血氧仪中能保存1个月中所检测的动脉血氧饱和度、脉率等参数,保存参数时需要同时保存相关的检测时间,并可通过按键\→\和按键\←\来查看。 d、采用普通单色液晶LCD作为显示器,显示动脉血氧饱和度、脉率等参数。

根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后的附录)。

(1)在便携式血氧仪的硬件平台设计时,除了需要设计最小系统所需的时钟电路、复位电路等外,还必须设计光电信号采集电路来采集动脉血对红光或红外光的反射。现选用一个波长660nm的红光LED和一个波长910nm的红外光LED作为光源,其阳极接电源正极,且由GPE15引脚和GPE14引脚分别加同相驱动电路后控制相关LED的阴极使其发光。那么,GPE15或GPE14输出 低 电平时,其控制的LED发光。在相关驱动程序中,初始化GPE15或GPE14引脚功能的语句可以是: rGPECON=((rGPECON|0x50000000)& 0x5FFFFFFF ); // rGPECON是端口E的控制寄存器

只控制波长910nm的红外光LED亮(GPE14引脚控制)的语句可以是:

rGPEDAT = rGPEDAT & 0xBFFF ; //rGPEDAT是端口E的数据寄存器。

只控制波长660nm的红光LED灭(GPE15引脚控制)的语句可以是:

rGPEDAT = rGPEDAT | 0x8000 ;

(2)硬件平台设计时,还需设计一个光敏电路来接收动脉血对红光或红外光的反射光,将光信号转换成电流。经过放大的光电流信号,必须经过 A/D 转换电路,变为数字信号后,才可以输入CPU进行处理。由于脉搏波的能量主要分布在0.5~5Hz范围,因此,对脉搏波信号的采样频率至少应该为 10 Hz,所得到的数字脉搏波信号才不至于失真。

(3)为了满足声光报警的频率(即报警LED闪烁频率及蜂鸣器\嘀…嘀…\率)与脉搏频率一致,设计时选用Timer1部件来产生一个时间间隔,该时间间隔为脉搏波周期的1/2。若检测出脉搏波频率为2Hz,系统主频参数PCLK为264MHz,分割器值选择为16,预分频器值选择为99,那么,Timer1部件产生的时间间隔应为 250 ms,初始化函数可以设计如下,请补充完善。(注:下面程序中所用的参数请用十六进制表示) void Timer1Int(void) {

//设置定时器配置寄存器0(TCFG0)

rTCFG0= 0x00000063 ; //dead zone=0, Timer1预分频器值设99 //设置定时器配置寄存器1(TCFG1)

rTCFG1= 0x00000030 ; //工作在中断方式,分割器值为16 //设置计数常数 rTCNTB1= 0xA122; //设置控制寄存器TCON

rTCON= 0x00000200 ; //仅更新TCNTB1和TCMPB1 rTCON= 0x00000100 ; //仅Timer1启动 }

(4)在保存所检测的动脉血氧饱和度、脉率等参数时,需同时保存检测时间。检测时间通过读取S3C2410芯片内部的 RTC 部件来获得实时的日期及时间。在相关驱动程序中,可以用下面一段语句来初始化该部件。 void R_init(void) {

//初始化相关寄存器,rRTCCON是控制寄存器变量。

rRTCCON = rRTCCON| 0x10 ; //设置使能该部件的控制位 rRTCALM = 0x00 ; //报警功能(即闹钟)全部禁止 rRTCRST =0x00;

rTICNT = 0xFF ; //时间间隔设置为1s

rRTCCON =(rRTCCON& 0xFE ); //设置不使能该部件的控制位 …… //省略了其他语句 }

(5)设计按键\→\和按键\←\的电路时,选择GPE8、GPE9来分别连接。若按键按下时,对应的GPIO引脚将为\,否则为\。那么,在相关驱动程序中,可以用语句:rGPECON= rGPECON & 0xFFF0FFFF 来初始化GPE8、GPE9为输入,并可以用下面一段语句来判断是哪个命令按键被唯一按下。

temp = rGPEDAT & 0x0300; //temp是一个8位二进制变量,rGPEDAT是端口E的数据寄存器 switch(temp)

{ case 0x0200 : //判断是否\→\按键被唯一按下,\→\键连接到GPE8 …… //省略了其他语句

case 0x0100 : //判断是否\←\按键被唯一按下,\←\键连接到GPE9 …… //省略了其他语句 }

设计单色LCD显示屏的接口电路时,采用S3C2410芯片的GPE0~GPE7连接到LCD模块的8位数据线D0~D7上,用来传输显示信息。在相关驱动程序中,可以用下面语句来初始化GPE0~GPE7为输出:

rGPECON = ((rGPECON|0x00005555) & 0xFFFF5555 )

附录:综合题中完善程序或回答问题所需的寄存器格式

端口E控制寄存器(GPECON)的格式

符号 位 GPE15 [31:3

0]

GPE14 [29:2

8]

GPE13 [27:2

6]

GPE12 [25:2

4]

GPE11 [23:2

2]

描述

00=输入 01=输出 10=IICSDA 11=保留 00=输入 01=输出 10=IICSCL 11=保留 00=输入 01=输出 10=SPICLK 11=保留

初始状态 00 00 00

00=输入 01=输出 10=SPIMOSI0 11=保留 00 00=输入 01=输出 10=SPIMISO0 11=保留 00

GPE10 [21:200=输入 01=输出 10=SDDAT3 11=保留

0]

GPE9 [19:100=输入 01=输出 10=SDDAT2 11=保留

8]

GPE8 [17:100=输入 01=输出 10=SDDAT1 11=保留

6]

GPE7 [15:100=输入 01=输出 10=SDDAT0 11=保留

4]

GPE6 [13:100=输入 01=输出 10=SDCMD 11=保留

2]

GPE5 [11:100=输入 01=输出 10=SDCLK 11=保留

0]

GPE4 [9:8] 00=输入 01=输出 10=IISSDO 11=保留 GPE3 [7:6] 00=输入 01=输出 10=IISSDI 11=保留 GPE2 [5:4] 00=输入 01=输出 10=CDCLK 11=保留 GPE1 [3:2] 00=输入 01=输出 10=IISSCLK 11=保留 GPE0 [1:0] 00=输入 01=输出 10=IISLRCK 11=保留

TCFG0寄存器的格式 符号 Reserved

描述

00 00 00 00 00 00 00 00 00 00 00

[31:2保留 4]

Dead zone [23:1这8位用于确定死区长度,死区长度的1个单位等于0x00 length 6] Timer0的定时间隔。

Prescaler 1 [15:8这8位确定Timer2、Timer3、Timer4的预分频器值。 0x00

]

Prescaler 0 [7:0] 这8位确定Timer0、Timer1的预分频器值。 0x00

TCFG1寄存器的格式 符号 位 Reserved [31:2

4]

DMA mode [23:2

0]

描述 保留

初始状态 0x00

初始状态 0x00

MUX4

选择产生DMA请求的定时器。 0000=0000 不选择(所有采用中断请求) 0001=Timer0 0010=Timer1 0011=Timer2 0100=Timer3 0101=Timer4 0110=保留

[19:1选择Timer4的分割器值。 0000=1/2 0000 6] 0001=1/4 0010=1/8 0011=1/16

01XX=外部TCLK1