TRF7960芯片是TI開發的工作頻率為13.56MHz、支持ISO15693、ISO14443A/B協議的射頻讀寫器開發芯片。在TI官方公開的TRF7960說明書中,有詳細的參考電路及基于MSP430單片機的參考代碼,參考這些資料做自己的開發板或者產品板基本上難度不大。MCU可以使用并口或SPI串口操作TRF7960,并口相對簡單一些,SPI通信則有一些問題需要特別注意。
目前工作于13.56MHz的無線技術領域主要有2個ISO協議標準,一個是IS014443,另一個是ISO15693。ISO14443又分為TYPEA、TYPEB兩種協議,通信速率106kb/s,它們的區別主要在于載波的調制深度及位的編碼方式。ISO15693讀寫距離較遠,而ISO14443讀寫距離稍近,但后者應用較廣泛。
應用案例:RFID應用于智慧門店試衣間
首先,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;
}
應用案例:RFID應用于RFID應用于車間物料車管理
主機從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;
}
其次,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;
elseTRF796X_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;
應用案例:RFID高頻讀寫器模塊
最后,TRF7960向磁場中的卡片發送數據后,等待卡片回應,是否收到卡片回送的數據及是否反應超時等命令的執行情況都是通過中斷機制來表示的。在NXP的射頻芯片中,可以不使用芯片的中斷引腳IRQ而是直接查詢射頻芯片的中斷標志寄存器來獲得各種事件發生的情況,但在TRF7960中不能使用這種方式,因為讀一次TRF7960的中斷標志寄存器將會把寄存器中的中斷標志清除,所以電路中通常要使用IRQ引腳,可以用IRQ引腳使能MCU中斷或直接查詢IRQ引腳,從而得知TRF7960內部發生了中斷事件,進而用SPI讀取其中斷標志寄存器獲取詳細的中斷事件產生情況。
RFID高頻HF多協議IC卡讀寫器HR8002桌面式電子標簽讀寫器是一款高性能的ISO/IEC 15693、ISO14443A/B多協議電子標簽讀寫器,采用USB供電USB通訊。廣泛應用于電子標簽信息錄入、IC卡發開、檔案管理、會員管理個人身份識別、工位管理、會議簽到系統、門禁系統、防偽系統及生產過程控制等多種無線射頻識別(RFID)系統。
請繼續瀏覽相關產品與解決方案,或點擊右邊下載:
返回頂部