基于arm的第二代身份证信息采集系统设计_第1页
基于arm的第二代身份证信息采集系统设计_第2页
基于arm的第二代身份证信息采集系统设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于arm的第二代身份证信息采集系统设计

0实现身份信息的数据共享,降低管理成本目前,ic技术正在迅速发展。ic卡身份验证信息的最大好处是实现身份管理的信息。嵌入式网络技术和数据库技术可以在短时间内完成身份信息的传输和存储,并进行身份验证和管理。信息化后的身份信息也可以与民航,司法,银行共享,降低管理成本。本系统在研究了国内很多二代身份刷卡机的基础上,结合现在最为热门的嵌入式ARM7LPC2210处理器,LCD显示技术,GSM模块传输技术,提出了一种结构简单,方便使用,功能先进的信息采集系统。1系统的组成电路本系统主要由电源电路,复位电路,系统时钟电路,JTAG接口电路,串口电路,图形液晶模块接口电路,系统存储电路,GSM模块电路组成,如图1所示。本系统采用的主控制器LPC2210芯片2一些硬件功能模块的设计2.1电源电路部分LPC2210要使用两组电源2.2图形液晶模块控制模块电路设计的点阵图形液晶模块接口电路,可以直接与SMG240128A点阵图形液晶模块或其他兼容模块连接使用,接口电路如图2。采用8位总线方式连接SMG240128图形液晶模块,该模块没有地址总线,现实地址和显示数据均通过DB0~DB7接口实现。由于模块工作电源是5V而LPC2210的I/O电压为3.3V,所以在总线上串接470欧姆的保护电阻。液晶模块的C/D与A1连接,使用A1控制模块处理数据/命令。将C/D与A1连接有一个好处,就是LPC2210可以使用16为总线方式操作该图形液晶模块(高8位数据被忽略)。其数据操作地址为0x83000000,命令操作地址为0x83000002。2.3系统复位电路设计时扩展了LPC2210的片外存储FLASH,采用16Mbit的SST39VF1601。为了方便程序的调试及最终代码的固化应用,使用了Bank0和Bank1的地址空间,可以通过JP3条线将CS0和CS1分配给FLASH。在程序调试时,分配RAM为Bank0地址,因为Bank0可以进行中断向量重新映射操作。当最终代码固化到FLASH时,分配FLASH为Bank0地址,因为Bank0可以用来引导程序运行。若使用Bank0引导程序运行时,将JP2短接到OUTSIDE,使系统复位时BOOT1和BOOT0为0b01。存储器连接使用了16位总线方式,数据总线使用了D0~D15,地址总线使用了A1~A20。LPC2210没有片内FLASH,所以只能使用外部的FLASH保存用户最终的程序。3阿姆斯基茨堡垒和刷卡器之间的通信此部分的任务包括对刷卡器相关命令的测试和解析以及通信程序的编制4pdu及其构成ARM与GSM短信模块的通信,主要是完成GSM指令的编制并通过UART1发送出去,最终把身份证信息通过短信的形式发送到目的地。一般GSM短信塻块都支持PDU和Text模式。PDU是大多数手机短信通讯的核心,仅有少数手机只支持Text模式。PDU模式比起Text模式可以提供更为强大的功能,但其编码较Text模式困难。无论哪种模式,我们都可以通过AT指令控制终端实现短信的发送、接收、删除等管理。由于程序中使用的是PDU模式,故下面主要介绍PDU的构成及编码解码。PDU的构成:PDU由一串“0-9”及“A-F”组成。表面上看起来就是一组16进制的数所组成的。在每次发送短信之前要加上GSM复位指令,以防止发送出错,GSM复位的时间较短,不会影响发送短信的及时性。通信流程图如图5所示。由于在PDU在手机号码排列顺序与正常的顺序不一致,故需要编写一个函数5软件版本rc/os5.1系统运行程序设计基于UC/OS-Ⅱ任务之间以及任务与中断服务程序之间可以调用信号量、消息邮箱、消息队列、延时等系统服务来实现彼此通信和同步。编写好这些任务的代码和用到的中断服务程序后,启动操作系统则应用程序将开始运行。若要增添功能,只需增加相应的任务和调用一定的系统服务函数即可。5.2arm7堆栈UC/OS-Ⅱ在设计的过程中就考虑到了移植的方便性,它的绝大部分代码都是用C语言完成的。与处理器体系结构相关的代码,包括相关数据结构都以宏定义的方式存在,便于用户改写,将UC/OS-Ⅱ移植到处理器的过程中,只需要修改3个和LPC2210体系结构相关的文件,这3个文件分别为OSCPU.H、OSCPUC.C和OSCPUA.S。OSCPU.H主要对数据结构的字长重新定义,以符合ARM7的字长规定。包括定义与ADS编译器相关的数据类型,栈的增长方向,选择开关中断的方式等。OSCPUC.C中根据ARM7的特点定义了具体的堆栈结构,用于保存在任务切换时现场CPU寄存器的上下文,根据ARM7的体系结构特点,将堆栈设计为一个固定结构。调用系统函数OSTaskStkInit()来初始化堆栈。OSCPUA.S中需要根据硬件编写3个函数:OSIntCtxSw(),OSStartHighRdy().OSTickISR()。该文件体现了处理器的体系结构和UC/OS-Ⅱ的移植原理。OSInCtxSw()用于中断级任务切换。它是在时钟中断ISR(中断服务例程)中发现有高优先级任务等待时钟信号到来,则在中断返回时不返回被中断的任务,而是直接调度就绪的高优先级任务并执行,保证了系统的实时性。OSStartHighRdy()用于系统通过OSStart()多任务启动之后,启动最高优先级的任务,这是最初的一次调度移植的关键是获取堆栈的指针,从新任务堆栈中获取所有寄存器并执行中断返回指令。OSTickISR()是时钟节拍,是整个系统的“心脏”。本设计将UC/OS-Ⅱ成功移植到LPC2210,通过ARM公司的ADS编译器编译成功。操作系统移植成功后,需要基于UC/OS-Ⅱ编写每个功能单元的驱动程序。依据上文对各功能模块的描述,分别实现各部分的驱动功能。6根据性能测试,测试基于ARM7和UC/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论