TEMIC系列射頻卡讀寫器的研制
摘 要:介紹了TEMIC系列射頻卡的一種讀寫器,它可以對ATMEL公司的TEMIC系列射頻卡 E5550、E5551和T5557進(jìn)行讀寫。通過使用這個(gè)讀寫器,可以對上述射頻卡進(jìn)行塊寫、塊讀、規(guī)則讀、工作模式設(shè)置、密碼設(shè)置、取消密碼和更改密碼等操作。
關(guān)鍵詞:射頻卡 U2270B AT89S52
射頻卡是一種非接觸式智能IC卡,是近幾年發(fā)展起來的一項(xiàng)新技術(shù)。它沒有接觸式IC卡的電氣觸點(diǎn),而是通過無線電波進(jìn)行數(shù)據(jù)傳輸,相對于傳統(tǒng)的接觸式IC卡具有可靠性高、壽命長等明顯優(yōu)勢,因而得到了廣泛應(yīng)用。當(dāng)前實(shí)際應(yīng)用中主要采用的是以ATMEL公司的TEMIC系列為主的125kHz射頻卡和以PHILIPS公司的MIFARE技術(shù)為核心的13.56MHz射頻卡。
本文采用ATMEL公司的AT89S52單片機(jī)和該公司TEMIC系列射頻卡的讀寫基站芯片U2270B研制開發(fā)TEMIC系列射頻卡讀寫器。
1 TEMIC系列射頻卡特性及原理
TEMIC系列射頻卡的特點(diǎn)為:
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個(gè)block中,block0是控制塊,用來控制卡的各種操作特性,如同步信號(hào)、編碼方式、波特率、數(shù)據(jù)流長度、加密和口令喚醒等功能的啟用關(guān)閉等;block1~bloc6是用戶塊,用來存放用戶數(shù)據(jù)和信息;block7是密碼塊,若加密功能不被啟用,也可以作為用戶塊使用。
在使用射頻卡之前都要先設(shè)置射頻卡的工作模式,這可通過設(shè)置控制塊block0來完成。TEMIC系列射頻卡的工作模式設(shè)置為:基站工作在125kHz的載波頻率下,采用RF/32的傳輸波特率和Manchester編碼,使用Sequence Terminator同步信號(hào),循環(huán)發(fā)送block1~block6的數(shù)據(jù)。在這樣的工作模式配置下,位時(shí)鐘周期
TEMIC系列射頻卡的讀卡過程為:射頻卡先發(fā)送Sequences Terminator同步信號(hào)(粗線條部分),接著依次發(fā)送經(jīng)過Manchester編碼后的block1~block6的數(shù)據(jù),發(fā)送完block6數(shù)據(jù)的最后一位后(bit32),又重新開始,不斷循環(huán)發(fā)送。讀卡的數(shù)據(jù)流如圖1所示。Manchester編碼采用由低電平向高電平的跳變表示數(shù)據(jù)位為"1",而用由高電平向低電平的跳變表示數(shù)據(jù)位為"0"。結(jié)合Manchester編碼的這個(gè)特點(diǎn)可以這樣進(jìn)行解碼:在位時(shí)鐘周期的下降沿(即半周期)處檢測電平的變化情況,如果檢測到電平變化發(fā)生,則繼續(xù)判斷變化后的電平情況,是高電平則該位解碼為"1",低電平則解碼為"0",沒有跳變發(fā)生則視為信號(hào)異常,進(jìn)行出錯(cuò)處理。
基站給射頻卡發(fā)送數(shù)據(jù)時(shí)也要對數(shù)據(jù)進(jìn)行編碼,使數(shù)據(jù)信號(hào)加載到天線的發(fā)射信號(hào)中。TEMIC系列射頻卡的基站芯片使用一種改變發(fā)射天線負(fù)載的方式對信號(hào)進(jìn)行編碼。這可以通過打開、關(guān)斷天線(即把CFE(2)管腳設(shè)置為高、低電平)產(chǎn)生短暫的RF信號(hào)間隔(gap)來把RF信號(hào)分割成不同長短的區(qū)間的方法對數(shù)據(jù)進(jìn)行編碼。起始間隔(Start Gap)一般比數(shù)據(jù)間的間隔略長,用來與射頻卡同步。一般起始間隔TStartGap=330μs, 數(shù)據(jù)間間隔TGaps=300μs。在發(fā)送數(shù)據(jù)時(shí),一個(gè)時(shí)間長度大約為T0=100μs的RF區(qū)間表示數(shù)據(jù)為"0",一個(gè)時(shí)間長度大約為T1=350μs的RF區(qū)間表示數(shù)據(jù)為"1"。在編寫程序時(shí)可以使用延時(shí)中斷RF區(qū)域的方法進(jìn)行發(fā)送數(shù)據(jù)。寫卡時(shí)基站發(fā)送給卡片的數(shù)據(jù)流(RF區(qū)域狀態(tài))如圖2所示。
陰影部分為打開RF信號(hào)的時(shí)長,連接線部分為關(guān)斷RF信號(hào)的時(shí)長。TEMIC系列射頻卡各段區(qū)間的時(shí)間長度為:
TStartGap=330μs,TGaps=300μs,T1=350μs,T0=100μs。
2 系統(tǒng)的硬件構(gòu)成
本系統(tǒng)選用AT89S52單片機(jī)作為主控模塊,與TEMIC系列射頻卡讀寫模塊、串口通信模塊和聲光提示電路共同構(gòu)成了一個(gè)TEMIC系列射頻卡讀寫器系統(tǒng)。系統(tǒng)硬件原理圖如圖3所示。
2.1 主控模塊--AT89S52單片機(jī)
AT89S52單片機(jī)是一種低功耗、高性能的CMOS 8位單片機(jī),它具有MCS-51系列單片機(jī)的優(yōu)點(diǎn),并且在指令和管腳封裝上與MCS-51系列單片機(jī)相兼容,同時(shí)片內(nèi)具有Watchdog功能,當(dāng)程序由于某種干擾而死機(jī)時(shí),系統(tǒng)可以可靠復(fù)位,保證系統(tǒng)的正常運(yùn)行。
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的值就可以改變此頻率。具體的計(jì)算公式如下:
CIN和CHP:基站從射頻卡讀入的是經(jīng)過125kHz載波調(diào)制后的信號(hào),它通過CIN電容耦合輸入到INPUT(4)管腳,經(jīng)過低通濾波器、放大器、施密特觸發(fā)器等幾個(gè)環(huán)節(jié)后,在OUTPUT(2)管腳輸出解調(diào)后的信號(hào)。低通濾波器的截止頻率由fosc決定,一般為fosc/18。INPUT管腳的耦合電容CIN以及HIPASS(16)管腳的去耦電容CHP的值決定了解調(diào)電路的高通特性,有利于更進(jìn)一步濾除無用及干擾信號(hào)。CIN和CHP的值依射頻卡的數(shù)據(jù)傳輸波特率的不同而不同,波特率為fosc/32時(shí)分別為680pF和100nF。CHP與下限截止頻率的關(guān)系如下:
式中,Ri=2.5kΩ。需要注意的是,OUTPUT管腳輸出的信號(hào)只是經(jīng)過了解調(diào),并沒有解碼。解碼任務(wù)要通過單片機(jī)編程完成。
2.3 串口通信模塊
主要由MAX232CPE構(gòu)成,用作AT89S52的串行通信接口(SCI)的TTL電平和計(jì)算機(jī)串口的RS232電平之間的轉(zhuǎn)換。計(jì)算機(jī)通過該串口通信模塊可以給AT89S52發(fā)送讀、寫卡等命令,AT89S52通過該串口通信模塊把讀卡結(jié)果回送給計(jì)算機(jī)。
2.4 聲光提示電路
它由發(fā)光二極管和蜂鳴器構(gòu)成。如果讀寫卡成功,發(fā)光二極管會(huì)閃一下,而且蜂鳴器也會(huì)響一聲,用于提示用戶。
3 系統(tǒng)的軟件設(shè)計(jì)
假定基站工作在125kHz的射頻頻率下,采用RF/32的傳輸波特率和Manchester編碼,使用Sequence Terminator同步信號(hào),循環(huán)發(fā)送block1~block6的數(shù)據(jù)。
軟件采用MCS-51系列匯編語言按照模塊化結(jié)構(gòu)進(jìn)行編寫,主要由主程序、串口中斷程序兩大模塊組成。
主程序框圖如圖4所示。首先進(jìn)行系統(tǒng)初始化,包括初始化I/O口、設(shè)置串口波特率等,然后開串口中斷并進(jìn)入"等待串口中斷",不斷等待串口中斷的到來。
串口中斷程序模塊執(zhí)行的功能主要是根據(jù)計(jì)算機(jī)發(fā)出的命令進(jìn)行相應(yīng)的操作(讀卡、寫卡、取消密碼和更改密碼等)。串口中斷程序框圖如圖5所示。
讀卡協(xié)議描述:計(jì)算機(jī)通過串口給讀寫器發(fā)送Ry命令,y為0~6之一。當(dāng)y=0時(shí),讀卡的block1~block6的6塊數(shù)據(jù),當(dāng)y為1~6之一時(shí),讀卡的相應(yīng)塊的數(shù)據(jù)。讀卡成功則把相應(yīng)數(shù)據(jù)通過串口回送給計(jì)算機(jī)。
寫卡協(xié)議描述:計(jì)算機(jī)通過串口給讀寫器發(fā)送WyPPPPPPPPXXXXXXXX命令,y為0~7之一,指定要寫的塊;PPPPPPPP為卡的密碼;XXXXXXXX為要寫入指定塊的數(shù)據(jù)。在加密方式下,只有密碼PPPPPPPP正確才可以成功把數(shù)據(jù)寫入卡中。在非加密方式下,密碼PPPPPPPP可為任意數(shù)字。
取消密碼和更改密碼:它們的命令分別為QPPPPPPPP和MPPPPPPPPpppppppp。取消密碼實(shí)際上就是把卡從加密方式改為非加密方式,通過更改控制塊block0的數(shù)據(jù)即可實(shí)現(xiàn)。更改密碼實(shí)際上是先取消密碼,然后往密碼塊block7寫入新密碼,并把卡設(shè)為加密方式。
本文設(shè)計(jì)的TEMIC系列射頻卡讀寫器能夠讀寫多種TEMIC系列射頻卡,如E5550、E5551和T5557等,讀寫距離在2~10cm范圍內(nèi)。該讀寫器操作方便靈活,只要通過計(jì)算機(jī)串口按規(guī)定協(xié)議發(fā)送命令給它即可完成讀卡、寫卡、取消和更改密碼等操作。本讀寫器已經(jīng)實(shí)際應(yīng)用在溫州某非接觸式IC卡預(yù)付費(fèi)電度表的售電系統(tǒng)中,系統(tǒng)運(yùn)行良好、可靠性高。
參考文獻(xiàn)
1 陳邦媛. 射頻通信電路. 北京:科學(xué)出版社,2002
2 王愛英. 智能卡技術(shù)——IC卡. 北京:清華大學(xué)出版社,2000
3 李朝青. 單片機(jī)原理及接口技術(shù). 北京:北京航空航天大學(xué)出版社,1998
4 張肅文,陸兆熊. 高頻電子線路.北京:高等教育出版社,1992
電度表相關(guān)文章:電度表原理
評論