当前位置: 首页 > 工具软件 > card-one > 使用案例 >

Contact-less Smart Card Reader/Writer & Mifare One Card (5)

田化
2023-12-01

Contact-less Smart Card Reader & Mifare one Card 二次開發文檔

Author: Dennis Lan

Date: 2003/12/17

Copyright© Universal Master Information Co(sz)., Ltd  轉載請說明出處

http://www.csdn.net/Develop/read_article.asp?id=22903

防冲突机制 (Anti-collision Loop)

当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。

 

选择卡片(Select Tag)

选择被选中的卡的序列号,并同时返回卡的容量代码。

 

三次互相确认(3 Pass Authentication)

选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)

 

对数据块的操作

(Read):读一个块;

(Write):写一个块;

Increment):对数值块进行加值;

Decrement):对数值块进行减值;

存储Restore):将块中的内容存到数据寄存器中;

传输Transfer):将数据寄存器中的内容写入块中;

    中止Halt):将卡置于暂停工作状态;

 

. Create An Interface for Communicate between WIN32 DLL and PL/SQL

        因為 PL/SQL 並不能直接引用 RD800M 所提供的 dcrf32.dll , 必須重新用C來寫一個中介程式做界面讓 PL/SQL dcrf32.dll 能夠溝通.

源程式碼請見 Card.c Microsoft Visual C++ Compiler CL把程式 Compile DLL File(指令: CL /LD card.c /link dcrf32.lib).

 

. Load Library Into PL/SQL

        PL/SQL 中利用 ORA_FFI Package 把和dcrf32.dll進行溝通介面程式 Card.dll PL/SQL, PL/SQL透過Card.dlldcrf32.dll進行溝通,調用其中的函數.

 

 

. 寫卡

       以上準備工作完成後就正式開始開發工作的第一項,把資料寫進 IC 卡中,也就是上面所介紹的數據塊的操作中的 Write.從上面的簡介中我們知道,一張 Mifare One IC , 我們總共可以寫入的字節數: 3*16*16 = 768 bytes.每個扇區只有三個塊可供我們進行對其操作, 第四塊是控制塊, 用來存放密碼和控制Code, 前面對 M1 Card 的簡介中已有詳細的說明.

 

待續 ...

附錄:

 參考資料:

  1. <<D&C® RD 系列IC卡讀寫器使用說明書>>
  2. Oracle Forms6i Reference Manuals
  3. <<關於非接觸式 IC 智能(射頻)卡及其讀寫設備內核技術的研究與應用開發>> 張敏 上海華東磁記錄電子公司 
 类似资料: