问答题
地铁进出站闸机的控制器以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述如下:
a、闸机能够识别本地铁票务系统出售的IC卡。能识别的IC卡有2种,一种是可预付费的“市民卡”,另一种是地铁站内出售的“当次卡”。
b、乘客凭“市民卡”或“当次卡”刷卡进站。若IC卡合法,则闸机打开,乘客通过后,闸机立即关闭;若IC卡不合法,闸机不打开,并进行声光报警。声光报警5次后自动停止。
c、进站刷卡时,还需识别IC卡的种类。若是“市民卡”,在闸机打开之前,需读取卡中余额并显示在闸机的LED显示器上,且把地铁站ID、进站时间写入卡中相应区域。若是“当次卡”,判断合法后直接打开闸机。
d、出站时,乘客需要根据所用的IC卡种类,来进行不同的操作。若乘客用的是“市民卡”,则需在闸机的刷卡器上刷卡,若乘客用的是“当次卡”则需要把卡投入闸机的投卡口中。
e、若乘客出站时刷的是“市民卡”,闸机系统需读取存储在卡上的“市民卡”类别ID(注:“市民卡”类别分为普通卡、学生卡、老人卡)、地铁站ID、进站时间、余额等信息,根据这些信息来扣除费用,并在闸机的LED显示器上显示余额及本次扣费额,若是学生卡或老人卡,还要用声音播报出“市民卡”类别,然后,打开闸机,乘客通过后立即关闭闸机。
f、若乘客出站时用的是“当次卡”,判断合法后即把闸机打开,乘客出去后立即关闭。
根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。
(注意:完善程序或回答问题所需的寄存器格式见说明)
说明:下面是试题解答时需要用到的寄存器格式及相关说明。
1)端口C控制寄存器(GPCCON)的格式
|
符号
|
位
|
描述
|
初始状态
|
|
GPC15
|
[31:30]
|
00=输入01=输出10=VD7 11=保留
|
00
|
|
GPC14
|
[29:28]
|
00=输入01=输出10=VD6 11=保留
|
00
|
|
GPC13
|
[27:26]
|
00=输入01=输出10=VD5 11=保留
|
00
|
|
GPC12
|
[25:24]
|
00=输入01=输出10=VD4 11=保留
|
00
|
|
GPC11
|
[23:22]
|
00=输入01=输出10=VD3 11=保留
|
00
|
|
GPC10
|
[21:20]
|
00=输入01=输出10=VD2 11=保留
|
00
|
|
CPC9
|
[19:18]
|
00=输入01=输出10=VD1 11=保留
|
00
|
|
GPC8
|
[17:16]
|
00=输入01=输出10=VD0 11=保留
|
00
|
|
GPC7
|
[15:14]
|
00=输入01=输出10=LCDVF2 11=保留
|
00
|
|
GPC6
|
[13:12]
|
00=输入01=输出10=LCDVF1 11=保留
|
00
|
|
GPC5
|
[11:10]
|
00=输入01=输出10=LCDVF0 11=保留
|
00
|
|
GPC4
|
[9:8]
|
00=输入01=输出10=VM 11=保留
|
00
|
|
GPC3
|
[7:6]
|
00=输入01=输出10=VFRAME 11=保留
|
00
|
|
GPC2
|
[5:4]
|
00=输入01=输出10=VLINE 11=保留
|
00
|
|
GPC1
|
[3:2]
|
00=输入01=输出10=VCLK 11=保留
|
00
|
|
GPC0
|
[1:0]
|
00=输入01=输出10=LEND 11=保留
|
00
|
2)端口E控制寄存器(GPECON)的格式
|
符号
|
位
|
描述
|
初始状态
|
|
GPE15
|
[31:30]
|
00=输入01=输出10=IICSDA 11=保留
|
00
|
|
GPE14
|
[29:28]
|
00=输入01=输出10=IICSCL 11=保留
|
00
|
|
GPE13
|
[27:26]
|
00=输入01=输出10=SPICLK 11=保留
|
00
|
|
GPE12
|
[25:24]
|
00=输入01=输出10=SPIMOSI0 11=保留
|
00
|
|
GPE11
|
[23:22]
|
00=输入01=输出10=SPIMISO0 11=保留
|
00
|
|
GPE10
|
[21:20]
|
00=输入01=输出10=SDDAT3 11=保留
|
00
|
|
GPE9
|
[19:18]
|
00=输入01=输出10=SDDAT2 11=保留
|
00
|
|
GPE8
|
[17:16]
|
00=输入01=输出10=SDDAT1 11=保留
|
00
|
|
CPE7
|
[15:14]
|
00=输入01=输出10=SDDAT0 11=保留
|
00
|
|
GPE6
|
[13:12]
|
00=输入01=输出10=SDCMD 11=保留
|
00
|
|
GPE5
|
[11:10]
|
00=输入01=输出10=SDCLK 11=保留
|
00
|
|
GPE4
|
[9:8]
|
00=输入01=输出10=IISSDO 11=保留
|
00
|
|
GPE3
|
[7:6]
|
00=输入01=输出10=IISSDI 11=保留
|
00
|
|
GPE2
|
[5:4]
|
00=输入01=输出10=CDCLK 11=保留
|
00
|
|
GPE1
|
[3:2]
|
00=输入01=输出10=IISSCLK 11=保留
|
00
|
|
GPE0
|
[1:0]
|
00=输入01=输出10=IISLRCK 11=保留
|
00
|
3)端口H控制寄存器(GPHCON)的格式
|
符号
|
位
|
描述
|
初始状态
|
|
CPH10
|
[21:20]
|
00=输入01=输出
10=CLKOUT1 11=保留
|
00
|
|
GPH9
|
[19:18]
|
00=输入01=输出
10=CLKOUT0 11=保留
|
00
|
|
GPH8
|
[17:16]
|
00=输入01=输出
10=UCLK 11=保留
|
00
|
|
GPH7
|
[15:14]
|
00=输入01=输出
10=RXD2 11=nCTS1
|
00
|
|
GPH6
|
[13:12]
|
00=输入01=输出
10=TXD2 11=nRTS1
|
00
|
|
GPH5
|
[11:10]
|
00=输入01=输出
10=RXD1 11=保留
|
00
|
|
GPH4
|
[9:8]
|
00=输入01=输出
10=TXD1 11=保留
|
00
|
|
GPH3
|
[7:6]
|
00=输入01=输出
10=RXD0 11=保留
|
00
|
|
GPH2
|
[5:4]
|
00=输入01=输出
10=TXD0 11=保留
|
00
|
|
GPH1
|
[3:2]
|
00=输入01=输出
10=nRTS0 11=保留
|
00
|
|
GPH0
|
[1:0]
|
00=输入01=输出
10=nCTS0 11=保留
|
00
|
4)ULCONn寄存器的格式
|
符号
|
位
|
描述
|
初始状态
|
|
Reserred
|
[7]
|
保留
|
0
|
|
Infra-Red Mode
|
[6]
|
确定是否采用红外模式
0=正常操作模式1=红外传输模式
|
0
|
|
Parity Mode
|
[5:3]
|
确定校验类型
0xx=无校验
100=奇校验101=偶校验
|
000
|
|
Stop Bit
|
[2]
|
确定停止位数
0=1位停止位1=2位停止位
|
0
|
|
Word Length
|
[1:0]
|
确定数据位数
00=5位01=6位
10=7位11=8位
|
00
|
5)CPSR寄存器(32位寄存器)的格式(注:仅给出了最后5位,即工作模式选择位)
|
M4
|
M3
|
M2
|
M1
|
M0
|
工作模式
|
|
1
|
0
|
0
|
0
|
0
|
用户模式
|
|
1
|
0
|
0
|
0
|
1
|
FIQ模式
|
|
1
|
0
|
0
|
1
|
0
|
IRQ模式
|
|
1
|
0
|
0
|
1
|
1
|
管理模式
|
|
1
|
0
|
1
|
1
|
1
|
中止模式
|
|
1
|
1
|
0
|
1
|
1
|
未定义模式
|
|
1
|
1
|
1
|
1
|
1
|
系统模式
|
问答题
闸机控制器的硬件平台设计时,除了需要设计最小硬件系统(包括:微处理器、______电路、时钟电路、复位电路、存储器、JTAG接口电路)外,还必须设计IC卡读写电路、闸门电机驱动电路、声音提示及声光报警电路、LED显示接口电路等。若闸门电机驱动电路由GPE1引脚控制,GPE1引脚输出“0”时,控制闸门关闭,输出“1”时,控制闸门打开。那么,初始化GPE1引脚功能的语句是:
rGPECON=((rGPECON|0x00000004)&______); //rGPECON是端口E的控制寄存器
控制闸门关闭和打开的语句分别是:
rGPEDAT=rGPEDAT&______; //rGPEDAT是端口E的数据寄存器
rGPEDAT=rGPEDAT | ______;
【正确答案】
【答案解析】电源 0xFFFFFFF7或(~0x00000008)或~0x00000008 0xFFFD或(~0x0002)或~0x0002 0x0002
[解析] 本题主要考查基于S3C2410的地铁进出站闸机系统开发。包括嵌入式最小硬件系统构成,GPIO引脚功能及相应初始化设置,GPC和GPD作为LED显示器接口引脚,GPE作为输入输出,还考察了香农定理,ARM9体系结构中的异常向量等相关知识。
最小硬件系统的组成包括:微处理器、电源电路、时钟电路、复位电路、存储器、JTAG接口电路等;和0相与清零,和1相与保持不变。和0相或保持不变,和1相或置1。00为输入,01为输出,则初始化GPE1引脚功能为输出的语句是:rGPECON=((rGPECON | 0x00000004)&0xFFFFFFF7)则第二空为0xFFFFFFF7或(~0x00000008)或~0x00000008;GPE1引脚输出“0”时,控制闸门关闭,即rGPEDAT=rGPEDAT&0xFFFD则第三空为0xFFFD或(~0x0002)或~0x0002;GPE1引脚输出“1”时,控制闸门打开。即rGPEDAT=rGPEDAT | 0x0002,则第四空为0x0002。
问答题
IC卡读写电路设计时,选用IC卡读写模块通过异步串行接口与S3C2410连接,利用S3C2410芯片内部的UART1部件实现异步串行接口电路设计。那么,在UART1的驱动程序设计时,可用下面一段程序来初始化UART1部件(注:UART1的波特率要求为:115200bps,数据格式要求为:8位数据、1位停止位、偶校验,主频为PCLK。)。
void UART1_Init()
{
rGPHCON=(rGPHCON&0xFFFFF0FF)|______;//端口H相应引脚功能初始化
rUFCON1=0x0; //FIFO disable
rUMCON1=0x0:
rULCON1=(______<<3)|(0<<2)|(______); //设置线路控制寄存器
rUCON1=0x245; //设置控制寄存器
ruBRDIV1=((int)(PCLK/______)+0.5-1); //设置波特率,小数采用四舍五入
}
【正确答案】
【答案解析】0x00000A00 5 3 115200×16=1843200[解析] GPH5中10=RXD1,GPH4中10=TXD1。所以端口H的初始化语句为先清零、再置1,即rGPHCON=(rGPHCON&0xFFFFFOFF) | 0x00000A00,则第一空为0x00000A00;8位数据位、1位停止位、偶校验。在ULCON中,[1:0]:11=8位;[2]:0=1位停止位;[5:3]:101=偶校验;[6]:0=正常操作模式。即rULCON1=(5<<3)|(0<<2)|(3),则第二空为5,第三空为3;设置波特率为115200×16=1843200。
问答题
乘客出站时刷的若是“市民卡”,则需要用声音来播报卡的类别,即若是“学生卡”则语音播报:学生卡;若是“老人卡”则语音播报:老人卡。因此,硬件平台构建时设计了一个16位D/A转换器芯片,再加上功率放大电路及扬声器等所构成的语音播报电路,S3C2410芯片通过GPC端口与D/A转换器的16位数据线相连。软件设计时,可以先行对相关的语音波形进行采样、编码。设人的语音频率范围是300Hz~4000Hz,因此,对语音波形采样时,采样频率至少应为______KHz,所采得的数字语音信号才不至于失真。假设,播音员读“学生卡”的这段语音波形持续3秒,采用该采样频率进行采样,数字语音信号编码采用16位二进制数,那么存储该段语音信号约需要______KB(1KB=1024B)的存储容量。语音回放时,按照采样频率要求,定时从所存储的单元中逐次读出先行采样得到的数字语音信号,输出给D/A转换器,然后通过扬声器播出。因此,在相关的驱动程序中,需要用语句:rGPCCON=______;(注:rGPCCON是端口C的控制寄存器)来初始化GPC端口的引脚功能。然后通过GPC端口的______寄存器定时输出数字语音信号。
【正确答案】
【答案解析】8 46.875 0x55555555 数据[解析] 根据香农采样定理可得第一空为8;采样频率为8KHz,采样周期为125us,样本值用16位二进制数进行编码。则3s的语音片段的存储容量为:(3×16)/(125us×8)=46.875,则第二空为46.875。00为输入,01为输出,则初始化GPC关口功能为输出的语句是:rGPCCON=0x55555555,则第三空为0x55555555。
问答题
闸门在乘客通过闸机后立即关闭,因此,硬件平台构建时,可在闸门的后方一定距离内安装一个红外感测探头,并在闸机控制器中设计相关接口电路。若采用GPE0引脚来输入红外感测信号,GPE0引脚为“1”时,表示人体不在感应区内,GPE0引脚为“0”时,表示人体在感应区内。那么,初始化GPE0引脚功能的语句是:
rGPECON=rGPECON&______; //rGPECON是端口E的控制寄存器
判断是否人体在感应区内的语句可以是:
if((rGPEDAT&0x0001)==______)
{//判断出人体在感应区内
……
}
【正确答案】
【答案解析】0xFFFFFFFC或~0x00000003或(~0x00000003) 0x0000[解析] 采用GPE0引脚来输入红外感测信号,GPE0引脚为“1”时,表示人体不在感应区内,GPE0引脚为“0”时,表示人体在感应区内。则初始化GPE0引脚功能的语句是:rGPECON=rGPECON &0xFFFFFFFC,则第一空为0xFFFFFFFC或~0x00000003或(~0x00000003);判断人体是否在感应区内的语句为:if((rGPEDAT &0x0001)==0x0000),若为真,则表示人体在感应区内,则第二空为0x0000。
问答题
闸机控制器的应用软件将在无操作系统环境下进行开发。设计者可以设计一个启动引导程序,来引导应用程序。按照ARM9体系结构中的规定,启动引导程序代码的存储单元首址应该是______,它对应着复位异常向量。系统上电/复位后,ARM9微处理器处于管理模式,启动引导程序在引导应用程序前,通常需用指令ORR R1,R0,______| 0xC0和MSR CPSR_cxsf,R1来使ARM核进入用户模式(注:R0,R1寄存器的初值设定为0。CPSR寄存器的格式见题后附录。),然后再通过指令______来引导应用程序主函数main()。启动引导程序中还需要完成异常向量表的设置,ARM9体系结构中规定异常向量之间各相差______个字节,因此,需要在各异常向量处设计一条分支指令。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗部件和禁止______部件,并设置各工作模式下的______指针。
【正确答案】
【答案解析】0x00000000或0x00 0x10或0x00000010或16 BL_main 4 外部中断 堆栈[解析] 按照ARM9体系结构中的规定,启动引导程序代码的存储单元首址应该是0x00000000或0x00,对应复位异常向量。用户模式中[M4 M3 M2 M1 M0]=[1 0 0 0 0]。即ORR R1,R0,0x10|0xC0,则第二空为0x10或0x00000010或16;再通过指令BL_main来引导应用程序主函数main()。ARM9体系结构中规定异常向量之间各相差4个字节,因此,需要在各异常向量处设计一条分支指令。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗部件和禁止外部中断部件,并设置各工作模式下的堆栈指针。