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