基于ARM7的指纹考勤机设计

时间:2007-11-14
引言

  生物识别技术依靠其鉴别的性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的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接口等功能的一款便携设备。本产品目前已经研制出样机,经调试检测各项指标合格,实现了上述各项功能,满足了产品的设计指标。

 



  

参考文献:

[1]. S3C44B0X datasheet https://www.dzsc.com/datasheet/S3C44B0X_589522.html.
[2]. HY57V641620HG datasheet https://www.dzsc.com/datasheet/HY57V641620HG_390467.html.
[3]. AP8921A datasheet https://www.dzsc.com/datasheet/AP8921A_2023795.html.
[4]. CH341 datasheet https://www.dzsc.com/datasheet/CH341_1132232.html.
[5]. MAX1508 datasheet https://www.dzsc.com/datasheet/MAX1508_719789.html.
[6]. OV7620 datasheet https://www.dzsc.com/datasheet/OV7620_525855.html.
[7]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[8]. LT1308A datasheet https://www.dzsc.com/datasheet/LT1308A_1057877.html.


上一篇:集成音频功放IC应用于BTL方法探讨与实验
下一篇:基于数字电视系统的嵌入式linux操作系统实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料