基于ARM7的指纹考勤机设计

发布时间:2010-8-2 12:02    发布者:lavida
关键词: ARM7 , 考勤机 , 指纹
引言

生物识别技术依靠其鉴别的唯一性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的S33C44B0X处理器设计了一款指纹考勤机,在功能、接口、价格等方面都有着极大的优势。  

所设计的考勤机具有指纹采集和刷卡采集两大基本功能。指纹采集部分采用CMOS光学传感器。刷卡采集相应的射频模块,它可以通过串口的方式与CPU通信。考勤机和上位机的通讯则采用通用的模拟USB接口,有效地达到了即保证低成本又方便用户使用的目的。另外还加入了USB充电,实时时钟显示,语音提示等众多人性化功能。  

系统硬件设计  

本系统主CPU采用的是三星公司的S3C44B0X处理器,该处理器具有功能多、功耗低、运算速度快、价格低廉等优点。  

硬件设计主要包括指纹采集、刷卡采集、和电源管理三个部分。  

存储器采用外接的方式,分别接了64M的HY57V641620HG的SDRAM和16M的39VF1601的flash。语音提示模块采用的是总长为21S录音时间的AP8921A芯片。  

上位机通讯通过CH341芯片进行异步串口转USB1.1接口,用户对外可以按照正常的USB接口使用,省去了麻烦的串口。系统采用了MAX1508芯片通过USB接口给锂电充电,平时采用电池供电,插上USB接口后即可通过USB接口给系统供电,并给锂电充电。  

按键总共有三个,一个是系统的开关机按键,另外两个分别是实时时钟设的置按键和方向键。  

指纹采集  

指纹采集传感器采用OV7620,并以I2C总线及DMA的数据传输方式实现与CPU的信息交互。  

J1为采集头的接口,主要有15个引脚,其中引脚8至引脚15为数据输出接口,连接至锁存器,最终接到数据总线上;引脚6、7为I2C总线,用于对传感器寄存器进行初始化设置;引脚3到引脚5分别为传感器的时钟信号、行同步信号和帧同步信号。帧同步信号直接连接至CPU的通用I/O端口GPF3上,行同步信号和时钟信号通过与非门接至CPU的外部DMA请求输入nXDREQ1。  

当nXDREQ1输出由高电平变得低电平时,传感器便有数据输出,并且数据能够维持至下一个同样的过程的到来。这正好符合44B0的外部DMA请求的单步模式的要求。于是自然就可以采用DMA的方式来读取数据。最终的数据读取是通过片选锁存器来实现的。由于DMA的方式不干预CPU,因此也大大提高了读取的速度。  

刷卡采集  

刷卡采集选用的是MTP-125K4模块,并选择ASCII方式以及固定的9600bps输出RS232数据,感应距离为30cm,其输出数据端口直接连接CPU的串口1接收端即可。输出的数据格式为头码(02)+10ASCII数据+Checksum校验码+结束码(03),事实上我们只需存储10位数据信息中的4位卡号。  

电源管理  

电源管理部分采用了1150mAh的LI电,通过DC-DC升压至5V,再通过LDO给系统所需要的3.3V和2.5V电压。其中DC-DC是LT1308A芯片,LDO采用AMS1117-3.3V和AMS1117-2.5V,可以为系统提供稳定的电压供给。  

功能为实现USB和电池供电的切换。当未插入USB时采用电池供电,而连接时系统采用USB供电。S9为总电源开关。具体的实现过程为:电池供电时,开关S9按下,TEST1点由高变低,Q0导通,NAND网络为高,系统开始供电,此时程序运转并给与SHDN引脚高电平信号,促使Q6导通,此时即使按键抬起TEST1点仍为低电平,维持Q0的导通。当插上USB后,按键的按下使得Q4导通,Q0此时截至,系统由电池供电切换为USB供电,其它道理相同。关机时按键按下,POWER_DET网络检测电平由高变低,给予SHDN低电平,Q6截至,按键抬起后无论是Q0还是Q4均截至,系统断电。

系统软件设计   

软件部分除了CPU的底层初始化部分采用ARM汇编,其余全部用C语言编写。

程序初始化后进入低功耗模式,等待各种具体操作。当有指纹采集时,就进入指纹数据采集和处理模块,处理结束后,又重新退回低功耗等待模式,等待其他操作。同理,当有读卡数据或者时钟设置响应时,便进入相应的操作模块进行处理。值得注意的是,系统有两种关机方式。一种是通过手动关机,另一种则通过系统定时器定时到后自动关机。  

图像数据读取  

根据前面的分析,图像数据的采集采用的是DMA方式的单步模式。初始化时,除了设置单步模式外,还需要将DMA读取的源地址设为锁存器上的片选地址,目的地址则是存储数据的缓存地址;数据的大小设置为一帧数据的大小,这里为480×640字节。  
  
在读取数据过程中,系统首先检测帧同步信号,以确定一帧的开始,然后等待传感器发出的DMA请求(与非门输出低电平)。当接收到请求后,便按DMA的方式传输数据,每接收一个字节,相应的用于指示剩余字节数的寄存器的值便会减一,直至减到零,表示数据接收完毕。

读卡  

考虑到刷卡的随机性,决定采用中断的方式来读取数据。即通常情况下,系统是在低功耗下等待;当有刷卡时,跳出低功耗并读取数据。  

整个读取过程就是对串口通信的操作过程。当有数据进来时,串口模块会产生一个中断。因此在相应的中断响应便可以读取这一数据,直至数据完整读取;所读取的数据中有一个校验和,可以帮助验证数据的正确性。  

结语  

本系统采用了大量成熟的模块,具有指纹采集、刷卡、语音提示、实时时钟、USB接口等功能的一款便携设备。本产品目前已经研制出样机,经调试检测各项指标合格,实现了上述各项功能,满足了产品的设计指标。
本文地址:https://www.eechina.com/thread-18569-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表