RFID射頻識別技術(shù)介紹 
	    無線射頻識別技術(shù)(RFID)作為一種先進(jìn)的自動識別和數(shù)據(jù)采集技術(shù),已經(jīng)廣泛應(yīng)用到物流倉儲服務機製、小額支付貢獻力量、會員管理、生產(chǎn)制造大幅拓展、公共安全等各個領(lǐng)域發行速度,并帶動了讀寫器和各類應(yīng)用產(chǎn)品及系統(tǒng)的開發(fā)、生產(chǎn)和應(yīng)用與時俱進。目前性能,在我國應(yīng)用于13.56MHz的無線射頻識別技術(shù)領(lǐng)域主要有2個ISO標(biāo)準(zhǔn)初步建立,一個是IS014443,另一個是ISO15693供給。ISO14443定義了TYPEA的方法、TYPEB兩種類型協(xié)議,通信速率為106kb/s進行探討,它們的區(qū)別主要在于載波的調(diào)制深度及位的編碼方式落到實處。ISO15693讀寫距離較遠(yuǎn),而ISO14443讀寫距離稍近最新,但后者應(yīng)用較廣泛技術創新。這三種協(xié)議的卡在各個領(lǐng)域都有著比較廣泛的應(yīng)用,而國內(nèi)現(xiàn)有的13.56MHz的射頻讀卡器體驗區,一般僅支持一種協(xié)議,且功能較為單一活動上。
 
	TRF7960芯片介紹 
 
	    TRF7960系列是TI推出的載波為13.56MHz有望、支持ISO15693、ISO14443A/B和FeliCa協(xié)議的射頻接口芯片導向作用。許多人更關(guān)心它能不能讀寫MF1卡片方案,就我的理解及實(shí)際驗(yàn)證,由于MF1在卡選擇之前的操作是遵守ISO14443A協(xié)議的十大行動,之后的卡驗(yàn)證和卡數(shù)據(jù)讀寫都是NXP自己的保密協(xié)議左右,所以TRF7960可以對MF1卡執(zhí)行到卡選擇操作,或者通俗的說可以讀MF1的卡片序列號綜合措施,但不能對MF1卡讀寫數(shù)據(jù)可靠保障,除非開發(fā)者自己知道NXP的加密協(xié)議并自己編寫代碼實(shí)現(xiàn)該協(xié)議。 
 
	  
 
	TRF7960芯片開發(fā)說明    
	 在TI官方公開的TRF7960說明書中設計標準,有詳細(xì)的參考電路及基于MSP430單片機(jī)的參考代碼高端化,參考這些資料做自己的開發(fā)板或者產(chǎn)品板基本上難度不大。MCU可以使用并口或SPI串口操作TRF7960我有所應,并口相對簡單一些提單產,SPI通信則有一些問題需要特別注意。 
 
	    首先至關重要,TI給出的SPI參考代碼使用的是MSP430的內(nèi)置SPI接口發展空間,我們實(shí)際開發(fā)中因?yàn)閱纹瑱C(jī)內(nèi)部資源或引腳分配限制往往需要軟件模擬SPI通訊。TRF7960的SPI協(xié)議規(guī)定: 
 
	不通訊的時候有所應,片選NSS保持高電平足了準備,時鐘CLOCK保持低電平,通訊的時候NSS保持低電平著力提升。 
 
	主機(jī)向TRF7960寫一位數(shù)據(jù)時系統,在CLOCK為低電平期間根據(jù)數(shù)據(jù)的值設(shè)置MOSI數(shù)據(jù)線增強,然后CLOCK上升沿通知TRF7960可以接收數(shù)據(jù),CLOCK下降沿后繼續(xù)準(zhǔn)備下一位要發(fā)送的數(shù)據(jù)交流等,代碼如下: 
 
	      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; 
 
	      } 
 
	主機(jī)從TRF7960讀一位數(shù)據(jù)時更加廣闊,在CLOCK為高電平期間TRF7960根據(jù)數(shù)據(jù)的值設(shè)置MISO數(shù)據(jù)線,然后CLOCK下降沿通知MCU可以接收數(shù)據(jù)提高,CLOCK上升沿后繼續(xù)準(zhǔn)備下一位要發(fā)送的數(shù)據(jù)可以使用,代碼如下: 
 
	      for(j=8;j>0;j--) 
 
	      { 
 
	         TRF796X_SCK_HIGH; 
 
	         _NOP();_NOP(); 
 
	         TRF796X_SCK_LOW; 
 
	         (*pbuf) <<= 1; 
 
	         if(TRF796X_MISO_LOW)(*pbuf)+=1;   
 
	       } 
 
	   
 
	    其次,MCU可以使用Direct Command直接向TRF7960發(fā)送一字節(jié)的命令碼紮實,執(zhí)行復(fù)位效高化、進(jìn)入省電模式、向卡片發(fā)送數(shù)據(jù)投入力度、調(diào)整接收電路增益等功能創造。Direct Command的SPI時序有一個特殊的要求,在發(fā)送完一字節(jié)的命令后貢獻法治,在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向磁場中的卡片發(fā)送數(shù)據(jù)后管理,等待卡片回應(yīng),是否收到卡片回送的數(shù)據(jù)及是否反應(yīng)超時等命令的執(zhí)行情況都是通過中斷機(jī)制來表示的雙向互動。在NXP的射頻芯片中效率和安,可以不使用芯片的中斷引腳IRQ而是直接查詢射頻芯片的中斷標(biāo)志寄存器來獲得各種事件發(fā)生的情況,但在TRF7960中不能使用這種方式助力各業,因?yàn)樽x一次TRF7960的中斷標(biāo)志寄存器將會把寄存器中的中斷標(biāo)志清除極致用戶體驗,所以電路中通常要使用IRQ引腳,可以用IRQ引腳使能MCU中斷或直接查詢IRQ引腳應用,從而得知TRF7960內(nèi)部發(fā)生了中斷事件引領作用,進(jìn)而用SPI讀取其中斷標(biāo)志寄存器獲取詳細(xì)的中斷事件產(chǎn)生情況。 
                |