最新完整所有答案嵌入式系统原理及接口技术复习Word下载.docx
《最新完整所有答案嵌入式系统原理及接口技术复习Word下载.docx》由会员分享,可在线阅读,更多相关《最新完整所有答案嵌入式系统原理及接口技术复习Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
![最新完整所有答案嵌入式系统原理及接口技术复习Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/12/7e3c1435-97b7-4c80-8463-1c9a57f9a984/7e3c1435-97b7-4c80-8463-1c9a57f9a9841.gif)
异常处理过程:
(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。
Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止>未定义指令和软件中止。
5.存储器生长堆栈可分为哪几种?
各有什么特点?
4种,满递增堆栈:
堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。
指令如LDMFA,STMFA等。
空递增堆栈:
堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空位置。
指令如LDMEA,STMEA等。
满递减堆栈:
堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。
指令如LDMFD,STMFD等。
空递减堆栈:
堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空位置。
指令如LDMED,STMED等。
6.简述存储器系统层次结构及特点。
层次结构主要体现在“Cache-主存”层次和“主存-辅存”(Cache,主存储器,辅助存储器),前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储器系统的问题。
在存储器体系中Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;
主存与CPU、Cache、辅存都能交换信息。
7.简述I2S总线接口的启动与停止过程。
通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=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}/{divider值}=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.分析如图所示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控制器包括:
REGBBANK,LCDCDMA,TMEGEN,LPC定时控制逻辑单元,VIDPRCS以及VIDEOMUX组成。
当传送请求由总线仲裁器接收时,4个连续的字数据由系统存储器帧缓冲区传送到LCDCDMA内的FIFO。
全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的FIFOH组成。
使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。
14.以下是S3C2410A的串口逻辑方框图,试分析其组成和工作原理。
一个波特率发生器、一个发送器、一个接收器和一个控制单元。
波特率发生器使用PCLK或UEXTCLK时钟。
发送器和接收器各有一个16字节的FIFO寄存器和移位器。
在FIFO方式,要发送的数据先写入FIFO寄存器,然后复制到发送移位器,通过发送数据引脚TxDn移位输出;
而接收数据从接收数据引脚RxDn输入并移位,然后从接收移位器复制到FIFO寄存器、
二、程序分析。
给以下程序主要过程加注释,幷写出程序功能
1.汇编程序:
IsrIRQ
subsp,sp,#4;
//修改栈指针,在栈顶留出4字节空间
stmfdsp!
,{r8-r9}保存R8,R9
ldrr9,=INTOFFSET取中断偏移寄存器INTOTTSET地址
ldrr9,[r9];
//读中断偏移寄存器INTOFFSET地址
ldrr8,=HandleEINT0;
//读中断向量表首地址
addr8,r8,r9,lsl#2;
//由中断偏移寄存器INTOFFSET中偏移量乘以4,加中断向量表首地址,得到对应中断在向量表中的地址
ldrr8,[r8];
//从向量表中取中断请求对应的服务程序入口地址到R8
strr8,[sp,#8];
//R8存堆栈
ldmfdsp!
,{r8-r9,pc};
//从堆栈将原R8(对应中断入口地址)内容送PC,转移到对应中断服务程序,同时出栈R8,R9
程序实现的功能:
IRQ中断服务程序课本P257
2.C语言程序段
rGPFCON|=2<
<
0|2<
4;
//将GPF0配置成EINT0和将GPF2配置成EINT2
rGPGCON|=2<
6|2<
22;
//将GPG3,GPG11配置成EINT11,EINT19功能
rINTMOD=0;
//中断模式寄存器设置为0,所有中断均为IRQ类型
rEXTINT0|=4<
0|4<
8;
//将EINT0和EINT2信号方式设置为上升沿触发
rEXTINT1|=4<
12;
//将EINT11信号方式配置为上升沿触发
rEXTINT2|=4<
//将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)
{
rADCDLY=50000;
//NormalconversionmodedelayaboutADC开始或区间延时
rADCCON=(1<
14)+(ADCPRS<
6);
//ADCPRSEn,ADCPRSValue
rADCTSC=0xd3;
//Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
pISR_ADC=(int)AdcTsAuto;
//设置中断程序入口地址
rINTMSK=~BIT_ADC;
//ADCTouchScreenMaskbitclear中断屏蔽寄存器中,不屏蔽INT_ADC
rINTSUBMSK&
=~(BIT_SUB_TC);
//不屏蔽子中断INT_TC
Uart_Getch();
//等待键盘输入,等待期间可以按下触摸屏触针,进入中断处理程序
rINTSUBMSK|=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.maynotbeneeded.等待刷新,也可能不需要
0subsr1,r1,#1
bne%B0
四、设计与编程(每题10分,共20分)
1.设计程序,写出实现LED1~LED4轮流闪烁的主程序代码。
已知FCLK=400M,不考虑分频函数,FCLK:
HCLK:
PCLK按1:
2:
4计算,使用端口GPB0、1、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++){}
}