首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
嵌入式技术
» 采用曼码调制的非接触式IC卡译码软件设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
采用曼码调制的非接触式IC卡译码软件设计
发短消息
加为好友
电子工匠
当前离线
UID
799481
帖子
1606
精华
0
积分
1075
阅读权限
70
在线时间
66 小时
注册时间
2009-9-8
最后登录
2011-9-1
金牌会员
UID
799481
1
#
打印
字体大小:
t
T
电子工匠
发表于 2011-2-12 09:47
|
只看该作者
采用曼码调制的非接触式IC卡译码软件设计
公交车
,
读卡器
,
电话号
,
可靠性
,
智能卡
采用曼码调制的非接触式IC卡译码软件设计
目前,随着技术的发展和应用的需求,IC卡(又称智能卡)在人们的日常生活中已经得到了广泛应用。通常,IC卡可以分为接触式IC卡和非接触式IC卡两类。接触式IC卡是卡与读卡器直接物理接触进行数据交换,部分金属电路是裸露在外面的,如手机卡、公共IC电话号等。非接触式IC卡又叫射频卡,射频与读卡器之间通过射频信号进行数据交换,不需物理接触,电路是封装在内部的,如公交车的收费卡等。非接触式IC卡与接触式IC卡相比,只有可靠性高,使用方便,不怕雨水、静电以及没有接触划伤等优点,因此,得到了更广泛的应用。这种非接触式IC卡采用的技术称为RFID技术。
射频卡与读卡器之间的射频信号调制方式常见的有FSK(调频)、PSK(调相)、BIPH(双相)、Manchester(曼彻斯特)。其中,曼彻斯特调制方式一般用在低频,低成本的产品中,虽然在国外采用曼码调制的IC 卡已不常用,但由于其价格低廉的优势,目前在我国采用此种调制方式的低端IC卡还具有广泛的应用。在实际应用中,使用者有时会遇到对曼彻斯特编码进行译码的问题,鉴于此,本文介绍了一种译码方法,以供读者作为参考。
1 无线射频识别(RFID)技术概述
1.1 RFID系统的基本工作原理
无线射频识别(RFID,radio frequency identification)技术是一种非接触式的自动识别技术,基本原理是利用空间电磁感应或者电磁传播来进行通信,以达到自动识别目标对象并获取相关数据的目的。
RFID系统由射频卡和射频卡读写器两部分组成,如图1所示,射频卡与读写器之间通过耦合元件实现射频信号的空间(无接触)耦合,在耦合通道内,根据时序关系,实现能量传递和数据交换。
1.2 射频卡读写器
在实际应用硬件电路中,读写器一般由天线、基站芯片、MCU组成。其中,基站芯片主要实现高频接口模块的功能,用于完成数据的调制、发射和射频的接收以及数据的解调任务。
下面简单介绍一种射频卡基站芯片U2270B,U2270B是一个能对IC卡进行读写操作的射频卡基站芯片,主要特点有:
振荡器能产生100kHz~150kHz的载波频率,并可通过外接电阻进行精确调整,其典型应用频率为125kHz;
适用于曼彻斯特编码和双相位编码;
带有微处理器接口,可与单片机直接连接;
125kHz时的典型读写距离为15mm。
在实际应用中,当射频卡进入到由读写器天线产生的射频场内时,由于电磁感应的作用而得到触发,从射频卡发出的负载调制信号会在基站天线上产生微弱的调幅,这样,基站芯片即可回收射频卡调制数据流。应当说明,当返回的射频卡调制数据流采用的是曼彻斯特编码形式时,U2270B通过内部的一系列处理,将与MCU接口兼容的标准曼彻斯特编码信号输出给MCU,U2270B不能完成曼彻斯特编码的解调, 解调工作必须由MCU软件来完成,这也是本文的意义所在。
1.3 射频卡
射频卡有很多种分类方法,其中按芯片可分为三类:只读卡,读写卡和CPU卡。
下面介绍一种只读卡(又称为ID卡)EM4100,它靠读写器感应供电并读出存储在芯片EEPROM中的唯一卡号,卡号在封装前一次写入,封卡后不能更改。
EM4100ID卡的主要特点:
载波频率RF为125kHz;
感应距离为2~15cm;
数据存储容量共64位,包括制造商、发行版本号和用户代码;
数据的传送速率有RF/64bit/s、RF/32bit/s和RF/16bit/s三种。
卡内数据格式:总共64位,其中包括9个起始位,40个数据位(前8位为版本或制造商信息,后32位为用户信息),10个行校验位,4个列校验位,1个结束停止位。
在读写器工作状态下,当ID卡进入读写器产生的射频场内时,依次将卡内64位数据循环输出,直到ID卡离开读写器失电为止。
2 曼彻斯特译码软件设计
假如对EM4100 ID卡进行解码,载波频率RF采用为125kHz,数据传送速率采用RF/64,那么传送一位数据所需要的时钟周期T=512μs。首先,由于曼彻斯特编码包含了同步时钟信号,第一步必须提取出同步时钟信号,并在提取出同步时钟信号的同时,将会得到第一个数据。之后,就可进行数据的采集。在数据采集时,先采集到起始位9个1,再采集后面的数据。然后进行奇偶校验和对数据的一些处理。程序的流程图如图2所示。
结合图3来说明一下提取同步时钟信号和取得第一个数据的方法。
曼彻斯特编码是在位周期中间产生跳变,所以可以通过检测曼码的上升沿或者下降沿来提取出同步时钟信号,具体方法为:在程序检测出第一个上升沿(或下降沿)之间,如果检测出t=T’(T’为传送一位数据所需要的时间,理想情况下为位时钟周期T)时间的低电平(或高电平),那么此上升沿(或下降沿)必发生在位时钟周期的中间,在取得同步时钟信号的同时,将得第一个数据位1(或0),将当前收到的数据位存放入微控制器的存储器中,并同时将此值赋给一个状态位con_receive=1(或0),此状态位在检测下一个数据时会用到。以图3为例(本例是通过上升沿来提取同步时钟信号),在b上升沿之前,检测出有t=T’时间的低电平,那么b上升沿必产生在位时钟周期中间,并同时取得第一个数据1,将数据1存入寄存器,并赋给状态位con_receive=1,用于下一个数据的检测。
2.1 数据采集
在提取出同步时钟信号后,就可以通过检测出两个上升沿(或下降沿)的时间间隔来提取数据了。两个上升沿(或下降沿)的时间间隔总共有t=T’,t=1.5T’,t=2T’三种情况。
如果检测到两个上升沿之间的间隔t=T’时,则收到一个与前一个逻辑值相同的数据,例如图3,在b上升沿之后t=T’时间的的c处检测到上升沿,得到与前一个逻辑值con_receive相同的数据1。将此数据存放入存储器中,并同时将当前逻辑值1赋给状态位con_receive;如果检测到两个上升沿之间的时间间隔t=1.5T’时,两种情况:当前一个数据值con_receive为1时,得到两个数据00,并将逻辑值0赋给con_receive;当前一个数据为0时,得到一个数据1,并将逻辑值1赋给con_receive。如图3,在c上升沿之后t=1.5T’时间的d处检测到上升沿,由于在c上升沿得到的逻辑值为1,则得到数据00,con_receive的值也相应变为0;又经过T’时间后到达e上升沿,得到与前一个逻辑值相同的数据0;又经过t=1.5T’时间到达f上升沿,由于前一个数据的逻辑值为0,则得到数据1,con_receive也相应变为1;如果检测到两个上升沿之间的时间间隔t=2T’时,得到两个数据01,并将逻辑值1赋给con_receive。如图3,在f上升沿之后的t=2T’时间的g处检测到上升沿,得到两个数据01;
如果检测到两个上升沿之间的时间间隔t不等于T’、1.5T’、2T’中的任何一个,则采集数据出错。
在采集数据过程中,由于一些干扰或者其他因素,采集数据错误是无法避免的,出错处理部分可由读者自己决定作如何处理。比如:可以选择为重新开始提取同步时钟信号,重新译码,如果在连续的重新译码一定的次数之后,还没有得到64位数据则报警等。
2.2 数据校验及数据处理
为了便于对读出的数据进行奇偶机校验,将起始位9个1之后的55个数据按每5位作为一个字节进行存放,在数据全部读出后,根据ID卡的数据结构,对数据进行奇偶校验。奇偶校验正确之后,可以对这些原始数据做进一步的处理以作实验应用。
2.3 其他一些说明
在理想状态下,传送一位数据的时间T’应该等于位时钟周期T,由于射频场信号的强弱和外界的影响,T’不是一个稳定的值,因此在实际应用中,T’是一个取值范围。例如:例如:当位时钟周期T=512μs,理想状态下,T’=T=512μs,但实际中T’选取一个范围,比如可以取400μs<T’<580μs,640μs<1.5T’<820μs,870μs<2T’<1100μs(这些取值范围并不是固定的,也没有太严格的要求。在实际应用中,最好对所使用的ID卡进行测量一下,然后参考测量的结果来选取。
有些ID卡曼彻斯特编码是位数据1对应着电平下位,位数据0对应着电平上跳,当对这种卡进行解码时,只要把程序中检测上升沿变为检测下降沿、检测下降沿变为检测上升沿即可。
检测上升沿(或下降沿)可以采用中断法或者扫描法。当采用扫描法时,由于在现实工作中,数据信号会受到调制、解调、噪声各种效应的影响,其上升沿和下降沿存在抖动,可以采用键盘消除抖动的办法消除抖动的影响。
如果奇偶校验连续NG一定次数之后,还没有得到正确的64位数据,则可以采用报警或者其它办法处理。
收藏
分享
评分
细节决定成败!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议