標籤:
實驗三 防衝撞協議原理實驗
一、實驗目的
通過本實驗使學生瞭解 RFID 的防衝撞原理的實現方法,掌握時間槽、VICC 四種狀態的含義以及狀態的切換規律。
二、實驗裝置
TI TRF7960 讀卡機一個、usb 連接線一條、電腦一台、HF RFID 實驗 上位機軟體、ISO15693標籤若干張
三、實驗知識預備及原理
1、VICC 狀態
一個 VICC 可能處於以下 4 種狀態中的一種:
l 斷電
l 準備
l 靜默
l 選擇
這些狀態間的轉換在圖 6.22中有規定。斷電、準備和安靜狀態的支援是強制性的。選擇狀態的支援是可選的。
(1)斷電狀態
當VICC不能被VCD啟用的時候,它處於斷電狀態。
(2)準備狀態
當 VICC 被 VCD 啟用的時候,它處於準備狀態。選擇標誌沒有置位時,它將處理任何請求。
(3)安靜狀態
當 VICC 處於安靜狀態,目錄標誌沒有設定且定址標誌已設定情況下,VICC 將處理任何請求。
(4)選擇狀態
只有處於選擇狀態的 VICC 才會處理選擇標誌已設定的請求。
注 1:狀態轉換方法的意圖是,某一時間只有一個 VICC 應處於選擇狀態。
注 2:VICC 狀態轉換圖只圖示出有效轉換。在所有的其它情況下,當前的 VICC 狀態保持不變。當 VICC
不能處理一 個 VCD 請求(例如 CRC 錯誤,等等) ,它將仍然處於目前狀態。
注 3:虛線表示的選擇狀態圖示出 VICC 支援的選擇狀態是可選的。
2、上位機軟體防碰撞演算法實現流程
上位機介面開啟預設設定:支援 ISO15693,高速率,資料編碼 1/4 操作,寄存器會自動化佈建一些參數:
1).在詢卡請求時檢測標誌位(B5)如果設定了,slots=1,如果沒有設定,slots=16 同時使能不反應中斷。
2). 初始化 mask length=0;mask value=0
3).初始化 slot 數指標為 0
4). 發送詢卡請求命令帶上 mask length,mask value 值
5). 等待發送完成中斷
6).等待下一個中斷,中斷可能是以下情況:
a.接受完成
b.碰撞
c.沒有反應
檢測 IRQ 狀態寄存器中斷類型
如果是接收完成中斷,就意味著沒有錯誤/碰撞在 FIFO 接收 UID 過程中,從 FIFO中可以讀出完整的 UID
如果是碰撞中斷,在 slot 指標裡記錄碰撞位置,指標數值加 1
如果是標籤沒反應中斷,忽略。
7). 複位 FIFO
8). 如果 slots 數是 16,發送 EOF;如果 slots 數是 1,退出。
9). 對以所有的 16 個 slots 重複步驟 5 和 6,在 16 個 slots 結束時,屏蔽不反應中斷。
10). 檢查 slot 指標數值,如果不為 0,計算新的 mask;如果為 0,退出。
a.增加 mask 長度 4 bits
b.new mask=slot 數(碰撞位置 slot 數)+old mask
11).返回到第 4 步驟(new mask value 和 length)
12) slot 指標加 1
13) 返回到第 10 步驟
四、實驗過程及分析
1、確保 TI TRF7960RFID 與電腦串連正常,開啟虛擬機器軟體,右擊【我的電腦】---->【屬性】---->【硬體】---->【裝置管理員】,查看串連的連接埠,如:
2、將15693卡放在感應區,開啟上位機軟體無線龍 RFID,標籤類型選擇 15693,在連接埠處輸入COM3,點擊【選擇連接埠】,顯示命令:
08:29:23.781 --> 0108000304FF0000
08:29:23.953 <-- 0108000304FF0000
TRF7960 EVM
08:29:23.953 **** COM Port found! ****
如:
3、選擇【詢卡】命令,點擊【設定協議】---->【執行】,視窗輸出命令如下:
08:38:18.278 --> 010C00030410002101000000
08:38:18.278 \\.\COM3
08:38:18.590 <-- 010C00030410002101000000
Register write request.
08:38:18.590 --> 0109000304F0000000
08:38:18.715 <-- 0109000304F0000000
08:38:18.715 --> 0109000304F1FF0000
08:38:18.840 <-- 0109000304F1FF0000
08:38:27.996 --> 010B000304140401000000
08:38:28.200 <-- 010B000304140401000000
ISO 15693 Inventory request.
[,40]
[,40]
[,40]
[,40]
[,40]
[F58E8E75000104E0,66]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
4、保持等待[Stay quiet(0x02)]
當接受到 Stay quiet 命令時,晶片將進入 quiet 狀態,而且不會返迴響應。對於 Stay quiet 命令是沒有響應的。
操作:
(a)選擇保持等待命令
(b)在 UID 下拉框中選擇標籤,如果只有一個標籤預設選擇
(c)選擇執行命令
結果如下:
08:40:04.437 --> 010A0003041800020000
08:40:04.656 <-- 010A0003041800020000
Request mode.
[]
分析:
5、選中命令[Select(0x25)]
當收到 Select 命令,如果 UID 等於晶片的 UID,則進入 selected 狀態,並返迴響應。如果
UID 不相等,晶片返回 Ready 狀態,不發出響應。Select 命令只能在 Addressed 模式下執行。
操作:
(a)選擇保持等待命令
(b)在標籤標誌位中選擇 Addressed 命令
(c)在 UID 下拉框中選擇標籤,如果只有一個標籤預設選擇
(d)選擇執行命令
結果如下:
08:45:40.661 --> 0112000304182025F58E8E75000104E00000
08:45:40.802 <-- 0112000304182025F58E8E75000104E00000
Request mode.
[00]
分析:
6、複位到準備狀態位[Reset to ready(0x26)] 收到 Reset to ready 命令,晶片將返回到 Ready
狀態。
操作:
(a)選擇複位到準備狀態命令
(b)在標籤標誌位中選擇高資料率命令(一般可以不選擇)
(c)在 UID 下拉框中選擇標籤,如果只有一個標籤預設選擇
(d)選擇執行命令
結果如下:
08:50:03.470 --> 010A0003041800260000
08:50:03.626 <-- 010A0003041800260000
Request mode.
[00]
分析:
7、單槽模式讀卡(非防衝撞模式)
操作:
a) 在標籤標誌位視窗中 選擇“單槽模式”
b) 選擇執行命令。
(當讀卡機上方只有一張標籤時,可正常讀卡。但是當放置多張標籤時,則會出現標籤衝撞情況,造成無法正常讀取卡)實驗時放兩張ISO 15693的卡在感應區,再進行單槽模式操作,結果如,UID處無法顯示卡號,若不選擇單槽模式,則可以顯示卡號。
08:53:28.409 --> 010B000304142401000000
08:53:28.566 <-- 010B000304142401000000
ISO 15693 Inventory request.
[z{00},76]
防衝撞協議原理實驗報告