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