基于高频RFID的学生考勤系统文档格式.docx

上传人:b****6 文档编号:21558323 上传时间:2023-01-31 格式:DOCX 页数:35 大小:799.35KB
下载 相关 举报
基于高频RFID的学生考勤系统文档格式.docx_第1页
第1页 / 共35页
基于高频RFID的学生考勤系统文档格式.docx_第2页
第2页 / 共35页
基于高频RFID的学生考勤系统文档格式.docx_第3页
第3页 / 共35页
基于高频RFID的学生考勤系统文档格式.docx_第4页
第4页 / 共35页
基于高频RFID的学生考勤系统文档格式.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

基于高频RFID的学生考勤系统文档格式.docx

《基于高频RFID的学生考勤系统文档格式.docx》由会员分享,可在线阅读,更多相关《基于高频RFID的学生考勤系统文档格式.docx(35页珍藏版)》请在冰豆网上搜索。

基于高频RFID的学生考勤系统文档格式.docx

RFID卡

前言

随着电子技术的发展,智能卡RFID在生活中随处可见。

而射频识别卡(简称射频卡、RFID卡)正逐渐取代传统的接触式IC卡,成为智能卡领域的新潮流。

RFID卡由于成功结合了射频识别和IC卡技术,解决了无源(卡内无电池)和免接触的难题,因此,具有磁卡和接触式IC卡不可比拟的优点。

RFID卡由IC芯片、感应天线组成,完全密封在一个标准PVC卡片中,无外露部分。

学生考勤系统设计利用无线射频识别技术,实现对学生进行考勤、记录等功能。

通过点名、磁卡和接触式IC卡的等方式对学生的到课情况进行考勤、记录管理,既耗时又容易相互干扰;

而非接触式RFID学生考勤系统实现了利用无线射频识别技术对学生考勤管理,既方便快捷,又省时。

学生考勤系统由应答器和阅读器组成,其中应答器由标签(即卡片)构成,阅读器(读卡器)由射频卡基站器件及其支撑电路、主控器件及其支撑电路和外围接口电路(键盘、液晶、时钟、和串口模块)构成。

一、案例描述:

1.1RFID的定义

无线射频识别即RFID(RadioFrequencyIDentification)技术,又称电子标签、无线射频识别,是一种非接触的自动识别技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

它基本由三部分组成:

标签(Tag)、阅读器(Reader)和天线(Antenna)

1.1.1.RFID电子标签(Tag,或称射频标签):

由芯片及内置天线组成。

芯片内保存有一定格式的电子数据,作为待识别物品的标识性信息,是射频识别系统真正的数据载体。

内置天线用于和射频天线间进行通信。

1.1.2阅读器:

读取或读/写电子标签信息的设备,主要任务是控制射频模块向标签发射读取信号,并接收标签的应答,对标签的对象标识信息进行解码,将对象标识信息连带标签上其它相关信息传输到主机以供处理。

1.1.3天线:

标签与阅读器之间传输数据的发射、接收装置。

RFID射频识别是英文RadioFreqencyIdentification的缩写,它是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。

RFID技术可识别高速运动物体并可同时识别多个识别卡,操作快捷方便。

RFID射频识别是一种世界上较为领先的技术:

第一,可以识别单个的非常具体的物体,而不是像条形码那样只能识别一类物体;

第二,其采用无线电射频,可以透过外部材料读取数据,而条形码必须靠激光来读取信息;

第三,可以同时对多个物体进行识读,而条形码只能一个一个地读。

此外,储存的信息量也非常大。

1.2RFID系统的组成

一个RFID系统通常有两个组件组成:

图1RFID系统基本原理模型图

收发器(transponder)或者标签(Tag):

位于或者通过某种物理手段附加于被识别的对象之上;

讯问器(interrogator)或者阅读器(reader):

取决于设计和所采用的技术,可以是阅读或者读写设备。

图2RFID系统

阅读器通常包含一个射频模块(发射器和接收器),一个控制单元和一个与收发器的耦合单元。

另外,某些阅读器还包含其他数据接口系统(RS232,RS485,TCP/IP等),以便将数据转发到其他系统。

标签:

表示RFID系统的实际数据载体,通常有一个耦合单元和一个电子芯片组成。

标签通常不具备自身电源供应,当它不在质询器的质询范围时,整体呈被动状态。

它只有在质询器的质询范围之内才被激活。

激活雷达收发器的电力通过耦合单元传输给收发器,所需的数据和时钟脉冲也是如此。

图3RFID天线

1.3RFID技术的基本工作原理

RFID技术的基本工作原理:

电子标签与阅读器之间通过耦合元件实现射频信号的空间(无接触)耦合、在耦合通道内,根据时序关系,实现能量的传递、数据的交换。

当标签进入磁场后,接收读写器发出的射频信号,标签凭借感应电流所获得的能量为自身供电并发送出存储在芯片中的产品信息(PassiveTag,无源标签或被动标签),或者由标签主动发送某一频率的信号(ActiveTag,有源标签或主动标签),读写器读取信息并解码后,送至中央信息系统进行有关数据处理。

图4读写器的原理图

RFID标签和读写器之间采用无线通信方式传递信息。

其基本的通信方式有两种,第一种基于电磁耦合或者电感耦合,第二种基于电磁波的反向散射耦合。

1、电感耦合:

变压器模型,通过空间高频交变磁场实现耦合,依据的是电磁感应定律。

图5读写过程

2、电磁反向散射耦合:

雷达原理模型,发射出去的电磁波,碰到目标后反射,同时携带回目标信息,依据的是电磁波的空间传播规律。

图6读写原理

电感耦合方式一般适合于高、中、低频工作的近距离射频识别系统。

典型的工作频率有:

125kHz、225kHz和13.56MHz。

识别作用距离小于1m,典型作用距离为10~20cm。

电磁反向散射耦合方式一般适合于超高频、微波工作的远距离射频识别系统。

433MHz,915MHz,2.45GHz,5.8GHz。

识别作用距离大于1m,典型作用距离为3—l0m。

RFID标签与读写器之间的耦合通过天线完成,天线通常可以理解为电波传播的天线,也指电感耦合的天线。

数据在读写器和标签之间用无线方式传递,噪声、干扰以及失真与数据本身一样传递。

与其他通信系统相似,技术上必须保证数据被正确传递和恢复。

数据传递有同步和异步之分,在RFID系统中,码流结构也要适应信道特性的要求,码流结构化过程称为信道编码。

对于RFID系统,信道编码必须对用户透明,现在有各种不同的信道编码方法,其特点也不尽相同。

为了通过空间有效传递数据,要求将数据调制在载波上,这一过程称为调制。

常用的调制方法有ASK、FSK和PSK。

1.4RFID高频相关的国际标准

该频率的感应器不再需要线圈进行绕制,可以通过腐蚀或者印刷的方式制作天线。

感应器一般通过负载调制的方式进行工作。

也就是通过感应器上的负载电阻的接通和断开促使读写器天线上的电压发生变化,实现用远距离感应器对天线电压进行振幅调制。

如果人们通过数据控制负载电压的接通和断开,那么这些数据就能够从感应器传输到读写器。

高频段射频标签目前具有全球统一13.56MHz的工作频率。

该频段的射频标签称为高频标签。

是目前实际应用最多且技术最成熟的射频标签技术。

相应的国际标准:

(1)ISO/IEC14443A/B近耦合IC卡,最大的读取距离为10cm

(2)ISO/IEC15693(兼容于ISO/IEC18000-3)疏耦合IC卡,最大的读取距离为1m;

(3)ISO/IEC18000-3该标准定义了13.56MHz系统的物理层,防冲撞算法和通讯协议。

(4)EPCC1HF定义13.56MHz符合EPC的接口定义;

(5)UbiquitousID

其中EPCC1HF兼容于ISO/IEC15693,而ISO15693兼容于ISO18000-3的mode1;

1.5高频(工作频率主要为13.56MHz)

高频下识别卡不需要绕制线圈,可以通过印刷的方式制作天线。

识别卡一般是负载调制的方式工作,也就是通过识别卡的负载电阻的接通和断开促使读写器天线上的电压发生变化,实现远距离识别卡对天线电压进行振幅调制。

就频率而言,高频RFID具有以下特性:

①工作频率为13.56MHz,该频率的波长大概为22米。

②除了金属材料外,该频率的波长可以穿过大多数的材料,但是往往会降低读取距离。

识别卡(感应器)需要离开金属一段距离。

③该频段在全球都得到认可并没有特殊的限制。

④该系统具有防冲撞特性,可以同时读取多个识别卡。

⑤可以把某些数据信息写入识别卡中。

⑥数据传输速率比低频要快且价格不是很贵。

高频RFID主要应用有:

航空包裹的管理和应用、瓦斯钢瓶的管理应用、预收费系统、酒店门锁的管理和应用、大型会议人员通道系统、固定资产的管理系统、医药物流系统的管理和应用、智能货架的管理

二、需求分析

此次课程设计我选择北京奥尔斯电子科技有限公司的RFID综合实验系统内的高频模块来完成读卡,运用了C++的编程方法来完成界面以及与实验箱的连接,采用RS232接口实现PC机与实验箱的连接,以下是我的应用程序结构图:

图7流程图

对于数据的存储我选用的是微软的Access,实现对卡号,学生的专业,学号等的数据存储以及登陆时的所有用户。

三、整体描述和实现:

考勤系统的核心是射频卡读卡器,而射频卡读写器的关键是射频卡基站器件,该器件主要完成数据的调制、发射和射频接收以及数据解调任务。

从射频识别卡的使用方便、交易速度快、便于维护和使用寿命较长等优点来看,射频识别卡正在逐渐替代目前广泛使用的接触式IC卡。

这里所设计的学生考勤系统实现了方便、快捷、省时的学生考勤管理功能。

1.硬件设计

本统的设计主要分为两大部分,一部分是考勤器的软、硬件设计,一部分是上位机软件的设计。

考勤器体积适中,便于携带到教室等场所,由它完成对学生的考勤。

主要功能是读取学生一卡通的信息,以及做相应显示、存储等处理。

上位机软件主要功能是向考勤器下传学生姓名、学号以及接收并保存考勤器上传的卡号和考勤记录。

采用的是基于高频的射频识别。

(1)总体设计方案设计

学生考勤几乎是每个学校必须而且是经常做的学生工作之一,如何简单高效的地考勤工作一直以来是很多学校都在努力解决,所以考虑如何实现简单高效的考勤具有巨大的实际意义和价值,鉴于此,本文提出了一种可行的方案,方案的总体思路:

目前很多学校都在使用一卡通,本系统以学生的一卡通为基础,设计一种读卡式考勤器,考勤器存储有学生的身份信息,学生刷卡,通过学生刷卡,通过学生卡号来识别学生的身份,并记录刷卡时间来实现对学生的考勤,方法简单有效。

考勤器体积适中,便于携带,使用方便。

(2)考勤器设计

考勤器硬件设计主要构成:

单片机、读卡模块、实时钟模块等

(3)HF模块

图8HF模块

系统框图:

图9系统框图

LED灯显示说明:

D1:

绿色,电源启动指示灯,在430下完程序后,如果430正常运行,灯亮。

D2:

红色,ISO14443A协议指示灯,

D3:

黄色,ISO14443B协议指示灯

D4:

红色,ISO15693协议指示灯

D5:

红色,tag-it指示灯

D6:

红色,预留

系统运行简要说明:

①:

上电后,430先通过并口访问7970芯片,在没有读到卡时,程序运行在串口读写模式,并每隔0.5s向串口发送一个“D”,直到有写操作为止。

②:

当有卡读写时,针对相应的卡,程序进入不同的协议中,并且点亮相应的LED灯。

API调用说明

上电后,配置完内部寄存器,程序进入串口读写程序,可以进行人机交互。

当读到不同协议的卡时,程序退出串口读写程序,进入相应的协议子程序中(目前支持14443A协议和15693协议)。

读完卡后,退出相应的协议子程序,进入串口读写程序。

ISO15693第三部分

通过读卡器获取指令流,读卡器采用TItrf7970读卡器芯片,开发资料参考协议ISO15693,trf7970datasheet,参考trf7960EVM.pdf实现ISO15693第三部分指令部分,防碰撞实验,附录的CRC实验;

(4)德州仪器推出低功耗的非接触式接收器-TRF7970A

TRF7970A是德州仪器(TI),推出一款业界功耗最低的适用于近场通信(NFC)的非接触式短距离通信收发器。

此TRF7970A收发器适用于基础设备,其电池寿命是竞争产品的两倍,可提供功率范围为1μA~120mA的8个不同的功率模式。

该收发器带有可配置的辅助软件,以帮助开发人员更快入手,收发器与软件通过一系列超低功耗MSP微控制器兼容。

该收发器支持点对点通信,例如用于医疗设备、移动支付以及卡仿真。

它也还具有读写能力,两个晶体振荡频率(13.56MHz或27.12M赫兹)和一个容量为128字节的“先进先出(FIFO)”缓冲器,使之能够处理大量数据的传输。

TRF7970A发器符合ISO18092和ISO/IEC21481NFCRFID标准,并支持多个读写协议。

它包括符合ISO15693,ISO18000-3,ISO14443A/B标准和FeliCaRFID规范的专为读写器模式设计的示范性软件包。

(4)TITRF7970A13.56MHzNFC通信系统解决方案

TI公司的TRF7970A用于13.56MHzRFID/NFC近场通信系统的模拟前端和数据帧器件,可工作于三种模式之一:

RFID/NFC阅读器,NFC对等和模拟卡片模式。

器件工作电压2.7-5.5VDC,支持NFC标准NFCIP-1(ISO/IEC18092)和NFCIP-2(ISO/IEC21481),完全集成了ISO15693,ISO15693,ISO18000-3,ISO14443A/B,FeliCa协议处理,内置的用户可配置编程选择使TRF7970A适合于广泛的应用如移动设备(平板电脑,手机等),安全配对(蓝牙,WiFi等),护照或POS读系统,短程无线通信任务,产品辩认或鉴定,医疗设备,接入控制,数字门锁,电子交易卡共享等。

2.软件设计

在PC机上通过MicrosoftVsualStdio2008的MFC应用程序模块设计登陆界面、读卡界面、学生信息界面该软件将自动生成相关程序代码段相关界面如图所示:

图10登陆界面图11用户界面

图12学员界面图13添加用户界面

图14专业界面

图15信息界面图16班级界面

图17读卡界面

图18考勤界面

3.程序代码

下面是程序代码:

//Attendance.cpp:

实现文件//

#include"

stdafx.h"

HFExample.h"

Attendance.h"

BasicExcel.hpp"

usingnamespaceYExcel;

#defineATTENDANCE_LIST_DATETIME_IDX0

#defineATTENDANCE_LIST_WEEK_IDX1

#defineATTENDANCE_LIST_NAME_IDX2

#defineATTENDANCE_LIST_DEPARTMENT_IDX3

#defineATTENDANCE_LIST_SWORDTIME_IDX4

#defineATTENDANCE_LIST_EWORKTIME_IDX5

staticTCHARWeekDay[][6]={TEXT("

周日"

),TEXT("

周一"

周二"

周三"

周四"

周五"

周六"

)};

//CAttendance对话框

IMPLEMENT_DYNAMIC(CAttendance,CPropertyPage)

CAttendance:

:

CAttendance()

:

CPropertyPage(CAttendance:

IDD)

{

}

~CAttendance()

voidCAttendance:

DoDataExchange(CDataExchange*pDX)

CPropertyPage:

DoDataExchange(pDX);

DDX_Control(pDX,IDC_LIST_ATTENDANCD,_lists);

GetRequestList(CStringdate1,CStringtime1,CStringdate2,CStringtime2)

CStringdt1,dt2;

dt1=date1+"

"

+time1;

dt2=date2+"

+time2;

theApp.getDB().GetAttendanceList(m_attendanceinfoarray,dt1,dt2);

GetRequestListByName(CStringdate1,CStringtime1,CStringdate2,CStringtime2,CStringname)

theApp.getDB().GetAttendanceListByName(m_attendanceinfoarray,dt1,dt2,name);

GetRequestListByDepartment(CStringdate1,CStringtime1,CStringdate2,CStringtime2,CStringdepartment)

theApp.getDB().GetAttendanceListByDepartment(m_attendanceinfoarray,dt1,dt2,department);

GetRequestListByNameAndDepartment(CStringdate1,CStringtime1,CStringdate2,CStringtime2,CStringname,CStringdepartment)

theApp.getDB().GetAttendanceListByNameAndDepartment(m_attendanceinfoarray,dt1,dt2,name,department);

BEGIN_MESSAGE_MAP(CAttendance,CPropertyPage)

ON_BN_CLICKED(IDC_BTN_QUERY,&

OnBnClickedBtnQuery)

ON_BN_CLICKED(IDC_CHECK_DEPARTMENT,&

OnBnClickedCheckDepartment)

ON_BN_CLICKED(IDC_CHECK_NAME,&

OnBnClickedCheckName)

ON_BN_CLICKED(IDC_BTN_EXPORTEXCEL,&

OnBnClickedBtnExportexcel)

ON_NOTIFY(LVN_ITEMCHANGED,IDC_LIST_ATTENDANCD,&

OnLvnItemchangedListAttendancd)

ON_NOTIFY(DTN_DATETIMECHANGE,IDC_DATETIMEPICKER_DATEEND,&

OnDtnDatetimechangeDatetimepickerDateend)

END_MESSAGE_MAP()

//CAttendance消息处理程序

BOOLCAttendance:

OnInitDialog()

OnInitDialog();

//TODO:

在此添加额外的初始化

COleDateTimedt1(2011,1,1,8,30,0),dt3(2011,1,1,17,30,0);

((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_STARTWORK))->

SetTime(dt1);

((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_ENDWORK))->

SetTime(dt3);

_lists.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);

_lists.InsertColumn(ATTENDANCE_LIST_DATETIME_IDX,TEXT("

日期"

));

_lists.InsertColumn(ATTENDANCE_LIST_WEEK_IDX,TEXT("

星期"

_lists.InsertColumn(ATTENDANCE_LIST_NAME_IDX,TEXT("

姓名"

_lists.InsertColumn(ATTENDANCE_LIST_DEPARTMENT_IDX,TEXT("

专业"

_lists.InsertColumn(ATTENDANCE_LIST_SWORDTIME_IDX,TEXT("

上课"

_lists.InsertColumn(ATTENDANCE_LIST_EWORKTIME_IDX,TEXT("

下课"

CRectrect4;

_lists.GetClientRect(rect4);

//获得当前客户区信息

_lists.SetColumnWidth(ATTENDANCE_LIST_DATETIME_IDX,1.5*rect4.Width()/10);

//设置列的宽度。

_lists.SetCol

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1