1第一套1、酒店客房的门锁系统是由总台服务器和若干客房指纹锁组成,其基本功能具体描述如下:a、客房的指纹锁与总台服务器之间通过通信网络连接。b、旅客在总台登记住宿时,录入其指纹信息,并提取其特征值存储在总台服务器中。同时录入一个密码(若干位数字组成),以备指纹无法开锁时,用密码开锁。c、旅客在开客房指纹锁时,把相应手指放在门锁的指纹采集部件上,采集相应的指纹图像信息,并传输给总台服务器。d、总台服务器接收到某个客房指纹锁传输来的指纹图像信息后,进行特征值求取并进行匹配,若匹配正确,则回送开锁指令给客房指纹锁。e、客房指纹锁收到开锁指令后,控制开锁的机械动作,并用绿色LED灯指示开锁成功。f、若匹配不正确,总台服务器回送不开锁指令给客房指纹锁。g、客房指纹锁收到不开锁指令后,用红色LED灯指示开锁不成功。h、若指纹无法开锁,旅客还可以通过客房指纹锁上的数字按键输入密码,若密码匹配正确,也可以控制开锁的机械动作,并用绿色LED灯指示开锁成功。根据上述功能要求的描述,若采用S3C2410芯片为核心来构建客房指纹锁控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。(1)若采集的指纹图像分辨率为320?240,灰度等级为256,则存储一幅指纹图像的原始像素信息需要的存储容量为___【1】_____KB(1K=1000)。若采用115.2Kbps的异步串行通信网传输,一幅指纹图像的传输时间至少需要____【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来输入键盘列信号。请补充完善下面的键2盘扫描函数://**keyoutput是键盘扫描时的输出地址,keyinput是键盘读入时的地址#defineKEYOUTPUT(*(volatileINT8U*)0x56000044)//定义GPE的数据端口#defineKEYINPUT(*(volatileINT8U*)0x56000034)//定义GPD的数据端口INT16UScanKey(){INT16Ukey=0xFFFF;INT16Ui;INT8Utemp=0xFF,output;rGPDCON=rGPDCON&___【13】_____;//初始化GPD0~GPD2为输入rGPECON=((rGPECON&____【14】____)|0x00000055);//初始化GPE0~GPE3为输出;for(i=1;((i=____【15】____)&&(i0));i=1){output|=0xFF;output&=(~i);KEYOUTPUT=output;temp=KEYINPUT;if((temp&0x07)!=___【16】_____){key=(~i);key=8;key|=((temp&0x07)|0xF8);return(key);}}return0xFFFF;}上面的键盘扫描函数返回的是由键盘行信号和键盘列信号合并而成的一个16位二进制值,根据该函数的返回值,可以判断是否有按键按下,并可确定是哪个按键按下。若返回值为___【17】__时,可知键盘中无键按下,若返回值为____【18】____时,可知键盘中第3行第2列的键被按下。(注:以GPE0对应的键盘行为第一行,以GPD0对应的键盘列为第一列)(6)为了便于以太网通信程序的编写,客房指纹锁的应用软件基于霤/OS-II操作系统来设计,客房指纹锁的应用程序主函数中,需要用OSTaskCreate()函数____【19】____,并用____【20】____函数启动多任务调度功能。说明:下面是试题解答时需要用到的寄存器格式及相关说明。1)端口C的控制寄存器(GPCCON)引脚GPCCON的位描述GPC15[31:30]00=输入,01=输出,10=VD7,11=保留GPC14[29:28]00=输入,01=输出,10=VD6,11=保留GPC13[27:26]00=输入,01=输出,10=VD5,11=保留GPC12[25:24]00=输入,01=输出,10=VD4,11=保留GPC11[23:22]00=输入,01=输出,10=VD3,11=保留GPC10[21:20]00=输入,01=输出,10=VD2,11=保留GPC9[19:18]00=输入,01=输出,10=VD1,11=保留GPC8[17:16]00=输入,01=输出,10=VD0,11=保留GPC7[15:14]00=输入,01=输出,10=LCDVF2,11=保留GPC6[13:12]00=输入,01=输出,10=LCDVF1,11=保留3GPC5[11:10]00=输入,01=输出,10=LCDVF0,11=保留GPC4[9:8]00=输入,01=输出,10=VM,11=IIS数据输出GPC3[7:6]00=输入,01=输出,10=VFRAME,11=IIS数据输入GPC2[5:4]00=输入,01=输出,10=VLINE,11=保留GPC1[3:2]00=输入,01=输出,10=VCLK,11=保留GPC0[1:0]00=输入,01=输出,10=LEND,11=保留2)端口D的控制寄存器(GPDCON)引脚GPDCON的位描述GPD15[31:30]00=输入,01=输出,10=VD23,11=保留GPD14[29:28]00=输入,01=输出,10=VD22,11=保留GPD13[27:26]00=输入,01=输出,10=VD21,11=保留GPD12[25:24]00=输入,01=输出,10=VD20,11=保留GPD11[23:22]00=输入,01=输出,10=VD19,11=保留GPD10[21:20]00=输入,01=输出,10=VD18,11=保留GPD9[19:18]00=输入,01=输出,10=VD17,11=保留GPD8[17:16]00=输入,01=输出,10=VD16,11=保留GPD7[15:14]00=输入,01=输出,10=VD15,11=保留GPD6[13:12]00=输入,01=输出,10=VD14,11=保留GPD5[11:10]00=输入,01=输出,10=VD13,11=保留GPD4[9:8]00=输入,01=输出,10=VD12,11=保留GPD3[7:6]00=输入,01=输出,10=VD11,11=保留GPD2[5:4]00=输入,01=输出,10=VD10,11=保留GPD1[3:2]00=输入,01=输出,10=VD9,11=保留GPD0[1:0]00=输入,01=输出,10=VD8,11=保留3)端口E的控制寄存器(GPECON)引脚GPECON的位描述GPE15[31:30]00=输入,01=输出,10=IICSDA,11=保留GPE14[29:28]00=输入,01=输出,10=IICSCL,11=保留GPE13[27:26]00=输入,01=输出,10=SPICLK0,11=保留GPE12[25:24]00=输入,01=输出,10=SPIMOSI0,11=保留GPE11[23:22]00=输入,01=输出,10=SPIMISO0,11=保留GPE10[21:20]00=输入,01=输出,10=SSDAT3,11=保留GPE9[19:18]00=输入,01=输出,10=SSDAT2,11=保留GPE8[17:16]00=输入,01=输出,10=SSDAT1,11=保留GPE7[15:14]00=输入,01=输出,10=SSDAT0,11=保留GPE6[13:12]00=输入,01=输出,10=SDCMD,11=保留GPE5[11:10]00=输入,01=输出,10=SDLCK,11=保留GPE4[9:8]00=输入,01=输出,10=IISSDO,11=IIS数据输出GPE3[7:6]00=输入,01=输出,10=IISSI,11=IIS数据输入GPE2[5:4]00=输入,01=输出,10=CDCLK,11=保留GPE1[3:2]00=输入,01=输出,10=IISCLK,11=保留GPE0[1:0]00=输入,01=输出,10=IISLRCK,11=保留4)端口H的控制寄存器(GPHCON)引脚GPHCON的位描述GPH10[21:20]00=输入,01=输出,10=CLKOUT1,11=保留4GPH9[19:18]00=输入,01=输出,10=CLKOUT0,11=保留GPH8[17:16]00=输入,01=输出,10=UEXTCLK,11=保留GPH7[15:14]00=输入,01=输出,10=RXD2,11=保留GPH6[13:12]00=输入,01=输出,10=TXD2,11=保留GPH5[11:10]00=输入,01=输出,10=RXD1,11=保留GPH4[9:8]00=输入,01=输出,10=TXD1,11=IIS数据输出GPH3[7:6]00=输入,01=输出,10=RXD0,11=IIS数据输入GPH2[5:4]00=输入,01=输出,10=TXD0,11=保留GPH1[3:2]00=输入,01=输出,10=nRTS0,11=保留GPH0[1:0]00=输入,01=输出,10=nCTS0,11=保留【解题思路】本题是一道基于S3C2410的嵌入式系统开发综合题。考查了数字图像的存储容量计算,网络通信数据传输;系统硬件构件设计,尤其是GPIO接口功能及初始化程序,结合常用外设的连接,如LED、键盘等;基于μC/OS-II操作系统的应用程序的主要μC/OS-II函数,如何创建任务及启动任务调度功能。【参考答案及解析】【1】76.8;320*240/1000=76.8KB;【2】6.7;115.2Kbps换算成字节是每秒发送115.2/8=14.4KB的数据。异步串行每发送8个字节有一个起始位和停止位,76.8/8=9.6,说明一共需要10个停止位和10个起始位,一个发送96.8KB的数据,96.8/14.4=6.72秒;【3】0.076;10Mbps理论速度是每秒1.25MB,加上损耗以1Mbyte每秒计算,理论速度是0.076秒【4】