因为要开发非接触式卡系列产品, 想用PHILIPS MF RC500, 在网上搜了一大片,由于大家都很保守,只好用200大元买了一家公司的RC500开发模块(附带一些英文资料但没有例程)由于本人英文实在太那个了,看了几天头都大了,幸好在网上找到一个FM1702的中文资料发现简直是RC500芯片英文资料的翻译版(这使我有点怀疑FM1702是不上是复旦他们自主开发的芯片)根据我这几天的研究,得出了以下三小点结论,希望跟大家探讨探讨。当然更希望大虾们指点指点。
1、 RC500的控制主要是通过读写RC500的寄存器来实现的,RC500共有64个寄存器,单简单应用的话只用到其中的几个,最多的是FIFODATA(数据堆栈), COMMAND(命令), FIFOLENGTH(堆栈长度),PRIMARYSTATUS(标记)等。
2、 RC500主要是通过写通讯命令、参数、数据到FIFODATA,在通过写命令到COMMAND 实现与M1卡的通讯。
3、 RC500通讯主要分为4步
第一步、寻卡,写通讯命令26H 或52H到FIFODATA,写命令1EH到COMMAND,成功后得到卡类型
第二步、选择,写通讯命令93H到FIFODATA,写命令1EH到COMMAND,成功后得到卡号。
第三步、认证,通过LOADKEY写KEY到KEY缓存,写参数命令60H(认证A密码)或61H(认证B密码) 块地址 卡号到FIFODATA,写命令0CH到COMMAND,成功后再写命令14H到COMMAND,此操作卡不返回数据,通过读取标记判断是否成功
第四步、直接对卡进行读写增减值操作,也就是通过在FIFODATA上写入命令参数及数据,通过写命令1EH到COMMAND实现。
遗憾的是我用别人的模块,连第一步都不成功,我知道是也许是因为那些状态寄存器初始化问题,因为我根本没有初始化任何东西。不过我相信其基本操作是这样,我联系模块的公司,要程序例子要800大元,可惜我只是一个贫困潦倒的小技术员。希望大虾们能指导指导。
我手头上有些资料,需要的朋友我可以发给他,但希望通过那些资料能搞掂后能反过来指一下小弟。反正我搞掂后回写一份完整的心得回报大家。