新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > IC卡校園收費(fèi)系統(tǒng)設(shè)計(jì)

IC卡校園收費(fèi)系統(tǒng)設(shè)計(jì)

——
作者:遼寧機(jī)電職業(yè)技術(shù)學(xué)院 劉 時(shí)間:2007-01-26 來(lái)源:《世界電子元器件》 收藏

ic卡及ic卡讀寫(xiě)器概述

本文引用地址:http://butianyuan.cn/article/20563.htm

目前常用的ic卡有兩種:接觸式和非接觸式ic卡。接觸式ic卡通過(guò)機(jī)械觸點(diǎn)從讀寫(xiě)器獲取能量和交換數(shù)據(jù);非接觸式ic卡通過(guò)線(xiàn)圈射頻感應(yīng)從讀寫(xiě)器獲取能量和交換數(shù)據(jù),所以又稱(chēng)射頻卡。本系統(tǒng)使用的是非接觸式ic卡,它具有存儲(chǔ)量大,成本低等特點(diǎn)。接觸式ic卡雖得到了大量應(yīng)用,但因本身的特點(diǎn)制約了其發(fā)展,如在許多情況下機(jī)械觸點(diǎn)接通不可靠,且觸點(diǎn)對(duì)腐蝕和污染缺乏抵抗能力,在有些領(lǐng)域應(yīng)用不方便。非接觸識(shí)別已經(jīng)逐步發(fā)展成為一個(gè)獨(dú)立的跨學(xué)科的專(zhuān)業(yè)領(lǐng)域,它將大量來(lái)自不同專(zhuān)業(yè)領(lǐng)域的技術(shù)綜合在一起,如高頻技術(shù)、電磁兼容性、半導(dǎo)體技術(shù)、數(shù)據(jù)保護(hù)和密碼學(xué)、電信、制造技術(shù)和許多專(zhuān)業(yè)應(yīng)用領(lǐng)域。

隨著非接觸ic卡的大量使用,它的成本也會(huì)越來(lái)越低,可以自己用單片機(jī)開(kāi)發(fā)讀寫(xiě)器,一般設(shè)計(jì)為兩種類(lèi)型:一種是通過(guò)串行口與pc機(jī)相連,在設(shè)計(jì)時(shí),電路可以主要由非接觸ic卡讀寫(xiě)器芯片、單片機(jī)、天線(xiàn)和監(jiān)控電路以及與pc機(jī)通信的tc232串行通信接口電路等部分組成。這種讀寫(xiě)器除了編寫(xiě)單片機(jī)程序外,還需要用vb、delphi等語(yǔ)言進(jìn)行軟件開(kāi)發(fā)。

另一種讀寫(xiě)器是放在收費(fèi)現(xiàn)場(chǎng)的,電路主要由非接觸式ic卡讀寫(xiě)芯片、單片機(jī)、鍵盤(pán)、顯示、存儲(chǔ)器、天線(xiàn)和監(jiān)控電路等部分組成。 這種讀寫(xiě)器的軟件在編寫(xiě)時(shí),只允許用戶(hù)讀卡片,并具有自動(dòng)收費(fèi)的功能。


系統(tǒng)設(shè)計(jì)原理

mifare one s50的功能

容量為8k位eeprom;

分為16個(gè)扇區(qū),每個(gè)扇區(qū)為4塊,每塊16個(gè)字節(jié),以塊為存取單位;

每個(gè)扇區(qū)有獨(dú)立的一組密碼及訪(fǎng)問(wèn)控制;

每張卡有唯一序列號(hào),為32位;

具有防沖突機(jī)制,支持多卡操作;

無(wú)電源,自帶天線(xiàn),內(nèi)含加密控制邏輯和通訊邏輯電路;

數(shù)據(jù)保存期為10年,可改寫(xiě)10萬(wàn)次,讀無(wú)限次;

工作溫度: 20℃~50℃(溫度為90%);

工作頻率:13.56mhz;

通信速率:106kbps;

讀寫(xiě)距離:10mm以?xún)?nèi)(與讀寫(xiě)器有關(guān))。

mifare one s50的工作原理

卡片的電氣部分由一個(gè)天線(xiàn)和asic組成。天線(xiàn):卡片的天線(xiàn)是只有幾組繞線(xiàn)的線(xiàn)圈,適于封裝到is0卡片中。asic:卡片的asic由一個(gè)高速(106kb波特率)rf接口,一個(gè)控制單元和一個(gè)8k位eeprom組成。

卡分為16個(gè)扇區(qū),每個(gè)扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,將16個(gè)扇區(qū)的64個(gè)塊按絕對(duì)地址編號(hào)為0~63,存貯結(jié)構(gòu)如圖1所示。


圖1

第0扇區(qū)的塊0(即絕對(duì)地址0塊),用于存放廠(chǎng)商代碼,已經(jīng)固化,不可更改。

每個(gè)扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存貯數(shù)據(jù),可以進(jìn)行初始化值、加值、減值、讀值等操作。

每個(gè)扇區(qū)的密碼和存取控制都獨(dú)立,可以根據(jù)實(shí)際需要設(shè)定各自的密碼及存取控制。

讀寫(xiě)器向卡發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個(gè)lc串聯(lián)諧振電路,頻率與讀寫(xiě)器發(fā)射的頻率相同,在電磁波的激勵(lì)下,lc諧振電路產(chǎn)生共振,從而使電容內(nèi)產(chǎn)生電荷,在這個(gè)電容的另一端,接有一個(gè)單向?qū)ǖ碾娮颖?,將電容的電荷送到另一個(gè)電容儲(chǔ)存,當(dāng)所積累的電荷達(dá)到2v時(shí),此電容可做為電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫(xiě)器的數(shù)據(jù)。

讀寫(xiě)器

與pc相連的讀寫(xiě)器

硬件圖如圖2。





圖2 主要由ic卡微模塊、單片機(jī)、天線(xiàn)以及與pc機(jī)通信的tc232串行通信接口電路等部分組成

單片機(jī)系統(tǒng)

硬件中的核心是atmel公司生產(chǎn)的at89c51/lv51單片機(jī),它是一種低功耗/低電壓、高性能的8位單片機(jī),片內(nèi)帶有一個(gè)4k字節(jié)的flash可編程可擦除只讀存儲(chǔ)器,采用cmos工藝和高密度非易失性存儲(chǔ)器技術(shù),輸出引腳和指令系統(tǒng)都與msc-51兼容。

ic卡微模塊

采用jmy-502射頻讀寫(xiě)模塊,該模塊是基于philips公司的非接觸技術(shù)設(shè)計(jì)的微型嵌入式非接觸式ic卡讀寫(xiě)模塊。內(nèi)嵌mf rc500 或mf rc531 射頻基站,用戶(hù)不必關(guān)心射頻基站復(fù)雜的控制方法,只需要簡(jiǎn)單地通過(guò)選定的uart 或i2c 接口發(fā)送命令就可以對(duì)卡片進(jìn)行操作。jmy-502 支持mifare one s50,s70,ultra light & mifare pro,當(dāng)僅用于mifare one 時(shí)可以設(shè)定自動(dòng)尋卡。該模塊內(nèi)置512 字節(jié)的eeprom,用戶(hù)可以存儲(chǔ)應(yīng)用數(shù)據(jù)。每次寫(xiě)入和讀取的字節(jié)數(shù)為1~16 字節(jié),按字節(jié)的方式進(jìn)行操作,mifare 1 專(zhuān)用,默認(rèn)為自動(dòng)尋卡。在本實(shí)例中采用i2c通信方式,可以將單片機(jī)的串行口留給計(jì)算機(jī)使用。

讀寫(xiě)芯處的引腳及說(shuō)明如表1。

通信接口

與pc機(jī)的串行通信一般采用rs-232、rs-422或rs-485總線(xiàn)標(biāo)準(zhǔn)接口,或采用非標(biāo)準(zhǔn)的20nnjl電流環(huán)。為保證通信的可靠,在選擇接口時(shí)必須注意:(1)通信的速率;(2)通信距離:(3)抗干擾能力;(4)組網(wǎng)方式。

目前有很多為rs-232c標(biāo)準(zhǔn)生產(chǎn)的專(zhuān)用驅(qū)動(dòng)芯片,如max232系列、tc232、icl232、ad232等。它們?cè)趩? v供電條件下,將0/5 v(ttl電平)轉(zhuǎn)換為 10v(rs-232電平),將 10v(rs-232電平)轉(zhuǎn)換為0/5 v(ttl電平)。本實(shí)例中采用rs-232方式,使用的是tc232芯片。

一般用戶(hù)讀寫(xiě)器

用戶(hù)讀寫(xiě)器主要由ic卡微模塊、單片機(jī)、天線(xiàn)、顯示電路及時(shí)鐘電路等部分組成,時(shí)鐘電路采用ds1302芯片,使用i2c總線(xiàn)與單片機(jī)進(jìn)行通信,提供實(shí)時(shí)實(shí)鐘和日歷(秒、分、時(shí)、日、周、月和年等信息,可以在收費(fèi)現(xiàn)場(chǎng)按時(shí)間進(jìn)行計(jì)時(shí)收費(fèi),電路圖如圖3所示。


圖3。

軟件設(shè)計(jì)

讀寫(xiě)器的程序流程如圖4。


圖4

程序設(shè)計(jì)中涉及到對(duì)數(shù)據(jù)塊的操作,采用中斷方式:

讀 (read):讀一個(gè)塊;

寫(xiě) (write):寫(xiě)一個(gè)塊;

加(increment):對(duì)數(shù)值塊進(jìn)行加值;

減(decrement):對(duì)數(shù)值塊進(jìn)行減值;

存儲(chǔ)(restore):將塊中的內(nèi)容存到數(shù)據(jù)寄存器中;

傳輸(transfer):將數(shù)據(jù)寄存器中的內(nèi)容寫(xiě)入塊中;

中止(halt):將卡置于暫停工作狀態(tài);

程序中涉及到串行口程序,通信格式設(shè)置為:采用串行工作方式1,波特率為9600baud, 1個(gè)起始位,8位數(shù)據(jù)位,1個(gè)停止位,采取和校驗(yàn)方式。程序中的顯示部分可以使用專(zhuān)用的lcd,按相應(yīng)要求書(shū)寫(xiě)程序。

其中數(shù)據(jù)庫(kù)部分的聯(lián)vb與sql數(shù)據(jù)庫(kù)連接程序可以參考如下程序:

set conn = new adodb.connection

conn.open "driver={sql server};server=" & usern & ";database=ic"

set order = new adodb.command

order.activeconnection = "driver={sql server};server=" & usern & ";database=ic"

oder.commandtext = "use master declare @xm char(10) set @xm=" & xm & " declare @snr bigint set @snr=" & snr & " declare @outvalue int set @outvalue=" & outvalue1 & " insert into sp_values (卡號(hào),姓名,金額) values (@snr,@xm,@outvalue)"

cmd1.execute

以上語(yǔ)句向數(shù)據(jù)庫(kù)中插入一個(gè)寫(xiě)卡記錄,其它操作省略。

pc機(jī)軟件

可以使用vb和sql進(jìn)行人機(jī)畫(huà)面的開(kāi)發(fā)及數(shù)據(jù)管理等。下面是開(kāi)發(fā)的界面,如圖5、6。


結(jié)束語(yǔ)

相信隨著非接觸性ic卡的大量使用,成本的降低,這種卡系統(tǒng)會(huì)越來(lái)越多地使用于如校園收費(fèi)中、門(mén)禁系統(tǒng)、考勤系統(tǒng)等各種場(chǎng)合。




關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉