物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于S6700芯片和Tag-it协议标准的RF读写器

作者:上海大学 蒋序一 高佩珠
来源:微计算机信息
日期:2007-09-17 16:08:46
摘要:目前广泛应用于包装品、书刊、生产线等的条形码技术极有可能被一种全新的高科技射频识别技术(RFID)所取代。RFID的基本工作原理:由读写器发射特定频率的无线电磁波,当非接触IC卡接近读写器时,非接触IC卡接收电磁波能量,并将能量存储起来作为收发器所需的电能,而此时非接触IC卡也开始动作,将卡内存储的识别资料以无线电波的方式传送给读写器,最后等待读写器对资料的的进一步操作。
 0 引言 

    目前广泛应用于包装品、书刊、生产线等的条形码技术极有可能被一种全新的高科技射频识别技术(RFID)所取代。RFID的基本工作原理:由读写器发射特定频率的无线电磁波,当非接触IC卡接近读写器时,非接触IC卡接收电磁波能量,并将能量存储起来作为收发器所需的电能,而此时非接触IC卡也开始动作,将卡内存储的识别资料以无线电波的方式传送给读写器,最后等待读写器对资料的的进一步操作。 

    1 硬件设计 

    1 多协议读写器模块-S6700芯片 

    本文的射频识别系统包括读写器、非接触IC卡、天线和PALM设备。S6700芯片是读写器的核心部分。该芯片是TI公司开发的针对非接触IC卡读写的多协议收发器。它工作在13.56Mhz频率下,采用SSOP20封装,+5V供电,内部封装有发送调制器和接收解调器,采用曼彻斯特编码方式。 S6700芯片能够支持以下三种协议:TI TAG-IT协议、ISO/IEC 15693-2、ISO/IEC 14443-2(TYPE A)。 

    S6700芯片和单片机的通信主要通过时钟线(SCLOCK)、数据输入线(DIN)、数据输出线(DOUT)来完成的(见图一)。S6700芯片上M_ERR线主要表征通信的正确性。 

    1) Sclock时钟线是双向的。在IC卡响应S6700命令之前必须进行时钟线的切换,将控制权交由S6700芯片控制。而当响应完成时MCU又将夺回时钟线的控制权。 

    2)  Din是S6700芯片数据输入线。当MCU发送数据给S6700芯片时,MCU主要依赖该线传送数据和命令给S6700芯片。 

    3)  Dout是S6700芯片数据输出线。当IC卡向S6700芯片发送回应数据时,S6700芯片通过该线向MCU数据输出。其次DOUT线还用来表征S6700芯片内部数据缓冲区的情况。(后面将详细介绍数据缓冲部分) 

    4)  M_ERR线。在同时读多张卡的时候表征数据的冲突情况。M_ERR线平时为低电平,存在多卡冲突时此线会升为高电平。 



    2 通信协议 

    S6700芯片规定一系列的时序,必须严格按照它的时序来一步步的完成操作。 

    图二是读写器和非接触IC卡一次简单通信的完整时序图。其中S6700芯片的Sclock时钟线、Din时钟线、Dout时钟线分别由MCU的P1.2线、P1.4线和P1.5线控制。 

    2.1 指令时序结构 

    下面将对图二中S6700芯片一些基本指令的时序结构加以说明。 

    1)     Transmitter Off Command(发送器关闭命令) 

    图三所示时序作用是快速关闭S6700芯片的载波信号。  

    2) Transmitter On Command(发送器开启命令) 

   载波可以被每条指令自动开启(除了configuration commands)。最快开启载波的方法是在寄存器模式下执行一条不带数据域的指令。 

    3) Clock Switch Command(时钟切换命令) 

    命令发送过程中,双向时钟线SCLOCK由MCU控制,发送完毕,在接收卡响应之前必须进行时钟线的切换,将控制权交由S6700芯片控制。而当响应完成时MCU又将夺回时钟线的控制权,因此就涉及到时钟切换的问题。 

    a. TRAN1:在TRAN1过程中,MCU把SCLOCK线的控制权交给读写器。当读写器取得SCLOCK线的控制权后,IC卡会发出S2(相当于卡发出的开始帧),然后发出数据和ES2(相当于卡发出的结束帧)。MCU放弃时钟接口控制波形。 

    b. TRAN2:在TRAN2过程中,MCU夺回SCLOCK线的控制权。 

    4) FIFO Command 

    因为MCU无法控制读写器向IC卡的写卡速度,所以S6700芯片必须提供一种机制暂时存储来自MCU的数据,这种机制就是缓存器管理机制。S6700芯片有一个16bit的FIFO。在写卡过程中当DOUT为高电平时,SCLOCK将无时钟信号,这时说明S6700芯片缓存器已满,并要求MCU停止发送数据。于是MCU必须等待直到DOUT又变为低电平才能继续发送数据,这时表明S6700芯片缓存器已清空。