基于ARM7的指纹考勤机设计
发布时间:2008/5/27 0:00:00 访问次数:404
生物识别技术依靠其鉴别的唯一性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的s33c44b0x处理器设计了一款指纹考勤机,在功能、接口、价格等方面都有着极大的优势。
所设计的考勤机具有指纹采集和刷卡采集两大基本功能。指纹采集部分采用cmos光学传感器。刷卡采集相应的射频模块,它可以通过串口的方式与cpu通信。考勤机和上位机的通讯则采用通用的模拟usb接口,有效地达到了即保证低成本又方便用户使用的目的。另外还加入了usb充电,实时时钟显示,语音提示等众多人性化功能。
系统硬件设计
本系统主cpu采用的是三星公司的s3c44b0x处理器,该处理器具有功能多、功耗低、运算速度快、价格低廉等优点。
硬件设计主要包括指纹采集、刷卡采集、和电源管理三个部分。
存储器采用外接的方式,分别接了64m的hy57v641620hg的sdram和16m的39vf1601的flash。语音提示模块采用的是总长为
上位机通讯通过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请求(与非门输出低电平)。当接收到请求后,便按d
生物识别技术依靠其鉴别的唯一性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的s33c44b0x处理器设计了一款指纹考勤机,在功能、接口、价格等方面都有着极大的优势。
所设计的考勤机具有指纹采集和刷卡采集两大基本功能。指纹采集部分采用cmos光学传感器。刷卡采集相应的射频模块,它可以通过串口的方式与cpu通信。考勤机和上位机的通讯则采用通用的模拟usb接口,有效地达到了即保证低成本又方便用户使用的目的。另外还加入了usb充电,实时时钟显示,语音提示等众多人性化功能。
系统硬件设计
本系统主cpu采用的是三星公司的s3c44b0x处理器,该处理器具有功能多、功耗低、运算速度快、价格低廉等优点。
硬件设计主要包括指纹采集、刷卡采集、和电源管理三个部分。
存储器采用外接的方式,分别接了64m的hy57v641620hg的sdram和16m的39vf1601的flash。语音提示模块采用的是总长为
上位机通讯通过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请求(与非门输出低电平)。当接收到请求后,便按d