射频卡实验.docx
- 文档编号:2981502
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:45.96KB
射频卡实验.docx
《射频卡实验.docx》由会员分享,可在线阅读,更多相关《射频卡实验.docx(16页珍藏版)》请在冰豆网上搜索。
射频卡实验
非接触射频卡实验
实验目的:
1.了解非接触式射频卡的工作原理。
2.熟悉串口通信。
实验内容:
1.通过串口通信控制射频扩展板状态。
2.读取射频卡信息。
预备知识:
熟悉嵌入式程序的编写及交叉编译的过程。
实验设备:
硬件:
S3C2410嵌入式开发板,射频卡/IC卡扩展板
软件:
安装RedHat9.0Linux的PC机,ARMLinux的开发环境
实验步骤:
1.实验原理
1.1射频卡简介
射频卡(简称RF卡)是一种以无线方式传送数据的集成电路卡片,它具有数据处理及安全认证功能等特有的优点:
●RF卡在读写时是处于非接触操作状态,避免了由于接触不良所造成的读写错误等误操作,同时避免了灰尘、油污等外部恶劣环境对读写卡的影响。
读写错误等误操作,同时避免了灰尘、油污等外部恶劣环境对读写卡的影响。
●操作简单、快捷-RF卡采取无线通迅方式,使用时无方向要求,所以使用起来十分方便。
●防冲突-RF卡中存有快速防冲突机制,能防止卡片之间出现数据干扰,因此终端可以同时处理多张卡片。
●便于一卡多用:
RF卡中有多个分区,每个分区又各自有自己的密码,所以可以将不同的分区用于不同的应用,实现一卡多用。
与接触式IC卡相比较,射频卡具有以下优点:
●可靠性高-卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障。
例如:
由于粗暴插卡、非卡外物插入、灰尘、油污导致接触不良等原因造成的故障;
●卡表面无裸露的芯片,无须担心芯片脱落、静电击穿,弯曲损坏等问题;
●操作方便、快捷-由于非接触通讯,读写器在1cm-10cm范围内就可以对卡片操作,所以不必象IC卡那样进行插拔工作;非接触卡使用时没有方向性,卡片可以任意方向掠过读写器表面,可大大提高每次使用的速度;
●防冲突-射频卡中有快速防冲突机制,能防止卡片之间出现数据干扰,因此读写器可以“同时”处理多张非接触式射频卡;
●应用范围广-射频卡的存储器结构特点使它一卡多用;可应用于不同的系统,用户根据不同的应用设定不同的密码和访问条件;
●加密性能好-射频卡的序列号是唯一的,制造厂家在产品出厂前已将此序列号固化,不可再更改;
射频卡与读写器之间采用双向验证机制,即读写器验证射频卡的合法性,同时射频卡也验证读写器的合法性;处理前,卡要与读写器进行三次相互认证,而且在通讯过程中所有的数据都加密。
此外,卡中各个扇区都有自己的操作密码和访问条件。
目前,射频卡在国内外已经得到了广泛的应用,如汉城、巴西、加拿大的公交、地铁收费系统。
我国上海、珠海、太原等城市也已发行了公交卡,还有公路收费、停车场收费、门禁系统、考勤系统以及购物收费系统,广泛地应用到了我们生活的每一部分。
1.2MFRC500概述
MFRC500是应用于13.56MHz非接触式通信中高集成读卡IC系列中的一员。
该读卡IC系列利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
MFRC500支持ISO14443A所有的层。
内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm)。
接收器部分提供一个坚固而有效的解调和解码电路,用于ISO14443A兼容的应答器信号。
数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。
此外,它还支持快速CRYPTO1加密算法用于验证MIFARE系列产品。
方便的并行接口可直接连接到任何8位微处理器,这样给读卡器/终端的设计提供了极大的灵活性。
1.3MFRC500特性
●高集成度模拟电路用于卡应答的解调和解码;
●缓冲输出驱动器使用最少数目的外部元件连接到天线;
●近距离操作(可达100mm);
●用于连接13.56MHz石英晶体的快速内部振荡器缓冲区;
●时钟频率监视;
●带低功耗的硬件复位;
●软件实现掉电模式;
●并行微处理器接口带有内部地址锁存和IRQ线;
●自动检测微处理器并行接口类型;
●易用的发送和接收FIFO缓冲区;
●支持防冲突过程;
●面向位和字节的帧;
●唯一的序列号;
●片内时钟电路;
●支持MIFAREPRO和ISO14443A(透明模式且T="CL");
●支持MIFAREClasic;
●Crypto1以及可靠的内部非易失性密匙存储器;
●支持MIRFARE有源天线;
●适合于高安全性的终端。
1.4MFRC500结构框图
并行微控制器接口自动检测连接的8位并行接口的类型。
它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出。
这样就为连接各种MCU提供了很大的灵活性。
即使使用非常低成本的器件也能满足高速非接触式通信的要求。
数据处理部分执行数据的并行-串行转换。
它支持的帧包括CRC和奇偶校验。
它以完全透明的模式进行操作,因而支持ISO14443A的所有层。
状态和控制部分允许对器件进行配置以适应环境的影响并使性能调节到最佳状态。
当与MIFAREStandard和MIFARE产品通信时,使用高速CRYPTO1流密码单元和一个可靠的非易失性密匙存储器。
模拟电路包含了一个具有非常低阻抗桥驱动器输出的发送部分。
这使得最大操作距离可达100mm。
接收器可以检测到并解码非常弱的应答信号。
由于采用了非常先进的技术,接收器已不再是限制操作距离的因素了。
2.S3C2410与射频卡扩展板通信协议
扩展板本身是一个8位单片机+MFRC500的读卡器,因此开发板与射频扩展板采用简
便的串口方式与扩展板进行通信,从而对扩展板进行控制和状态获取。
其通信的数据包结构及其协议如下所示:
●数据通信包结构
S3C2410扩展板:
Addr
Len
OP
Content
Check
扩展板S3C2410
Addr
Len
OP
Result
Check
●发送命令具体格式(S3C2410扩展板)
读取卡号:
Addr
Len
1
Check
蜂鸣器操作:
Addr
Len
2
Time
Check
绿LED开关控制:
Addr
Len
3
ON/OFF
Check
“1”=ON“0”=OFF
绿LED闪烁控制
Addr
Len
4
Rpt
Check
初始化
Addr
Len
5
Check
●返回值具体格式(扩展板S3C2410)
无卡:
Addr
Len
1
0
Check
返回卡号:
Addr
Len
1
Card(4Bytes)
Check
蜂鸣器操作返回值
Addr
Len
2
1/0
Check
绿LED开关控制返回值
Addr
Len
3
1/0
Check
绿LED闪烁控制返回值
Addr
Len
4
1/0
Check
初始化返回值
Addr
Len
5
1/0
Check
注:
“Addr”:
地址,代表扩展板的地址,通过扩展板上的拨码开关来设置,为0~255;
“Len”:
数据包长度,等于数据包长度后面字节的总和;
“OP”:
操作码,代表所需要的操作;
“Check”:
包的校验和,包括地址字节。
3.实验步骤
3.1硬件连接
(1)将射频卡/IC卡扩展板插入开发板扩展槽
(2)用串口线连接宿主机与开发板串口0
(3)用网线连接宿主机与开发板的100M网口
(4)将开关SW5拨至左边,令SW5=EXS1
3.2启动Linux、建立开发环境、运行程序
在前面的实验中,已经讲述过如何进行,这里不加赘述。
运行程序:
./EXT_RFCard程序。
3.3根据提示,进行简单的实验
(1)向扩展板发送命令使开发板上蜂鸣器响
(2)发送命令关扩展板上的绿灯
(3)发送命令开扩展板上的绿灯
(4)发送命令使扩展板上的绿灯闪烁
(5)发送命令初始化扩展板(之前读到的卡信息将会被清空)
(6)发送命令读取射频卡信息(需要先刷卡,并会听到“嘟”的一声且红灯亮)
(7)修改发送命令中的地址
(8)退出程序
4.实验参考源代码
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#defineDEVICE_TTYS"/dev/ttyS1"
#defineMY_BAUD_RATEB19200
#defineRECEIVE_BUF_WAIT_0S0
#defineRECEIVE_BUF_WAIT_1S1
#defineRECEIVE_BUF_WAIT_2S2
#defineRECEIVE_BUF_WAIT_3S3
#defineRECEIVE_BUF_WAIT_4S4
#defineRECEIVE_BUF_WAIT_5S5
charBeep[5];
charGLed_Off[5];
charGLed_On[5];
charGLed_Glint[5];
charReset_Card[4];
charRead_Card[4];
charAddr=0;
//-------------------------------------readdatasfromttyS------------------------------------------------
//succesereturn1
//errorreturn0
intread_datas_ttyS(intfd,char*rcv_buf,intrcv_wait)
{
intretval;
fd_setrfds;
structtimevaltv;
intret,pos;
tv.tv_sec=rcv_wait;
tv.tv_usec=100000;
pos=0;//pointtorceeivebuf
while
(1)
{
FD_ZERO(&rfds);
FD_SET(fd,&rfds);
retval=select(fd+1,&rfds,NULL,NULL,&tv);
if(retval==-1)
{
perror("select()");
break;
}
elseif(retval)
{//panduanshifouhaiyoushuju
ret=read(fd,rcv_buf+pos,2048);
pos+=ret;
if(rcv_buf[pos-2]=='\r'&&rcv_buf[pos-1]=='\n')
{
FD_ZERO(&rfds);
FD_SET(fd,&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 射频卡 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)