基于Profibus-DP的智能IC卡收費(fèi)控制系統(tǒng)研究
文章出處:http:// 作者: 人氣: 發(fā)表時間:2012年03月18日
摘 要:文章介紹了智能IC卡,分析了其存在的缺陷,采 用了PROFIBUS-DP網(wǎng)絡(luò)技術(shù)對收費(fèi)系統(tǒng)實(shí)現(xiàn)分布式控制,真正實(shí)現(xiàn)了一卡多用,集收費(fèi)、管理 和銀行建立統(tǒng)一支付接口于一身,極大提高了管理和工作效率。
關(guān)鍵詞:智能IC卡;EEPROM;COS;收費(fèi)控制系統(tǒng);PROFIBUS-DP
中圖分類號:TP23 文獻(xiàn)標(biāo)識碼:A 文章編號:1007—6921(2010)05—0107—04
隨著信息產(chǎn)業(yè)的日異革新以及網(wǎng)絡(luò)的迅猛發(fā)展,智能IC卡技術(shù)已被社會的各行各業(yè)所接受并 應(yīng)用,其中非接觸式智能IC卡因其“一卡通”,技術(shù)的先進(jìn)、使用的便利、保密安全等特性 越來越廣泛地應(yīng)用在各個領(lǐng)域,政府機(jī)關(guān)、辦公大樓、智能小區(qū)、大型企業(yè)、商業(yè)消費(fèi)、高 速公路收費(fèi)、校園、醫(yī)院等,身份識別、停車場管理、門禁、通道控制、考勤、會議簽到、 訪客管理、人事資料、保安巡更、資源管理/電梯控制、消費(fèi)/POS、圖書管理、能源控制等 是最常用的功能。
城市交通是實(shí)現(xiàn)現(xiàn)代社會完成再生產(chǎn)各個環(huán)節(jié)之間的紐帶,是生產(chǎn)和消費(fèi)之間的橋梁,是保 證人與貨物流通,維持城市生機(jī)的關(guān)鍵;因而,城市交通也成了城市賴于生存和發(fā)展的基本 條件之一。本文基于交通收費(fèi)系統(tǒng)的重要性,將非接觸式智能IC卡應(yīng)用在高速公路的收費(fèi)系 統(tǒng)當(dāng)中提高高速公路收費(fèi)站的車輛流通的速度和提高交通系統(tǒng)的調(diào)度和監(jiān)控效率。
PROFIBUS是德國20世紀(jì)90年代初制定的國家工業(yè)現(xiàn)場總線協(xié)議標(biāo)準(zhǔn),代號DIN19245。PROFIBU S于1996年成為歐洲標(biāo)準(zhǔn)EN50170,1999年底成為國際標(biāo)準(zhǔn)IEC61158的組成部分,已被全世界 接受。PROFIBUS根據(jù)應(yīng)用特點(diǎn)可分為PROFIBUS-DP,PROFIBUS-FMS,PROFIBUS-PA三個兼容版 本。其中PROFIBUS-DP:經(jīng)過優(yōu)化的高速、廉價的通信連接,專為自動控制系統(tǒng)和設(shè)備級分 散I/O之間通信設(shè)計(jì),使用PROFIBUS-DP模塊可取代價格昂貴的24V或0~20mA并行信號線,用 于分布式控制系統(tǒng)數(shù)據(jù)傳輸。PROFIBUS-DP在速度和控制方面的優(yōu)點(diǎn)正好保障收費(fèi)控制系統(tǒng) 的穩(wěn)定和數(shù)據(jù)控制。
筆者通過交通IC卡的收費(fèi)系統(tǒng)實(shí)例進(jìn)行驗(yàn)證和總結(jié)。
1 非接觸式智能IC卡
本文采用Mifare 1 IC智能卡.它的核心是Philips 公司的Mifare 1 IC S50(-01,-02,-03 ,-04)系列微模塊(微晶片)。它確定了卡片的特性以及卡片讀寫器的諸多性能,從而利 用收費(fèi)系統(tǒng)的管理和一卡多用及保證數(shù)據(jù)的安全。
整個卡片包含了兩個部分,RF射頻接口電路和數(shù)字電路部分。
1.1 RF射頻接口電路
在RF射頻接口電路中,主要包括有波形轉(zhuǎn)換模塊。它可將卡片讀寫器上的13.56MHz的無線電 調(diào)制頻率接收,一方面送調(diào)制/解調(diào)模塊,另一方面進(jìn)行波形轉(zhuǎn)換,將正弦波轉(zhuǎn)換為方波, 然后對其整流濾波,由電壓調(diào)節(jié)模塊對電壓進(jìn)行進(jìn)一步的處理,包括穩(wěn)壓等,最終輸出供給 卡片上的各電路。
POR模塊主要是對卡片上的各個電路進(jìn)行POWER-ON-RESET(上電復(fù)位),使各電路同步啟動工 作。
1.2 數(shù)字電路模塊
1.2.1 ATR模塊:Answer to Request(“請求之應(yīng)答”)。當(dāng)一張Mifare 1卡片處在卡片讀寫器的天線的工作范圍之內(nèi)時,程序員控制讀寫器向卡片發(fā) 出REQUEST all(或REQUEST std) 命令后,卡片的ATR將啟動,將卡片Block 0 中的卡片類型 (TagType)號共2個字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。
如果不進(jìn)行第一步的ATR工作,讀寫器對卡片的其他操作(Read/Write等)將不會進(jìn)行。
卡片的類型(TagType)號共2個字節(jié),可能為:0004H
1.2.2 AntiCollision模塊:防止(卡片)重疊功能。如果有多張Mifare 1卡片處在卡片讀寫器的天線的工作范圍之內(nèi)時,AntiCollision模塊的 防重疊功能將被啟動工作。在程序員控制下的卡片讀寫器將會首先與每一張卡片進(jìn)行通信, 取得每一張卡片的系列號。由于Mifare 1卡片每一張都具有其唯一的系列號,決不會相同, 因此卡片讀寫器根據(jù)卡片的序列號來識別,區(qū)分已選的卡片,卡片讀寫器中的MCM中的AntiC ollision防重疊功能配合卡片上的防重疊功能模塊,由程序員來控制讀寫器,根據(jù)卡片的序 列號來選定一張卡片。被選中的卡片將直接與讀寫器進(jìn)行數(shù)據(jù)交換,未被選擇的卡片處于等 待狀態(tài),隨時準(zhǔn)備與卡片讀寫器進(jìn)行通信。
AntiCollision模塊(防重疊功能)啟動工作時,卡片讀寫器將得到卡片的序列號 Serial Num ber。
序列號Serial Numbe r存儲在卡片的Block 0中,共有5個字節(jié),實(shí)際有用的為4個字節(jié) ,另一個字節(jié)為序列號Serial Number的校驗(yàn)字節(jié),這在以后章節(jié)中詳細(xì)論述,包括對序列 號Serial Number的校驗(yàn)方法等。
序列號Serial Number中實(shí)際有用的4個字節(jié),可能為:007e0a42h。
1.2.3 Select Application 模塊:主要用于卡片的選擇。當(dāng)卡片與讀寫器完成了上述的二個步驟,程序員控制的讀寫器要想對卡片進(jìn)行讀寫操作,必 須對卡片進(jìn)行“Select”操作。以使卡片真正地被選中。
被選中的卡片將卡片上存儲在Block 0中的卡片的容量“Size”字節(jié)傳送給讀寫器。
當(dāng)讀寫器收到這一字節(jié)后,將明確可以對卡片進(jìn)行深一步的操作了。例如,可以進(jìn)行密碼驗(yàn) 證等等。
讀寫器收到的“Size”字節(jié)可能為:88h
1.2.4 Authentication & Access Control 模塊:認(rèn)證及存取控制模塊。在確認(rèn)了上述的三個步驟,確認(rèn)已經(jīng)選擇了一張卡片時,程序員對卡片進(jìn)行讀寫操作之前, 必須對卡片上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證,如果匹配,則允許進(jìn)一步的Read/Write操作。
Mifare 1 卡片上有16個扇區(qū),每個扇區(qū)都可分別設(shè)置各自的密碼,互不干涉。因此每個扇 區(qū)可獨(dú)立地應(yīng)用于一個應(yīng)用場合。整個卡片可以設(shè)計(jì)成“一卡通”形式來應(yīng)用。
三遍認(rèn)證:如圖所示為三遍認(rèn)證的令牌原理框圖。
認(rèn)證過程是這樣進(jìn)行的:
(A)環(huán):由Mifare 1卡片向讀寫器發(fā)送一個隨機(jī)數(shù)據(jù)RB;
(B)環(huán):由讀寫器收到RB后向Mifare 1卡片發(fā)送一個令牌數(shù)據(jù)TOKEN AB,其中包含了讀寫 器發(fā)出的一個隨機(jī)數(shù)據(jù)RA;
(C)環(huán):Mifare 1卡片收到 TOKEN AB 后,對TOKEN AB 的加密的部分進(jìn)行解 密,并校驗(yàn)第 一次由(A)環(huán)中Mifare 1卡片 發(fā)出去的隨機(jī)數(shù)RB是否與(B)環(huán)中接收到的TOKEN AB中的RB相 一致。
(D) 環(huán):如果(C)環(huán)校驗(yàn)是正確的,則Mifare 1卡片 向讀寫器 發(fā)送令牌TOKEN BA給讀寫器 ;
(E)環(huán):讀寫器 收到令牌TOKEN BA后,讀寫器將對令牌TOKEN BA中的RB(隨機(jī)數(shù))進(jìn)行解密; 并校驗(yàn)第一次由(B)環(huán)中讀寫器發(fā)出去的隨機(jī)數(shù)RA是否與(D)環(huán)中接收到 的TOKEN BA中的RA 相一致;
如果上述的每一個環(huán)都為“真”,都能正確通過驗(yàn)證,則整個的認(rèn)證過程將成功。讀寫器 將能對剛剛認(rèn)證通過的卡片上的這個扇區(qū)可以進(jìn)入下一步的操作(READ/WRITE等操作)。
卡片中的其他扇區(qū)由于有其各自的密碼,因此不能對其進(jìn)行進(jìn)一步的操作。如想對其他扇 區(qū)進(jìn)行操作,必須完成上述的認(rèn)證過程。
認(rèn)證過程中的任何一環(huán)出現(xiàn)差錯,整個認(rèn)證將告失敗。必須從新開始。
如果事先不知卡片上的密碼,則由于密碼的變化可以極其復(fù)雜,因此靠猜測密碼而想打開 卡片上的一個扇區(qū)的可能性幾乎為零。
這里提醒一下程序員和卡片的使用者,必須牢記卡片中的16個扇區(qū)的每一個密碼,否則, 遺忘某一扇區(qū)的密碼,將使該扇區(qū)中的數(shù)據(jù)不能讀寫。沒有任何辦法可以挽救這種低級錯誤 。但是,卡片上的其他扇區(qū)可以照樣使用。
上述的敘述已經(jīng)可以充分地說明了Mifare 1 卡片的高度安全性,保密性,及卡片的應(yīng)用場 合多樣性,一卡多用(一卡通)。
1.2.5 Control & Arithmetic Unit 控制及算術(shù)運(yùn)算單元。這一單元是整個卡片的控制中心,是卡片的“頭腦”。它主要進(jìn)行對整個卡片的各個單位 進(jìn)行微操作控制,協(xié)調(diào)卡片的各個步驟;同時它還對各種收/發(fā)的數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算處理, 遞增/遞減處理,CRC運(yùn)算處理,等等。是卡片中內(nèi)建的中央微處理機(jī)(MCU)單元。
1.2.6 RAM/ROM單元。RAM主要配合控制及算術(shù)運(yùn)算單元,將運(yùn)算的結(jié)果進(jìn)行暫時存儲,如果某些數(shù)據(jù)需要 存儲到EEPROM,則由控制及算術(shù)運(yùn)算單元取出送到EEPROM存儲器中;如果某些數(shù)據(jù)需要傳送 給讀寫器,則由控制及算術(shù)運(yùn)算單元取出,經(jīng)過RF射頻接口電路的處理,通過卡片上的天線 傳送給卡片讀寫器。RAM中的數(shù)據(jù)在卡片失掉電源后(卡片離開讀寫器天線的有效工作范圍 內(nèi))將被清除。
同時,ROM中還固化了卡片運(yùn)行所需要的必要的程序指令,由控制及算術(shù)運(yùn)算單元取出去對 每個單元進(jìn)行微指令控制。使卡片能有條不紊地與卡片的讀寫器進(jìn)行數(shù)據(jù)通信。
1.2.7 Crypto Unit 數(shù)據(jù)加密單元。該單元完成對數(shù)據(jù)的加密處理及密碼保護(hù)。加密的算法可以為DES標(biāo)準(zhǔn)算法或其他。
1.2.8 EEPROM INTERFACE/ EEPROM MEMORY EEPROM 存儲器及其接口電路。該單元主要用于存儲數(shù)據(jù)。EEPROM中的數(shù)據(jù)在卡片失掉電源后(卡片離開讀寫器天線的有效 工作范圍內(nèi))仍將被保持。用戶所要存儲的數(shù)據(jù)被存放在該單元中。Mifare 1卡片中的這一 單元容量為8196bit(1 Kbyte)。分為16個扇區(qū)。
2 Profibus-DP的設(shè)計(jì)
在高速公路收費(fèi)系統(tǒng)中,由于控制的復(fù)雜性、現(xiàn)場多種設(shè)備相互之間存在干擾以及系 統(tǒng)可靠性要求高等特點(diǎn),所以在實(shí)際應(yīng)用中常采用高可靠性的中央控制器如PLC和現(xiàn)場總線 技術(shù)如PROFIBUS。在智能IC卡收費(fèi)系統(tǒng)中就是采用SIMATIC S7-200 CPU224進(jìn)行控制,并通 過PROFIBUS-DP現(xiàn)場總線由工控機(jī)(或PC機(jī))進(jìn)行監(jiān)控。
Profibus-DP設(shè)計(jì)圖,本系統(tǒng)是由PROFIBUS-DP構(gòu)成的單主站系統(tǒng),具有簡單設(shè)備一級的高速 數(shù)據(jù)傳輸特性。系統(tǒng)組成如圖2所示。
①整個控制系統(tǒng)連接在兩路PROFIBUS-DP總線上,每路總線包含一個總站和 20個DP從站,兩 個總站和開票機(jī)構(gòu)成局域網(wǎng),主站和從站之間為主從關(guān)系。②兩個工控機(jī)主站和收費(fèi)站主機(jī) 通過TCP/IP協(xié)議,組成局域網(wǎng)。③系統(tǒng)以SIMATIC工控機(jī)作為DP類型2主站,通過現(xiàn)場總線接 口卡CP5611使工控機(jī)與PROFIBUS-DP總線相連,能完成組態(tài)、運(yùn)行、操作等功能。主站上的 應(yīng)用程序與CP5611的信息傳遞采用OPC通用接口服務(wù)軟件實(shí)現(xiàn)。④每個從站完成對兩路收費(fèi) 卡口系統(tǒng)的監(jiān)控和控制,采用SIMATIC S7-200系列CPU224模塊,通過EM 277擴(kuò)展模塊以DP從 站形式接入PROFIBUS-DP網(wǎng)絡(luò),按主/從模式向上位機(jī)發(fā)送數(shù)據(jù)。
第1頁第2頁 |