计算机三级嵌入式综合题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、酒店客房的门锁系统是由总台服务器和若干客房指纹锁组成,其基本功能具体描述如下:
a、客房的指纹锁与总台服务器之间通过通信网络连接。

b、旅客在总台登记住宿时,录入其指纹信息,并提取其特征值存储在总台服务器中。

同时录入一个密码(若干位数字组成),以备指纹无法开锁时,用密码开锁。

c、旅客在开客房指纹锁时,把相应手指放在门锁的指纹采集部件上,采集相应的指纹图像信息,并传输给总台服务器。

d、总台服务器接收到某个客房指纹锁传输来的指纹图像信息后,进行特征值求取并进行匹配,若匹配正确,则回送开锁指令给客房指纹锁。

e、客房指纹锁收到开锁指令后,控制开锁的机械动作,并用绿色LED灯指示开锁成功。

f、若匹配不正确,总台服务器回送不开锁指令给客房指纹锁。

g、客房指纹锁收到不开锁指令后,用红色LED灯指示开锁不成功。

h、若指纹无法开锁,旅客还可以通过客房指纹锁上的数字按键输入密码,若密码匹配正确,也可以控制开锁的机械动作,并用绿色LED灯指示开锁成功。

根据上述功能要求的描述,若采用S3C2410芯片为核心来构建客房指纹锁控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。

(1)若采集的指纹图像分辨率为320×240,灰度等级为256,则存储一幅指纹图像的原始像素信息需要的存储容量为??___【1】_____KB(1K=1000)。

若采用的异步串行通信网传输,一幅指纹图像的传输时间至少需要??____【2】____秒,若采用10Mbps的以太网传输,一幅指纹图
像的传输时间至少要??____【3】____秒,因此,系统中总台服务器和若干个客房指纹锁之间选用以太网连接。

(2)硬件构件设计时,以太网接口选用AX88796芯片为核心来设计,若S3C2410芯片的nGCS2引脚连接到该芯片的??____【4】____引脚(低电平有效),那么,AX88796芯片内部寄存器地址的首地址是:?____【5】____。

(3)若客房指纹锁红色LED指示灯的驱动电路由GPIO的GPC0引脚控制,绿色LED指示灯的驱动电路由GPC1引脚控制。

GPC0、GPC1引脚各自输出“0”时,其对应的LED灯灭,各自输出“1”时,其对应的LED灯亮。

那么,初始化GPC0、GPC1引脚为输出功能的语句是:
? ? ? ? rGPCCON=((rGPCCON|0x00000005)&??___【6】_____); ? ?// rGPCCON是端口C的控制寄存器
控制绿色LED灯点亮和熄灭的语句分别是:
??? rGPCDAT = rGPCDAT |??___【7】_____; ? ? ? ? ? ? ? //rGPCDAT是端口C的数据寄存器
??? rGPCDAT = rGPCDAT &??____【8】____;
红色LED灯点亮和熄灭的语句分别是:
??? rGPCDAT = rGPCDAT |??___【9】_____;
??? rGPCDAT = rGPCDAT &??____【10】____;
(4)指纹采集部件由一个摄像芯片和光学镜头组成。

S3C2410芯片通过I2C总线传输控制命令
给摄像芯片。

硬件设计时,选择S3C2410芯片的GPE15、GPE14引脚与摄像芯片的引脚??___【11】_____、SCL相连。

软件设计时,需要用下面语句初始化该引脚为I2C功能引脚。

? ? ? ? rGPECON=((rGPECON|0xA0000000)&??____【12】____); ? ? ?// rGPECON是端口E的控制寄存器
(5)若输入密码的键盘采用非标准键盘,键盘接口设计成4×3的阵列。

若设计时选用了GPE0~GPE3来输出键盘行扫描信号,选用GPD0~GPD2来输入键盘列信号。

请补充完善下面的键盘扫描函数:
? ? ???? //**keyoutput 是键盘扫描时的输出地址,keyinput是键盘读入时的地址
? ? ???? #define ?KEYOUTPUT ?? (*(volatile INT8U *)0x) ?//定义GPE的数据端口????????#define ?KEYINPUT ?? ? (*(volatile INT8U *)0x) ?//定义GPD的数据端口
? ? ??? INT16U ScanKey()
? ? ??? {
???? INT16U key=0xFFFF;
???? INT16U i;
???? INT8U temp=0xFF,output;
???????????rGPDCON= rGPDCON &??___【13】_____; ? ? ? ? ? ? ?//初始化GPD0~GPD2为输入 ??
? ? ? ???? rGPECON= ((rGPECON &??____【14】____)|0x00000055); ?//初始化GPE0~GPE3为输出; ? ?
? ? ??? for (i=1;(( i<=??____【15】____)&&(i>0)); i<<=1) ? ? ??
??? {
? ????? output |= 0xFF;
? ????? output &= (~i);
? ????? KEYOUTPUT=output;
? ????? temp = KEYINPUT;
? ????? if ((temp&0x07)!=??___【16】_____)
? ????? {
????? key = (~i);
?? ? ????? key <<= 8;
????? key |= ((temp&0x07)|0xF8);
????? return (key);
? ?????? }
???? }
???? return 0xFFFF;
???? }
上面的键盘扫描函数返回的是由键盘行信号和键盘列信号合并而成的一个16位二进制值,根据该函数的返回值,可以判断是否有按键按下,并可确定是哪个按键按下。

若返回值为?___【17】__时,可知键盘中无键按下,若返回值为??____【18】____时,可知键盘中第3行第2列的键被按下。

(注:以GPE0对应的键盘行为第一行,以GPD0对应的键盘列为第一列)
(6)为了便于以太网通信程序的编写,客房指纹锁的应用软件基于μC/OS-II操作系统来设计,客房指纹锁的应用程序主函数中,需要用OSTaskCreate()函数??____【19】____,并用??____【20】____函数启动多任务调度功能。

说明:下面是试题解答时需要用到的寄存器格式及相关说明。

?
1)端口C的控制寄存器(GPCCON)
本题是一道基于S3C2410的嵌入式系统开发综合题。

考查了数字图像的存储容量计算,网络通信数据传输;系统硬件构件设计,尤其是GPIO接口功能及初始化程序,结合常用外设的连接,如LED、键盘等;基于μC/OS-II操作系统的应用程序的主要μC/OS-II函数,如何创建任务及启动任务调度功能。

【参考答案及解析】
【1】;320*240/1000 = KB;
【2】;换算成字节是每秒发送8 = KB的数据。

异步串行每发送8个字节有一个起始位和停止位,8 = ,说明一共需要10个停止位和10个起始位,一个发送的数据, = 秒;
【3】;10Mbps理论速度是每秒,加上损耗以1Mbyte每秒计算,理论速度是秒
【4】CS;片选信号CS低电平有效;
【5】0x;nGCS2映射地址为0x;
【6】0xFFFFFFF5;00为输入,01为输出。

则初始化GPC0、GPC1引脚为输出功能的语句是:rGPCCON=((rGPCCON|0x00000005)&0xFFFFFFF5)。

【7】0x0002;红色LED指示灯的驱动电路由GPIO的GPC0引脚控制,绿色LED指示灯的驱动电路
由GPC1引脚控制。

GPC0、GPC1引脚各自输出“0”时,其对应的LED灯灭,各自输出“1”时,其对应的LED灯亮。

则绿色LED灯点亮为:rGPCDAT = rGPCDAT |?0x0002。

【8】0xFFFD;绿色LED灯熄灭为:rGPCDAT = rGPCDAT &??0xFFFD。

【9】0x0001;红色LED灯点亮为:rGPCDAT = rGPCDAT |??0x0001。

【10】0xFFFE;红色LED灯熄灭为:rGPCDAT = rGPCDAT &??0xFFFE。

【11】SDA;I2C总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有操作都通过这两条信号线完成。

【12】0xAFFFFFFF;初始化I2C功能引脚。

【13】0xFFFFFFC0;初始化GPD0~GPD2为输入:?rGPDCON= rGPDCON &?0xFFFFFFC0。

【14】0xFFFFFF00;00为输入,01为输出。

初始化GPE0~GPE3为输出:rGPECON= ((rGPECON &?0xFFFFFF00)|0x00000055)。

【15】8;循环次数。

【16】0x07;判断GPD0~GPD2引脚是否有输入信号。

【17】0xFFFF;键盘中无键按下。

【18】0xFBFD;键盘中第3行第2列的键被按下。

【19】创建任务;OSTaskCreate() 函数用来任务创建;
【20】OSStart();一旦OSStart() 函数开始执行,就标志着μC/OS-II进入了多任务调度的正常运行状态。

2、某机械设备的控制器,其基本功能要求有:
需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。

具备一个RS-232接口,可以和上位机连接,接收上位机发送的命令及参数。

需要提供一个基准定时信号,定时时间间隔为秒。

需要彩色LCD显示器,用于显示状态信息等。

根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该机械设备控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。

(1)若硬件设计时采用GPIO端口E的GPE0~GPE7引脚作为8个数字量输出,那么软件设计时其初始化语句是:rGPECON=(rGPECON|0x00005555)&??___【1】____。

若软件设计时需要通过GPE5引脚输出“1”来驱动执行机构动作,那么语句是:rGPEDAT= rGPEDAT |? ?___【2】____。

(注:rGPECON是端口E的控制寄存器所对应的变量,rGPEDAT是端口E的数据寄存器所对应的变量)
(2)硬件设计时,选用UART0来完成RS-232接口电路设计。

在软件设计时,其初始化程序中波特率设置为9600bps,数据格式设置为:8位数据位、奇校验、1位停止位。

请补充完善下面的UART0初始化函数(注:主频参数为PCLK):
void UART0_Init()
{
? ?rGPHCON=(rGPHCON&0xFFFFFF00)|??___【3】____; ? ? //端口H相应引脚功能初始化
? ?rUFCON0=0x0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //FIFO不使能
? ?rUMCON0=0x0;
? ? rULCON0=?___【4】____; ? ? ? ? ? ?//设置线路控制寄存器
? ?rUCON0= 0x145; ? ? ? ? ? ? ? ? ?//设置控制寄存器
? ?rUBRDIV0=( (int)(PCLK/?___【5】____) – 1); ? ? //设置波特率,小数采用四舍五入
}
(3)按照上面UART0初始化函数所设置的通信速率,每秒钟最多能传输?___【6】____个字节的信息。

若上位机有大小为4KB的初始参数需要下载到控制器中,那么,约需传输?____【7】___秒才能完成下载(1K=1024,精确到小数点后面1位数字)。

?
(4)系统中所需要的秒基准定时时间选用S3C2410芯片内部的Timer0部件来产生。

若系统的主
频参数PCLK为264MHz,分频器值选择为16,预分频系数选择为3,那么,Timer0的计数常数为?___【8】____。

软件设计时,设计了如下的Timer0初始化函数,请补充完善。

(注:下面程序中⑨、⑩、⑿用8位十六进制数表示,⑾用4位十六进制数表示)
void ?Timer0Int(void)
{
? ?//设置定时器配置寄存器0(TCFG0)
rTCFG0=?___【9】____; ? ? //Timer0预分频系数选择为3,该寄存器中其它无关位均为0
? ?//设置定时器配置寄存器1(TCFG1)
rTCFG1=?___【10】___; ? ? // Timer0分频器值为16,该寄存器中其它无关位均为0
? ?//设置计数常数
rTCNTB0=?___【11】____; ?
? ?//设置控制寄存器TCON
?rTCON=?___【12】____;//更新TCNTB0和TCMPB0,该寄存器中其它无关位均为0
?rTCON=0x00000009;//设置Timer0自动装载,并启动
}
(5)彩色LCD显示屏的硬件接口电路由S3C2410的专用GPIO端口?__【13】_____和端口?___【14】____相关引脚配以驱动电路来设计。

软件设计时,需要通过设置它们控制寄存器的值分别为?___【15】____和?____【16】___来确定它们的引脚功能。

(6)系统的软件可以设计为在无操作系统的环境下运行。

设计者自行设计系统的启动引导程序,在该程序中完成异常向量设置、堆栈指针设置以及必要的硬件初始化。

ARM9体系结构中规定的IRQ异常所对应的异常向量地址为?___【17】____。

Timer0部件所产生的秒基准时间到时将引起IRQ异常。

由于IRQ异常向量地址与下一个异常向量地址之间间隔为?___【18】____个字节,因此,通常在IRQ异常向量地址处设计一条转移指令。

堆栈指针的设置需按工作模式来进行。

设置IRQ模式下的堆栈指针,需在R0“清0”后用指令ORRR1,R0,#0x12|?___【19】____和MSR CPSR_CXSF,R1来使CPU核进入IRQ模式,然后再给SP寄存器赋值作为该模式下的堆栈指针。

这些初始化工作完成后,即可通过指令?___【20】____来引导应用程序的主函数main()。

说明:下面是试题解答时需要用到的寄存器格式及相关说明。

?
1)?端口C的控制寄存器(GPCCON)
2)?
3)?
4)?
6)?TCFG0寄存器
为0x0000001F,Timer0的预分频器系数选择为31,设置TCFG1为0x00000001,Timer0的分频器值选择为4。

通过下面公式计算定时器的计数常数:
定时器输入时钟频率=?PCLK/(预分频系数+1)/分频器值
计数常数=定时时间间隔/(1/定时器输入时钟频率)
预分频系数的范围为0~255,分频器值的取值范围为2、4、8、16。

8)?TCON寄存器(注:此处不用的位被省略,其值默认为0x0000000)
本题考查以S3C2410为背景的嵌入式应用系统开发。

题中应用为机械设备的控制器系统开发。

包括通用I/O口GPIO的使用及相应的初始化编程,其中,GPC和GPD作为LCD显示器接口引脚,GPE 作为输入输出;基于UART的RS-232接口电路设计及相应的初始化编程设置;UART的通信控制;内部定时器和计数器的设置及使用;基于S3C2410的无操作系统的嵌入式系统如何构建其启动引导程序。

【参考答案及解析】
【1】 0xFFFF5555;和0相与清零,和1相与保持不变。

和0相或保持不变,和1相或置1。

00为
输入,01为输出,则初始化GPIO端口E的GPE0~GPE7引脚功能为输出的语句是:rGPECON=(rGPECON|0x00005555)&0xFFFF5555
【2】 0x0020;通过GPE5引脚输出“1”来驱动执行机构动作,则将第6位置1,即rGPEDAT= rGPEDAT |??0x0020。

【3】 0x000000AA;8位数据位、1位停止位、奇校验。

在ULCON中,[1:0]:11 = 8位;[2]:0 = 1位停止位;[5:3]:100 = 奇校验;[6]:0 = 正常操作模式。

即rGPHCON=(rGPHCON&0xFFFFFF00)| 0x000000AA。

【4】 0x23;此处对线路控制寄存器进行相应设置。

【5】(9600×16) + ;对所需的波特率进行设置。

【6】 872;9600/(8+3)=872字节。

【7】;4*1024/872=秒。

【8】 41250;定时器输入时钟频率=?PCLK/(预分频系数+1)/分割器值,计数常数=定时时间间隔/(1/定时器输入时钟频率),即可得本题答案。

【9】 0x00000003;TCFG0中[7:0]位确定Timer0的预分频系数,题设为3。

【10】 0x00000003;TCFG1中[3:0]位确定Timer0的分频器值,题设为16。

【11】 0xA122;设置计数常数。

【12】 0x00000002;更新TCNTB0和TCMPB0。

【13】 C;GPC和GPD作为LCD液晶屏接口引脚。

【14】 D;
【15】 0xAAAAAAAA;00为输入,01为输出,将端口C和D均设置为输出。

【16】 0xAAAAAAAA;
【17】 0x00000018;ARM9体系结构中规定的IRQ异常所对应的异常向量地址为0x00000018。

【18】 4;IRQ异常向量地址与下一个异常向量地址之间间隔为4个字节。

【19】 0xC0;R0“清0”后用指令ORR R1,R0,#0x12|?0xC0和MSR CPSR_CXSF,R1来使CPU核进入IRQ模式。

【20】 BL _main;
1、某食堂的售饭系统由一个后台数据库系统及若干个前台刷卡机组成,其基本功能具体描述如下:
?
a、刷卡机的硬件组成中,除了必须的最小硬件系统外,还需要IC卡读写模块、8段LED组成的显示模块、键盘模块、蜂鸣器模块、RS-485通信模块等。

?
b、客户需要事先办理本系统的消费IC卡,预存若干金额,办卡信息及预存金额存储在后台数据库系统中。

c、客户消费时,用IC卡在刷卡机上支付。

支付时,由售饭员在刷卡机上输入客户缴费金额且
在LED显示器上显示,然后客户刷卡,若IC卡合法,则把缴费金额和IC卡信息传输给后台数据库系统。

若IC卡不合法,用蜂鸣器发不合法提示音。

d、后台数据库系统接收到刷卡机的信息后,将根据IC卡号查询出该卡的余额,若余额大于等于应缴费额,则进行扣费,再把当前余额及扣费正确信息回传给刷卡机。

若余额小于应缴费额,则回传扣费不正确信息给刷卡机。

e、刷卡机接收到回传的信息后,显示回传的余额,且若是扣费正确信息,则用蜂鸣器发"扣费正确"提示音;若是扣费不正确信息,则用蜂鸣器发"扣费不正确"提示音。

?
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建刷卡机的硬件平台,请完善下面的叙述(程序)和回答有关的问题。

(1)在设计硬件时,最小的硬件系统是保证系统能正常工作的必要硬件组成。

它包括电源电路、?___【1】____、复位电路、调试测试接口、以及?___【2】____?。

?
(2)若在硬件设计时,选用8个共阴极的8段LED(其排列如图1所示)组成2组显示器(1组4个8段LED),用于显示当前消费金额和余额。

???? 若采用GPC0~GPC6、GPC7外接同向驱动后,分别连接到显示"消费金额"的LED显示器段信号线a~f、dp上,采用GPD0~GPD3外接同向驱动后分别控制该组显示器中低数据位~高数据位的4个8段LED位信号线。

???? 另外采用GPC8~GPC14、GPC15外接同向驱动后,分别连接到显示"余额"的LED显示器段信号线a~f、dp上,采用GPD4~GPD7外接同向驱动后分别控制该组显示器中低数据位~高数据位的4个8段LED位信号线。

?????????
??? 那么,GPC0~GPC15引脚的功能为:?___【3】____?,GPD0~GPD7引脚的功能为:?___【4】____?。

初始化GPC0~GPC15引脚功能的语句可以是:
?????????? //rGPCCON是端口C的控制寄存器,其格式见后面附录
?????????? rGPCCON?=??___【5】____?;
初始化GPD0~GPD7引脚功能的语句可以是
?????????? //rGPDCON是端口D的控制寄存器,其格式见后面附录
????????? ?rGPDCON=((rGPDCON|0x00005555)&?___【6】____);
????若只在"余额"LED显示器中的次高数据位LED上显示字符"3",相关驱动程序中可用下面语句实现。

???????? ?rGPCDAT = ? ??___【7】____;//输出"3"的段信号 ? ? ? ? ? ? ? ??
????????? rGPDDAT = ? ??___【8】____;//输出次高数据位被点亮的控制信号?
?
(3)刷卡机上输入客户缴费金额的键盘,在设计时采用非标准键盘组成,键盘接口设计成4×4的阵列(其按键排列示意图如图2所示)。

键盘接口电路中选用GPE0~GPE3来输出键盘行扫描信号,选用GPE4~GPE7来输入键盘列信号。

软件设计时设计者自行设计了键盘扫描函数,请你补充完善之:
?//*KEYOUTPUT是键盘扫描时的输出地址,KEYINPUT是键盘读入时的地址
??????? #define ?KEYOUTPUT ? (*(volatile INT8U *)0x)
??????? #define ?KEYINPUT ? ? (*(volatile INT8U *)0x)
??????? INT16U ScanKey()
??????? {
??????????? INT16U key=0xFFFF;
??????????? INT16U i;
??????????? INT8U temp=0xFF,output;
??????????? //rGPECON是端口E的控制寄存器,其格式见后面附录?
? ????????? rGPECON= ((rGPECON &0xFFFFFF00) | ? ??___【9】____??); //初始化GPE0~GPE3为输出 ?
??? ??????? rGPECON= rGPECON & ???___【10】____?? ;?//初始化GPE4~GPE7为输入? ???????????//下面判断键盘中是否有键按下
?????????? for (i=1;(( i<= 8)&&(i>0)); ???___【11】____????? ? ) ? ? ?? ?????????? {
????????????? output |= 0xFF;
????????????? output &= (~i);
????????????? KEYOUTPUT=output;
????????????? temp = KEYINPUT;
????????????? if ((temp&0xF0)!= ???___【12】____??)//判断列信号是否为全"1" ????????????? {
???? ???????????? key = (~i);
? ? ????????????? key <<= 8;??????????????????
????????????????? key |= ((temp&0xF0)|0x0F); //求得按键的返回值
????? ??????????? return (key);???????????? //函数返回按键对应的值?????????????? }
??????????? }
??????????? return 0xFFFF;
??????? }
应用程序中可根据上面的键盘扫描函数的返回值,来判断是否有按键按下,并确定是哪个按键按下。

例如:若返回值为:??___【13】____时,可知是键盘中的"6"键按下,
若返回值为:?___【14】____时,可知是键盘中的"确认"键被按下。

若无键按下时,返回值应为:?___【15】____。

?
(4)刷卡机与后台数据库系统通信采用RS-485总线。

因此在硬件设计时,需要采用S3C2410芯片内部的?___【16】____部件外加电平转换芯片等来实现。

若在软件设计时,其初始化程序中波特率设置为9600bps,数据格式设置为:8位数据位、无校验、1位停止位。

那么,1秒时间内最多能传输?__【17】_____字节的信息。

?
(5)刷卡机上的应用软件是在无操作系统环境下开发的。

设计者可以自行设计系统的启动引导程序,在该程序中完成异常向量设置、堆栈指针设置以及必要的硬件初始化。

ARM9体系结构中规定的复位异常所对应的异常向量地址为?____【18】___。

系统上电/复位后,将从该地址处开始执行程序,因为ARM9体系结构中规定的各异常向量地址之间间隔通常为?__【19】_____个字节。

因此,复位异常向量地址处通常存储一条?___【20】____指令的代码。

附录
时钟电路存储器
输出
输出
0x
0xFFFF5555 0x4F00
0xFFBF
0x00000055
0xFFFF00FF
i<<=1
0xF0
0xFDBF
0xFE7F
0xFFFF
UART
960
0x00000000
4
分支
1、车载行车记录仪用于在汽车行驶过程中记录汽车行驶周围环境的视频图像。

其基本功能要求有:
??? a、需要一个视频摄像模块,用于采集汽车行驶中周围环境的视频图像,图像分辨率为
320×240。

??? b、需要“回放”、“下载”、“删除”3个命令按键。

??? c、需要一个320×240的彩色LCD显示屏。

??? d、采集视频图像的同时,需要记录当前的实时时间,精确到秒。

??? f、需要一个通信接口,在视频图像下载时用来传输视频图像。

?
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该行车记录仪的硬件平台,请完善下面的叙述(程序)和回答有关的问题。

?
(1)若硬件设计时采用GPIO端口E的GPE15、GPE14引脚连接基于I2C总线的视频摄像模块的?___【1】____信号引脚和??__【2】___信号引脚。

那么,驱动程序中需要用语句:rGPECON=(rGPECON|0xA0000000)&???___【3】____来初始化GPE15、GPE14引脚为I2C总线功能的引脚。

(注:rGPECON是端口E的控制寄存器,其格式如图1所示)
(2)若摄像模块所采集的一帧视频图像,其分辨率为320×240,原始图像的颜色数据格式为Y:U:V=8:4:4,那么,一帧图像的原始图像信息需要的存储容量为??___【4】____KB(1K=1024)。

若视频信号每秒需要16帧图像,那么,一段1分钟的视频,其原始图像信息约需??___【5】____MB 的存储空间。

在设计下载通信接口电路时,考虑到即使采用115200bps的速率,下载一段1分钟的视频至少需要用时约??___【6】____小时(精确到小数点后1位),因此,采用异步串行口(即
RS-232接口)来下载就不合适。

(3)设计彩色LCD显示屏的接口电路时,可以采用S3C2410芯片中专用于连接LCD显示屏的??____【7】___端口和??____【8】___端口来设计。

3个命令按键:“回放”、“下载”、“删除”,分别连接到GPE0、GPE1、GPE2。

若按键按下时,对应的GPIO引脚将为“0”,否则为“1”。

那么,在相关驱动程序中,可以用语句:rGPECON= rGPECON &???___【9】____来初始化GPE0、GPE1、GPE2为输入,而不影响GPE端口的其它引脚功能,并用下面一段语句来判断是哪个命令按键被唯一按下。

????? temp = rGPEDAT & 0x0007; //temp是一个8位二进制变量,rGPEDAT是端口E的数据寄存器
????? switch(temp)
????? { case ????___【10】____?? ://判断是否“回放”按键被唯一按下
? ? ? ? ? ……//省略了其他语句
??????? case ? ????___【11】____? ://判断是否“下载”按键被唯一按下
? ? ? ? ? ……//省略了其他语句
??????? case ? ????___【12】____? ://判断是否“删除”按键被唯一按下
? ? ? ? ? ……//省略了其他语句
????? }
?
(4)采集视频图像的同时,所需记录的实时时间,通过读取S3C2410芯片内部的RTC部件来获得。

该部件进行读写时,需要先置位??___【13】____?,然后再进行读写。

读写操作完成后,需要??___【14】____该位。

在相关驱动程序中,可以用下面一段语句来初始化该部件。

????? void RTC_init(void)
????? {
//初始化相关寄存器
??????? rRTCCON = (rRTCCON|??___【15】____);// rRTCCON是控制寄存器变量,其格式如图2所示。

??????? rRTCALM =???___【16】____??;//报警功能(即闹钟)全部禁止
??????? rRTCRST = 0x00;
??????? rTICNT = ???___【17】____?; ? ?//时间间隔设置为1s
??????? rRTCCON = (rRTCCON&??___【18】____?);
…… ?//省略了其他语句
}
?图
(5)用于下载视频图像的通信接口采用USB接口较合适,并且,图像信息需要压缩。

因此,移植一个Linux操作系统作为软件平台,使其能在本行车记录仪硬件上运行,将便于其应用软件的开发。

软件平台的构建步骤通常是:首先移植??___【19】____程序;然后再完成Linux 内核的移植,内核移植完成后还需构建??___【20】____文件系统。

【解题思路】
本题主要考查基于S3C2410的车载行车记录仪的开发。

包括GPIO引脚功能及相应初始化设置,GPC和GPD作为LCD显示器接口引脚,GPE作为输入输出,还可作为I2C串行总线的引脚;嵌入式系统如何构建其启动引导程序。

【参考答案及解析】
第1空答案:SDA;I2C总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有操作都通过这两条信号线完成。

第2空答案:SCL;
第3空答案:0xAFFFFFFF;和0相与清零,和1相与保持不变。

和0相或保持不变,和1相或置1。

则初始化rGPECON=(rGPECON|0xA0000000)& 0xAFFFFFFF。

第4空答案:150;320*240*16/8*1024=150KB。

第5空答案:;150*16*60/1024=。

第6空答案:;*1024*1024*(8+2)/115200*3600=
第7空答案:GPC;GPC和GPD作为LCD液晶屏接口引脚。

第8空答案:GPD;
第9空答案:0xFFFFFFC0;00为输入,01为输出,则初始化GPE0、GPE1、GPE2为输入的语句是:rGPECON= rGPECON &0xFFFFFFC0。

第10空答案:0x06;按键“回放”、“下载”、“删除”,分别连接到GPE0、GPE1、GPE2。

又若按键按下时,对应的GPIO引脚为“0”,否则为“1”。

则对应三个按键分别为0x06、0x05和0x03。

第11空答案:0x05;
第12空答案:0x03;
第13空答案:使能位;RTC组件的寄存器读/写有一个使能位,这是与其他模块不同的地方,在访问RTC寄存器之前需要先打开这个使能位,在读或者写结束以后关闭此位,其他时间里此位也是关闭的,这是为了保护系统的实时时钟不受误写。

第14空答案:关闭;
第15空答案:0x01;RTCEN=1,RTC读/写使能。

第16空答案:0x00;报警功能(即闹钟)全部禁止。

第17空答案:0xFF;实时时钟模块RTC采用单独的供电引脚和单独的时钟源,采用晶体,由XTIrtc 和XTOrtc引脚接入,通过2^15时钟分频器得到1Hz的脉冲,进而得到时钟的最小单位时间1s。

第18空答案:0xFE;RTCEN=0,RTC读/写关闭。

第19空答案:启动引导;软件平台的构建步骤通常是:首先移植?启动引导程序;然后再完成Linux内核的移植,内核移植完成后还需构建根文件系统。

第20空答案:根;
1、地铁进出站闸机的控制器以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述如下:
a、闸机能够识别本地铁票务系统出售的IC卡。

能识别的IC卡有2种,一种是可预付费的“市民卡”,另一种是地铁站内出售的“当次卡”。

b、乘客凭“市民卡”或“当次卡”刷卡进站。

若IC卡合法,则闸机打开,乘客通过后,闸机立即关闭;若IC卡不合法,闸机不打开,并进行声光报警。

声光报警5次后自动停止。

c、进站刷卡时,还需识别IC卡的种类。

若是“市民卡”,在闸机打开之前,需读取卡中余额并显示在闸机的LED显示器上,且把地铁站ID、进站时间写入卡中相应区域。

若是“当次卡”,判断合法后直接打开闸机。

d、出站时,乘客需要根据所用的IC卡种类,来进行不同的操作。

若乘客用的是“市民卡”,则需在闸机的刷卡器上刷卡,若乘客用的是“当次卡”则需要把卡投入闸机的投卡口中。

e、若乘客出站时刷的是“市民卡”,闸机系统需读取存储在卡上的“市民卡”类别ID(注:“市民卡”类别分为普通卡、学生卡、老人卡)、地铁站ID、进站时间、余额等信息,根据这些信息来扣除费用,并在闸机的LED显示器上显示余额及本次扣费额,若是学生卡或老人卡,还要用声音播报出“市民卡”类别,然后,打开闸机,乘客通过后立即关闭闸机。

f、若乘客出站时用的是“当次卡”,判断合法后即把闸机打开,乘客出去后立即关闭。

根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。

(注意:完善程序或回答问题所需的寄存器格式见题后的附录)
(1)闸机控制器的硬件平台设计时,除了需要设计最小硬件系统(包括:微处理器、??___【1】____电路、时钟电路、复位电路、存储器、JTAG接口电路)外,还必须设计IC卡读写电路、闸门电机驱动电路、声音提示及声光报警电路、LED显示接口电路等。

若闸门电机驱动电路由GPE1引脚控制,GPE1引脚输出“0”时,控制闸门关闭,输出“1”时,控制闸门打开。

那么,初始化GPE1引脚功能的语句是:
rGPECON=((rGPECON|0x00000004)&???___【2】____); ? ?// rGPECON是端口E的控制寄存器控制闸门关闭和打开的语句分别是:
rGPEDAT = rGPEDAT &???___【3】____; ? ? ? ? ? ? ? ?// rGPEDAT是端口E的数据寄存器rGPEDAT = rGPEDAT |???___【4】____;
(2)IC卡读写电路设计时,选用IC卡读写模块通过异步串行接口与S3C2410连接,利用S3C2410芯片内部的UART1部件实现异步串行接口电路设计。

那么,在UART1的驱动程序设计时,可用下面一段程序来初始化UART1部件(注:UART1的波特率要求为:115200bps,数据格式要求为:8位数据、1位停止位、偶校验,主频为PCLK。

)。

void UART1_Init()
{
? ?rGPHCON=(rGPHCON&0xFFFFF0FF)|???___【5】____; ? ? //端口H相应引脚功能初始化
? rUFCON1=0x0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//FIFO disable
? ? rUMCON1=0x0;
rULCON1= (??___【6】____<< 3)|(0 << 2)|(??___【7】____); ? //设置线路控制寄存器rUCON1= 0x245; ? ? ? ? ? ? ? ? ? ? ? ? ? ? //设置控制寄存器 ? ? ? ??
rUBRDIV1=((int)(PCLK/??___【8】____)+ – 1); ? ? ? ? //设置波特率,小数采用四舍五入
?}
?
(3)乘客出站时刷的若是“市民卡”,则需要用声音来播报卡的类别,即若是“学生卡”则语音播报:学生卡;若是“老人卡”则语音播报:老人卡。

因此,硬件平台构建时设计了一个16位D/A转换器芯片,再加上功率放大电路及扬声器等所构成的语音播报电路,S3C2410芯片通过GPC端口与D/A转换器的16位数据线相连。

软件设计时,可以先行对相关的语音波形进行采样、编码。

设人的语音频率范围是300Hz~4000 Hz,因此,对语音波形采样时,采样频率至少应为??___【9】____KHz,所采得的数字语音信号才不至于失真。

假设,播音员读“学生卡”的这段语音波形持续3秒,采用该采样频率进行采样,数字语音信号编码采用16位二进制数,那么存储该段语音信号约需要??____【10】___KB(1KB=1024B)的存储容量。

语音回放时,按照采样频率要求,定时从所存储的单元中逐次读出先行采样得到的数字语音信号,输出给D/A转换器,然后通过扬声器播出。

因此,在相关的驱动程序中,需要用语句:rGPCCON=??___【11】____;(注:rGPCCON是端口C的控制寄存器)来初始化GPC端口的引脚功能。

然后通过GPC端口的??___【12】____寄存器定时输出数字语音信号。

(4)闸门在乘客通过闸机后立即关闭,因此,硬件平台构建时,可在闸门的后方一定距离内安装一个红外感测探头,并在闸机控制器中设计相关接口电路。

若采用GPE0引脚来输入红外感测信号,GPE0引脚为“1”时,表示人体不在感应区内,GPE0引脚为“0”时,表示人体在感应区内。

那么,初始化GPE0引脚功能的语句是:
rGPECON=rGPECON &???___【13】____?; ? ?// rGPECON是端口E的控制寄存器
判断是否人体在感应区内的语句可以是:
if ((rGPEDAT & 0x0001) ==???___【14】____)
{//判断出人体在感应区内。

相关文档
最新文档