• 沒有找到結果。

第五章 RFID Tag 軟體與硬體驗證

5.1.1 Alien Reader

5.1.1.1 Q = 0

在Q = 0 的狀況中,從 Query 命令所使用的 Preamble 中量測 Tari 得到的訊號可知

Reader => Tag 的 Data Rate 為 80 kbps。而 Tag => Reader 的 Data Rate 根據 TRcal 與 Query 命令中DR 此參數可知為 256 kbps。

圖5.2 Alien Reader Q = 0

A. DR︰1 => DR = 64 / 3。

B. M︰01 => M = 2。

C. TRext︰1 => Use pilot tone。

D. Sel︰00 => All。

E. Session︰00 => S0。

F. Target︰0 => A。

G. Q︰0000 => 0。

H. CRC-5︰01101。

圖5.3 Alien Reader Q = 0 => Query Command

(2)RN16 Reply

在 Tag 接收到 Query 命令後,首先會將 PIE 解碼為標準“0”與“1”的資料然後觸發 cmd_enable。此時 Tag 會觸發 dcrc5 來確認 CRC-5 是否正確,正確則觸發 crc5_s。接下 來觸發 sci_enable,在這部份一開始先觸發 fs_enable,此時會依據 TRcal 與 DR 計算出 回傳頻率;再觸發RN15_enable_s 依據 Q 參數產生一筆亂數,在此因為 Q 為“0000”所以

亂數產生為“0”,亂數產生後會觸發 RN15_enable_f。因為現在已產生出一筆亂數,接下 來就要把亂數放在 slot 中所以觸發 Slot_enable,因為亂數為“0”所以緊接著會觸發 SlotZero_enable。再來要產生一筆 16 bits 的亂數進行回傳,因此觸發 RN16_enable_s 得 到一筆 16 bits 的亂數後,觸發 RN16_enable_f。最後根據 Reader 要求的回傳形式為 Miller-modulated subcarrier 所以觸發 miller_enable,將 RN16 使用 Miller-modulated subcarrier 的形式進行回傳,並且依據 TRext 此參數的要求回傳時使用長的 Preamble。在 完成回傳後All_finish 會自行 disable 清除 Tag 內暫存器的資料。如圖 5.4 所示。

圖5.4 Alien Reader Q = 0 => RN16 Reply

(3)ACK Command

接著 Reader 依據 RN16 回傳的資料,將其解碼後利用 ACK 命令傳送給 Tag,此時

圖5.5 Alien Reader Q = 0 => ACK Command

(4)EPC Code Reply

圖5.6 Alien Reader Q = 0 => EPC Code Reply

在這個步驟中一樣將PIE 解碼為標準“0”與“1”的資料然後觸發 cmd_enable。此時會 確認命令的種類,然後觸發 sci_enable,Tag 依據此時收到的 16 bits 資料與之前回傳的

確認碼回傳給Reader,完成回傳後 All_finish 會自行 disable 清除 Tag 內暫存器的資料。

此時即完成一次Single Tag Reply 的動作。如圖 5.6 所示。

5.1.1.1 Q = 1

在Q = 1 的狀況中,從 Query 命令所使用的 Preamble 中量測 Tari 得到的訊號可知 Reader => Tag 的 Data Rate 為 80 kbps。而 Tag => Reader 的 Data Rate 根據 TRcal 與 Query 命令中DR 此參數可知為 256 kbps。

圖5.7 Alien Reader Q = 1

依據圖4.14 Link timing 下半部的圖示動作流程來觀察模擬結果。

(1)Query Command

如圖 5.8 與表 4.7 所示,可以得出 Query 命令中的資料如下︰

A. DR︰1 => DR = 64 / 3。

E. Session︰00 => S0。

F. Target︰0 => A。

G. Q︰0001 => 1。

H. CRC-5︰00100。

圖5.8 Alien Reader Q = 1 => Query Command

(2)Tag to Handle

此時Tag 接收到 Query 命令後,首先會將 PIE 解碼為標準“0”與“1”的資料然後觸發 cmd_enable。此時 Tag 會觸發 dcrc5 來確認 CRC-5 是否正確,正確則觸發 crc5_s。接著 觸發sci_enable,在這部份的動作,首先觸發 fs_enable 此時會依據 TRcal 與 DR 計算出 回傳頻率;再觸發RN15_enable_s 依據 Q 參數產生一筆亂數,在此因為 Q 為“0001”所以 亂數產生為“0”或“1”,亂數產生後會觸發 RN15_enable_f。因為現在已產生出一筆亂數,

接下來就要把亂數放在 slot 中,所以觸發 Slot_enable,Tag 會判斷 slot 中的數值是否為

“0”,此次測試不為“0”的狀況。因此 Tag 會觸發 sci_finish 完成此次溝通。如圖 5.9 所示。

圖5.9 Alien Reader Q = 1 => Tag to Handle

(3)QueryRep Command

如圖 5.10 與表 4.9 所示。此時在 QueryRep 命令前使用 Frame-Sync 資料。

圖5.10 Alien Reader Q = 1 => QueryRep Command

(4)RN16 Reply

在 Tag 接收到 QueryRep 命令後,首先會將 PIE 解碼為標準“0”與“1”的資料然後觸 發 cmd_enable。此時會確認命令的種類,然後觸發 sci_enable。在這部份的動作,第一 先觸發 Sub_enable 將 slot 內的值進行減“1”的動作,slot 內部數值改變因此觸發 Slot_enable。因為亂數減“1”後為“0”所以緊接著會觸發 SlotZero_enable。接下來要產生 一筆16 bits 的亂數進行回傳,因此觸發 RN16_enable_s 得到一筆 16 bits 的亂數後,觸發 RN16_enable_f。最後根據 Reader 要求的回傳形式為 Miller-modulated subcarrier 所以觸 發miller_enable,將 RN16 使用 Miller-modulated subcarrier 的形式進行回傳,並且依據 TRext 此參數的要求回傳時使用長的 Preamble。在完成回傳後 All_finish 會自行 disable 清除Tag 內暫存器的資料。如圖 5.11 所示。

圖5.11 Alien Reader Q = 1 => RN16 Reply

(5)ACK Command

相關文件