| 非接触ID卡在自动识别系统中的应用 |
| 类别:测试仪表 |
|         作者:胜利油田电力管理总公司      王国荣 石油大学机电学院 双 凯      来源:《单片机与嵌入式系统应用》      摘要:非接触ID卡具有数据读数速度快、抗干扰能力强、价格低等特点,在自动识别系统中有良好的应用前景。本文分析非接触ID卡的数据读取及数据校验的操作,并给出相应的源程序。                关键词:非接触ID卡      自动识别 数据读取及校验      随着半导体芯片技术的不断发展,自动识别系统(如巡更系统、门禁系统、考勤系统、仓储管理系统、流水线生产自动化管理系统等)所采用的ID标识也在不断地更新,从条形码、磁卡到智能IC卡、非接触ID卡,都有各自的特点及适用场合,表1列出了几种ID标识的特性与区别。在实践应用过程中,用户可根据不同的使用环境及功能要求选择不同的ID标识。      非接触ID卡的数据读取具有非常接触的特性,即根据不同的硬件电路设计,可以在距离非接触ID卡4~10cm处读取其数据。因此,读取非接触ID卡数据无需机械接触即可完成,避免了接触式数据读取而产生的卡损伤,从而大大提高了卡的使用寿命。此外,非接触ID卡还可以按不同的应用采用异型封装,如硬币型、柱型等,并可将其预埋于设备的混凝土基础中,使其不容易受到外力破坏。           1 非接触ID卡主要特性      目前市场上非接触ID卡主要有台湾凌航科技的GK4001卡和瑞士SWATCH集团的H4001卡。它们都采用125kHz的典型工作频率,有64位激光可编程ROM,调制方式为曼彻斯特码(Manchester)调制,位数据传送周期为512μs,其64位数据结构如图1所示。      连续9位“1”作为头数据,是读取数据时的同步标识;D00~D93位是用户定义数据位;P0~P9是行奇校验位,PC0~PC3是列奇校验位,最后位“0”是结束标志。非接触ID卡的这种数据结构非常有利于判断读出数据的正确性。      由于Temic U2270B射频基站的典型工作频率为125kHz,因此,可采用以U2270B作为射频基站模块构成的电路(参见本刊2001年第3期《Temic      RF卡读写器的设计》)来实现对非接触ID卡的数据读取。在工作状态下,只要射频基站电路不断电,非接触ID卡循环发送64位数据。           2 非接触ID卡数据读取及校验      根据曼彻斯特码的编码原则(参见本刊2001年第一期《一种采用曼码调制的非接触IC卡读写程序编制》),非接触ID卡采用上升沿对应着位数据“0”,下降沿对应着位数据“1”,微控制器通过检测U2270B输出数据位的跳变来实现对曼彻斯特码的译码。在现实工作中,数据信号会受到调制、解调、噪声各种效应的影响,其上升沿和下降沿存在抖动,可采用键盘消抖的办法来消除抖动的影响。根据非接触ID卡64位数据循环发送以及其数据绪构特点,即数据流中第64位为“0”,第1位至第9位为“1”。据此,将“0111111111”作为读数据的起始标识,如图2所示。在确定了数据起始标识后,采用延时大于0.5T采样数据位的方法,如图3所示,来避开曼彻斯特码编码中的空跳对数据译码造成的影响,简化了译码程序。      通过实验得到:480μs≤1T≤520μs,220μs≤0.5T≤280μs,由此取Tnext=300μs。为了便于对读出数据进行奇校验,读出数据每5位作为一个字节。因此确定起始标识和读取数据对时钟有严格要求,所以寻找起始标识和读取数据部分程序采用汇编语言编写。数据读以后,根据前面所提到的非接触ID卡的数据结构,通过比较奇校验算法与读出数据中的奇校验位来验证出数据的正确性。非接触ID卡的数据读取程序如下:      ;------------------------------------------      ;读出数据程序      ;晶振11.059 2MHz      ;Lable define      ;-----------------------------------------      TLL EQU 2DH      TLH EQU 42H      THL EQU 62H      THH EQU 81H      TDL EQU 88H      TDL1 EQU 2AH      BLK1 EQU 70H ;读出数据缓存      OK BIT 79H      OUT BIT P1.1      CFE BIT P1.2      ;-------------------------------------------      ORG 0000H      LJMP RD_D      ORG 0050H      ;------------------------------      ;READ RF CARD      ;-------------------------------      RD_D:MOV A,R6      PUSH ACC      MOV A,R7      PUSH ACC      LCALL EDGEM      JB OK,RD_OK      RD_D0:CLR OK      LJMP RD_D      RD_OK:NOP      RD_D1:MOV R0,#BLK1 ;读到BLK1      RD_DL0:MOV R6,#0BH ;位计数---R6*R5      RB_L:CLR A      MOV @R0,A      RD_DL1:MOV R5,#05H      RD_DL2:JB OUT,RD_DL5      MOV A,#00H      RD_DL3:CJNE A,#TDL1,RD_DL4      LJMP RD_D0      RD_DL4:JB OUT,RD_DLK      INC A      SJMP RD_DL3      RD_DL5:MOV A,#00H      RDDL5:CJNE A,#TDL1,RD_DL6      LJMP RD_D0      RD_DL6:JNB OUT,RD_DLK      INC A      SJMP RDDL5      RD_DLK:MOV C,OUT      CPL C      MOV A,@R0      RLC A      MOV @R0,A      MOV R1,#TDL ;延时TNEXT      DJNZ R1,$      DJNZ R5,RD_DL2      INC R0      DJNZ R6,RB_L      SETB OK      RDRET:POP ACC      MOV R7,A      POP ACC      MOV R6,A      SJMP $      ;---------------------------------------------      ;确定数据流起始标识      ;---------------------------------------------      EDGEM:MOV R7,#00H      EDGE0:MOV R1,#08H      NOP      DJNZ R7,EDGE1      EDGER:CLR OK      RET      ;--------------------      EDGE1:JNB OUT,$      MOV DPTR,#0000H      EDGE2:INC DPTR      JB OUT,EDGE2      MOV A,DPH      JNZ EDGER      MOV A,DPL      CLR C      SUBB A,#THL      JC EDGE0      MOV A,DPL      CLR C      SUBB A,#THH      JNC EDGER      ;--------------------      EDGE3:JNB OUT,$      MOV DPTR,#0000H      EDGE4:INC DPTR      JB OUT,EDGE4      MOV A,DPL      CLR C      SUBB A,#TLH      JNC EDGE0      MOV A,DPH      JNZ EDGER      MOV A,DPL      CLR C      SUBB A,#TLL      JC EDGER      MOV A,DPL      CLR C      SUBB A,#TLH      JNC EDGE0      DJNZ R1,EDGE3      MOV R1,#TDL      DJNZ R1,$      SETB OK      RET      END           结束语      通过实验得出,只有在正确找到数据的起始标识和通定合适的时间间隔常数后,才能正确读出非接触ID卡的数据。经过一段实践,以上两点并不难解决。      |
- 石化仪器仪表系列讲..
- 2008-1-24
- 浅谈影响仪器仪表差..
- 2008-1-24
- 新一代温度仪表自动..
- 2008-1-14
- 国外仪器仪表的发展..
- 2008-1-14
- 电子测量仪器的分类..
- 2008-1-2
- LAN/LXI在仪..
- 2008-1-2
- 虚拟仪器技术的飞跃
- 2007-12-24
- 流量测量方法和流量..
- 2007-12-20
- 如何正确选购温湿度..
- 2007-12-17
- 变频技术小知识
- 2007-10-27
- LS变频器基本参数..
- 2007-9-19
- 现场仪表系统常见故..
- 2007-9-19
- 智能仪表在低压监控..
- 2007-9-14
- 经济高效的单芯片以..
- 2007-8-7
- Wi-Fi的迅猛增..
- 2007-8-9
- 电子标签与商业应用
- 2007-8-9
- 耐压测试中接触检测..
- 2007-7-29
- 利用Fluke 8..
- 2007-8-9
- 用Labwindo..
- 2007-7-29
- 用频谱分析法测量数..
- 2007-7-29



