基于ARM的指纹识别门禁系统设计方案
电路。整个硬件系统的框图如图2所示。
图2 系统硬件结构图
系统存储器接口采用128MB SDRAM存储器,支持16、64、128、256MB DRAM技术,4个SDRAM区,每个区支持64M存储器。时钟允许(一个CKE引脚用于把整个SDRAM接口置为自我刷新),支持最多至6个静态存储器器件(SRAM、Flash、ROM),支持2个PCMCI/CF插槽。
时钟采用3.6864MHz振荡器,具有核PLL和外围PLL,可产生各种工作频率,32.768kHz振荡器可驱动实时时钟、电源管理器和中断控制器。电源控制器可控制快速/运行、空闲和睡眠工作方式。LCD控制器支持被动(DSTN)和主动(TFT)LCD显示,最大分辨率800×600×16,2个专用DMA通道,允许LCD控制器支持单层或双层显示。实时时钟(RTC),可产生周期性中断,把应用处理器从睡眠状态唤醒。串行口通信USB从模块,符合USB规范,支持v1.1版本,支持多达16个端点提供48MHz的内部时钟。
3 系统软件设计
本系统的软件设计主要有以下几个流程:上电系统初始化、指纹识别、控制电锁的开启。系统的精度绝大部分取决于指纹识别的算法。程序初始化后进人低功耗模式,等待各种具体操作。当有指纹采集时,就进入指纹数据采集和处理模块,处理结束后,又重新退回低功耗等待模式,等待其他操作。同理,当有读卡数据或者时钟设置响应时,便进入相应的操作模块进行处理。
3.1 对S3C2440AL的初始化
系统初始化对于嵌人式系统,要在其程序存储器中有系统初始化代码(如图3)。系统执行了初始化代码后,才能正确执行其他应用程序,初始化在系统复位后自动完成。系统的初始化必须包含下列初始化代码,有设置中断向量表、初始化寄存器、初始化堆栈指针寄存器、初始化端口、改变处理器的工作模式。系统在用户模式下才能开中断。在对指纹传感器的初始化中,应按要求逐步对控制寄存器进行初始化。
图3 初始化流程图
3.2 指纹采集
指纹采集可以工作在中断方式,也可以工作在查询方式。本系统采用的是查询工作方式。程序流程大致如下,先初始化各寄存器,先往相应的寄存器写入控制字,设置采集指纹的参数,当指纹被自动采集进入数据寄存器,把指纹数据存入到指定的存储空间。
3.3 与计算机之间的通信
RS232串口用于S3C2440AL与上位机的通信,当存储图像过多时,可把图像存储在上位机上。S3C2440AL的UART可工作在中断模式或DMA模式下。本系统选用的是中断模式,也可以用查询方式。程序可以控制端口的波特率、数据宽度(5、6、7、8位)、停止位(1到2位)、极性控制等通信协议的设置。
4 结束语
本文介绍了基于ARM的指纹识别门禁系统的软硬件设计。ARM体系结构有丰富的接口,在门禁、监控等领域正发挥越来越重要的作用,面向可集成、可移植的特定嵌入式系统越来越多地出现在工程应用领域。本文实现的指纹识别门禁系统具有轻便、易安装、成本低的优点,具有良好的发展前景。
参考文献:
[1].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[3].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)