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