基于ARM7的指纹考勤机设计

发布者:科技探险者最新更新时间:2011-07-09 关键字:ARM7  指纹考勤机 手机看文章 扫描二维码
随时随地手机看文章

  引言

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

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

基于ARM7的指纹考勤机设计

  图1 系统功能框图

  系统硬件设计

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

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

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

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

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

  指纹采集

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

基于ARM7的指纹考勤机设计

  图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所示。

基于ARM7的指纹考勤机设计

  图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均截至,系统断电。[page]

基于ARM7的指纹考勤机设计

  图4电源管理模块

  系统软件设计

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

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

  图像数据读取

  根据前面的分析,图像数据的采集采用的是DMA方式的单步模式。初始化时,除了设置单步模式外,还需要将DMA读取的源地址设为锁存器上的片选地址,目的地址则是存储数据的缓存地址;数据的大小设置为一帧数据的大小,这里为480×640字节。

  在读取数据过程中,系统首先检测帧同步信号,以确定一帧的开始,然后等待传感器发出的DMA请求(与非门输出低电平)。当接收到请求后,便按DMA的方式传输数据,每接收一个字节,相应的用于指示剩余字节数的寄存器的值便会减一,直至减到零,表示数据接收完毕。

  读卡

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

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

  结语

  本系统采用了大量成熟的模块,具有指纹采集、刷卡、语音提示、实时时钟、USB接口等功能的一款便携设备。本产品目前已经研制出样机,经调试检测各项指标合格,实现了上述各项功能,满足了产品的设计指标。

  参考文献:

  1. S3c44b0x_datasheet Sungsang Corp

  2. 赵晶,Protel 99高级应用,人民邮电出版社,2005.8

 

关键字:ARM7  指纹考勤机 引用地址:基于ARM7的指纹考勤机设计

上一篇:基于ARM7的CAN-USB转换器设计
下一篇:基于ARM核和CAN总线的煤矸石分选系统

推荐阅读最新更新时间:2024-03-16 12:38

高性能单电源 ARM7 微控制器介绍
LPC2138 是一款高性能单电源 ARM7 微控制器,它具有多种断电模式,用于在微控制器等待执行任务时节省电量。在掉电模式下,LPC2138 在室温下从 3.3 V 电源消耗大约 60 µA,并在掉电启用时消耗大约 30 µA,在掉电禁用时消耗大约 30 µA。考虑到该部件是使用深亚微米工艺构建的,这是相对较好的。然而,在高温下,漏电流显着增加。 本应用笔记的目的是描述使用 LPC2138 时在整个温度范围内具有极低漏电流的低成本方法。这种方法需要一些外部元件,但它可以显着降低漏电流。 本应用笔记将讨论两种恢复微控制器断电前状态的方法。一种方法使用廉价的外部 EEPROM,另一种方法使用可保留用于 EEPROM 仿真的内
[单片机]
高性能单电源 <font color='red'>ARM7</font> 微控制器介绍
基于ARM7微处理器的中文液晶显示技术
1 引言 液晶显示屏LCD作为一种功耗低、体积小、无辐射的显示器件,近几年被广泛应用于各式各样的嵌入式电子产品中,LCD可分为段位式、字符式和点阵式三种,其中,段位式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求,而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动动画功能,分区开窗口、反转、闪烁等功能,用途十分广泛,为了简化液晶 显示电路的设计和应用,生产厂家通常将液晶显示单元、显示控制器,显示内存和显示驱动电路等装配在一起,做成液晶显示模块LCD Module(LCM) 。LCM对外提供标准数据和控制接口以及控制指令,本文以ATM12864C为例,
[应用]
ARM7与ARM9的区别以及ARM,FPGA,DSP的特点和区别是什么?
一.谈谈ARM7与ARM9的区别: 本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。 由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。 ARM7和ARM9的都有些什么区别? 我准备学ARM,但不知是选ARM7还是ARM9好? 也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。先说下:ARM7和ARM9的区别。 1.时钟频率的提高 虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了
[单片机]
ARM7&ARM9双核平台的技术分析
嵌入式系统教学平台市场上的主导产品都是基于ARM7或ARM9架构的,一般都认为ARM7属于低端产品、ARM9属于高端产品,也出现了所谓的“ARM7&ARM9覆盖高端&低端的教学平台”。宣传“两套 CPU 子板都是可以自由插拔,一套实验系统变化为两套, ARM7 的实验系统可以实现基础的 ARM 嵌入式教学,主要包括指令实验,基础接口实验, UCOS-II 操作系统实验和 uCLinux 操作系统实验; ARM9 的实验系统可以实现高端的 ARM 嵌入式教学,主要包括扩展接口实验, Linux 操作系统实验和 WinCE 操作系统实验。” 这种观点有误导用户的嫌疑。因为ARM9和ARM7同属于ARMv41,是属于中低端系列的ARM
[单片机]
ARM7单片机+RTL8019嵌入式TCP_IP协议栈使用分析
一、 总则 本文件是嵌入式TCP/IP协议栈的说明文件,嵌入式TCP/IP应用开发人员可通过阅读本文件,掌握在嵌入式TCP/IP协议栈的基础上开发服务器和客户端应用程序,如FTP服务器,WEB服务器,串口服务器等等。 二、 参考文件 1) TCP_IP详解卷1,2,3 2) RFC 959 (rfc959) - File Transfer Protocol.htm 3) rfc1945- Hypertext Transfer Protocol -- HTTP/1.0 三、 技术说明 1) 用户应用协议栈则需要编写以太网的数据报收发驱动,就可以使用协议栈提供的标准SOCKET API,完成服务器和客户端应用程序的开发。 2) 协议栈运
[单片机]
基于ARM7的畜牧养殖智能消毒机器人控制系统设计
1 总体方案设计 畜牧养殖智能消毒机器人控制系统由机器人智能控制模块、监视模块、及无线网络通讯模块等三大部分组成。工作过程是通过接入互联网的手机或者微型计算机客户端通过无线网络向远程的机器人发送控制指令代码,期间传输信号由发送端使用加密狗加密。当信号经互联网发送到接收终端时,智能消毒机器人网络模块把接收的指令传送到处理器,处理器指示驱动模块驱动智能消毒机器人执行动作。运动的同时监视模块把采集到的图像通过无线互联网传输到客户机端,其整体结构如图1所示。 1.1 智能控制模块 此模块是智能消毒机器人的核心部分。采用的是嵌入式系统设计,可以准确高效地运行及处理数据。控制器通过网络组件WIFI或者GPRS与外部网络进行数据通讯,
[单片机]
基于<font color='red'>ARM7</font>的畜牧养殖智能消毒机器人控制系统设计
使用ARM7-LPC2148控制伺服电机的教程
在本教程中,我们将使用 ARM7-LPC2148 控制伺服电机。伺服电机比步进电机具有低功耗的优势。当到达所需位置时,伺服电机停止其功耗,但步进电机继续消耗功率以将轴锁定在所需位置。伺服电机主要用于 机器人项目 ,因为它们的准确性和易于操作性。 伺服电机 伺服电机 是直流电机、位置控制系统和齿轮的组合。 伺服电机的旋转是通过向其施加PWM信号来控制的,PWM信号的宽度决定了电机的旋转角度和方向。在这里,我们将在本教程中使用 SG90 伺服电机 ,它是最受欢迎和最便宜的电机之一。SG90 是 180 度伺服。所以有了这个伺服,我们可以将轴定位在 0-180 度之间: 工作电压:+5V 齿轮类型:塑料 旋转角度:0 至 180
[单片机]
使用ARM7-LPC2148控制伺服电机的教程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved