计算机三级嵌入式系统操作题(到详细解答)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作题(一)
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】____)+ 0.5 - 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】____)
{//判断出人体在感应区内
……
}
(5)闸机控制器的应用软件将在无操作系统环境下进行开发。设计者可以设计一个启动引导程序,来引导应用程序。按照ARM9体系结构中的规定,启动引导程序代码的存储单元首址应该是___【15】____,它对应着复位异常向量。系统上电/复位后,ARM9微处理器处于管理模式,启动引导程序在引导应用程序前,通常需用指令ORR R1,R0, ___【16】____|0xC0和MSR CPSR_cxsf,R1来使ARM核进入用户模式(注:R0,R1寄存器的初值设定为0。CPSR寄存器的格式见题后附录。),然后再通过指令___【17】____来引导应用程序主函数main()。启动引导程序中还需要完成异常向量表的设置,ARM9体系结构中规定异常向量之间各相差___【18】____个字节,因此,需要在各异常向量处设计一条分支指令。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗部件和禁止___【19】____部件,并设置各工作模式下的___【20】____指针。
附录:综合题中完善程序或回答问题所需的寄存器格式