RFID 阅读器介绍 | 学习笔记

简介: 快速学习 RFID 阅读器介绍

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:RFID 阅读器介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11117


RFID 阅读器介绍

RFID 阅读器

阅读器 PCD

RFID 消费电子一块,要求不高,使用国产 FM17550,要求较高使用 MFRC522,二者是兼容的,国产较为便宜

1、读写器:

(1)通信频率,固定 13.56MHz

(2)支持协议,TypeA 类或 TypeB 类、ISO/IEC 14443 协议,阅读器只要是13.56MHz 都可以完成,如 NFC 等

(3)读写距离,10cm 以内

(4)通信速率

(5)寄存器配置,所有开发者可发的寄配器,SDK、inf 等都是厂商提供,不需要自己写自己写较为困难,需要长时间调试稳定,一般使用官方接口完成所有寄配器配置,只需要粗略了解

天线发送,接收

系统复位

调制方式

缓存区操作

(5)常见的有 FM17550,FM17522,MFRC523,MFRC522

17550 兼容 522,17522 国产

17550 有官方数据手册,英文翻译为中文

image.png

官方数据手册内容较多,多是寄存器介绍,

支持三种通讯接口

2、软件通信接口,手册都有详细介绍

SPI,I2C,UART。UART 简单,没有时间改造卡片硬件功能,改造充放电电路后可以直接连接到电脑使用,相当于不要要 MC u 采集,直接连接上位机,是窗口的优势。如果原先使用单片机使用 I2C、SPI 都是可以的

3、数据流

上位机<-->读写器<-->射频卡

整个流程为射频卡通过读写器,读写器为 17550 或 552,,射频卡是白色的 s50卡,上位机是单片机 MCU,另一个上位机的服务器 service,是基本流程

4、软件架构

(1)软件通信接口初始化

(2)读写器初始化

(3)根据相应射频协议组包,通过读写器与射频卡通信

5、对于 FM17550 串口配置

(1)FM17550 等读写器默认复位后串口配置为:

波特率为 9600(默认配置)

无奇偶校验位

无硬/软流控

数据位为 8bit

1 位停止位

(2)在 linux 下配置串口应按上述配置,尤其注意我们需要将串口配置成原始输出模式,以及关闭软流控

linux 下系统配置串口方法较多,在网上可以查询到,有 40 多年的历史

image.png

绿色板是卡片外形,有核心芯片,各种器件构成一个系统,背面是一个线圈,线圈涉及到 PCD 板,早期使用过一堆线圈绕在上面,容易损坏,这个不容易坏。使用串口,将 RX 引出,接到开发板接口,五根线,有电源线、地线、2 个数据收发、RST是一个复位信号线,让设备工作之前,提供信号

6、硬件复位

(1)外部 I0,保持低电平一定时间

使用射频之前,提供低电平,提供脉冲,大约 50 毫秒,提供脉冲后,恢复高电平,相当于复位正常工作,可以通过硬件电路做,提供脉冲希望设备可控,电路板接死是不可控

7、确认复位成功

(1)读地址为 0x37h 的版本寄存器的值

(2)mfrc522——Ox92

(3)fm17550————0x88

8、接下来步骤:寻卡、防冲突,选卡,操作卡

9、软件复位

向 CommIEnReg 寄存器写复位命令

10、发送部分

TxModeReg 寄存器,根据 A 类,B 类设置相应 bit

以上操作都是对寄存器的操作

image.png

绿色是卡片,一面是线圈,一面是芯片,白线连接的是串口,黑线是控制线,引出控制器,去掉黑线可以直接通过电脑控制

10、接收部分

RxModeReg 寄存器,根据 A 类,B 类设置相应 bit

11、天线

TxControlReg 寄存器

12、特征参数

(1)Status2Reg 寄存器,关闭加密传输

(2)ModeReg 寄存器,根据 A 类,B 类设置相应的 CRC 校验值(3)TReloadRegL、TReloadRegH、TModeReg、TPrescalerReg 寄存器用于设置定时器

(4)TxASKReg 寄存器设置调制方式,A 类 100%ASK,B 类无需 100%ASK

image.png

13、上位机主动借助读写器与卡片通信

14、读写器内部有 64 字节的 FIFO 缓存区

(1)FIFOLEVELREG: 该寄存器表示缓存区内的待读取数据字节数

(2)FIFODATAREG: 64 字节的 FIFO 缓存区,上位机将要发送给射频卡的数据写入该寄存器,或上位机根据 FIFOLEVELREG 得到可用数据字节数N,连续读取 N 它节该寄存器得到读写器接收到射频卡的回应

通讯过程要下指令读取数据

(3)由于在通信过程中,数据接收可能存在非全字节,即可能为 5bit,而非完整的 8bit,出现非全字节的情况发生在按收数据的最后一个字节,所以我们需要对最后一字节内的比特数进行判断

(4)CONTROLREG: 寄存器内的 rxlastbits 位,该标志位表明最后一字节内的比特数

(5)实际接收到的数据比特位总数为:

假设 FIFOLEVELREG 读的值 N,N 字节

实际接收的数据比特位总数=(N-1)*8 +rxlastbits

读取数据的完整性如何保证

15、COMMANDRE G,该命令寄存器里的 command 位,可以写入相应的值代表相应的命令:

(1)(RESETPHASE)1111 代表读写器立即软复位命令

(2)(TRANSCEIVE)1100 代表读写器准备发送并接收射频卡的数据。

(3)读写器执行 TRANSCEIVE 命令收发数据前,需要将 BITFRAMINGREG 寄存器内的 startsend 位置 1 来开启信号发射。

(4)由于指令寄存器不会自动清空,所以最好在发指令前,通过写入 PCD_IDLE 指令来终止上一条指令

有什么命令、命令如何启动、停止

16、根据 14443 协议规定读卡器发送数据后,在 25ms 内阅读器必须接收到射频卡的响应,否则该次通信失效。

17、实现 25ms 定时:

(1)上位机可以启动定时器或通过软件延时

(2)也可以利用阅读器内部的定时器:

TMODEREG: 内部的 Tauto 位可以在读写器无线数据通信时,自动开启定时器

TPRESCLALERREG: 与 TMODEREG 的低两位组成一个 10 位的分频器

TRELOADHIREG,TRELOADLOREG: 共 2 字节,定时器装初值

芯片内部自带的定时器使用

有关阅读器,寄存器只有一边阅读代码才能够一边去理解。

相关文章
|
5月前
|
供应链 物联网 Android开发
使用LabVIEW开发RFID读卡器程序
使用LabVIEW开发RFID读卡器程序
67 0
HMI-57-【多媒体】收音机 1
前面几篇已经音乐播放器简单搞了一下,可以放音乐了。今天艺术家发来了收音机的界面,今天先搞搞。
HMI-59-【多媒体】收音机 2
今天接着搞收音机,今天我们将把控制台的模拟中控旋钮信号引进到收音机里面来,来控制我们收音机调频。
HMI-54-【多媒体】音乐播放器 3
今天我们接着搞音乐播放器,今天我们实现这个中心的音乐播放器。也就是这个歌曲信息,上一曲下一曲暂停,播放进度啥的。
HMI-52-【多媒体】音乐播放器 1
今天我们搞音乐播放器,哎嗨,这个东西要是往细碎了搞,事情还真不少,今天就先努力实现面上的内容。
HMI-53-【多媒体】音乐播放器 2
今天我们接着搞我们的音乐播放器,今天我把们昨天剩下的那些布局搞一搞,后面再实现细节,今天我们把下面的菜单和逻辑实现了,以及上次漏掉的右上角的子菜单按钮。
HMI-56-【多媒体】音乐播放器 5
上一篇中实现了音乐播放的后台线程,夜里睡觉也没有睡踏实,总是感觉不合适,所以今天还是决定重新搞一下。
HMI-55-【多媒体】音乐播放器 4
今天我们接着搞音乐播放器,今天主要实现音乐播放器的播放音频功能
|
安全 小程序 物联网
1分钟制作专属的RFID安全标签
为自己的网站、支付宝小程序、应用制作一个专属的安全RFID名片。通过手机碰一碰即可访问指定的网站、支付宝小程序、应用。
|
XML JavaScript Android开发
网易新闻RSS阅读器
网易新闻RSS阅读器
385 2