基于FPGA的刷卡拍照考勤系统硬件设计

时间:2022-09-27 04:40:11

基于FPGA的刷卡拍照考勤系统硬件设计

【摘要】采用Altera公司的FPGA作为核心微处理器,结合带3Mbit存储器的OV7670图像传感器模块、SD存储卡、USB通信芯片以及带触摸的TFT液晶显示屏等设备,实现刷卡拍照考勤系统的硬件设计。系统具有USB图像数据采集传输功能,考勤记录集查询功能,同时考勤图像数据通过液晶显示屏显示出来。

【关键词】OV7670;NIOS II;图像数据;USB传输

系统设计智能IC卡刷卡拍照考勤系统,在用IC卡刷卡考勤的同时,自动拍摄刷卡人员的图像信息并记录在案,管理员通过后台管理软件可以查看,对比每一笔刷卡记录人员的图像,从而有效杜绝考勤中的替刷卡的现象,既有指纹考勤机的防替打卡特性,又有感应考勤机的优点,实现现代化的信息化考勤系统。并且解决了生物身份识别考勤对环境和使用人群的限制,可有效适应于工厂、工矿企业等复杂环境的应用。

1.系统设计

本系统采用Altera公司的FPGA进行设计,型号为Cyclone II系列的EP2C5Q208,其内部资源满足设计要求。由FPGA来控制OV7670传感器数据的采集和传输,为快速读取图像数据及传输数据提供硬件资源支持。系统机构框图如图1-1所示。

OV7670图像传感器模块,体积小、工作电压低,且提供VGA摄像头与摄像处理器所有功能的图像传感器模组,带有3Mbit的AL422B存储器,显示采用带有触摸功能的TFT液晶模块,SD存储卡用于存储照片、图片等信息。OV7670图像传感器输出的8位RGB数据放在AL422B存储器,再由AL422B读出来的数据直接驱动彩屏显示。首先读取数据,再分为8位发送,这样基本看不到刷图的痕迹,直接显示图像。从拍摄到查看图像,只需用手触摸液晶屏操作即可完成,方便了人机交流。

射频卡刷卡模块可以识别射频IC卡,刷卡时可以把刷卡人的图像拍摄下来,图像以.BMP格式保存,通过SPI总线传送到SD卡存储,或者通过USB接口传输到计算机中存储。USB图像传输采用CY7C68013A芯片实现,传输速率达到USB2.0水平,可实现图像高速可靠传输,把图像等相关考勤数据传输到计算机由相应的考勤软件进行识别处理,方便管理者查询单位员工出勤情况。

2.硬件电路设计

2.1 电源模块

电源是电子设备中必不可少的一部分,电源模块电路如图2-1所示。系统电源采用锂电池供电,J1为锂电池接口,类似移动电源供电,而且用万能充之类即可充电,使用方便。电路中的电容起耦合作用,AMS1117是3.3V和1.2V稳压芯片,给整个系统供电稳定的工作电压。

2.2 OV7670模块

OV7670图像传感器的有效像素达到30万,其VGA图像最高达到30帧/秒,它灵敏度高适合低照度应用及低电压嵌入式应用。传感器通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。该图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高了图像质量,得到了清晰、稳定的彩色图像。

本模块是由OV7670与AL422B存储器组合而成,模块电路如图2-2所示。AL422B存储器有3Mbit内存,并配置393216字节和8位先进先出数据的存储器。内置的地址和指针控制电路提供简单的串行接口总线读/写存储器,从而减少芯片间的设计工作。WE是写信号,低电平有效,当WE为低电平时,AL422B接收到OV7670的8位RGB数据;当WE为高电平时,AL422B再输出8位数据给TFT,从而驱动TFT显示图像。WRST是写复位信号,低电平有效,很多情况下因为写复位没写好,会造成显示图像的畸形。PCLK是OV7670的像素时钟,作为AL422B的写时钟。OE是使能信号,低电平有效。RRST是读复位信号,低电平有效。RSC是读时钟信号,由系统提供。图中的DI0-DI7的8位数据分别由OV7670输出的8位数据来提供,DO0-DO7是AL422B的输出的数据,驱动TFT显示图像,每刷一帧图像需刷屏320*240个像素。

2.3 射频读卡模块

射频读卡模块采用FM1702SL射频基站芯片设计,如图2-3所示。设计者不必关心模块内部的设计,只需要通过模拟SPI接口发送命令就可以对IC卡进行读写等操作。模块检测感应到IC卡时通过信号线通知FPGA主控系统,系统发送读取卡号命令给模块,模块通过规定协议把卡号的信息上传到主控系统,这样主控系统就不需要实时检测是否有卡感应,节约系统资源,提高系统工作效率。

3.摄像头驱动程序设计及图像显示存储

3.1 OV7670与FIFO间的数据操作

OV7670与FIFO的数据传输需要一定的时序:OV7670的场同步接入MCU的外部中断(上升沿触发),这样当一个场同步到来时开启FIFO的写使能,这样数据就在行同步与MCU的控制下按照像素时钟依次写入FIFO。当一场图像数据进入了FIFO以后,也标志着下一场数据将要来到,也即下一个场同步的上升沿即将到来,当下一个上升沿触发并进入中断后,MCU应该关掉FIFO的写使能,然后开始读FIFO的数据,直到数据读完以后再开始下一次的数据采集。所以调试的第一步是一个摄像头正常工作时的外中断。主要注意刚进外中断时应该先清中断标志再进行中断操作,否则系统可能一直处于中断嵌套中,OV7670与FIFO间的数据读写流程如图3-1所示。

程序上是通过捕获VSYNC场同步实现前后台同步的,场同步是上升沿有效,当一个场同步触发MCU中断以后,在中断程序中首先开启FIFO的写使能,这时图像数据便在PCLK像素时钟的同步下依次写入FIFO,当下一个场同步到的时候中断会再次触发,这时便要关闭写使能,因为FIFO中已经缓存了一帧待处理的数据。main()函数中会一直查询FIFO中是否有一帧数据的标志,具体是通过判断VsyncCnt是否等于2实现的。当VsyncCnt等于2时,说明FIFO中已经缓存了一帧图片,MCU便从FIFO中取出数据进行处理(如显示到LCD或者进行颜色识别等)。当处理完一帧数据后,MCU会清零VsyncCnt,并复位读写指针,开始下一次采集处理。

3.2 图像存储显示与传输

本设计采用2.8寸的TFT为显示器。该TFT采用ILI9325/9328作为驱动芯片。该TFT主要用来显示系统操作界面、BMP图片等,其中BMP图片主要包括拍照得来的照片和SD卡存的图片。FPGA通过操作显示数据RAM和配置TFT的相关寄存器,即可实现TFT的显示。

当一帧数据缓存进入FIFO以后,MCU关掉FIFO的写使能,转而从FIFO中读取数据进行处理,这时的处理可以是将数据写入TFT进行显示或者存入SD卡完成拍照功能。数据存储较简单的一种格式是BMP,它只用给每一帧数据加上合适的BMP文件头,然后依次填入图像数据即可。OV7670采集的数据经过FPGA做处理后写到CY7C68013的从FIFO,由CY7C68013将数据打包发送到上位机,通过USB接口实现图像数据的传输。

4.系统调试结果与总结

本系统初步实现了刷卡拍照考勤系统的设计,硬件实物如图4-1所示。显示是2.8寸带有触摸的TFT液晶屏。在液晶屏右边就是高速高存储量的SD卡,可支持的容量为4GB以上。硬件设备还有USB通信接口,FPGA系统板,OV7670图像采集传感器模块,射频读卡模块。系统工作时可以把刷卡拍下的照片存于SD卡中,液晶屏可以实时显示采集的画面,通过按键操作可以选择查看存在SD卡中的照片。

系统实现通过USB通信芯片把图像画面传输到计算机中,在拍照考勤系统软件中实时显示采集的画面,如图4-2所示。软件操作功能有开始、停止图像传输,拍照功能,保存拍下的图像画面,打开存在的BMP图片,设置照片存储路径,还可以进行视频监控,把监控画面保存为AVI视频文件格式。软件左边为动态信息显示内容,软件右边为图像显示区域,实时显示采集的图像信息,图像是320*240像素,每秒可以更新10帧,画面显示还是比较流畅的。图像中文字信息清晰可见,由图可知图像画质还是比较清晰,可以满足一般应用需要。

参考文献

[1]夏宇闻.Verilog HDL数字系统设计教程[M].北京航空航天大学出版社,2003,7.

[2]周立功.单片机与CPLD综合应用技术[M].北京航空航天大学出版社,2003,7.

[3]周立功.EDA实验与实践[M].北京航空航天大学出版社,2007,9.

[4]江国强.EDA技术与应用[M].电子工业出版社,2006,7.

[5]罗均,吴克松,廖红华.基于NIOS II的图像采集和显示的实现[J].电子技术应用,2007(2).

[6]潘松,黄继业,曾毓.SOPC技术实用教程[M].清华大学出版社,2005.

上一篇:文化强国与当代大学生的历史使命 下一篇:基于指数矩的图像描述