学海荡舟手机网
导航

主页 > 电子设备技术 > 电器电路基础 > > 详细内容

RFID读卡操作过程

  读写器从标签(卡片)获得信息有两种情况:
  
  ①卡片进入磁场后主动循环发送内部信息,如EM4100或Hitags卡处于TTF模式;
  
  ②卡片并不主动发送信息,而是需要读写器发送读取命令之后卡片才会将存储数据发出,而且一般为一次性发送,比如处于RTF模式的Hitags卡。
  
  无论哪种情况,读写器天线感应到信息之后,经过耦合、、等处理之后,输送给(MCU)的都是以一定格式、速率传输的数字基带码流,MCU只要根据编码特征,正确同步和接收即可。不失一般性,这里我们以EM4100卡为例介绍读卡程序的编制流程。
  
  由于在系统中,曼彻斯特编(MC)码的应用非常广泛,因而以MC码为例。根据EM4100卡数据结构特点,卡片进入磁场后发送数据,连续9位“l”作为头数据,是读取数据时的同步标识;DOO~D93位是信息位;PO~P9是行奇校验位,PCO~PC3是列奇校验位,最后位“0”是结束标志。EM4100这种数据结构非常有利于判断读出数据的正确性。
  
  上图所示为EM4100卡进入磁场后,自动循环发送的数据流码型。其中前9位为l,是卡的头数据,第10-63位为数据及校验位,可能为0或1,第64位为结束位0,之后循环。由此可知,要想正确地读卡,首先就要正确的找到数据1(9位“1”的同步头),根据曼码规则下跳为1,故可以检测高并等其变低,连续检测9个1以获得同步,如中图所示。
  
  不过,这种方法有可能会把0错检为1,因为0也存在高电平,尤其是在连续O或l出现时,其中不携带信息的空跳沿(见上图)会给同步带来困难。而且,由于数据流中存在很多个l码,在同步过程中,每次检测到1个l码都要进入下一步的循环,时间浪费较大。
  
  同样由上图我们注意到,当出现连续的01(或10)时,会有持续一个的高(或低)电平,而EM4100卡最后一位为0,由于数据是循环发出的,我们可以结合这一位和同步头来联合检测,首先找‘01’码,其流程如右图所示。
  
  无需定量计算,我们可以想象在全部64位数据中出现01码的可能性远低于出现单个1的概率,因而结合停止位检测的方法要优于直接检测,同步时间可以大大缩短,在笔者的实际应用中也证实了这一点。
  
  检测完同步头后,即可开始读取数据。由于系统已经同步,读取数据非常简单,只要检测前半周期的电平即可,见下图。
  
  值得注意的一点是,虽然根据理论计算,数据流中1位码元的周期T=64×(l/125k)=512μs,但在实际观测中,并非完全理想,最好先用示波器观测其波形周期,以便更好的设计各延时子程序。


相关文章