射频识别(RFID)技术

自己动手制作RFID读写器

作者:陈广 日期:2020-10-2


有2个月没写文章了,这段时间一直在做读卡器,以前从没有想过要自己做读卡器,压根就没到自己可以做这玩意。但自从自己做了一个键盘之后,对画电路,打板有点上瘾了。之后做了一个ST25DV65K电子标签板,完成了手机与单片机之间的NFC通信。当时发现 ST25 有一个 R 系列的芯片,专门用于读卡器,而且是全功能读卡器芯片,功能十分强大。那时就在想,是不是可以自己做一个读卡器呢?只是没有下定决心。直到有一天,听某校外专家演讲,提到某些专业就是用来养重点专业的,也就是俗称的现金奶牛,其中计算机就是其中一个。当时这话让我听的心里拔凉拔凉的。对,计算机专业在我们学校不是重点专业。我思绪万千,没钱能办好专业吗?其实我从来不认为钱比人才重要,有钱,应当拿去请最好的人才,然后才是设备。没钱,毛主席说过:自力更生,艰苦奋斗。我从小到大非常喜欢一首曲子,每次在电视上看国家领导开会时,全体起立,奏国际歌,都会听得我心潮澎湃。这首曲子是有歌词的:“从来就没有什么救世主,也不靠神仙皇帝,要创造人类的幸福,全靠我们自己”!突然觉得这歌词怎么就写得这么好呢!

现在绝大多数学校在上 RFID 这门课时,都是使用教学仪器厂商生产的实验箱,但实验箱的集成度太高,所有东西都做好了,还有什么可学的呢?每个厂商的通信协议各不相同,换一个厂商的设备同样两眼一抹黑,它对于培养学生的工程能力毫无作用。之前使用淘宝上购买的读卡器,高频的要300多,超高频的也是300多,买回来做为实验设备是少花不少钱,但没办法让学生人手一套拿回宿舍学习,这还是有点遗憾。如果让学生自己画电路,打板,焊接,成本可以控制在 70 块以内,我只需把买读卡器的600块拿去买焊台、热风枪就可以了。学生拿着自己制作的读卡器,是不是更有兴趣学习了呢?更重要的是,学生的工程实践能力大为提高,而且对于整个 RFID 的学习链,掌握得更为细致、深入。当然,这就需要更改课程体系了,需要增加一门电路绘制及一门 STM32 作为先导课程。这些年,我一直在思考物联网专业应该开哪些课程,现在是越来越清晰了!

当然,自己做读卡器是要付出一些代价的,之前《条码与 RFID 技术应用》这本书已经写得差不多了,现在部分内容要推倒重来了,而且之前花大力气按照淘宝购买的读卡器写的模拟器也白写了。当然,也可以保留这些内容,让使用这本书授课的老师根据本校特点自行选择使用哪些实验内容。

设计概述

STM 公司的 ST25R 系列的芯片提供了对 13.56MHz 读写器支持,其中,ST25R3911B 和 ST25R3916 是其中的代表。ST25R3916 为最新的芯片,但其价格昂贵,资料较少,我的目标是学生人手一块,它不适合。而 ST25R3911B 则价格便宜,资料丰富,最终决定使用这块芯片来制作读写器。

对于 ST25R3911B 芯片,STM 官方提供了多块评估板,其中功能最为强大的是 ST25R3911B-DISCO 开发板。它性能强悍,支持全系列 13.56MHz 标签,读卡距离达到了惊人的 10cm,我也在淘宝上买了好几个读卡器,一般的读写距离不超过 4cm。官方开发板如下图左边读卡器所示。

图 1:ST25R3911B-DISCO 开发板

这块开发板使用了 4 层电路板设计,拿在手上,你会感觉到它象一个艺术品。当然,艺术品价钱不会便宜,淘宝价 380 大洋。我的任务,就是把它做成白菜价。幸运的是,STM 官方提供了全套电路原理图,PCB 板原理图,甚至 BOM 单,单片机以及上位机程序全套源码,可在以下网址找到:

https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/st25-nfc-rfid-eval-tools/st25-nfc-rfid-eval-boards/st25r3911b-disco.html#overview

让我自己设计电路,我是没这个水平的了,但是抄电路,改改还是可以的。原版使用的是 MicroUSB 接口,不合我习惯,改成 TYPE-C 接口。另外,USB 接口在烧写后上位机不能立即识别设备,必须断电重启,所以我按惯例加上了一个自锁开关,方便调试程序。这些都是我这块板更高级的地方。

原版降压芯片 5 块钱,被我改成 3 毛钱的芯片。原版防静电芯片 5 块钱,被我改成 2 毛钱的芯片。原版 UART 和低功耗 LP_UADRT 共用同一接口,同一时间,只能使用其中一个。我把两个接口都接出来了,可以同时使用。

成本嘛,主控和 RFID 芯片就花掉 40,其中主控为 STM32L4系列的低功耗芯片,这个芯片就花掉 30 大洋,相当贵,如果使用 STM32F1 系列芯片替代,则可以降低 20 元成本。但考虑到使用教材的学校或读者可以直接购买 STM 官方评估板,无需自行画图打板焊接,最终还是选用了原版的芯片。最终成本没有细算过,但应该不超过 70 元钱。效果如图 1 右边的开发板。

Version 1.0 的功能和原版完全一样,所有官方的固件和上位机软件均可使用。在使用一段时间后,我发现板的面积大了一些,为了做得更漂亮些,我重新绘制了电路,使用 0603 贴片元件,有效减少了电路板的面积。Version 1.0 的天线画得太难看,Version 2.0 则将天线的倒角改为圆角。如下图所示:

图 2:NFC 读卡器乞丐版 Version 2.0

Version 2.0 在使用过程中发现了一些问题,ST-Link 烧写接口需要占用一个 GND,而 UART 和 LP_UART 在使用时各自还需要一个 GND,所以我少接了两个 GND 引脚,上图所示,在使用 UART 接口时,我不得不另外焊一个 GND 引脚出来。另外,在学习此开发板时,需要 UART 接口打印调试信息,而要使用这块开发板上的 UART 接口,就需要单独购买一个 USB 转 TTL 模块,使用起来相当不便。为何不自己将此模块直接放在电路板上呢?这样即可单独使用 USB 通信或 UART 通信,也可以一起使用两种通信方式。于是我又制作了 Version 3.0,增加了一个 TYPE-C 接口,用于 UART 通信。另外增加了一个 GND 引脚用于 LP_UART 通信,当然,如果要使用 LP_UART,则还是需要另外的 USB 转 TTL 模块。下图是三个版本的合影,最右方是 Version 3.0。

图 3:NFC 读卡器乞丐版 Version 3.0

Version 3.0 版可以单独使用 USB 口供电,也可单独使用 UART 口供电,两个同时供电也不会有问题,使用起来非常方便。

用了一段时间的 Version 3.0 后,总感觉板画得不够漂亮,LP_UART 接口的标注文字看上去太突兀。于是手一痒,又做了 Version 3.3。电路重新规划,两个 Type-C 口、开发以及电源指示灯放到了板的上方。如下图左边开发板。

图 4:NFC 读卡器乞丐版 Version 3.3 及 3.5

之后在做 Mifare 读卡器时,感觉别的读卡器都有一个蜂鸣器,我的也应当有,于是,制作了 Version 3.5,在左下角加了一个有源蜂鸣器(如下图左边开发板)。可惜的是,加了蜂鸣器之后,读卡距离由 9.5cm 变为 8.5cm 了,不过,不影响使用。至此,我买的 5 套配件全部折腾完了。以后不再加工 13.56MHz 读卡器了。

电路设计

原版使用 4 层电路板,这个成本非常高,用不起。改成 2 层板。原版将电路设计在天线内部,但我发现无法做到,因为使用 2 层板,并且手工焊接,不得不使用 0805 元件,占地面积会大很多,单独绘制天线反而能够缩小开发板尺寸。更关键的是对电路设计的要求会降低很多,不再需要考虑电磁干扰的问题。

STM 官司方提供了专用的天线设计软件,用以设计天线形状。另外还提供了阻抗匹配的计算软件,但计算阻抗匹配,需要购买 miniVNA,这个东西和读卡器差不多大,但淘宝要 3000 多,买不起。没办法,只能设计电感量为 1uH 的天线,然后直接抄原版的匹配电容和电阻。效果也不错,读卡距离也能达到 8cm。这也算是意外惊喜吧!

下图是电路原理图,请下载查看,原图足够清晰:

图 3:电路原理图

画完电路原理图后,转化为 PCB,PCB 的绘制需要注意以下几点:

  1. 晶振离 MCU 对应引脚要尽量靠近,而且两个信号引脚走线距离尽量相等。
  2. MCU 电源引脚上的滤波电容要与相应引脚尽量靠近,如果一个引脚接两个电容,则应当使小电容离引脚更近。需要注意的是主控的四个角上都有电容连接。
  3. ST25R3911B 及其外围电路应该与主控及其外围电路分隔开,不要混在一起。

天线设计使用 STM 官方软件:

https://eds.st.com/antenna/#/

只要最终电感量为 1uH 即可。

开发板的制作

画完电路图之后,嘉立创打板,5 元。真便宜,以前让学生自己打板用来上课是不可想象的事情,现在条件成熟了,学校也应当以时俱进。感谢科技的发展,中国的强大,以及嘉力创。

接下来采购元件,我是在以下淘宝店采购的:

向阳芯城

最后焊接,最好使用热风枪,焊出来的东西漂亮点。

测试

开发板制作完成后,可以使用官方上位机程序进行测试。下载地址:

https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25r001.html

软件的使用手册下载地址如下:

https://www.st.com/resource/en/user_manual/dm00366911-pc-software-for-the-st25r3911bdisco-kit-stmicroelectronics.pdf

如果一切功能正常,则大功靠成,可以继续接下来的工作了。

;

© 2018 - IOT小分队文章发布系统 v0.3