1 引言
隨著計(jì)算機(jī)和嵌入式系統(tǒng)的發(fā)展,IC卡已經(jīng)融人人們的日常生活并發(fā)展成幾個(gè)大類,其中,非接觸IC卡的出現(xiàn)引起了人們的特別關(guān)注。射頻卡屬于非接觸IC卡,它避免了普通IC卡與讀卡器之間的物理接觸,減少了卡的磨損,所以受到廣泛的歡迎。射頻卡也是射頻識(shí)別(RFID)系統(tǒng)的組成部分之一。
射頻識(shí)別(Radio Frequency Identification,以F簡(jiǎn)稱RFID)技術(shù)是20世紀(jì)90年代興起的一種自動(dòng)識(shí)別技術(shù)。它利用無線射頻方式進(jìn)行非接觸雙向通信并交換數(shù)據(jù),以達(dá)到識(shí)別目的。典型的RFID系統(tǒng)由電子標(biāo)簽(Tag)、讀寫器(Read/Write Device)及數(shù)據(jù)交換和管理系統(tǒng)等組成。電子標(biāo)簽也稱射頻卡,具有智能讀寫及加密通信能力。
2 系統(tǒng)工作原理及硬件設(shè)計(jì)
筆者設(shè)計(jì)的射頻卡讀寫系統(tǒng)由計(jì)算機(jī)、讀寫器和射頻卡組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
2.1 射頻卡讀寫器
射頻卡讀寫器主要由PICl6型單片機(jī)和北京威利姆興公司生產(chǎn)的AT—RFMODCl6系列射頻基站模塊組成。該模塊采用一種常見的U2270B型非接觸卡讀寫基站電路。電路內(nèi)部集成了由片上電源、振蕩器和線圈激勵(lì)器組成的能量傳輸線路,用來給射頻卡提供工作電源;還集成了信號(hào)放大和天線驅(qū)動(dòng)線路來完成與射頻卡之間的信號(hào)發(fā)送與接收。AT—RFMOD06與PICl6的接口電路如圖2所示。
AF—RFMOD06模塊的引腳功能如表1所示。該模塊采用單列9引腳封裝,內(nèi)部集成了時(shí)鐘、射頻驅(qū)動(dòng)、濾波、放大、調(diào)制解調(diào)等模擬電路,所以按照?qǐng)D2連接好數(shù)字接口電路后,只需選擇適當(dāng)?shù)奶炀€和諧振電容器即可完成射頻電路的設(shè)計(jì)。
在圖2中,基站天線和振蕩電容器組成了LC振蕩電路,系統(tǒng)要求產(chǎn)生的振蕩頻率限定在125 kHz(±5%),天線的振蕩幅度最高可以達(dá)到120 V,一般不要大于80 V,可以通過和天線線圈串聯(lián)的電阻器來調(diào)節(jié)天線的振蕩幅度。振蕩電容的耐壓值應(yīng)大于100 V。經(jīng)過反復(fù)調(diào)試,參數(shù)設(shè)定為C=2 200 DF,L=680μ H.R=82Ω 。
2.2 AT88RF256型射頻卡
AT88RF256—12卡是美國ATMEL公司推出的一款基于125 kHz工作頻率的感應(yīng)卡,可以加密.?dāng)?shù)據(jù)量為256位。作為典型的低頻、加密和可讀寫卡.AT88RF256一12在市場(chǎng)上有著廣泛的應(yīng)用前景。AT88RF256—12由電路和線圈組成.電路內(nèi)部結(jié)構(gòu)如圖3所示。
電路的L1引腳和L2引腳與線圈連接,當(dāng)線圈的電感為10.1 mH時(shí),卡片的工作頻率為125 kHz。其工作電源由片內(nèi)線圈與電路內(nèi)置電容產(chǎn)生LC振蕩蓄電提供.AT88RF 256一12設(shè)計(jì)時(shí)把電容內(nèi)置到電路中,既減少了卡的加工環(huán)節(jié).又提高了模塊及成卡的成品率和可靠性。LC振蕩產(chǎn)生的電能經(jīng)卡片內(nèi)的電源電路變換后分別提供給控制部分和EEPROM單元。
3 編解碼及軟件流程
3.1 射頻卡的寄存器和命令
卡片內(nèi)部的EEPROM分為lO頁.每頁包括32位,其內(nèi)容如表2所示。
用戶對(duì)卡的操作包括讀卡、寫卡、核對(duì)密碼、停止卡等,必須按以下7個(gè)命令格式來執(zhí)行上述操作:
0A2A1A010:寫第A2A1A0頁32位的EEPROM;
0A2Al A001:讀第A2A1A0頁32位的EEPROM;
000011:數(shù)據(jù)固化命令(8位);
010011:寫卡片控制位命令(24?。?/p>
000111:寫卡片密碼命令:
011000:停止卡命令:
011100:核對(duì)密碼命令。
3.2 射頻卡的控制要點(diǎn)
3.2.1 編碼要求
AT88RF256卡在默認(rèn)狀態(tài)下讀卡片用MILLLER(密勒)碼,寫命令數(shù)據(jù)用MANCHESTER(曼徹斯特)碼。初始化下,密勒碼元寬度是。128μ8,曼徹斯特碼元寬度是256μs。
3.2.2 發(fā)送命令的時(shí)間
讀寫器要對(duì)卡片發(fā)送命令,除了卡片要進(jìn)入射頻場(chǎng)內(nèi)獲取能量外,發(fā)送時(shí)間也受限制??ㄆM(jìn)入射頻場(chǎng)后,按如下格式向讀寫卡器循環(huán)發(fā)送數(shù)據(jù):起始位;32~152位(長(zhǎng)度可自行設(shè)定)的ID數(shù)據(jù);停止位;8位收聽窗(Listening Window)。
圖4示出基站模塊的DATA OUT引腳的輸出波形,在每個(gè)數(shù)據(jù)包之間都有一個(gè)持續(xù)8位密勒碼元寬度的低電平狀態(tài)的收聽窗。只有在收聽窗第2位至第7位,射頻才可以接收讀寫卡器發(fā)送的讀、寫命令。所以本設(shè)計(jì)的一個(gè)關(guān)鍵是如何捕捉到收聽窗,這屬于讀卡和解碼操作的一部分,解碼是建立在對(duì)基站模塊DATA OUT引腳的波形分析的基礎(chǔ)上的。
3.2.3 發(fā)送命令格式
基站根據(jù)需要在7種命令格式中選擇向射頻卡發(fā)送的命令,當(dāng)發(fā)送帶有數(shù)據(jù)的命令時(shí),在命令的最后要添加一個(gè)bit的校驗(yàn)位.校驗(yàn)位是命令字和所有參數(shù)的奇校驗(yàn)??ㄆ邮盏矫詈笠葘?duì)奇偶校驗(yàn)位.只有當(dāng)校驗(yàn)位正確時(shí)才真正地執(zhí)行命令,否則將返回ID,不執(zhí)行命令。這樣可以有效避免因?yàn)榭臻g干擾而對(duì)卡片數(shù)據(jù)的錯(cuò)誤操作.大大提高卡片讀寫的可靠性。
3.2.4 多張卡沖突
在開發(fā)過程中,多張卡片同時(shí)進(jìn)場(chǎng)時(shí),DATAOUT引腳的波形相當(dāng)于若干個(gè)卡片單獨(dú)進(jìn)場(chǎng)時(shí)的波形的疊加,無法選定某一卡片進(jìn)行讀寫。出現(xiàn)這種情況時(shí),為了避免誤寫卡的操作,等待檢測(cè)到只有惟一的卡片在場(chǎng)內(nèi)時(shí)再進(jìn)行所需的操作。
3.3 程序設(shè)計(jì)
已知密勒碼元寬度為128μs,卡片ID的長(zhǎng)度是32位,只能在收聽窗的第2位至第7位發(fā)送命令。下面是用PIC單片機(jī)編寫的收聽窗程序。其中RB口的OUT引腳輸入的是基站模塊DATA OUT引腳的信號(hào),參考圖2。出錯(cuò)返回5AH,正確返回OH。
LISTEN: MOVLW .80
MOVWF CARDDEL.
LISLOOP:MOVIJW .70
MOVWF D1
BTFSC RB,OUT
GOTO LISTEN2
LISTENl:NOP
BTFSC RB,OUT
GOTO LISTEN0
DECFSZ D1.1
GOTO LISTENl
RETLW OH
LISlEN2:NOP
BTFSS RB,OUT
GOTO LISTIEN0
DECFSZ D1,1
GOTO LJSTEN2
RETLW 5AH
LISTEN0:DECFSZ CARDDEL,1
GOTO LISLOOP
RETLW 5AH
在正確跟蹤收聽窗的基礎(chǔ)上,以曼徹斯特編碼格式向射頻卡第5頁寫入32位數(shù)據(jù)為例,如圖5所示。每當(dāng)成功寫入某頁32位數(shù)據(jù)后??ㄆh(huán)發(fā)送新寫入的數(shù)據(jù),直至卡片退場(chǎng)。這就方便了用戶對(duì)寫入的數(shù)據(jù)進(jìn)行校驗(yàn)。
4 結(jié)束語
由于基站模塊集成了調(diào)制解調(diào)功能,所以通信上只需注重基帶信號(hào)的處理,降低了設(shè)計(jì)難度。這套射頻卡讀寫器已經(jīng)應(yīng)用到電能表預(yù)付費(fèi)系統(tǒng)中,替代了一批原先使用的普通IC卡電表,系統(tǒng)的可靠性得到用戶的肯定,加上射頻卡操作便捷,該系統(tǒng)的應(yīng)用前景十分看好。
-
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44623瀏覽量
638834 -
嵌入式
+關(guān)注
關(guān)注
5094文章
19184瀏覽量
307900 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7546瀏覽量
88696
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
射頻卡的設(shè)計(jì)原理
新人求教如何實(shí)現(xiàn)RC522射頻卡和AVR單片機(jī)通信
如何設(shè)計(jì)通用射頻卡讀寫模塊?
遠(yuǎn)距離射頻卡讀寫器數(shù)字處理模塊的設(shè)計(jì)怎么實(shí)現(xiàn)?
基于AT89C51CC01與FM1712開發(fā)一種非接觸射頻卡讀寫器
TEMIC系列射頻卡讀寫器的設(shè)計(jì)
基于PIC單片機(jī)的IC卡讀寫器的設(shè)計(jì)
TEMIC系列射頻卡讀寫器的研制
![TEMIC系列<b class='flag-5'>射頻卡</b><b class='flag-5'>讀寫器</b>的研制](https://file1.elecfans.com//web2/M00/A4/2A/wKgZomUMMvOAAQwuAABD0UDxr04474.gif)
地鐵自動(dòng)售檢票(AFC)系統(tǒng)中射頻卡讀寫器設(shè)計(jì)
![地鐵自動(dòng)售檢票(AFC)系統(tǒng)中<b class='flag-5'>射頻卡</b><b class='flag-5'>讀寫器</b>設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A5/A6/wKgZomUMOWiAJ9dYAAAlLUhRBvk380.jpg)
射頻卡讀寫器中CPLD應(yīng)用
![<b class='flag-5'>射頻卡</b><b class='flag-5'>讀寫器</b>中CPLD應(yīng)用](https://file.elecfans.com/web2/M00/49/3D/pYYBAGKhtECAEC-QAAAPf5PL5Vs186.jpg)
射頻卡設(shè)計(jì)原理及實(shí)現(xiàn)簡(jiǎn)介
![<b class='flag-5'>射頻卡</b>設(shè)計(jì)原理及<b class='flag-5'>實(shí)現(xiàn)</b>簡(jiǎn)介](https://file1.elecfans.com//web2/M00/A7/0E/wKgZomUMQhmAYr8VAAASBx2mo08835.jpg)
MSP430單片機(jī)的實(shí)用射頻卡讀卡電路設(shè)計(jì)詳析
如何使用PIC單片機(jī)實(shí)現(xiàn)IC卡讀寫器的設(shè)計(jì)
![如何使用<b class='flag-5'>PIC</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>IC<b class='flag-5'>卡</b><b class='flag-5'>讀寫器</b>的設(shè)計(jì)](https://file.elecfans.com/web1/M00/B2/8F/pIYBAF4NWQWAZ2OyAADCk9tHT_4223.png)
基于FM1712的通用射頻卡讀寫模塊設(shè)計(jì)
![基于FM1712的通用<b class='flag-5'>射頻卡</b><b class='flag-5'>讀寫</b><b class='flag-5'>模塊</b>設(shè)計(jì)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論