李 環(huán),居水榮,景為平
(南通大學江蘇省專用集成電路設計重點實驗室,江蘇 南通 226000)
PMD801是一個非接觸式射頻識別卡電路,支持ISO 4443A的標準;工作頻率為13.56 MHz,能夠進行快速數(shù)據(jù)傳輸,傳輸速率為106 kbit/s;也可以進行快速的數(shù)據(jù)處理,單個票務檢測不超過35 ms;通過采用奇偶校驗、位編碼、位計數(shù)等技術,使得這一芯片具有數(shù)據(jù)安全性高的優(yōu)點;電路具有防沖撞功能,也使得具體應用非??煽?;電路內部根據(jù)ISO/IEC14443A-3第二級協(xié)議設置了7字節(jié)序列號;內含512 bit的EEPROM存儲單元,可以進行數(shù)據(jù)的讀寫操作,其中512 bit分成16頁,每頁4字節(jié),每頁可編程,具有寫保護功能,并提供了12頁共384 bit用戶讀寫區(qū)。該電路主要用來制作電子標簽等一些非接觸式射頻識別卡,適用于物流、大型超市、門禁、公交卡等場合,具有非常廣闊的應用前景。
PMD801是依靠非接觸卡內部嵌入的天線感應到的電流作為該電路的電源,屬于無源電路,因此在電路設計中采取低功耗設計是必須的;同時為了測試電路內部的功能模塊,在可測性設計方面采取了比較靈巧的設計方案,整個電路有兩個射頻端口、一個地;另外就是一個測試輸出端,通過對這個輸出端口的一些信號進行測試,可以清楚知道電路內部各個模塊的功能和性能,本文重點描述這一類電路的可測性設計。
非接觸式射頻識別卡電路PMD801主要由射頻接口電路、數(shù)字控制單元和EEPROM電路三部分組成,該電路的功能框圖如圖1所示。
圖1 PMD801功能框圖
在PMD801進入閱讀器(讀卡器)的有效范圍內后,通過交流磁場耦合,該電路從閱讀器獲得能量,產生電路工作所需的電源。當電路的電源電壓超過2 V時,電路上電復位,只要PMD801保持在閱讀器的有效范圍內,對電路的內部寄存器進行初始化操作,在復位完成后,電路進入空閑狀態(tài)(IDLE),等待閱讀器發(fā)送請求。如果閱讀器發(fā)送請求指令,電路將應答,并且如果型號匹配,電路進入準備好狀態(tài)。此后,如要進行通信,閱讀器需要發(fā)送一級防沖撞指令,PMD801接收指令,并把序列號的低三位字節(jié)回復給閱讀器。防沖撞指令是為了避免許多智能卡電路同時對閱讀器響應,進行一個選擇而使用的指令。在閱讀器接收到序列號的低三位字節(jié)后,閱讀器作出判斷,選擇其中一組序列號低三位字節(jié)作為后面的選擇,對應其他序列號的電路,將不再響應任何指令。此后,閱讀器把剛才選擇的序列號低三位字節(jié)發(fā)送返回給PMD801,PMD801將進行應答。閱讀器獲得應答后,發(fā)送二級防沖撞指令,剛才序列號低三位字節(jié)被選中的電路將把序列號的高四位字節(jié)回復給閱讀器,這樣,閱讀器再次作出判斷,選擇唯一的一個七字節(jié)序列號,并將這個唯一序列號的高四位字節(jié)發(fā)送返回給PMD801,將有唯一一個PMD801進行應答,此PMD801就是后面通信被選擇的電路,此時,防沖撞操作完成。最后,閱讀器可以與這個被選擇的PMD801進行讀、寫操作了。電路工作過程的狀態(tài)如圖2所示。
圖2 PMD801工作狀態(tài)圖
在以上電路工作流程中提到了指令,這里把本電路涉及到的指令作一個列表,見表1。
下面以讀指令(READ)為例,給出我們做的Verilog仿真波形圖,如圖3所示。
圖3 讀指令(READ)的Verilog仿真波形
表1 PMD801指令列表
2.4.1 數(shù)字控制單元
數(shù)字控制單元主要包括編解碼電路、數(shù)據(jù)驗證、時鐘分頻電路、地址譯碼與地址鎖控制、指令譯碼、計數(shù)器、寫周期定時器等。從射頻接口產生的時鐘信號將在時鐘電路部分被分頻,作為其他數(shù)字電路工作的時鐘,而數(shù)據(jù)信號則將由解碼電路解碼,作為指令、地址以及數(shù)據(jù)送入指令譯碼電路和地址鎖控制部分等電路。同時,數(shù)字部分的編碼電路,對需要從PMD801發(fā)送出去的數(shù)據(jù),先進行曼徹斯特編碼,再送調制電路,通過高頻負載波發(fā)送給PCD。
2.4.2 模擬電路(射頻接口)
PMD801的模擬部分主要包括上電復位、參考電平發(fā)生電路、整流穩(wěn)壓電路、調制解調電路以及時鐘發(fā)生電路等。
PMD801的測試主要包括功能測試與性能測試,功能測試主要是通過對內部數(shù)字信號的測試來判斷電路的功能是否正常,性能測試主要是通過對內部模擬信號的測試來驗證電路的性能如何。
具體來說,在電路內部增加testpad,可以將電路內部的關鍵模擬信號或數(shù)字信號通過多選器的形式選通輸出到testpad,數(shù)字信號的輸出包括:輸入的未解碼數(shù)據(jù)、輸入的調碼后的數(shù)據(jù)、輸出的調制數(shù)據(jù)以及對電源電壓檢測的結果。模擬信號的輸出包括:數(shù)據(jù)的未解調信號、內部帶隙基準源的電平、內部三極管的VBE電平以及電源電壓經過電阻分壓獲得的電壓輸出信號等。
對數(shù)字信號的測試分為8個通道,對模擬信號的測試分為7個通道。為準確測試內部輸出的模擬信號,電路內部的模擬信號在輸出到TEST端前,需要經過一個跟隨器,目的是去除干擾信號同時增加驅動能力。具體的測試電路如圖4所示。
圖4 測試電路結構
如圖4,測試輸出電路分為兩部分,包括數(shù)字信號測試輸出端和模擬信號輸出端,他們的選通電路由地址譯碼電路復用產生。當選擇數(shù)字信號測試輸出時,模擬輸出部分的跟隨器將不工作,模擬輸出端的傳輸門關閉。當選擇模擬信號測試輸出時,上面的推挽輸出將關閉,上面的輸出為高阻態(tài),下面的模擬輸出端的傳輸門打開。數(shù)字信號的輸出包括:輸入的未解碼數(shù)據(jù)、輸入的調碼后的數(shù)據(jù)、輸出的調制數(shù)據(jù)以及對電源電壓檢測的結果。模擬信號的輸出包括:數(shù)據(jù)的未解調信號、內部帶隙基準源的電平、內部三極管的VBE電平以及電源電壓經過電阻分壓獲得的電壓輸出信號,根據(jù)輸出四個分壓信號可以計算獲得準確的VDD電平。
圖4中的跟隨器電路邏輯圖如圖5所示,對跟隨器電路,主要是關注對輸入的信號電路能夠正常跟隨輸出的輸入電壓范圍,對輸入電壓進行DC掃描,仿真獲得輸入電壓在0.2~2.2 V內,電路都能夠準確地跟隨輸出。
圖5 電壓跟隨器邏輯圖
圖6是對輸入電壓進行DC掃描的hspice仿真獲得的波形圖。
圖6 輸入電壓DC掃描波形圖
測試輸出端結構如圖7。
在PMD801進入測試狀態(tài)前,PMD801接收閱讀器發(fā)送的請求(REQA)指令,同時PMD801響應請求,應答ATQA(0x0044),閱讀器接收ATQA,并確認建立與PMD801的連接關系,允許閱讀器向PMD801發(fā)送測試指令。
圖7 測試輸出端結構
表2為測試中用到的指令列表。
下面分別介紹各測試小項:
(1)TEST1:判斷電路的工作電壓,當VDD>2.60 V,從測試端輸出高電平;
(2)TEST2:執(zhí)行該指令后,PMD801向閱讀器發(fā)送的數(shù)據(jù),編碼后從測試端輸出;
(3)TEST3:判斷電路的工作電壓,當VDD>1.75 V,從測試端輸出高電平;
(4)TEST4:執(zhí)行該指令閱讀器向PMD801發(fā)送的數(shù)據(jù),在PMD801解碼前,從測試端輸出;
(5)TEST5:執(zhí)行該指令后,當電路允許接收閱讀器發(fā)送的數(shù)據(jù)時,閱讀器向PMD801發(fā)送的數(shù)據(jù),在 PMD801解碼前,從測試端輸出;
(6)TEST6:執(zhí)行該指令,閱讀器向PMD801發(fā)送的數(shù)據(jù)經PMD801解碼后,從測試端輸出;
(7)TEST7:執(zhí)行該指令后,如果解碼電路正常工作,則從測試端輸出高電平;
(8)TEST8:執(zhí)行該指令后,VDD經過內部電阻分壓輸出電平,從測試端輸出;
(9)TEST9:執(zhí)行該指令后,VDD經過內部電阻分壓輸出電平,從測試端輸出;
(10)TEST10:執(zhí)行后內部發(fā)射區(qū)面積為50 μm2的PNP管的VBE電平,從測試端輸出;
(11)TEST11:執(zhí)行該指令后,VDD經過內部電阻分壓輸出電平,從測試端輸出;
(12)TEST12:執(zhí)行該指令后,VDD經過內部電阻分壓輸出電平,從測試端輸出;
(13)TEST13:執(zhí)行該指令后,帶隙基準源電平從測試端輸出;
(14)TEST14:執(zhí)行該指令后,射頻接口解調后的模擬信號,從測試端輸出;
(15)EEPCTLWR:指向電路寫入EEPROM的控制數(shù)據(jù);
(16)SNENABLE:指通過向電路發(fā)送該指令,允許向電路寫入序列號;
(17)SNWRITE指令:寫入序列號的EEPROM地址以及序列號數(shù)據(jù);
(18)EEPROMRD,可以讀出剛寫入的序列號數(shù)據(jù)。
表2 測試用指令列表
如果拿到的樣品電路已經通過廠家的測試并被寫入了序列號,則以上測試無法進行。以上測試項目都是基于樣品電路未寫入序列號的情況下進行的。在電路被制造出來后,廠家將對每個芯片寫入唯一的序列號,在寫入序列號的同時對特定的內部數(shù)據(jù)位寫入高電平,將永久禁止再次寫入序列號。下面說明一下寫入序列號的過程。首先,閱讀器向電路發(fā)送SNENABLE指令,電路應答“a”,表明允許向電路寫入序列號;其次,閱讀器向電路發(fā)送SNWRITE指令,在該指令中包括需要寫入序列號的EEPROM地址以及序列號數(shù)據(jù),在完成每次的SNWRITE指令后電路將應答“a”,寫入序列號的指令需執(zhí)行三次才能完成序列號的寫入,同時對EEPROM的特定位寫入高電平,禁止再次寫入序列號。通過執(zhí)行指令EEPROMRD,可以讀出剛寫入的序列號數(shù)據(jù)。
下面以寫指令為例,給出我們對該指令所做的Verilog仿真波形圖,見圖8。
圖8 寫序列號仿真波形
本文通過對一種工作于13.56 MHz的非接觸式射頻卡電路進行可測試性分析,介紹其工作原理與功能模塊,通過對輸出端信息的測試可以很清楚地知道各模塊的功能及其電路性能;介紹了出廠電路寫序列號的過程,并對序列號的寫入與寫出做了Verilog仿真,驗證了電路的正確性,達到了預期的效果。
[1]劉悅.非接觸IC卡及其讀寫模塊的設計和ASIC實現(xiàn)[D].上海:復旦大學,2003.
[2]虞致國,魏敬和.一種SOC片上調試與可測試性的整合設計[J].電子與封裝,2010,10(2).
[3]陳敏.無線射頻識別(RFID)應答芯片的研究和設計實現(xiàn)[D].廣州:華南理工大學,2005.
[4]胡瑜,韓銀和,李曉維.SOC可測試性設計與測試技術[J].計算機研究與發(fā)展,2005,01.
[5]R.W.Waugh.Desing Detectors for RFID Tags[M].Proceeding of RF ExPo West.1995.
[6]ISO/IEC 1443-3.Identification cards-contactless integrated circuit(s) cards-proximity cards,2001.