歡迎您訪問鄭州興邦電子股份有限公司官方網站!
    阿里巴巴誠信通企業
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

    基于射頻IC卡的粉煤灰銷售系統的設計與實現

    文章出處:http://www.xujuanpiju.com 作者: 人氣: 發表時間:2012年04月08日

    [文章內容簡介]:本文對軟件結構、IC卡內部存儲結構、M1卡的操作流程做了詳細的闡述。從實踐中的運行結果來看,達到了預期的目標。現有IC卡只能稱為邏輯加密卡,若要進一步的提高安全性。

        前言

       
    射頻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系統流程圖
    圖1系統流程圖

        四個部門在物理位置上比較分散,首先組成無線局域網,再與中心數據庫服務器相連,實現數據的存取。各部門均配置了讀卡器(通過USB接口與電腦連接),對IC卡進行讀寫。系統結構如圖2所示。

    圖2系統結構圖
    圖2系統結構圖

        2.2數據存儲結構

        經分析,IC卡中可存儲的數據項包含兩類:一類是靜態數據項,該類數據項一旦寫入IC中后,就不會或很少會再去修改。如IC卡號、貨車車號、提貨種類、IC卡狀態(正常、掛失、無效)。另一類為動態數據項。該類數據項為每次銷售流程所J“’t-的數據項,如提貨重量、單價、總金額、提貨時間等等,這些數據項每次都會根據具體提貨情況不同而變化。

        如圖1所示,在提貨過鞭中,門房、磅房、庫房各自產生一部分數據構成一次完整的銷售數據。那么在形成一次完整的銷售數據之前,是將已產生的臨時數據先緩存在IC卡中,還是先提交到數據庫,是系統設計的重點。因為這涉及到IC卡中數據的存儲結構。對該問題考慮過兩種方式:

        一、將臨時銷售數據先緩存在IC卡中,然后在出廠時將本次銷售數據一次性提交到數據庫。這種方式的好處在于可以在數據庫端保證銷售數據的完整性,因為銷售數據是一次性提交,而不是分步提交的。但這種方式有兩個弊端:1、安全性不高,本系統使用的IC卡只是邏輯加密卡,一些重要的數據存放在數據庫更加安全:2、需要非常頻繁的對IC卡進行寫操作,但設備本身對IC卡進行寫操作的次數是有限的。

        二、IC卡中只存儲之前提到的靜態數據項。這種方式數據更加安全,同時又不需要頻繁的對IC卡進行寫操作。系統采用該方式。最后存儲結構如表1所示:

    表1 IC卡內部數據存儲結構
    表1 IC卡內部數據存儲結構

        2.3讀寫M1卡

        Ml卡讀寫流程如圖3所示。整個系統在.NET平臺下使用c#語言實現。本系統使用的是深圳明華公司的URF—R330 USB接口的讀卡器,附帶了動態鏈接庫mwrf32.dll。在.NET平臺中編寫的面向CLR的代碼為托管代碼,要調用非托管代碼。需要使用DllImport聲明庫中的函數。所有有關的函數都被封裝在類Common中。為了節省篇幅,只列出了其中一個函數聲明,代碼如下所示:


        

    圖3 M1卡讀寫流程圖
    圖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.

        【稿件聲明】:如需轉載,必須注明來源和作者,保留文中圖片和內容的完整性,違者將依法追究。

    本文關鍵詞:粉煤灰銷售,IC卡,M1卡,讀寫器,銷售管理,讀卡器
    回到頂部