基于射頻IC卡的粉煤灰銷售系統的設計與實現
文章出處:http://5052h112.com 作者: 人氣: 發表時間:2012年04月08日
前言
射頻IC卡又稱非接觸式IC卡,與接觸式IC卡相比。它不需要與讀寫設備進行接觸就可以進行通信,并具有更高的安全性以及抗干擾性,另外對環境的適應性也更強。目前國內引進的射頻IC卡主要基于Philips公司的Mifare技術,本系統就采用了Mifare 1射頻IC卡(簡稱Ml卡)。
1 M1卡
M1卡由天線和ASIC(專用集成電路)組成。其中ASIC包括一個高速(106KB波特率)的射頻接口,一個控制單元和一個8K位EEPROM。
1.1工作原理
M1卡內沒有電源。當與讀寫器進行通信時,讀寫器會向M1卡發一組固定頻率的電磁波,在電磁波的激勵下,卡內Lc諧振電路產生共振,從而使電容內有了電荷。當所積累的電荷達到2V時,它將做為電源為其它電路提供工作電壓,從而與Ml卡進行數據交換。
1.2存儲結構
Ml卡內部有16個扇區(0—15),每扇區有4個塊(0-3),共64塊(0-63)。0扇區的塊0用于存放廠商信息,不能更改。其他各扇區的0、1、2塊為數據塊用于存儲數據塊3為控制塊,用于設計該扇區其他3個數據塊的存取策略。
2系統設計與實現
2.1系統流程與結構圖
xx電廠粉煤灰銷售系統最核心的業務為記錄各個貨車每次的提貨信息(提貨種類、重量、單價、總金額、提貨時間等),從而滿足日后企業決策者的查詢、統計及報表操作。系統涉及四個部門,各部門主要職責如下:
銷售部:負責辦理IC卡發放、掛失、退卡、充值等操作。
門房:司機刷卡后,根據卡中余額判斷是否允許進廠。并記錄進出廠時間。
磅房:記錄貨車空磅重量以及提貨后的重量。
庫房:記錄貨車的提貨種類及相關提貨信息。
一次完整的銷售流程如圖1所示。
圖1系統流程圖
四個部門在物理位置上比較分散,首先組成無線局域網,再與中心數據庫服務器相連,實現數據的存取。各部門均配置了讀卡器(通過USB接口與電腦連接),對IC卡進行讀寫。系統結構如圖2所示。
圖2系統結構圖
2.2數據存儲結構
經分析,IC卡中可存儲的數據項包含兩類:一類是靜態數據項,該類數據項一旦寫入IC中后,就不會或很少會再去修改。如IC卡號、貨車車號、提貨種類、IC卡狀態(正常、掛失、無效)。另一類為動態數據項。該類數據項為每次銷售流程所J“’t-的數據項,如提貨重量、單價、總金額、提貨時間等等,這些數據項每次都會根據具體提貨情況不同而變化。
如圖1所示,在提貨過鞭中,門房、磅房、庫房各自產生一部分數據構成一次完整的銷售數據。那么在形成一次完整的銷售數據之前,是將已產生的臨時數據先緩存在IC卡中,還是先提交到數據庫,是系統設計的重點。因為這涉及到IC卡中數據的存儲結構。對該問題考慮過兩種方式:
一、將臨時銷售數據先緩存在IC卡中,然后在出廠時將本次銷售數據一次性提交到數據庫。這種方式的好處在于可以在數據庫端保證銷售數據的完整性,因為銷售數據是一次性提交,而不是分步提交的。但這種方式有兩個弊端:1、安全性不高,本系統使用的IC卡只是邏輯加密卡,一些重要的數據存放在數據庫更加安全:2、需要非常頻繁的對IC卡進行寫操作,但設備本身對IC卡進行寫操作的次數是有限的。
二、IC卡中只存儲之前提到的靜態數據項。這種方式數據更加安全,同時又不需要頻繁的對IC卡進行寫操作。系統采用該方式。最后存儲結構如表1所示:
表1 IC卡內部數據存儲結構
2.3讀寫M1卡
Ml卡讀寫流程如圖3所示。整個系統在.NET平臺下使用c#語言實現。本系統使用的是深圳明華公司的URF—R330 USB接口的讀卡器,附帶了動態鏈接庫mwrf32.dll。在.NET平臺中編寫的面向CLR的代碼為托管代碼,要調用非托管代碼。需要使用DllImport聲明庫中的函數。所有有關的函數都被封裝在類Common中。為了節省篇幅,只列出了其中一個函數聲明,代碼如下所示:
圖3 M1卡讀寫流程圖
此處只列出了最簡單的讀IC卡操作。在實際的應用中,使用了多線程用來進行IC卡讀寫操作,提高了系統的性能。
結語
本文對軟件結構、IC卡內部存儲結構、M1卡的操作流程做了詳細的闡述。從實踐中的運行結果來看,達到了預期的目標。現有IC卡只能稱為邏輯加密卡,若要進一步的提高安全性。則可以使用CPU卡,它具備計算和加密能力,安全性十分高,不過成本也會相應增加。
參考文獻
[1]張可可.基于c#的射頻卡讀寫原理及實現[J].微型機與應用.2010.29(14).
[2]謝高生.動態密鑰在Mifare射頻IC卡識別系統中的應用[J].計算機測量與控制.2009.17(4).
[3]NXP SemIConductors.MIFARE Standard 4KByte Card IC func—tional speci cation,February 2007.
【稿件聲明】:如需轉載,必須注明來源和作者,保留文中圖片和內容的完整性,違者將依法追究。