RFID電子標(biāo)簽A型卡的防碰撞模塊設(shè)計
RFID電子標(biāo)簽A型卡的防碰撞模塊設(shè)計
Design of Anticollision Block Used in Type A RFID Electronic Tags
電子科技大學(xué)微電子學(xué)院 陳志云 王豪才 龔關(guān)珍 姜義初
摘 要:本文介紹了A型RFID電子標(biāo)簽防碰撞的工作原理,設(shè)計了一種具有防碰撞功能控制邏輯的VLSI結(jié)構(gòu),并用VHDL語言進行了仿真,用0.35um的CMOS單元庫綜合后,電路規(guī)模5000門左右。目前,已成功應(yīng)用于電子防偽標(biāo)簽實際項目中。
關(guān)鍵詞:RFID;電子標(biāo)簽;防碰撞;IC設(shè)計
引言
RFID(射頻識別)電子標(biāo)簽是一種把天線和IC封裝到塑料基片上的新型電子卡片。它具有數(shù)據(jù)存儲量大、無線無源、小巧輕便、使用壽命長、防水、防磁和安全防偽等特點。它是近幾年發(fā)展起來的新型產(chǎn)品,是未來幾年代替條形碼走進“物聯(lián)網(wǎng)”時代的關(guān)鍵技術(shù)之一。閱讀器(PCD機)和電子標(biāo)簽(PICC卡)之間是通過電磁場感應(yīng)進行能量、時序和數(shù)據(jù)的無線傳輸,如圖1所示。但問題是在PCD機天線的可識別范圍內(nèi),可能會同時出現(xiàn)多張PICC卡,如何準(zhǔn)確識別每張卡,這正是A型PICC卡的防碰撞(Anticollision),亦稱防沖突技術(shù)要解決的關(guān)鍵問題。
A型卡防碰撞的工作原理
A型PICC卡采用了ISO/IEC14443系列協(xié)議,配合PCD機來共同實現(xiàn)防碰撞的快速交互通信。為了從多張PICC卡中快速識別出一張來單獨進行通信,A型卡采用了位碰撞監(jiān)測協(xié)議來實現(xiàn)防碰撞過程,即閱讀器對卡返回的唯一識別號(即UID)數(shù)據(jù)幀中的每一位來進行沖突監(jiān)測。當(dāng)多張A型PICC卡在同一時刻向PCD機傳送UID數(shù)據(jù)幀時,一定會在同時返回的某一位上有不同的位值,根據(jù)Manchester編碼規(guī)則,如果這一位的正負(fù)邊沿抵消了,由PCD機沒法識別的該數(shù)據(jù)位即為碰撞位。碰撞位監(jiān)測到后馬上啟動防碰撞過程,PCD機主動地發(fā)出一系列命令數(shù)據(jù)幀(即下傳數(shù)據(jù)),主要是ANTICOLLISION命令和SELECT命令,PICC卡被動地響應(yīng)每一條指令(即上傳數(shù)據(jù))完成交互的會話過程。
對于ANTICOLLISION命令,如果PICC卡本身固有的UID CLn和命令中所帶的UID CLn數(shù)據(jù)位相等,則發(fā)送UID CLn的其余位,否則不發(fā)送響應(yīng)。根據(jù)協(xié)議規(guī)定ANTICOLLISION命令(即第1部分:下傳數(shù)據(jù))和PICC卡的響應(yīng)(即第2部分:上傳數(shù)據(jù))組合成一個防碰撞幀。而且防碰撞幀的數(shù)據(jù)位總數(shù)為56位;16下傳數(shù)據(jù)位數(shù)55;1上傳數(shù)據(jù)位數(shù)40。防碰撞幀舉例如圖2所示。由于56位的防碰撞幀可以在任意位置上分開,因此有兩種情況:1.在一個完整的數(shù)據(jù)字節(jié)之后分開,則在第1部分的最后一個數(shù)據(jù)位之后有一個校驗位;2.在一個數(shù)據(jù)字節(jié)內(nèi)分開,則在第1部分的最后一個數(shù)據(jù)位之后不加校驗位。情況1和情況2的不同分開方法如圖2所示。
對于SELECT命令,如果PICC卡內(nèi)固
有的UID CLn和命令中的UID CLn相等,則發(fā)送SAK幀,否則不發(fā)送響應(yīng)。
防碰撞模塊的設(shè)計
引腳定義
防碰撞模塊的外部信號引腳定義及其在卡中與其它模塊的連接圖如圖3所示。
防碰撞模塊外部信號定義的VHDL代碼如下:
entity ANTICOLLISION_BLOCK is
port
(clk: in std_logic;—時鐘信號
reset: in std_logic; —復(fù)位信號
rxd: in std_logic; —外部數(shù)據(jù)串行輸入
active: in std_logic; —外部數(shù)據(jù)輸入的狀態(tài)
csn_fb: in std_logic_vector(7 down to 0);
—來自ROM的并行數(shù)據(jù)
csn_full: in std_logic;
—ROM接口中的輸出Latch“滿”
Rd_csn: out std_logic;—允許讀ROM
txd: out std_logic; --數(shù)據(jù)串行輸出
Txd_active: out std_logic--數(shù)據(jù)輸出的狀態(tài)
);
end ANTICOLLISION_BLOCK;
模塊劃分
防碰撞模塊主要分為4個部分:數(shù)據(jù)接收模塊(A)、讀ROM模塊(B)、數(shù)據(jù)比較模塊(C)、發(fā)送模塊(D),如圖4所示。A的作用是:接收PCD機發(fā)送的命令信號,從rxd引腳串行輸入后對每個字節(jié)進行校驗,并進行串并轉(zhuǎn)換,按字節(jié)逐個存入7個Latch中;B的作用是:從ROM接口模塊中讀出卡內(nèi)固有的UID CLn,按字節(jié)存入4個Latch后,計算UID CLn的4個字節(jié)的異或值(即卡的BCC字節(jié)),并存入鎖存器。C和D的作用是:比較PCD機命令中的UID CLn和卡的UID CLn,并根據(jù)比較結(jié)果決定是否輸出響應(yīng)。如果比較結(jié)果相同,則根據(jù)命令的類型(ANTICOLLISION命令或SELECT命令)從txd引腳串行輸出不同的響應(yīng)數(shù)據(jù)。由于篇幅所限,后面主要介紹數(shù)據(jù)的發(fā)送模塊是如何設(shè)計實現(xiàn)的。
發(fā)送模塊的設(shè)計
評論