關(guān)鍵字:非接觸式IC卡 射頻識(shí)別卡接收模塊 PICC卡 單片機(jī)
摘 要:非接觸式IC卡又稱射頻卡,是世界上最近幾年發(fā)展起來的一項(xiàng)新技術(shù)。它利用無線通信技術(shù)進(jìn)行非接觸雙向通信,以達(dá)到識(shí)別和交換數(shù)據(jù)的目的,解決了無源(卡中無電源)和免接觸這一難題。本文提出的是一種基于ISO/IEC 14443標(biāo)準(zhǔn)B型非接觸式IC卡的射頻接收電路設(shè)計(jì)方案。該方案利用較簡單的電路形式并結(jié)合軟件解調(diào)的方法滿足了相關(guān)性的性能要求。由于不需使用專用的ASIC解調(diào)解碼,從而使成本低廉。
非接觸式IC卡又稱射頻卡,是世界上最近幾年發(fā)展起來的一項(xiàng)新技術(shù)。它利用無線通信技術(shù)進(jìn)行非接觸雙向通信,以達(dá)到識(shí)別和交換數(shù)據(jù)的目的,解決了無源(卡中無電源)和免接觸這一難題。本文提出的是一種基于ISO/IEC 14443標(biāo)準(zhǔn)B型非接觸式IC卡的射頻接收電路設(shè)計(jì)方案。該方案利用較簡單的電路形式并結(jié)合軟件解調(diào)的方法滿足了相關(guān)性的性能要求。由于不需使用專用的ASIC解調(diào)解碼,從而使成本低廉。
1 非接觸式IC卡系統(tǒng)的基本組成
非接觸式IC卡系統(tǒng)由讀寫器和IC卡組成,其本身是無源卡。當(dāng)讀寫器對(duì)卡進(jìn)行讀寫操作時(shí),讀寫器向IC卡發(fā)一組固定頻率的電磁波,讀寫器發(fā)出的信號(hào)由二部分疊加組成:一部分是電源信號(hào),該信號(hào)由卡接收后,經(jīng)內(nèi)部電路處理作為電源為其他電路提供工作電壓;另一部分則是指令和數(shù)據(jù)信號(hào),該信號(hào)指揮芯片完成數(shù)據(jù)的讀取、修改和儲(chǔ)存等,并返回信號(hào)給讀寫器。
讀寫器以微控制器為核心,分為發(fā)送和接收2個(gè)通道。發(fā)送通道由振蕩器、功放、調(diào)諧電路、編碼器和調(diào)制器組成;接收通道由濾波放大器、解調(diào)電路和解碼器組成。收發(fā)數(shù)據(jù)由微控制器處理,并可和主機(jī)通信。
2 ISO14443 TYPE B
非接觸式智能卡的工業(yè)標(biāo)準(zhǔn)ISO14443稱IC卡為PICC卡,讀寫器為PCD。該標(biāo)準(zhǔn)規(guī)定了PICC和PCD之間的TYPEA和TYPEB二種通信傳輸模式。無論是A型或B型,載波頻率都是13.56MHz,副載波的頻率都是847kHz,射頻卡和讀寫器之間的通信波特率都是106Kbps。Type B型讀寫器向卡傳送信號(hào)時(shí),編碼方式是異步、NRZ編碼,采用10%ASK調(diào)制方式;在卡向讀寫器傳送信號(hào)時(shí),則采用BPSK編碼進(jìn)行調(diào)制。
3 接收方案設(shè)計(jì)
本設(shè)計(jì)的非接觸式IC卡接收電路框圖如圖1所示。電路由5V電源供電,完成將卡返回的射頻信號(hào)放大解調(diào)解碼等工作。放大環(huán)節(jié)采用場效應(yīng)管BFT 46,解碼工作在單片機(jī)PIC16F877中完成,并通過RS-232與計(jì)算機(jī)相連。
選擇PIC16F877單片機(jī)作為該接收通道的微處理器。PIC系列單片機(jī)采用了精簡指令集計(jì)算機(jī)RISC和哈佛雙總線以及二級(jí)指令流水線結(jié)構(gòu),具有高速度、低工作電壓、低功耗等特點(diǎn)和優(yōu)良的性價(jià)比。PIC16F877具有8KB的Flash、256B的E2PROM,足以滿足程序的要求,其工作頻率為13.56MHz。
3.1 通信電路
PIC單片機(jī)通過同步/異步收發(fā)器USART與計(jì)算機(jī)進(jìn)行通信,通過標(biāo)準(zhǔn)RS-232串行接口進(jìn)行電平變換。RS-232通信電路如圖2所示。RS-232采用的是負(fù)邏輯,即邏輯“1”:- 5~-15V;邏輯“0”:+5~+15V。而CMOS電平為邏輯“1”:4.99V;邏輯“0”:0.01V。TTL電平為邏輯“1”:24V;邏輯“0”:0.4V。因此在用RS-232總線進(jìn)行串行通信時(shí)需外接電路實(shí)現(xiàn)電平轉(zhuǎn)換,在發(fā)送端用驅(qū)動(dòng)器將TTL或CMOS電平轉(zhuǎn)換為RS-232C電平,在接收端用接收器將RS-232C電平再轉(zhuǎn)換為TTL或CMOS電平。這里選用了MAXIM公司的MAX202E作電平轉(zhuǎn)換。MAX202E屬于MAXIM公司的通用串行接收/發(fā)送驅(qū)動(dòng)器芯片,其外圍電路簡單,只需外接2個(gè)1μF的電容即可,設(shè)置波特率為9 600bps,程序?qū)崿F(xiàn)單片機(jī)異步接收發(fā)送功能。
3.2 放大鎖相電路
天線接收信號(hào)后進(jìn)行檢波處理,檢波電路實(shí)現(xiàn)包絡(luò)檢波,將13.56MHz的載波濾除,得到847kHz副載波調(diào)制信號(hào)。調(diào)諧放大電路為所希望的信號(hào)提供有選擇的放大,而對(duì)不希望的信號(hào)提供一定程度的濾波,使信號(hào)更為干凈,便于軟件鎖相。調(diào)諧放大處理后得到攜帶數(shù)字信息的正余弦信號(hào),如圖3所示。檢波二極管選 用高速肖特基二極管BAS70,運(yùn)放采用場效應(yīng)管BFT 46。
單片機(jī)軟件實(shí)現(xiàn)位同步的處理,其思想是:由單片機(jī)定時(shí)器產(chǎn)生相應(yīng)的時(shí)鐘信號(hào),由接收信號(hào)校正該時(shí)鐘信號(hào),使之與接收的信號(hào)相位一致。實(shí)際上也就是根據(jù)數(shù)據(jù)信號(hào)的正負(fù)邊沿跳變的時(shí)刻,調(diào)整本地載波輸出信號(hào)的起始定時(shí)時(shí)刻。由單片機(jī)管腳檢測(cè)到信號(hào)后進(jìn)入中斷處理,而在另一管腳輸出連續(xù)相位增量為90°的3組測(cè)試信號(hào)。軟件鎖相前端電路圖如圖4所示,測(cè)試信號(hào)作用于場效應(yīng)管上。圖5為中斷信號(hào)處理的一種情況:通道1為原始信號(hào),通道2為測(cè)試信號(hào),第1個(gè)測(cè)試信號(hào)落在原始信號(hào)的0~90°相位區(qū),所以直到第3個(gè)測(cè)試信號(hào)時(shí)才作用于原始信號(hào)得到1個(gè)脈沖,如圖5中的通道3所示。
不同的結(jié)果送入單片機(jī)處理,即可得出測(cè)試信號(hào)與原始信號(hào)的相位差,做相應(yīng)處理后輸出鎖相,并把該輸出管腳設(shè)置為PWM模式,控制場效應(yīng)管輸出得到調(diào)制信號(hào)。經(jīng)過解調(diào)后的碼元交替時(shí)刻前后BPSK信號(hào)如圖6所示,連續(xù)的8個(gè)脈沖代表數(shù)據(jù)bit0,若該時(shí)間內(nèi)沒有脈沖則代表數(shù)據(jù)bit1。
3.3 軟件解碼
采用picmate 2002 編譯器,C語言編程完成信號(hào)解碼。數(shù)據(jù)傳輸速率為106Kbps。由于單片機(jī)采用普通的中斷計(jì)時(shí)方式無法達(dá)到正確解碼目的,因此程序的主要設(shè)計(jì)思想是:捕捉同步頭后讀端口,設(shè)置計(jì)數(shù)器T0為4個(gè)脈沖觸發(fā),并禁止中斷,精確計(jì)算每一條C語句匯編后占用的時(shí)鐘周期,同時(shí)注意while語句,適時(shí)加減循環(huán)開始和結(jié)束的讀取次數(shù),使每一次操作都在8個(gè)脈沖的時(shí)間內(nèi)完成。這時(shí)讀取T0IF標(biāo)志位,如果為1置bit為0,重新清T0IF標(biāo)志位為0,繼續(xù)下一步,直到完成1幀信號(hào)的讀取。程序框圖如圖7所示。
4 結(jié)束語
本文介紹了射頻識(shí)別卡接收模塊的設(shè)計(jì)。該模塊沒有使用專用ASIC實(shí)現(xiàn)信號(hào)的編碼和解碼,編碼和解碼工作基本上由軟件完成,有效地解決了BPSK信號(hào)相位模糊問題。該模塊的硬軟件調(diào)試已全部完成。