TEMIC系列射頻卡讀寫器的研制
文章出處:http://hz-huyue.com 作者:羅 繁 王煥磊 張保平 人氣: 發表時間:2011年10月24日
[文章內容簡介]:TEMIC系列射頻卡讀寫器的研制
摘要:介紹了TEMIC系列射頻卡的一種讀寫器,它可以對ATMEL公司的TEMIC系列射頻卡E5550、E5551和T5557進行讀寫。通過使用這個讀寫器,可以對上述射頻卡進行塊寫、塊讀、規則法、工作模式設置、密碼設置、取消密碼和更改密碼等操作。
射頻卡是一種非接觸式智能IC卡,是近幾年發展起來的一項新技術。它沒有接觸式IC卡的電氣觸點,而是通過無線電波進行數據傳輸,相對于傳統的接觸式IC卡具有可靠性高、壽命長等明顯優勢,因而得到了廣泛應用。當前實際應用中主要采用的是以ATMEL公司的TEMIC系列為主的125kHz射頻卡和以PHILIPS公司的MIFARE技術為核心的13.56MHz射頻卡。
本文采用ATMEL公司的AT89S52單片機和該公司TEMIC系列射頻卡的讀寫基站芯片U2270B研制開發TEMIC系列射頻卡讀寫器。
1 TEMlC系列射頻卡特性及原理
TEMIC系列射頻卡的特點為:
(1)低功耗、低電壓的CMOS結構;
(2)無線電源供給,無線數據傳輸;
(3)射頻頻率為100~150kHz;
(4)264bit的EEPROM,且有寫保護功能;
(5)加密邏輯、喚醒功能,多種波特率,多種編碼方式。
TEMIC系列射頻卡內有264bit的EEPROM,被分成8塊(block),每塊為33bit,其中bit0是lock位,此位一旦寫1后,該塊數據就不能再作任何修改。8個block中,block0是控制塊,用來控制卡的各種操作特性,如同步信號、編碼方式、波特率、數據流長度、加密和口令喚醒等功能的啟用關閉等;blockl~bloc6是用戶塊,用來存放用戶數據和信啟、;block7是密碼塊,若加密功能不被啟用,也可以作為用戶塊使用。
在使用射頻卡之前都要先設置射頻卡的工作模式,這可通過設置控制塊block0來完成。TEMIC系列射頻卡的工作模式設置為:基站工作在125kHz的載波頻率下,采用RF/32的傳輸波特率和Manchester編碼,使用Sequence Terminator同步信號,循環發送blockl~block6的數據。在這樣的工作模式配置下,位時鐘周期T=32/RF=(32×10 6)/(125×10 3)μs=256μs。
TEMIC系列射頻卡的讀卡過程為:射頻卡先發送Sequences Terminator同步信號(粗線條部分),接著依次發送經過Manchester編碼后的blockl~block6的數據,發送完block6數據的最后一位后(bitt32),又重新開始,不斷循環發送。讀卡的數據流如圖1所示。Manchester編碼采用由低電平向高電平的跳變表示數據位為1,而用由高電平向低電平的跳變表示數據位為 0。結合Manchester編碼的這個特點可以這樣進行解碼:在位時鐘周期的下降沿(即半周期)處檢測電平的變化情況,如果檢測到電平變化發生,則繼續判斷變化后的電平情況,是高電平則該位解碼為1,低電平則解碼為0,沒有跳變發生則視為信號異常,進行出錯處理。
基站給射頻卡發送數據時也要對數據進行編碼,使數據信號加載到天線的發射信號中。TEMIC系列射頻卡的基站芯片使用一種改變發射天線負載的方式對信號進行編碼。這可以通過打開、關斷天線(即把CFE(2)管腳設置為高、低電子)產生短暫的RF信號間隔(gap)來把RF信號分割成不同長短的區間的方法對數據進行編碼。起始間隔(Start Gap)一般比數據間的間隔略長、用來與射頻卡同步。一般起始間隔TStartGap =330μs,數據間間隔TGaps=300μs。在發送數據時,一個時間長度大約為To=1001xs的RF區間表示數據為0,一個時間長度大約為T1=350μs的RF區間表示數據為1。在編寫程序時可以使用延時中斷RF區域的方法進行發送數據。寫卡時基站發送給卡片的數據流(RF區域狀態)如圖2所示。
陰影部分為打開RF信號的時長,連接線部分為關斷RF信號的時長。TEMIC系列射頻卡各段區間的時間長度為:
2 系統的硬件構成
本系統選用AT89S52單片機作為主控模塊,與TEMIC系列射頻卡讀寫模塊、串口通信模塊和聲光提示電路共同構成了一個TEMIC系列射頻卡讀寫器系統。系統硬件原理圖如圖3所示。
2.1 主控模塊--AT89S52單片機
AT89S52單片機是一種低功耗、高性能的CMOS 8位單片機,它具有MCS-51系列單片機的優點,并且在指令和管腳封裝上與MCS-51系列單片機相兼容,同時片內具有Watchdog功能,當程序由于某種干擾而死機時,系統可以可靠復位,保證系統的正常運行。
2.2 TEMIC系列射頻卡讀寫模塊
其作用是完成同TEMIC系列射頻卡之間的數據通信。該讀寫模塊以ATMEL公司TEMIC系列射頻卡的讀寫基站芯片U2270B為核心,如圖3中右側所示。
天線:基站天線需要用戶自己繞制。一般用銅制漆包線繞直徑為3cm的圈150圈即可,電感值為1.35mH。
載波頻率fOSC:典型值為125kHz,也可以由用戶自己設定。此頻率是由流入RF(15)管腳的電流值決定的,所以通過調節RF(15)和VS(14)管腳之間的限流電阻Rf1和Rf2的值就可以改變此頻率。具體的計算公式如下:
Rf1+Rf2=(14375/fosc)-5
CIN和CHP:基站從射頻卡讀人的是經過125kHz載波調制后的信號,它通過CIN電容耦合輸入到INPUT(4)管腳,經過低通濾波器、放大器、施密特觸發器等幾個環節后,在OUTPUT(2)管腳輸出解調后的信號。低通濾波器的截止頻率由fOSC決定,一般為fOSC/18。INPUT管腳的耦合電容CIN以及HIPASS(16)管腳的去耦電容CHP的值決定了解調電路的高通特性,有利于更進一步濾除無用及干擾信號。CIN和CHP的值依射頻卡的數據傳輸波特率的不同而不同,波特率為fOSC/32時分別為680pF和100nF。CHP與下限截止頻率的關系如下:
fcut=1/(2×π×CHP×Ri)
式中,Ri=2.5kΩ。需要注意的是,OUTPUT管腳輸出的信號只是經過了解調,并沒有解碼。解碼任務要通過單片機編程完成。
2.3 串口通信模塊
主要由MAX232CPE構成,用作AT89S52的串行通信接口(SCI)的TTL電平和計算機串口的RS232電子之間的轉換。計算機通過該串口通信模塊可以給AT89S52發送讀、寫卡等命令,AT89S52通過該串口通信模塊把讀卡結果回送給計算機。
2.4 聲光提示電路
它由發光二極管和蜂鳴器構成。如果讀寫卡成功,發光二極管會閃一下,而且蜂鳴器也會響一聲,用于提示用戶。
3 系統的軟件設計
假定基站工作在125kHz的射頻頻率下,采用RF/32的傳輸波特率和Manchester編碼,使用Sequence Terminator同步信號,循環發送blockl~block6的數據。
軟件采用MCS-51系列匯編語言按照模塊化結構進行編寫,主要由主程序、串口中斷程序兩大模塊組成。
主程序框圖如圖4所示。首先進行系統初始化,包括初始化I/O口、設置串口波特率等,然后開串口中斷并進入等待串口中斷,不斷等待串口中斷的到來。
串口中斷程序模塊執行的功能主要是根據計算機發出的命令進行相應的操作(讀卡、寫卡、取消密碼和更改密碼等)。串口中斷程序框圖如圖5所示。
讀卡協議描述:計算機通過串口給讀寫器發送Ry命令,Y為0~6之一。當y=0時,讀卡的blockt~block6的6塊數據,當y為1~6之一時,讀卡的相應塊的數據。讀卡成功則把相應數據通過串口回送給計算機。
寫卡協議描述:計算機通過串口給讀寫器發送WyPPPPPPPPXXXXXXXX命令,y為0~7之一,指定要寫的塊;PPPPPPPP為卡的密碼;XXXXXXXX為要寫入指定塊的數據。在加密方式下,只有密碼PPPPPPPP正確才閉以成功把數據寫入卡中。在非加密方式下,密碼PPPPPPPP可為任意數字。
取消密碼和更改密碼:它們的命令分別為QPPPPPPPP和MPPPPPPPPpppppppp。取消密碼實際上就是把卡從加密方式改為非加密方式,通過更改控制塊block0的數據即可實現。更改密碼實際上是先取消密碼,然后往密碼塊block7寫入新密碼,并把卡設為加密方式。
本文設計的TEMIC系列射頻卡讀寫器能夠讀寫多種TEMIC系列射頻卡,如E5550、E5551和T5557等,讀寫距離在2~10cm范圍內。該讀寫器操作方便靈活,只要通過計算機串口按規定協議發送命令給它即可完成讀卡、寫卡、取消和更改密碼等操作。本讀寫器已經實際應用在溫州某非接觸式IC卡預付費電度表的售電系統中,系統運行良好、可靠性高。
本文關鍵詞:TEMIC系列射頻卡讀寫器的研制
上一篇:一種安全可靠的IC卡讀寫器系統[ 10-24 ]
下一篇:IC卡智能水表研制[ 10-24 ]