开云十大最新推荐

登录 免费注册 开云十大最新推荐 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

抛转引玉 PHILIPS MF RC500 开发心得!

作者:cqinglee 栏目:ARM技术
抛转引玉 PHILIPS MF RC500 开发心得!
  因为要开发非接触式卡系列产品, 想用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大元,可惜我只是一个贫困潦倒的小技术员。希望大虾们能指导指导。
另外我手头上有些资料,需要的朋友我可以发给他,但希望通过那些资料能搞掂后能反过来指一下小弟。反正我搞掂后回写一份完整的心得回报大家。


2楼: >>参与讨论
cqinglee
多谢斑竹打上个COOL! 我一定要搞掂它,以对得起这个COOL字!
  希望大虾们多多帮忙!

3楼: >>参与讨论
ARM_hunhun
去问问周立功吧!
我知道zlg自主开发 模块。
是保密的!哈哈,看看运气了。
朱工负责的

4楼: >>参与讨论
ysf
我以前收过一个资料,里面好象有代码...
 
5楼: >>参与讨论
wangkj
我有全套的资料和图纸以及程序和线路板
是我花钱买来的,如果你用,我可以和你交换。
你不能白要。原来是基于51的,我希望转到arm上,但是我没有太多的功夫。
至少,把DIP封装的51换成小点的,DIP封装的太大了。如果你能搞定这些,这些东西可以给你。

6楼: >>参与讨论
victorymay
Re: 能否将FM1702的中文资料发一份给我! Thanks!
 
7楼: >>参与讨论
cqinglee
你搜一下FM1702就可以找到了,好象是鹊桥老仙的网站上有!
 
8楼: >>参与讨论
cqinglee
谢谢大家!
 to wangkj:
  谢谢您的好意,例程我已经有了! 再次谢谢您的好意! 

9楼: >>参与讨论
jiangbo123
RC500的参考代码,可以联系飞环电子或者PHILIPS
完全免费获得参考代码,还可以获得技术支持! Mifare 1卡里的加密模块完全是PHILIPS自定义的加密算法,其他公司如果想要支持该加密算法,有两种方式,一种是向PHILIPS买,但是PHILIPS绝对不肯卖的。另外一种就是国内常用的做法了,不用点破吧。
飞环电子联系方式:021-6440 1505  梁丹或者陈坤
PHILIPS上海FAE:  021-2205 5677  姜波

10楼: >>参与讨论
鹊桥老仙
再次发布下载地址,需要资料资料的朋友这里来.
//www.shmcu.com

11楼: >>参与讨论
yf815
我们公司也就是用这个的
我现在所在的公司就是用的这个模块,RC500,主要做一卡通,不过我不是开发人员,我只是一个小技术员,对这个模块了解不多,但是里面的资本资料我以前在中国射聘网有看到过这方面的介绍。不防去看看!!

12楼: >>参与讨论
Eric_CAA
楼主可否发一份例程给我?
我也在做射频卡设计,恳请楼主支持!

13楼: >>参与讨论
jacksmart
最近也在搞这个
楼主能否给些例程,谢谢!

14楼: >>参与讨论
cqinglee
关于例程问题!
  由于也网友给的,在没有得到他同意情况下不太方便公布!请谅解!但我开发成功后会写一份完整的心得,到时就不用什么例程!
  另外我到现在都不太明白,PHILIPS为什么要搞得那么神秘,我们只是想用他的芯片,是购买他们的产品二次开发而已。不是越多人使用对他更好吗!不明,望大虾们点破!

15楼: >>参与讨论
PhilipsIDE
大家好!
我是PHILIPS半导体上海的FAE,我负责中国区PHILIPS RFID系列产品的技术支持。非常感谢cqinglee可以和大家分享自己的心得。
1.在侃单片机栏目里曾经就mifare卡读写器有过讨论,因为是老贴封存,所以现在只能浏览。《侃单片机》--》“已存档老贴 ”--》“Mifare卡读写器开发心得”。帖子很长,请耐心阅读,其中有很多内容值得参考。
2.PHILIPS公司对于技术资料和参考代码的保密,出于对自身知识产权的保护。众所周知,国内出现完全兼容PHILIPS公司的RC500系列的国产芯片,我至今没有看到该国产芯片非常详尽的文档。一些客户都是拿着PHILIPS的datasheet和参考代码去开发国产芯片的产品。对PHILIPS利益产生了损害。
3.基于种种原因,PHILIPS公司针对公司用户需要签订NDA,才能提供相关资料和参考代码。其实签订NDA非常简单,就是填一张表格,然后盖上公章即可。
4.我现在主要时间在上海,负责全国的技术支持,包括Hitag、Mifare、NFC、ICODE、UCODE等产品,包括卡(标签)芯片和读卡芯片。

大家有任何问题可以随时和我联系。我将继续关注本贴!
021-22055677   姜波

* - 本贴最后修改时间:2005-9-12 12:57:47 修改者:PHILIPSIDE

16楼: >>参与讨论
cjs
RC5001702我们用ARM7已经作成产品了
RC5001702我们用ARM7已经作成产品了,现在开卖了,欢迎讨论。一般的应用技术都是一层纸,只要捅破就非常简单了。

17楼: >>参与讨论
bsszkeith
我也在做 MF RC500
有了一点资料,可以交换
world_zh@163.com

18楼: >>参与讨论
bsszkeith
wangkj
wangkj:你好
我们可以把51改成pic的,64教贴片封装。改成给你一份。
如果愿意,请把资料提供给我。

祝合作愉快!

world_zh@163.com

19楼: >>参与讨论
bsszkeith
PhilipsIDE,你好!
我们正在研发MF RC500 非接触读卡器,请您给我们提供详细免费设计资料。
谢谢!
world_zh@163.com


20楼: >>参与讨论
Eric_CAA
问题:Request方面的(基于1702开发)
问题a:当向command发送0x26后,射频卡返回的不是0x04,而是别的数据!郁闷
问题b: 我使用的是transceive命令,自动接收返回数据并存储在FIFO中,这个命令是否需要设置Bit_Frame格式?
问题c:transceive命令使用时,是否需要开定时中断,使发送结束时开定时器,接收开始时关定时器,如果溢出则表明没有收到数据;还是直接判断command==0来判断操作是否结束,从而开始读FIFO到Buff。

恳请各位达人指点!多谢!


21楼: >>参与讨论
qjy_dali
wangkj
51你用的哪个MCU,改成贴片还不容易吗?
qjy_chess@163.com

22楼: >>参与讨论
花枝
不错,顶
 
23楼: >>参与讨论
rfid2005
to:姜波,RC531发热问题怎么解决
to:姜波
我用RC531芯片开发的读卡器,读写,增值减值等操作都没有问题,但是RC531在工作的时候会有一定的温度,我用的是键盘取电的,我们马上就要批量生产了,但是芯片发热问题始终还没有解决。请问,RC531芯片是否在工作的时候会有一定的温度??

24楼: >>参与讨论
PhilipsIDE
芯片工作时候肯定是会有一些温度的。
关键是看是否在安全范围之内。很多客户发现芯片温度过高是因为天线设计不好的原因。请测量TVDD(应该是第6脚)的电流,该电流必须小于150mA,否则有烧坏芯片的危险,当然也会产生芯片过热的现象。

25楼: >>参与讨论
rfid2005
110mA,但是感觉芯片还是有一点温度
我测过第6脚的电流为110mA,通过RC531的Datasheet,在天线打开的时候,最大电流不超过150mA。是不只要小于150mA,不会影响芯片的寿命的?????我问飞环电子的代理,芯片有一点温度是否正常,他总是说RC531芯片不会有温度的,我从以前的老贴中看到芯片工作的时候会有一点温度的,但是代理却说和我的程序有关,和我用的单片机有关,我用的是ATMELAT89S52,我想发热不会和单片机有关吧。

26楼: >>参与讨论
rfid2005
感谢楼主,读卡器又重新开贴了。
 
27楼: >>参与讨论
PhilipsIDE
关于温度
只可能跟硬件设计有关,跟软件对RC531的寄存器配置有关,其实芯片的功率和寻卡的距离是有关系的。你可以检查寄存器CwConductoance ,地址是0x12。可以通过调节该寄存器来调节发射功率,当然同时会对操作距离产生影响。另外还可以在软件上进行优化,比如在平时关闭载波发射,以及在一段时间不进行卡操作之后,软件设置芯片进入低功耗模式等等,都可以达到降低功耗的目的。温度是不可能和单片机有关的,RC5xx芯片是根本不知道你采用的是什么单片机的,单片机的型号更不可能影响到RC5xx的温度。有任何问题,欢迎继续讨论。

28楼: >>参与讨论
rfid2005
感谢PhilipsIDE,我现在读卡距离5CM
我原来做的天线比较大,读卡距离达到9CM,目前的天线板是6 X 4 CM,我通过调整CwConductoance和天线的匹配电容,现在的读mifareS50距离最大值是5CM.我以前对CwConductoance配置不同的参数,但是还是有一点温度的。当然关闭天线,温度就降下来了。另外我以前的电路没有加看门狗,测试两个星期,没有发现异常,但是我担心会出现问题,这次新做的电路加上看门狗了。我想问一下,读卡器在运行的过程中,可能会出现什么问题,不加看门狗,可靠吗??

29楼: >>参与讨论
cqinglee
汇报开发进度!
  由于有其他工作,所以一直拖到这两天才有时间研究哪个例程.自己用汇编编了个调试程序及用VB编个PC调试软件,无非就是对RC 500 的寄存器进行直观的读写而已.有参考调试还算顺利, 终于通过了第一,二步. 我想通过其他的几步应该没什么问题. 如cjs所说这本来只是一张纸而已. 或许天线设计部分会有点困难.
  另外我发现单靠我用200块买的模块附带那些资料根本开发不了,因为里面缺了一些参数, 不过也就那样子的啦,人家也是要赚钱的. 不过说实在的,现在那些现成的模块售价也很低了,自己开发意义也不大.

30楼: >>参与讨论
abcde1120
朱工?哪个朱工?他的大名呢?
 
31楼: >>参与讨论
abcde1120
请教:RC500芯片外围电路参数,及天线参数
1、  LC 滤波电路
  在FM1702芯片的资料上提供的参数为  L=1uH  C=136pF
  而我看到的有些成品 用的是  L=2.2UH  C=?
  请问这两个参数是怎么算的?
2、天线设计
  根据设计出的天线,可得到天线的电感(算法FM1702资料上有)
  在FM1702资料上提供的,天线设计的参数有效吗?
  它设定的 C1a C1b  都是15PF  ,而有些人用的是27PF,那么另外两个参数
  C1a1 C1b1有该怎么确定呢?

32楼: >>参与讨论
rfid2005
偶是试出来得,不同得天线对应不同的参数
 
33楼: >>参与讨论
abcde1120
能告诉我你试出的参数是多少吗?
 
34楼: >>参与讨论
PhilipsIDE
天线设计的参数都是不一样
不同的天线,不同的电感,不同的输入阻抗,参数都不一样。但是很抱歉,对于FM1702我不会提供任何技术支持。

35楼: >>参与讨论
abcde1120
RC500FM1702
你这么一说倒提醒了我,我这有RC500的设计资料,只是全是英文的没去看,现在没法只好去猜猜了。
我用的可是RC500的芯片,而我的设计资料用的是中文的FM1702的芯片资料;诶~~~可惜还是不够用。
另外,想说说:你们商业上的搞来搞去,对技术的推广是很大的障碍啊,最终不是影响了产品的销售吗,还辛苦了我们。当时我做毕业设计的时候找这些资料可真辛苦啊,又没钱去买;最后,还是一个读研的师哥,正好在弄这些东西,见我挺困难,就把资料都给了我,要不我摸索摸索的都没耐心了。

36楼: >>参与讨论
sxpfine
PHILIPS原程序里main()函数的疑点问题
再问:我手头上PHILIPS原程序main()函数里怎么没有while(1)循环呢?程序如下:

void     main (void)
{
  unsigned CHAR counter,counter2;
  unsigned CHAR mfout=2;//readbuf[16];
  unsigned CHAR tt1[2];
  unsigned CHAR status1;
  unsigned CHAR cardserialno[4];
  unsigned CHAR *sak1;
  unsigned CHAR blockdata[16];
  init();
  M500PcdConfig();      // Initialise the RC500
                      // must be call in the initialisation
  PcdReadE2(8,4,Snr_RC500);
  // Read out the MFRC500 serial NUMBER and store it
    M500PcdMfOutSelect(mfout);
  for (counter=0;counter<20;counter++)
{
      status1 = M500PiccRequest(PICC_REQALL, tt1);
      if (status1==MI_OK)
        status1=M500PiccAnticoll(0,cardserialno);
      if (status1==MI_OK)
        status1=M500PiccSelect(cardserialno,sak1);
      if (status1==MI_OK)
          status1 = M500PiccAuth(PICC_AUTHENT1A, ardserialno, 1, 4);
      if (status1 ==MI_OK)
          status1=M500PiccRead(4, blockdata);
      for ( counter2=0;counter2<16;counter2++)
           blockdata[counter2]=counter;
      if (status1 ==MI_OK)
          status1 = M500PiccWrite(4,blockdata);                
         
  }
}

37楼: >>参与讨论
cqinglee
to PhilipsIDE(请教)
  网上这么多人叫卖贵公司RC500的设计资料, 就那么几个参数而已竟然能卖几百块钱!  您对这个有什么看法?  (我自己对这个就有很大的抵触心理!)

38楼: >>参与讨论
PhilipsIDE
首先,我同样很反感这种做法!
我们总是告诉客户,其实可以直接联系PHILIPS或者PHILIPS的代理,可以免费获得相关技术资料和支持。每一个客户我们都会非常的关注,我们会尽量和客户配合去完成项目。

39楼: >>参与讨论
xiaoyuan_ly
好人啊!!!!  21IC的好人,赞一个!!!
   

40楼: >>参与讨论
iccql
对楼主的心得做一些简单的补充,应该可以用了.
对楼主的心得做一点简单的补充,应该可以进行简单的应用,如有错误请指出.
1、寻卡时TxContrl(11)=5BH(启动天线发射器)
  BitFraming(0F)=07H (定义发最后字节发7位)
  就可以成功通讯了
2、防冲突
   DecorderControl(1A)=28H  (所有冲突位都置0)
   FIFOData(02) = 93H(命令), 20H(卡号的所有部分)
   通讯
   就可以得到4个字节的卡号及1字节异或和
3、选卡
   ChannelRedundancy(22)=0FH  (加上CRC校验)
  FIFOData(02) = 93H(命令), 70H(不明参数),4字节卡号及1字节的异或和(就是上一步收到的5个字节)
   通讯
   得到1字节响应
4、认证(先导入密码)
   FIFOData(02)=60H(认证命令)+块地址+卡号
   执行认证1(跟通讯类似,只是不返回数据)
   执行认证2

通过以上各步后就可以正常通讯。
   
TO  PhilipsIDE:
    以上内容只是个人开发经验交流,一切资料均来自网上,且来源已无法查明.如涉及到贵公司利益及知识产权问题,请告知!我将对其内容进行修改。

41楼: >>参与讨论
cqinglee
感谢iccql 的补充,
   我现在做到的也只是这些, 另外再补充一点是,
读数据时发0X30+块地址,得到16字节数据.
写数据时先发0XA0+块地址,得到卡的回应后再发16字节数据。

再次感谢ICCQL的补充。

42楼: >>参与讨论
cqinglee
请教 increment 的操作过程
  看到协议上写的是发c1,块地址,4字节的值
  但这样发数据过去是错误的,请大虾们指教具体操作!谢谢

43楼: >>参与讨论
rfid2005
需要设定
Bit_Frame = 0x07;
ChannelRedundancy = 0x03;
然后再使用transceive命令

44楼: >>参与讨论
cqinglee
to rfid2005:
  按你的方法试过,不行!

45楼: >>参与讨论
cqinglee
再次请教大虾们 INC及DEC的操作!
  卡通讯的读写都搞掂了,就是剩下INC与DEC命令了 按RFID2005 方法做了不行! 我已经把卡的内容按格式初始化了. 但发0XC0+块地址+4字节的值,发过去没有响应.我又尝试了象写数据那样,先发C0+块地址.得到响应0X0A,然后再发4字节数值.又是没有响应. 不知道是什么问题.请大虾们指教指教.

46楼: >>参与讨论
rfid2005
郁闷,新作的板子,RC531温度虽然有好转,但是
郁闷,新作的板子,RC531温度可以通过省电模式调整,我新增加了一个看门狗电路,只是元器件的布局变了,其他原理没变,MAX202竟然有一定的温度,前几次可只是531有温度,郁闷,难道RC531的功耗转移到MAX202上了??

47楼: >>参与讨论
famony
求楼主给点资料
关于通信的协议和他们的命令函数怎么调用的

48楼: >>参与讨论
cqinglee
没有,我是自己编的.卡的通讯协议基本上是已经讨论过的那些
抱歉!

49楼: >>参与讨论
famony
几个命令函数怎么作为按协议发送的数据格式?
 
50楼: >>参与讨论
cqinglee
to famony:你搞错的,我没有用它们的函数
  你可能看不明白ICCQL的说明,
如:
1、寻卡时TxContrl(11)=5BH(启动天线发射器)   
  
就是写5BH 到 寄存器TxContrl 我想他的TXCONTRL(11)的括号11的意思地址为11H, 下同. 我对C语言不太熟,我用的是汇编,具体可能帮不了你!

51楼: >>参与讨论
famony
我可是比较菜的说
我看zlg给的芯片资料看到在c语言下编程需要调用的一些命令函数,不太明白!没有实例也没有DEMO可以看!


52楼: >>参与讨论
rfid2005
TO:PhilipsIDE,能否提供一些样卡
TO:PhilipsIDE,MIFARE S50的卡我已经调试完成,能否提供一些MIFARE Ultralight,light,S70的样卡,我调一些程序。

53楼: >>参与讨论
abcde1120
CRC校验错误 是什么原因?
调试时,寻卡/选择/验证/都顺利通过了,但是下一步我读卡时就出现了错误。
我跟踪了程序发现是(Errorflag&0x1F)=0x08,CRC校验错误。并且(SecondaryStatus & 0x07)=0x04接受的最后一字节正确的位数为四位(是CRC校验码吗?);还有这句:(status & 0x0a) == 0)  status = MI_NOTAUTHERR;  请大家看看毛病出在哪呢?

54楼: >>参与讨论
mike_le
保存
 
55楼: >>参与讨论
flowerbest
to  PhilipsIDE ,急需支持
我公司正在一款产品上加入RF531模块,急需数据手册和单片机原码,请问办理什么手续才能从PHILIPS获得技术支持,谢谢!
email:flower_best@163.com

56楼: >>参与讨论
ailanxue
楼主给点提示.
楼主 项目搞完了吗?

能否给小弟点提示..看了2天 DATASHEET 一头雾水没头绪..

能否给个例程  谢谢 EMAIL:wzgboy1999@163.com

57楼: >>参与讨论
wang_7905
请问!
TO jiangbo123:
看过你以前写过的帖子,你已经将RC531的驱动移植到linux平台下了,我现在正在做这个工做,能否将你linux下的驱动发给我参考参考,我手上虽然有PHILIPS提供的源代码,但由于对RF的知识不懂,看datasheet看了好几遍都不明白,看那个程序也是晕头传向,想不明白再linux驱动框架下如何写才好,看你原来的帖子说将所有用到的函数用ioclt接口提供,这个好办,但是PHILIPS里面有很多全局缓冲的操作,还有一些状态结构,对这一部分不知如何处理才好,你在linux下ISR是重写还是用PHILIPS的,只是open做request_irq呢?

先谢谢了!急。。。。

我的邮箱:wanglida7905@163.com

* - 本贴最后修改时间:2006-10-16 18:26:31 修改者:wang_7905

58楼: >>参与讨论
enic1980
宠物RFID读卡器
谁做过
宠物RFID读卡器的能与我合作吗?
ENIC1980@126.COM

参与讨论
昵称:
讨论内容:
 
 
相关帖子
想采购2410核心板,但很担心内存条接插件的可靠性
请问39VF160是 NOR FLASH还是 NAND FLASH?
谁有S3C2440的原理图,ORCAD格式的
请问现在是NOR FLASH用得多还是NAND FLASH 用的多?
怎么理解?


Copyright © 1998-2006 fzqkw.cn 浙ICP证030469号