最新完整所有答案嵌入式系统原理及接口技术复习.docx
《最新完整所有答案嵌入式系统原理及接口技术复习.docx》由会员分享,可在线阅读,更多相关《最新完整所有答案嵌入式系统原理及接口技术复习.docx(22页珍藏版)》请在冰豆网上搜索。
最新完整所有答案嵌入式系统原理及接口技术复习
简答题
1.什么是嵌入式系统?
嵌入式系统的特点是什么?
答:
以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统
特点:
与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可靠性,体积
2.简要说明嵌入式系统的硬件组成和软件组成。
答:
硬件组成:
微处理器,存储器,输入设备和输出设备。
软件组成:
操作系统,文件系统,图形用户接口,网络系统,通用组建模块。
3.S3C2410A的AHB总线上连接了那些控制器?
APB总线上连接了那些部件?
AHB:
LCD控制器,LCDDMA总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。
APB通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部
声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),定时时钟(RTC,总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。
4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?
答,支持7种类型的异常
异常处理过程:
(进入异常)PSLRCPR9SPSR设置CPSR勺运行模式位,跳转到相应的异常处理程序,(异常返回)LFHPC,SPSR>CPSR若在进入异常处理时设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。
Reset〉数据中指〉快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止〉
未定义指令和软件中止。
5.存储器生长堆栈可分为哪几种?
各有什么特点?
4种,满递增堆栈:
堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。
指令如LDMFA,STMFA等。
空递增堆栈:
堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空位置。
指令如LDMEA,STMEA等。
满递减堆栈:
堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。
指令如LDMFDSTMF等。
空递减堆栈:
堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空位置。
指令如LDMEDSTME等。
6.简述存储器系统层次结构及特点。
层次结构主要体现在"Cache-主存”层次和"主存-辅存”(Cache,主存储器,辅助存储器),前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储器系统的问题。
在存储器体系中Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPUCache辅存都能交换信息。
7.简述I2S总线接口的启动与停止过程。
通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为O=I2S禁止(停止);
当控制寄存器IISCON的地址为1=I2S允许(开始)。
8.简述ARM系统中的中断处理过程。
中断处理过程包括:
中断请求、中断排队或中断判优、中断响应、中断处理和中断
返回
9.ARM微处理器支持哪几种运行模式?
各运行模式有什么特点?
User:
用户模式。
绝大部分的任务执行都在这种操作模式下,此为正常的程序执行
模式。
FIQ:
快速中断模式。
支持数据传送或通道处理。
IRQ:
普通中断模式。
用于一半中断处理。
Supervisor:
管理模式。
一种操作系统受保护的方式。
Abort:
中止模式。
在访冋数据中止后或指令预取中止后进入中止方式。
System:
系统模式。
是操作系统一种特权级的用户方式。
Undef:
未定义模式。
当执行未定义指令时会进入这种操作模式。
10.当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。
答:
最小分辨率:
定时器输入时钟频率=PCLK/{prescaler+1}/{d
ividerW}=66.5/{0+1}/{2}=33.2500(MHz)
一个计数脉冲时间=1/33.2500MHz=0.0300(us)
最大分辨率:
定时器输入时钟频率=PCLK/{255+1}/{2}=66.5/256/2=129.8828
一个计数脉冲的时间=1/129.8828=7.6992(us)
最大定时区间:
由于TCNTBn=65535,计数到0共65536个计数脉冲,
所以65536*7.6992=0.5045(sec)。
11.
SD
WORDn-1
RIGHTCHANNEL
WORDn
LEFTCHANNEL
WORDn+1
RIGHTCHANNEL
分析如图所示I2S总线时序图,说明其操作过程。
在I2SLRCK改变后经过1个时钟周期之后,发送器发送下一个字的最高有效位。
串行数据通过发送器发送,虽然同步可以使用时钟信号的后沿(从高到低)或前沿(从低到高),然后在串行时钟信号的前沿,串行数据必须被锁存到接收器。
由于这个限制,传送数据被同步只能使用时钟信号的前沿。
左右声道选择线指示正在传送的数据所在的声道。
I2SLRCK能够在串行时钟信号的
后沿或前沿改变,而它的长度不需要对称。
在从设备,
I2SLRCK信号在时钟信号的
前沿被锁存。
I2SLRCK在最高有效位被传送的前一个周期改变。
12.S3C2410A与UAD1341通过I2S总线接口连接,试述音频数据传送过程。
答:
处理器通过IIS总线接口,控制音频数据在S3C2410内存与UDA1341TS之间传
送。
连接在UDA1314TS上的麦克风信号在UDA1314内部经过A/D转换器,转换成二进制数,串行通过DATAO引脚送到S3C2410的IIS模块,在IIS模块中数据转换成并行数据然后使用通常存取方式或DMA存取方式,将并行数据保存的内存中,而
内存中要输出的音频数据使用通常存取方式或DMA存取方式,将数据并行传送到
IIS模块在IIS中转换成串行数据,串行通过DATAI引脚送到UDA1314TS,在片内经
过D/A转换器,变成模拟信号,经过驱动器,驱动扬声器。
13.
简述LCD控制器组成及数据流描述。
LCD控制器包括:
REGBBANKLCDCDMATMEGEN,LPC定时控制逻辑单元,VIDPRCS
以及VIDEOMUX组成。
当传送请求由总线仲裁器接收时,4个连续的字数据由系统存储器帧缓冲区传送到
LCDCDMA内的FIFQ全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的
FIFOH组成。
使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。
14.以下是S3C2410A的串口逻辑方框图,试分析其组成和工作原理。
PenpliefalBUS
Transmitter
RXDn
TXDn
InFIFOmode,all16ByteofBufferregisterareusedasFIFOiregisler
Innori-FI^Omode,onlyiByteofBufferregislerisusedesHoldingregister
一个波特率发生器、一个发送器、一个接收器和一个控制单元。
波特率发生器使用PCLK或
UEXTCLK寸钟。
发送器和接收器各有一个16字节的FIFO寄存器和移位器。
在FIFO方式,要发送的数据先写入FIFO寄存器,然后复制到发送移位器,通过发送数据引脚TxDn移位输出;而接收数据从接收数据引脚RxDn输入并移位,然后从接收移位器复制到FIFO寄存器、
二、程序分析。
给以下程序主要过程加注释,幷写出程序功能
1.汇编程序:
IsrIRQ
sub
sp,sp,#4;
//修改栈指针,在栈顶留出4字节空间
stmfd
sp!
{r8-r9}
保存R8,R9
ldr
r9,=INTOFFSET取中断偏移寄存器INTOTTSE■地址
ldr
r9,[r9];
//读中断偏移寄存器INTOFFSET地址
ldr
r8,=HandleEINTO;//读中断向量表首地址
add
r8,r8,r9,lsl#2;
II由中断偏移寄存器INTOFFSE■中偏移量乘以4,加中断
向量表首地址,
得到对应中断在向量表中的地址
ldr
r8,[r8];
II从向量表中取中断请求对应的服务程序入口地址到
R8
str
r8,[sp,#8];
IIR8存堆栈
ldmfd
sp!
{r8-r9,pc};
II从堆栈将原R8(对应中断入口地址)内容送
PC,转移
到对应中断服务程序,同时出栈R8,R9
程序实现的功能:
IRQ中断服务程序课本P257
2.C语言程序段
rGPFCON|=2<<0|2<<4;
rGPGCON|=2<<6|2<<22;
//将GPF0配置成EINTO和将GPF2配置成EINT2
//将GPG3GPG11配置成EINT11,EINT19功能
rINTMOD=0;//中断模式寄存器设置为0,所有中断均为IRQ类型
rEXTINT0|=4<<0|4<<8;//将EINT0和EINT2信号方式设置为上升沿触发
rEXTINT1|=4<<12;//将EINT11信号方式配置为上升沿触发
rEXTINT2|=4<<12;//将EINT19信号方式配置为上升沿触发
Reintmaks&=~(i<<11|1<<19);//EINT11、EINT19对应屏蔽位置为0,允许服务rINTMSK&=~(1<<0|1<<2|1<<5);//EINT0,EINT2,EINT8_23对应屏蔽位置0,允许服务程序实现的功能:
中断初始化课本P255
3.C语言程序段voidTest_Touchpanel(void)
ADC开始或区间延时
rADCDLY=50000;//Normalconversionmodedelayabout
rADCCON=(1<<14)+(ADCPRS<<6);//ADCPRSEn,ADCPRSValue
rADCTSC=0xd3;//Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
pISR_ADC=(int)AdcTsAuto;//设置中断程序入口地址
rlNTMSK=~BIT_ADC;//ADCTouchScreenMaskbitclear中断屏蔽寄存器中,不屏蔽INT_ADC
rINTSUBMSK&=~(BIT_SUB_TC);//不屏蔽子中断INT_TC
Uart_Getch();//等待键盘输入,等待期间可以按下触摸屏触针,进入中断处理程序
rlNTSUBMSK|=BIT_SUB_TC;/屏蔽子中断INT_TC
rINTMSK|=BIT_ADC;//中断屏蔽寄存器中,屏蔽INT_ADC
}
程序实现的功能:
测试触摸屏
4.汇编语言
掉电模式,SDRAM自动刷新
ldrr0,=REFRESH
ldrr3,[r0];r3=rREFRESH
movr1,r3
orrr1,r1,#BIT_SELFREFRESH
strr1,[r0];EnableSDRAMself-refresh使SDRAM自动刷新
movr1,#16;waituntilself-refreshisissued.maynotbeneedec等待刷新,也可能不需
0subsr1,r1,#1
bne%B0
四、设计与编程(每题10分,共20分)
1.设计程序,写出实现LED1~LED4轮流闪烁的主程序代码。
已知FCLK=400M不考虑分频函数,FCLK:
HCLK:
PCL按1:
2:
4计算,使用端口GPB01、2、
3为LED控制端口,低电平点亮。
GPBCON功能描述
配置端口B引脚端,使用位[21:
0],分别对端口B的11个引脚端进行配置。
00:
输入;01:
输出;10:
第2功能;11:
保留
程序代码:
voiddely(U32tt)
{
U32i;
for(;tt>0;tt--)
{|
for(i=0;i<10000;i++){}
}
}|
intMain(intargc,char**argv)
{|
inti;
U8key;
U32mpll_val=0;
intdata;
mpll_val=(92<<12)|(1<<4)|
(1);
//initFCLK=400M,sochangeMPLLfirst
ChangeMPIIValue((mpll_val>>12)&Oxff,(mpll_val>>4)&0x3f,mpll_val&3);
ChangeClockDivider(key,12);
MMU_DisablelCache();
MMU_DisableDCache();
rGPBCON=0x155555;
data=0x06;
while
(1)
{I
rGPBDAT=(data<<5);
dely(120);
data=~data;
}
return0;
}
2.根据NandFlash控制器工作原理,试在图中画出S3C2410A的NandFlash控制器与
K9F2808U0C芯片的连接关系,并简单描述其操作过程。
3.S3C2410A的LCD控制器初始化程序主要包括配置LCD引脚用到的GPIQ设置LCDCON
寄存器参数等。
试配置C端口、D端口的相关引脚为LCD功能引脚。
写出端口配置初始
化程序。
voidLcd_Port_lnit(void)
{
rGPCUP=0xffffffff;
rGPCCON=Oxaaaaaaaa;
rGPDUP=Oxffffffff;
rGPDCON=0xaaaaaaaa;
rGPCCON|=2<<12|2<<14|2<<16;
Uart_Printf("InitializingGPIOports……\n”);
}
4.用S3C2410A或S3C2440的串口1实现串口通信。
试设计不带流量控制的简单收发程序,
包括初始化程序,发送程序和接收程序。
所用寄存器描述如下:
ULCONn位
描述
[6]
0:
正常模式;1:
红外模式
[5:
3]
Oxx:
无奇偶校验;100:
奇校验101:
偶校验
110:
强制奇偶校验/校验1;111:
强制奇偶校验/校验0
[2]
0:
每帧1个停止位;1:
每帧2个停止位
[1:
0]
00:
5位;01:
6位;10:
7位;11:
8位
UCONn的位功能
位
描述
波特率时钟选择
[10]
0:
使用PCLK,1:
使用UEXTCLK
发送中断请求类型选择
[9]
0:
脉冲;1:
电平
接收中断请求类型选择
[8]
0:
脉冲;1
电平
Rx超时中断使能控制
[7]
0:
禁止;1
使能
接收错误状态中断使能控制
[6]
0:
禁止;1
使能
回送模式选择
[5]
0:
正常模式;1:
回送模式
发送模式选择
[3:
2]
00:
禁止;01:
中断请求或查询模式;
接收模式选择
[1:
0]
00:
禁止;01:
中断请求或查询模式;
UMCONn的位功能
位
描述
AFC使能
[4]
0:
禁止;1:
使能
请求发送
[0]
0:
RTS无效;1:
RTS有效
已定义宏如下:
#defineWrUTXHO(ch)(*(volatileunsignedchar*)0x50000020)=(unsignedchar)(ch)
#defineRdURXH0()(*(volatileunsignedchar*)0x50000024)
程序设计(要求加注释):
voidUart_lnit(intpclk,intbaud){
inti;
if(pclk==0)pclk=PCLK;
Switch(nchannel)
{caseUART0//UART0
rUFC0N0=0x0;//UART0FIFO控制寄存器,FIFO禁止rUMC0N0=0x0;//UART0MODEM控制寄存器,AFC禁止
rULCON0=0x3;//行控制寄存器:
正常模式,无奇偶校验,1位停止位,8位数据
位
rUCON0=0x245;//控制寄存器
rUBRDIV0=((int)(pclk/16./baud+0.5)-1);//波特率因子寄存器
break;
caseUART1...//UART1
caseUART2...//UART2
default:
break;}
for(i=0;i<100;i++);
J
voidUart_SendByte(intdata)
{
if(whichUart==0)
{
if(data=='\n')
{
while(!
(rUTRSTAT&0x2));
Delay(10);//延时,与终端速度有关
WrUTXH0('\r');
}
while(!
(rUTRSTATO&0x2));II等待,直到发送状态就绪
Delay(10);
WrUTXHO(data);
}]
}]
charUart_GetKey(void)
{
if(whichUart==0){
if(rUTRSTAT&0x1)//UART0接收到数据
returnRdURXH0();
elsereturn0;
6.S3C2440的bank6使用32位数据总线与SDRAM芯片HY57V561620连接,每片SDRAM
为32MB存储空间,16位数据线。
试画出二者之间的连接电路图。
在下图中SDRAM芯
片引脚引出线上标出连接到S3C2440芯片上的对应引脚名称。
24
25
26
丸
31
JJ
34
35
36
20
21
15
39
37
3S
空
41
54
6
12
46
■w'V
DQO
Al
LXJ1
A2
DQ2
A3
DQ3
A4
g
A5
DQ5
A6
DQ6
A7
DQ7
A8
I>Qfi
A9
DQ9
A10
rxjio
All
DQH
A12
DQI2
IXJI3
BAO
DQI4
BAI
DQ仔
LDQM
nSCS
LDQM
nSR.XS
nSCAS
SCKL
nUE
SCLK
VDDO
\sso
VDD]
\'SS1
XDD2
\DDQ0
VSSQO
VDDQ]
\BSQ1
VDDQ2
VSSQ2
VDDQj
VSSQ3
4
5
十
10
11
B
4:
44
45
47
48
5U
5]
53
19
IS
1?
16
V
1
14
:
7
3
9
43
49
26
29
lu
7T
r
JJ
34
rr
36
15
54
G
£
46
TV
-HY57V561620(32MBKr|^他兼零型
AO.
A]5
DQODQ1
A2
DQ2
A3
DQ3
A4
DQ4
A5
A6
DQ6
A7
DQ7
A8
DQ8
A9
DQ9
A10
DQ10
AU
DQ11
A12
DQ12
[X>13
BAG
1X)14
BAI
1X)1*
LDQXJ
nSCS
UDQM
nSFLXS
nSCAS
SCKE
n毗E
SCLK
VDDO
VSSO
VDD]
VSS1
VDD2
VSS2
VDDQD
VSSQO
VDDQ1
VSSQ1
VDDQ2
VSSQ2
\DDQ3
VSSQ3
4
节f
g
10
11
IV
4:
44
45
4?
4a
刃
51
?
3
】9
ia
TF
16
]
14
TF
3
9
43
49
HY37VMI620(32地兼蜜型
简单描述工作原理:
地址总线ADDR[25:
24]分别与SDRAM的BA1、BAO连接,选择芯片内部
的bank3~bankO。
由于数据总线为32位,所以地址总线ADDR[1:
0]被忽略,地址总线ADDR[14:
2]
与SDRAM的A[12:
0]连接,,传送行地址和列地址。
数据总线U6连接低十六位,U7连接高
十六位。
二、填空
1.嵌入性”专用性”与计算机系统”是嵌入式系统的三个基本要素。
2.IP核分为软核、硬核、固核。
3.嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的
嵌入式计算机系统和执行装置(被控对象)组成。
4.
5.嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。
6.
7.硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式微处理器是嵌入式系统硬件层的核心。
8.系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。
9.
10.系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTOS、文件
系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。
RTOS
是嵌入式应用软件的基础和开发平台。
11.
11.ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。
寄存器R13通常用
作堆栈指针,称作SP。
寄存器R14用作子程序链接寄存器,也称为链接寄存器LK(Link
Register、。
12.FIQ模式有7个分组的寄存器R8〜R14,映射为R8_fiq〜R14_fiq。
在ARM状态下,许多
FIQ处理没必要保存任何寄存器。
User、IRQ、Supervisor、Abort和Undefined模式每一
种都包含两个分组的寄存器R13和R14的映射,允许每种模式都有自己的堆栈和链接寄
存器。
13.寄存器R15用作程序计数器(PC)。
在ARM状态,位]1:
0]为0,位]31:
2]保存PG
14.程序状态寄存器CPSR的N、Z、C、V分别指——,I=1指------、F=1指------,M[4:
0]用
做。
15.ARM指令集大致分为6