DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 147|回复: 0
打印 上一主题 下一主题

基于ARM7的指纹考勤机设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 14:49:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要: 以ARM7芯片为核心,设计了一款指纹考勤机。此产品兼具指纹考勤和刷卡考勤两项基本功能。
关键词: ARM7;DMA;考勤机;指纹采集;射频卡
  引言
  生物识别技术依靠其鉴别的唯一性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的S33C44b0X处理器设计了一款指纹考勤机,在功能、接口、价格等方面都有着极大的优势。
  所设计的考勤机具有指纹采集和刷卡采集两大基本功能。指纹采集部分采用CMOS光学传感器。刷卡采集相应的射频模块,它可以通过串口的方式与CPU通信。考勤机和上位机的通讯则采用通用的模拟USb接口,有效地达到了即保证低成本又方便用户使用的目的。另外还加入了USb充电,实时时钟显示,语音提示等众多人性化功能。系统的框图如图1所示。



图1? 系统功能框图
  系统硬件设计
  本系统主CPU采用的是三星公司的S3C44b0X处理器,该处理器具有功能多、功耗低、运算速度快、价格低廉等优点。
  硬件设计主要包括指纹采集、刷卡采集、和电源管理三个部分。
  存储器采用外接的方式,分别接了64M的HY57V641620HG的SDRAM和16M的39VF1601的flash。语音提示模块采用的是总长为21S录音时间的AP8921A芯片。
  上位机通讯通过CH341芯片进行异步串口转USb1.1接口,用户对外可以按照正常的USb接口使用,省去了麻烦的串口。系统采用了MAX1508芯片通过USb接口给锂电充电,平时采用电池供电,插上USb接口后即可通过USb接口给系统供电,并给锂电充电。
  按键总共有三个,一个是系统的开关机按键,另外两个分别是实时时钟设的置按键和方向键。
  指纹采集
  指纹采集传感器采用OV7620,并以I2C总线及DMA的数据传输方式实现与CPU的信息交互。图2为指纹采集接口。



图2 指纹采集接口
  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位卡号。具体电路如图3所示。



图3 读卡模块
  电源管理
  电源管理部分采用了1150mAh的LI电,通过DC-DC升压至5V,再通过LDO给系统所需要的3.3V和2.5V电压。其中DC-DC是LT1308A芯片,LDO采用AMS1117-3.3V和AMS1117-2.5V,可以为系统提供稳定的电压供给。
  图4是电源开关控制部分电路,功能为实现USb和电池供电的切换。当未插入USb时采用电池供电,而连接时系统采用USb供电。S9为总电源开关。具体的实现过程为:电池供电时,开关S9按下,TEST1点由高变低,Q0导通,NAND网络为高,系统开始供电,此时程序运转并给与SHDN引脚高电平信号,促使Q6导通,此时即使按键抬起TEST1点仍为低电平,维持Q0的导通。当插上USb后,按键的按下使得Q4导通,Q0此时截至,系统由电池供电切换为USb供电,其它道理相同。关机时按键按下,POWER_DET网络检测电平由高变低,给予SHDN低电平,Q6截至,按键抬起后无论是Q0还是Q4均截至,系统断电。



图4电源管理模块
  系统软件设计
  软件部分除了CPU的底层初始化部分采用ARM汇编,其余全部用C语言编写。
  程序初始化后进入低功耗模式,等待各种具体操作。当有指纹采集时,就进入指纹数据采集和处理模块,处理结束后,又重新退回低功耗等待模式,等待其他操作。同理,当有读卡数据或者时钟设置响应时,便进入相应的操作模块进行处理。值得注意的是,系统有两种关机方式。一种是通过手动关机,另一种则通过系统定时器定时到后自动关机。
  图像数据读取
  根据前面的分析,图像数据的采集采用的是DMA方式的单步模式。初始化时,除了设置单步模式外,还需要将DMA读取的源地址设为锁存器上的片选地址,目的地址则是存储数据的缓存地址;数据的大小设置为一帧数据的大小,这里为480×640字节。
  在读取数据过程中,系统首先检测帧同步信号,以确定一帧的开始,然后等待传感器发出的DMA请求(与非门输出低电平)。当接收到请求后,便按DMA的方式传输数据,每接收一个字节,相应的用于指示剩余字节数的寄存器的值便会减一,直至减到零,表示数据接收完毕。
  读卡
  考虑到刷卡的随机性,决定采用中断的方式来读取数据。即通常情况下,系统是在低功耗下等待;当有刷卡时,跳出低功耗并读取数据。
  整个读取过程就是对串口通信的操作过程。当有数据进来时,串口模块会产生一个中断。因此在相应的中断响应便可以读取这一数据,直至数据完整读取;所读取的数据中有一个校验和,可以帮助验证数据的正确性。
  结语
  本系统采用了大量成熟的模块,具有指纹采集、刷卡、语音提示、实时时钟、USb接口等功能的一款便携设备。本产品目前已经研制出样机,经调试检测各项指标合格,实现了上述各项功能,满足了产品的设计指标。
  参考文献:
  1. S3c44b0x_datasheet Sungsang Corp
  2. 赵晶,Protel 99高级应用,人民邮电出版社,2005.8
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-25 12:22 , 耗时 0.093480 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表