基于TRF7960的多协议读写器设计

RFID设备介绍

    无线射频识别技术(RFID)作为一种先进的自动识别和数据采集技术,已经广泛应用到物流仓储、小额支付、会员管理、生产制造、公共安全等各个领域,并带动了读写器和各类应用产品及系统的开发、生产和应用。目前,在我国应用于13.56MHz的无线射频识别技术领域主要有2个ISO标准,一个是IS014443,另一个是ISO15693。ISO14443定义了TYPEA、TYPEB两种类型协议,通信速率为106kb/s,它们的区别主要在于载波的调制深度及位的编码方式。ISO15693读写距离较远,而ISO14443读写距离稍近,但后者应用较广泛。这三种协议的卡在各个领域都有着比较广泛的应用,而国内现有的13.56MHz的射频读卡器,一般仅支持一种协议,且功能较为单一。

TRF7960芯片介绍

    TRF7960系列是TI推出的载波为13.56MHz、支持ISO15693、ISO14443A/B和FeliCa协议的射频接口芯片。许多人更关心它能不能读写MF1卡片,就我的理解及实际验证,由于MF1在卡选择之前的操作是遵守ISO14443A协议的,之后的卡验证和卡数据读写都是NXP自己的保密协议,所以TRF7960可以对MF1卡执行到卡选择操作,或者通俗的说可以读MF1的卡片序列号,但不能对MF1卡读写数据,除非开发者自己知道NXP的加密协议并自己编写代码实现该协议。

基于TRF7960的多协议读写器设计 

TRF7960芯片开发说明  

在TI官方公开的TRF7960说明书中,有详细的参考电路及基于MSP430单片机的参考代码,参考这些资料做自己的开发板或者产品板基本上难度不大。MCU可以使用并口或SPI串口操作TRF7960,并口相对简单一些,SPI通信则有一些问题需要特别注意。

    首先,TI给出的SPI参考代码使用的是MSP430的内置SPI接口,我们实际开发中因为单片机内部资源或引脚分配限制往往需要软件模拟SPI通讯。TRF7960的SPI协议规定:

不通讯的时候,片选NSS保持高电平,时钟CLOCK保持低电平,通讯的时候NSS保持低电平。

主机向TRF7960写一位数据时,在CLOCK为低电平期间根据数据的值设置MOSI数据线,然后CLOCK上升沿通知TRF7960可以接收数据,CLOCK下降沿后继续准备下一位要发送的数据,代码如下:

      for(j=8;j>0;j--)

      {

       if(((*pbuf)&0x80)==0x80)TRF796X_MOSI_HIGH;

       else           TRF796X_MOSI_LOW;

        TRF796X_SCK_HIGH;

        (*pbuf) <<= 1;

        TRF796X_SCK_LOW;

      }

主机从TRF7960读一位数据时,在CLOCK为高电平期间TRF7960根据数据的值设置MISO数据线,然后CLOCK下降沿通知MCU可以接收数据,CLOCK上升沿后继续准备下一位要发送的数据,代码如下:

      for(j=8;j>0;j--)

      {

         TRF796X_SCK_HIGH;

         _NOP();_NOP();

         TRF796X_SCK_LOW;

         (*pbuf) <<= 1;

         if(TRF796X_MISO_LOW)(*pbuf)+=1;  

       }

 基于TRF7960的多协议读写器设计

    其次,MCU可以使用Direct Command直接向TRF7960发送一字节的命令码,执行复位、进入省电模式、向卡片发送数据、调整接收电路增益等功能。Direct Command的SPI时序有一个特殊的要求,在发送完一字节的命令后,在SS拉高之前,CLOCK要多出一个上升沿,代码如下:

    SLAVE_SELECT_LOW;       

    for(j=8;j>0;j--)

    {

     if(((*pbuf)&0x80)==0x80)TRF796X_MOSI_HIGH;

     else                    TRF796X_MOSI_LOW;

        TRF796X_SCK_HIGH;

        (*pbuf) <<= 1;

        TRF796X_SCK_LOW;

    }

    _NOP(); _NOP();

    TRF796X_SCK_HIGH;

    _NOP(); _NOP();

    SLAVE_SELECT_HIGH;       

    _NOP(); _NOP();

    TRF796X_SCK_LOW;

基于TRF7960的多协议读写器设计

    最后,TRF7960向磁场中的卡片发送数据后,等待卡片回应,是否收到卡片回送的数据及是否反应超时等命令的执行情况都是通过中断机制来表示的。在NXP的射频芯片中,可以不使用芯片的中断引脚IRQ而是直接查询射频芯片的中断标志寄存器来获得各种事件发生的情况,但在TRF7960中不能使用这种方式,因为读一次TRF7960的中断标志寄存器将会把寄存器中的中断标志清除,所以电路中通常要使用IRQ引脚,可以用IRQ引脚使能MCU中断或直接查询IRQ引脚,从而得知TRF7960内部发生了中断事件,进而用SPI读取其中断标志寄存器获取详细的中断事件产生情况。


我们是您的"项目落地合伙人"

做RFID项目,最怕三件事:设备在特定场景"不灵"、方案"纸上谈兵"、售后找不到人。我们不是"甩手掌柜",这些坑,我们帮您提前避掉。

我们怎么帮您?
项目前

用20年项目经验帮您优化方案、避开陷阱,给出场景化的产品选型与实施方案,确保项目一次成功。

项目中

开放技术,共享经验,深度协作。输出十余年沉淀的RFID高频与超高频实战经验,助您项目快速验收。

项目后

从选型到上线全程支持,24小时内响应售后,直接对话经验丰富的工程师,不让您独自面对难题。

凭什么信我们?

我们拒绝把客户当"小白鼠",不做理论派,所有方案都经过实战检验。十余年来,协助超500家系统集成商成功落地超800个中大型项目,超20家客户合作超过8年——因为我们不是卖完就走的供应商,是同舟共济的伙伴。

800+
成交客户
1000+
实际落地项目
50+
10年+长期合作客户
深度协作,互利共赢

您只需专注客户与方案,技术实现与产品交给我们。项目遇到问题,我们一定在场。项目做成了,我们自然长期合作,把蛋糕一起做大。欢迎随时聊聊您的需求或困惑。

上海营信,经,值得您信赖。

马上联系我们销售:13817779536
(微信同号)

相关产品

相关方案与案例

上一篇:RFID设备和电子标签的防冲突机制介绍
下一篇:高价耗材中RFID技术防伪管理应用方案