2019年下半年嵌入式系统设计师下午真题
第 1 题
下面是关于C语言的基本概念和编程方面的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
王工在红外热像仪系统设计中负责软件模块,其核心功能在于进行人脸检测,调取温度检测模块获取检测到人的体温,将检测到的人脸信息及体温通过网络发送给平台进行存储,软件采用C语言编写。
【问题1】(3分)
请说明在C语言中下列宏定义的含义。
(1) #define f(a,b) a##b
(2)_ LINE
(3)_ DATE_
【问题2】 (3分)
王工在利用网络发送所检测到的人脸及对应的体温信息时定义了对应的数据结构FaceTemp_ info, 内容依次包括:检测到人脸框的左上角像素坐标(横向坐标Face _x,纵向坐标Face_ Y), 人脸框的像素大小(横向宽度Face_ w,纵向高度Face_ H),以及人体温度信息Temp。假设人脸框坐标信息、人脸框的像素大小都用unsigned short来表示,人体温度信息用float来表示。请给出FaceTemp_ info 数据结构的定义。
【问题3】(9分)
在红外热像仪的图像信息处理中,王工设计了如下人脸检测、温度检测及信息发送程序,当检测到温度大于等于37.3C时,需要报警提示。请补全程序中的(1) ~ (6)。
【程序】
答案与解析
- 试题难度:一般
- 知识点:
- 试题答案:
【问题1】
(1) C语言的宏定义中,#是连接a、b两端的内容的意思,它是宏定义中的关键字,
表示将前后数据连接起来。
(2)当前行号。
(3)当前日期。
【问题2】
struct FACETEMP_ STRUCT{
unsigned short Face_ X;
unsigned short Face_ Y;
unsigned short Face_ W;
unsigned short Face_ H;
float Temp;
} FaceTemp_ info;
或Typedef struct FACETEMP_ STRUCT{
unsigned short Face_ X;
unsigned short Face_ Y;
unsigned short Face_ W;
unsigned short Face_ H;
float Temp;
} FaceTemp_ info_ TPYE;
FaceTemp_ _info_ TPYE FaceTemp_ info;
【问题3】
(1) temp >= 37.3或termp -37.3 >0.00001或temp -37.3 >10E-6
(2) facetemp_ info.Face_ _X= face_ x
(3) facetemp_ info.Face_ Y= face_ y
(4) facetemp_ jinfo.Face_ W= face_ w
(5) facetemp_ info.Face_ H= face_ h
(6) &facetemp_ _info
(其中(2) ~ (5)顺序可互换) - 试题解析:
【问题1】
在C 程序中以#开头的行被称为预处理指令,这些指令是ANSIC 统一规定的。编程时可使用预处理命令来扩展C 语言的表示能力,提高编程效率。对C 源程序进行编译之前,首先由预处理器对程序中的预处理指令进行处理。
##的作用就是把2个宏参数连接为1个数。
#的作用就是将#后面的宏参数进行字符串的操作,也就是将#后面的参数两边加上一对双引号使其成为字符串。
__DATE__ 当前日期,一个以 “MMM DD YYYY” 格式表示的字符串常量。
__LINE__ 当前程序行的行号,表示为十进制整型常量【问题2】
struct在C语言中是一个关键字,用于定义结构数据类型。“结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构即是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。
1. 声明和使用⼀个结构体类型的⼀般形式如下:
(1)/*定义:
struct <结构体类型名> {
<成员类型1> <成员变量名1>;
<成员类型2> <成员变量名2>;
……
};
使⽤:
struct <结构体类型名> 结构体变量名;
(2)也可以在定义结构体的同时定义结构体变量。
struct <结构体类型名> {
<成员类型1> <成员变量名1>;
<成员类型2> <成员变量名2>;
……
} 结构体变量名;
2.使⽤typedef来给结构体起别名
/*由于⽤结构体变量每次定义都要 struct <结构体类型名> 结构体变量名,太烦⼈了;为了⽅便,我们会使⽤typedef来给结构体起别名
(1)typedef struct <结构体类型名> {
<成员类型1> <成员变量名1>;
<成员类型2> <成员变量名2>;
……
} 结构体别名;
或者
(2)
struct <结构体类型名> {
<成员类型1> <成员变量名1>;
<成员类型2> <成员变量名2>;
……
} 结构体别名;
typedef struct <结构体类型名> 结构体别名;
使⽤:
结构体别名 变量名;【问题3】
(1) temp >= 37.3或termp -37.3 >0.00001或temp -37.3 >10E-6
(2) facetemp_ info.Face_ _X= face_ x
(3) facetemp_ info.Face_ Y= face_ y
(4) facetemp_ jinfo.Face_ W= face_ w
(5) facetemp_ info.Face_ H= face_ h
(6) &facetemp_ _info
第 2 题
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某温度采集系统以处理器为核心,采用PC总线连接嵌入式键盘和多个温度传感器,温度传感器负责采集温度,键盘可以输入字符和数字信息,并通过RS232总线连接上位机。
I²C (Inter Integrated Circuit)总线是一种2线式串行总线,用于连接控制器及其外围设备。I²C总线最主要的优点是其简单性和有效性。它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。但在任何时间点上只能有一个主控。 PC的这些特点使其在许多设计中备受青睐,本系统中采用I²C总线连接嵌入式键盘和多个温度传感器,如图4-1所示。
【问题1】(4分)
I²C总线上传送的信号是广义的,既包括地址信号,又包括数据信号。在起始信号后必须传送一个从机的地址、数据的传送方向。每次数据传送总是由主机产生的终止信号结束。但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。
I²C总线协议规定:寻址字节由从机地址(D7~D1位)、数据传送方向位(D0位:“0”表示主机向从机写数据,“1”表示从从机读取数据)组成,如图4-2所示。主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据D0位将自己确定为发送器或接收器。
图4-2寻址字节位定义
该系统中用
I²C 总线连接了多个同样的温度传感器,用于实时采集温度值。该传感器的从机地址由固定位和可编程位组成,7位地址位前4位(即D7~D4)是固定位,后3位(即D3~D1)是可编程位。
该系统中最多可连接(1)个本型 号的温度传感器。
该温度传感器从机地址中固定位是0xA,传感器1的可编程位是0、传感器2的可编程位是....以此.类推。当主机读取传感器4的数据时,总线命令序列中的寻址字节值是(2)。
【问题2】 (6分)
本系统通过1路RS232总线将采集的温度值传给上位机进行处理。RS232采用异步通信方式传送ASCII码,数据位8位,奇校验1位,停止位1位。当RS232的波特率设置为4800时,字符传送的速率是(1)字符1秒, 每个数据位的时间长度是(2)毫秒, 数据位的传送速率是(3)位/秒。
【问题3】(5分)
同时,本系统通过
I²C 总线连接了嵌入式键盘,用于人机交互。频繁按键会导致连续使用
I²C 总线读取数据,由于
I²C 总线操作是一个应答式的命令序列,所以防止2次读写之间的干扰(即在一次读写没有完成之前,另一次读写操作也占用
I²C 总线,两次的数据会造成紊乱)是一个重要的问题。
(1)为防止多次频繁按键,导致总线访问错误,需要采取什么机制,保证每次只允许一个读写操作占用总线?
(2)在执行读写操作命令序列时,如何使用该机制?
答案与解析
- 试题难度:一般
- 知识点:
- 试题答案:
【问题1】
(1) 8个
(2) 0xA7
【问题2】
(1) 480
(2) 0.208
(3) 3840
【问题3】
(1)互斥机制。
(2)读写操作开始之前,等待互斥锁进行互斥;读写操作完毕后,释放互斥锁。 - 试题解析:
【问题1】
I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。I2C总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。直接用导线连接设备,通信时无需片选信号。
I2C总线的协议层包含物理层和数据链路层。物理层有两根信号线,在链路层每个连接到I2C总线上的设备都有唯一的地址。
I2C总线的数据传输过程。
① 开始:主设备产生启动信号,表明数据传输开始。
② 地址:主设备发送地址信息,包含7位的从设备地址和1位的数据方向指示位(读或写位,表示数据流的方向)。
③ 数据:根据指示位,数据在主设备和从设备之间进行传输。数据一般以8位传输,MSB先传;具体能传输多少量的数据并没有限制。接收器产生1位的ACK(应答信号)表明收到了每个字节。传输过程可以被中止和重新开始。
④ 停止:主设备产生停止信号,结束数据传输。
本系统种用IIC总线链接了多个同样的温度传感器,传感器的从机地址由固定位和可编程位组成,后3位
该系统中用IIC总线连接了多个同样的温度传感器,用于实时采集温度值。该传感器的从机地址由固定位和可编程位组成, 7 位地址位前4 位(即D7~D4) 是固定位,后3 位(即D3~D1)是可编程位。
该系统中最多可连接 8(2的3次方)个本型号的温度传感器。该温度传感器从机地址中固定位是0xA ,传感器1 的可编程位是0 、传感器2 的可编程位是1.. .. .. 以此类推。当主机读取传感器4 的数据时,总线命令序列中的寻址字节值是0XA7(前面4位固定是A。后面的4位是0111,也就是7)。【问题2】
本系统的信息包中数据位8 位, 奇校验1 位,停止位l 位,共10 位, 当RS232 的波特率设置为4800 时, 字符传送的速率是480 字符/秒,每个数据位的时间长度是1/4800 秒,即0 .208 毫秒,数据位的传送速率是4800X 0.8=3840 位/秒。
【问题3】
1.互斥机制
2.读写操作开始之前,等待互斥锁进行互斥:读写操作完毕后,释放互斥锁。
第 3 题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
人体的红外辐射特性与它的表面温度有着十分密切的关系,门式测温仪通过对人体自身辐射红外能量的测量,便能准确地测定人体表面温度。由于门式测温仪最大的优点是非接触、快速测量,一般小于1秒钟,所以被广泛应用于机场、车站、码头、学校等人流量大的地方。
该设备中软件主要完成A/D数据采集,并通过数学运算将红外数据转换为温度值,自动将额头表面温度结果换算为人体腋下温度,在显示终端显示。软件主要包括主程序模块、红外测温程序模块、温度转换模块、显示程序模块、报警程序模块、环境温度补偿模块等。
程序的主要功能说明如下:
(1)如果按下“高温报警设置”键,则通过“+”键每次增加0.1"C或通过“-”键每次减少0.1"C,设置最高温度报警值(默认值为40C),按下“确认”键进行确认;
(2)如果按下“低温报警设置”键,则通过“+”键每次增加0.1"C或通过“-”键每次减少0.1"C,设置最低温度报警值(默认值为35"C),按下“确认”键进行确认;
(3)主程序模块判断是否在30厘米范围内存在红外能量,如果没有,继续执行(3);否则执行(4);
(4)读取红外测温程序模块送回的目标表面温度信息,并调用温度转换模块和环境温度补偿模块进行温度转换和补偿,并形成最终人体温度;
(5)将读取的温度信息与设定的最大值与最小值比较,如果大于等于最大值或小于等于最小值,则执行(6);否则向显示程序模块发送显示的温度值,并执行(7);
(6)调用报警处理程序,发出蜂鸣声提醒检测人员,并向显示程序模块发送报警信息;
(7)显示程序模块显示高温报警或低温报警或者温度信息。
【问题1】(7 分)
为了测试软件功能,测试人员设计了表3-1所示的测试用例,请填写该表中的空白(1)~(7)。
【问题2】(6分)
软件的结构覆盖率是度量测试充分性和有效性的一种手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。
采用以下处理过程实现“判断温度是否在正常范围”的功能:
if ((目标物体温度<高温报警值)&& (目 标物体温度>低温报警值) )
显示目标物体温度;
else
{
if (目标物体温度≥高温报警值)
{
显示高温报警信息;
}
else
{
显示低温报警信息;
}
发出蜂鸣报警声音;
}
针对上述处理过程:
(1)若要求达到100%的语句覆盖,则所需的最少用例数是多少?
(2)若要求达到100%的分支覆盖,则所需的最少用例数是多少?
(3)若要求达到100%的MC/DC覆盖,则所需的最少用例数是多少?
【问题3】 (2 分)
常见的黑盒测试的测试用例设计方法包括:①等价类划分;②边界值分析;③因果图;
④决策表等。测试人员在表3-1中针对本题设计测试用例时,使用了其中的哪种方法?
答案与解析
- 试题难度:一般
- 知识点:
- 试题答案:
【问题1】
(1) 37.5℃
(2) 35.5℃
(3)被测目标物体温度为37.4℃或37. ℃
(4)高温报警信息
(5)大于等于37.5℃或大于37. ℃
(6) 35.6℃
(7)低温报警信息
【问题2】
(1) 3
(2) 3
(3) 3
【问题3】
边界值分析法或② - 试题解析:
【问题1】
(1)高温报警设置默认为40度。先按“-”键10 次,故应该减少10度 ,默认值40度, 减去10度 ,为39度 ; 再按“-”键15 次,应减少1 .5度 , 39度 减去1.5度 ,为37 .5度 。
(2)低温报警设置默认为35度。按“+”键5 次,故应该增加0.5度 ,默认值35度加上0 .5度 ,为35.5度。
(3) 屏幕显示被测目标物体温度为37 .40度 ,无报警声音。因为37.4没有超过高温报警设置的值。
(4)输出为“屏幕显示高温报警信息,且伴随蜂呜报警声音”。因为37.5是在高温报警的边界上,算超出范围。
(5)输入应该是在30 厘米范围内放置温度为大于等于37 .50C 或大于37 .50C 的目标物体,屏幕会显示报警,并且伴随蜂鸣报警声音。
(6)输入应该是在30 厘米范围内放置温度为35.6"C 的目标物体。
(7)35.5是在边界上,属于超出范围,所以屏幕显示低温报警信息,且伴随蜂鸣报警声音【问题2】
此问题主要考查对语句覆盖、分支覆盖和MC/DC 覆盖概念的掌握以及实际应用。语句覆盖为3个用例,分支覆盖需要3个用例,MC/DC覆盖也是需要3个用例。
【问题3】
(1)等价类划分是一种典型的黑盒测试方法。它把程序的输入域划分成若干部分(子集) ,然后从每个部分中选取少数代表性的数据作为测试用例。每一类的代表性数据在测试中的作用可以等价于这一类中的其他所有值,这就是"等价类"这个名字的由来。
(2)边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常作为对等价类划分法的补充,其测试用例来自等价类的边界。所谓边界值,是指相对于输入等价类和输出等价类而言,使用等于、小于或大于边界值的数据对程序进行测试的方法就是边界值分析方法。
(3)因果图法即因果分析图,又叫鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
根据表格中所设计的用例,主要根据设置的高温和低温边界,对等于、小于和大于边界值的数据进行了测试,故使用了边界值分析方法。
第 4 题
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
电子体温计可以快速、准确地进行体温测量,第一时间排查发热病人。李工通过AD模块设计体温采集电路,如图2-1所示,AD采集芯片使用ADC0809,单片机采用AT89S52。
对应的电路连接描述如下:
(1) ADC0809 的D0~D7端口连接到AT89S52的P0口;
(2) ADC0809的A、B、C为AD输入IN0~IN7选择端,A为最高位,C为最低位;
(3) ADC0809 的AD转换结束信号(EOC) 连接到AT89S52的P3.2;
(4) ADC0809 的AD转换启动信号(ST) 受AT89S52的P1.4管脚控制; .
(5) ADC0809 的AD转换数据输出使能(OE)受AT89S52的P3.1管脚控制;
(6) ADC0809的时钟通过AT89S52的ALE输出控制,经过2个D触发器来生成;
(7) ADC0809 的输入模拟电压范围是0~5V; .
(8) AT89S52 的P3.0管脚用来控制LED。
对于ADC0809而言,启动一次AD转换时,需要给ST一个短时的高电平。在AD转换过程中,EOC为低电平,当AD转换完毕后,EOC会变为高电平。在AD转换结束后,需要给OE一个短时高电平,在该期间内从D0~D7读取AD转换后的数据。
【问题1】(3分)
AT89S52和ADC0809之间的连接线中,对ADC0809而言,下列信号中哪些为输入信号?
A. ST
B. EOC
C. OE
D.AE.B
F. C
【问题2】(2 分)
当外围的温度传感器模拟电压为1.2V 时,ADC0809 的输出值是多少?
【问题3】(2分)
若单片机AT89S52的ALE输出为2M的时钟频率,那么ADC0809的时钟是多少?
【问题4】 (8分)
李工按照该电路的工作原理设计了如下程序,该程序以查询方式实现AD转换,读取
AD转换后的数据。
请根据逻辑,在下面A到O中选择正确答案,完成(1) ~ (8) 填空。
A. LED= 0
B. LED=1
C. OE=0
D. OE=1
E. ST=0
F. ST=1
G. P0=0xF8
H. PO=0xFC
I. while (EOC==0)
J. while (EOC==1)
K.ADdata=P0
L. P0=ADdata
M. if (ADdata> 128)
N. if (ADdata < 128)
0. LED=1
答案与解析
- 试题难度:一般
- 知识点:
- 试题答案:
【问题1】
A、C、D、E、F
【问题2】
61或者0x3D
【问题3】
500kHz
【问题4】
(1) E
(2) F
(3) J
(4) C
(5) K
(6) D
(7) M
(8) A - 试题解析:
【问题1】
根据AT89S52 和ADC0809 的连接线图,可以得到输入信号包括ST 、OE 、A 、B 和C 。
【问题2】
(1.2/5) X 255 = 61 = 0x3D
【问题3】
2 个D 触发器串联,进行了4分频, 因此输出时钟为输入时钟的1/4 分频,也就是D 触发器输出最终为2 M/4=500KHZ 。
【问题4】
(1)为ST=0 , (2) 为ST= 1, (3)为while(EOC==1) , (4 )为OE=0 ,(5) 为ADdata=P0 , (6 )为OE= 1 , (7)为if(ADdata>128), (8)为LED=0。
第 5 题
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
2019年12月以来,新型冠状病毒首先在国内蔓延,现在又肆虐全球,我国政府全力以赴,抗击疫情,全国人民积极响应,短短几个月来,疫情得到很好的控制。在抗疫战斗中,相关医疗设备起到了至关重要的作用。某公司生产的红外热成像系统(测温仪)已被广泛使用,可以检测发热症状,排查受感人群。
该红外热成像系统如图1-1 所示,主要由红外光学系统、红外探测器、驱动采集电路、图像处理电路、显示与存储电路组成。
图1-1红外热成像 系统图
在该系统中,光学系统主要指专门红外镜头,与普通光学镜头不同,光学材料针对相应波段的红外光线,实现滤光和对焦。红外探测器是完成红外热辐射到电信号的转换。驱动采集电路完成图像信号的输出与采集。红外图像处理电路在系统中不仅要对红外图像进行非均匀校正、盲元补偿处理,还要对图像的温度漂移、图像增强以及温度测量信息进行处理。最后,红外图像需要设置不同的输出方式以匹配不同的显示器,或者采用文件系统将红外图像及信息进行存储。
红外热成像系统具体的系统架构如图1-2 所示,主处理器采用ARM,红外探测器采用320X240非制冷长波红外探测器,系统电路包括偏置电压电路、温控电路、A/D转换电路、基于FPGA的实时红外图像信号采集电路、基于ARM的系统控制电路以及LCD显示模块电路。实现了红外探测器的驱动、红外图像信号的采集和处理、红外图像的输出显示以及一些外设辅助功能。
图1-2 红外热成像系统的系统框架图
【问题1】(4分)
系统采用4片IS61LV51216 SRAM来做数据缓存,请问:
(1)下列关于SRAM、DRAM和ROM的论述中,哪些是正确的?
A.SRAM的中文名称为“静态随机存储器”
B.存放在SRAM中的信息不会因去掉供电电源而丢失
C.SRAM的静态存储单元是在静态触发器的基础.上附加门控管而构成的
D. SRAM必须定时不断刷新,以保证所存储的信息不会丢失
E. SRAM将每个位存储在一一个 双稳态存储器单元
F. SRAM的功耗较大,集成度不能做得很高
G. ROM所存数据稳定,断电后所存数据也不会改变
H. SRAM 需要刷新电路才保存它内部存储的数据
I. SRAM的优点是集成度较低,功耗较DRAM小
J. DRAM每隔一-段时间要刷新充电一次, 否则内部的数据即会消失
(2) SRAM的容量为512KX16位,那么SRAM的地址线和数据线数目分别为多少?
【问题2】(7分)
在红外热像仪系统中,FPGA完成红外图像的采集与预处理,包括前端探测器驱动、数:据采集与整形、数据预处理、SRAM控制器、ARM通信等,在整个数据采集过程中,FPGA将接收到的红外图像数据采用“乒乓”结构交替不断写入两块SRAM中,FPGA 在进行数据写入时,ARM不能读取相应区的数据,FPGA 每写完- -帧数据,就通过寄存器通知ARM取数据,新的一帧数据写入另-块SRAM。这样就避免了红外探测器图像采集时钟与ARM的图像处理帧频时钟的不匹配问题。
(1)下列关于FPGA的描述中,哪些是正确的?
A. FPGA由逻辑单元、RAM、 乘法器等硬件资源组成
B. FPGA只能实现有限次的重新编程
C. FPGA可通过使用原理图或者Verilog HDL来设计
D. FPGA的所有功能均依靠硬件实现
E. FPGA可以实现定点和浮点运算
F. FPGA的工作频率由FPGA芯片及设计决定
(2)完成图像乒乓操作流程图1-3中的空①~⑤。
图1-3图像数据 FPGA乒乓操作流程图
【问题3】(4分)
假设该红外热像仪CPU的中断系统有4个中断源A、B、C、D,其硬件排队优先次序为A>B>C>D,每个中断源对应-一个屏蔽码,表1-1为中断服务程序与屏蔽码的关系,其中“0”为允许,“1”为屏蔽,CPU 状态时屏蔽码为0000。
(1)设A、B、C、D同时请求中断,试画出CPU执行程序的轨迹。
(2)请给出中断服务程序完成的顺序。
答案与解析
- 试题难度:一般
- 知识点:
- 试题答案:
【问题1】
(1)A、C、E、F、G、J
(2)地址线19根,数据线16根
【问题2】
(1)A、C、D、F
(2)
①清SARM可读状态
②置SARM写状态
③写满? ( 是否写满)
④置SRAM可读
⑤有无空闲SRAM? ( 是否有空闲SRAM)
【问题3】
(1)(2)C、A、D、B
- 试题解析:
【问题1】
SRAM表示静态随机存取存储器,
只要供电它就会保持一个值,没有刷新周期
由触发器构成基本单元,集成度低,是在静态触发器的基础上附加门控管而构成的
每个SRAM存储单元由6个晶体管组成,成本较高,将每个位存储在一个双稳态存储单元
速率较高,常用于高速缓冲存储器。
DRAM:
DRAM表示动态随机存取存储器。是一种以电荷形式进行存储的半导体存储器。
存储单元由1个晶体管和1个电容器组成,数据存储在电容器中。动态将每一个位存储为对一个电容的充电
必须定时刷新,因此DRAM在使用时必须配合DRAM控制器。
为了提高系统的数据吞吐能力,可以采用多种技术提高DRAM系统的性能,包括:页模式、EDO、同步DRAM。
(2)ROM(只读存储器):
ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需长期保留的不变数据。
在嵌入式系统中,ROM用于存储固定数据和程序。
常见ROM有:
Mask ROM(掩膜ROM)
PROM(Programmable ROM,可编程ROM)
EPROM(Erasable Programmable ROM,可擦写ROM)
EEPROM(电可擦除可编程ROM,也可表示为E2PROM)
Flash ROM(闪速存储器)【问题2】
FPGA (Field Programmable Gate Array) 是在PAL 、GAL 等可编程器件的基础上发展的产物。FPGA 采用逻辑单元阵列LCA (Logic Cell Array) ,内部包括可配置逻辑模块CLB(Configurable Logic Block) 、输入输出模块10BCInput Output B lock) 和内部连线(Interconnect)三个部分。
FPGA的优点如下:
(1) FPGA由逻辑单元、RAM、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。
(2) FPGA可通过使用框图或者Verilog HDL来设计,从简单的门电路到FIR或者FFT电路。
(3) FPGA可无限地重新编程,加载一个新的设计方案只需几百毫秒,利用重配置可以减少硬件的开销。
(4) FPGA的工作频率由FPGA芯片以及设计决定,可以通过修改设计或者更换更快的芯片来达到某些苛刻的要求。【问题3】
如果CPU在执行某一中断服务程序过程中,又遇到了新的更高级的中断请求,CPU暂停原中断的处理,而转去处理新的中断,待处理完毕后,再返回继续处理原来的中断,这种中断称为多重中断,也称中断嵌套。
若新的中断的优先级高于原中断的优先级,CPU响应新的中断;否则,CPU不予响应,必须待原中断处理完毕且返回主程序后,再响应新的中断。
中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件:
• 优先级别高的中断源有权中断优先级别低的中断源。
• 每个中断源都有一个屏蔽触发器
表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。