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

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 智能(射頻)卡及其讀寫設備內核技術的研究與應用開發>> 張敏 上海華東磁記錄電子公司 
微信扫码订阅
UP更新不错过~
关注
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

简叔

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值