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