射频识别技术RFID

射频识别技术RFID

image-20200904164907814

RFID介绍

射频识别: 英文名称是(Radio Frequency Identification), 简称是“ RFID” 又称 无线射频识别, RFID是物联网的其中一种终端技术。

RFID是一种通信技术, 可通过无线电讯号耦合识别特定目标并读写相关数据, 而无需识别系统与特定目标之间建立机械或光学接触。

正被广泛用于采购分配、 商业贸易、 生产制造、 物流、 防伪以及军事用途上。

RFID主要位于典型物联网架构中的感知层,是整个物联网的最底层, 也是与‘ 万物’链接的媒介之一。

正因其具有非接触式特性, 其运用很广泛,且随着不同应用场景的出现, RFID协议也随着增多, 难以统一。

如在消费电子行业中比较典型的应用NFC( RFID的子集) , 以统一的标准, 安全,低功耗, 近距离等特性, 在支付领域应用广泛。

image-20200904165104650

RFID应用

智慧交通

image-20200904165139123

智慧仓库

image-20200904165149599

RFID 原理

读写器向M1卡发一组固定频率的电磁波, 卡片内有一个LC串联谐振电路, 其频率与读写器发射的频率相同, 在电磁波的激励下, LC谐振电路产生共振, 从而使电容内有了电荷, 在这个电容的另一端, 接有一个单向导通的电子泵, 将电容内的电荷送到另一个电容内储存, 当所积累的电荷达到2V时, 此电容可做为电源为其它电路提供工作电压, 将卡内数据发射出去或接取读写器的数据。

image-20200904165216145

RFID 组成

  • 应答器

天线耦合元件芯片组成, 一般来说都是用标签作为应答器, 一般分为被动式主动式半主动式, 每个标签具有唯一的电子编码, 附着在物体上标识目标对象。

  • 阅读器

由天线, 耦合元件, 芯片组成, 读写标签信息的设备, 可设计为手持式rfid读写器或固定式读写器。

  • 应用软件系统

应用层软件, 主要是把收集的数据进一步处理,并为人们所使用。

nfc可以既是应答器, 也可以是阅读器存在。

RFID协议

ISO/IEC 14443:国际标准ISO 14443定义了两种信号接口, 分别是 TypeATypeB 且互不兼容。

  • TypeA类卡:

MIFARE Std 1k(MF1 IC S50): 国内常称MF1 S50

MIFARE Std 4k(MF1 IC S70): 国内常称为MF1 S70

广泛应用

  • TypeB类卡:

    我国第二代居民身份证

    AT88RF020: 美国爱特梅尔(ATMIL)生产, 典型应用, 如地铁卡。

卡的状态 :

POWER OFF: 缺少载波能量

IDLE: 等待读写器发来的请求

READY: 收到读写器发来的请求

ACTIVE: 收到读写器发来的选择

HALT: 读写器发来的停止命令

卡片请求命令:

REQA: 请求未被HALT的TypeA卡–0x26

WAKE-UP: 请求所有的TypeA卡–0x52

image-20200904165316967

  • 防冲突

多卡操作, 判断卡号是否完整

  • 选择

    根据完整的UID, 选择相应的卡片

  • HALT

    停止该卡, 除非读写发送WAKE-UP请求

  • CRC

    检验值为6363( A类卡)

    校验值为FFFF( B类卡)

  • 流程 :

    REQB : 寻卡

    ATTRIB : 匹配属性

GetUID : 获得卡号

  • 验证密码

指定加密类型, 指定块号( 0~63) , 指定密码, 指定卡号

  • 读块内容

验证密码后, 再次指定块号( 0~63)

  • 写块内容

验证密码后, 再次指定块号( 0~63)

RFID应答器— — 卡片

ID卡( Identification Card, 身份识别卡)

  • 一种不可写入的感应卡, 含固定的编号。
  • 主要有台湾SYRIS的EM格式、 美国HIDMOTOROLA等各类ID卡。
  • ID卡与磁卡一样, 都仅仅使用了“ 卡的号码” 而已,卡内除了卡号外, 无任何保密功能, 其“ 卡号” 是公开、 裸露的。
  • ID卡就是“ 感应式磁卡” 。

IC卡 (Integrated Circuit Card, 集成电路卡)

  • 将一个微电子芯片嵌入符合ISO 7816标准的卡基中, 做成卡片的形式。
  • IC卡与读写器之间的通讯方式可以是接触式, 也可以是非接触式。
  • 由于其固有的信息安全、 便于携带、 比较完善的标准化等优点, 在身份认证、 银行、 电信、 公共交通、车场管理等领域正得到越来越多的应用。
  • 常见的有二代身份证, 银行的电子钱包, 电信的手机SIM卡, 公共交通的公交卡、 地铁卡, 用于收取停车费的停车卡等

ID卡 :

image-20200904171114992

IC卡 :

image-20200904171129026

S50非接触式IC卡性能简介( M1)

  • 容量为8K位EEPROM
  • 分为16个扇区, 每个扇区为4块, 每块16个字节,以块为存取单位
  • 每个扇区有独立的一组密码及访问控制
  • 每张卡有唯一序列号, 为32位
  • 具有防冲突机制, 支持多卡操作
  • 无电源, 自带天线, 内含加密控制逻辑和通讯逻辑电路

数据保存期为10年, 可改写10万次, 读无限次

  • 工作温度: -20℃ ~50℃ (湿度为90%)
  • 工作频率: 13.56MHZ
  • 通信速率: 106 KBPS
  • 读写距离: 10 cm以内( 与读写器有关)

RFID阅读器— — FM17550(MFRC522)

读写器:

  • 通信频率
  • 支持协议
  • 读写距离
  • 通信速率
  • 寄存器配置

天线发送, 接收

系统复位

调制方式

缓存区操作

  • 常见的有FM17550, FM17522, MFRC523, MFRC522

软件通信接口

  • SPI, I2C, UART

数据流

  • 上位机<–>读写器<–>射频卡

软件架构

  • 软件通信接口初始化
  • 读写器初始化
  • 根据相应射频协议组包, 通过读写器与射频卡通信

对于FM17550串口配置

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

  • 波特率为9600
  • 无奇偶校验位
  • 无硬/软流控
  • 数据位为8bit
  • 1位停止位

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

硬件复位

  • 外部IO, 保持低电平一定时间

确认复位成功

  • 读地址为0x37h的版本寄存器的值
  • mfrc522— — 0x92
  • fm17550— — 0x88

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

软件复位

  • 向CommIEnReg寄存器写复位命令

发送部分

  • TxModeReg, 根据A类, B类设置bit

接收部分

  • RxModeReg, 根据A类, B类设置bit

天线

  • TxControlReg, 复位

特征参数

  • Status2Reg, 关闭加密传输
  • ModeReg, 根据A类, B类设置相应的CRC校验值
  • TReloadRegL, TReloadRegH, TModeReg,TPrescalerReg设置定时器
  • TxASKReg, A类100%ASK, B类无需100%ASK

image-20200904230818987

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

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

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

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

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

实际接收到的数据比特位总数为:假设FIFOLEVELREG读的值N, N字节实际接收的数据比特位总数 = (N-1)*8 + rxlastbits

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

  • ( RESETPHASE) 1111代表读写器立即软复位命令
  • ( TRANSCEIVE) 1100代表读写器准备发送并接收射频卡的数据。
  • 读写器执行TRANSCEIVE命令收发数据前, 需要将 BITFRAMINGREG寄存器内的startsend位置1。

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

实现25ms定时:

  • 上位机可以启动定时器或通过软件延时
  • 也可以利用读写器内部的定时器:
  • TMODEREG : 内部的Tauto位可以在读写器无线数据通信时, 自动开启定时器
  • TPRESCLALERREG : 与TMODEREG的低两位组成一个10位的分频器
  • TRELOADHIREG,TRELOADLOREG : 共2字节, 定时器装初值

在相应的时间结束后, 我们不能直接去读FIFO

而是在读写器中有相应的接收完成状态标志位

状态位相关寄存器:

  • COMMIENREG : 状态中断使能, 我们可以使能TX,RX,ERR,TIMER等状态标志位。
  • COMMIRQREG : 状态标志位, 使用前需软件复位清零, 我们使能了RX, 就可在COMMIRQREG寄存器中判断RX的相应为是否被置1, 即接收完毕。
  • 同理, 如何知道25ms的定时是否到了, 我们可以while的读取COMMIRQREG寄存器中TIMER的状态,被置1, 说明时间到了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/613839.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人脸识别之bbox【det_10g】-ncnn(c++)

模型描述 det_10g是insightface 人脸框图和人脸关键点的分类&#xff0c;最终能够得到人脸框图bbox&#xff0c;分值还有人脸五官&#xff08;眼x2、鼻子x1、嘴巴x2&#xff09; 由于我这里没有采用最终结果&#xff0c;通过onnx转换为ncnn&#xff0c;所以后面的步骤结果丢弃…

空间复杂度与链表刷题

"一切的一切都是你自己在感应." 本文索引 空间复杂度复杂度实例实例1实例2实例3 链表题目1. 返回倒数第K个节点2. 链表的回文结构3. 相交链表4. 随机链表的复制5. 环形链表 总结: 前言: 本文主要探究空间复杂度与链表题目讲解 更多文章点击主页: 酷酷学!!! 如果此文对…

Python自动化测试面试题 —— Selenium篇!

Selenium中有几种等待 隐形等待/智能等待 dr.implicitly_wait() 显性等待 WebDriverWait 强制等待 time.sleep() Selenium中有哪些定位方式 8种 tag 三大基本属性 id/name/class_name 链接 link text/partial link text 高级 css selector/xpath 弹框怎么处理 4种弹…

Mac电脑安装打开APP显示问题已损坏 问题解决

当MAC电脑安装完软件打开时&#xff0c;显示文件已损坏&#xff0c;无法打开。搜了很多教程终于找到解决方案&#xff0c;记录下方便以后再用。 我的mac电脑是intel芯片的&#xff0c;如果你遇到这个问题&#xff0c;可以参考我的这个方案。 1.首先当打开软件后出现 “xx软件已…

云效 Pipeline as Code 来了!这些场景,用好它效率翻倍!

从可视化编排到支持 YAML 编排 云效流水线 Flow 是开箱即用的企业级持续集成和持续交付工具&#xff0c;支持丰富的代码源、构建、自动化测试工具、多种部署类型和部署方式&#xff0c;与阿里云深度集成&#xff0c;还提供多种企业级特性&#xff0c;助力企业高效完成从开发到…

【Pip】pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED]解决方案

pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED] 大家好 我是寸铁&#x1f44a; 总结了一篇pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED]✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 报错 今天在安装第三方包时报错如下: 解决方案 本质上是需要指定信任的镜像…

SpringBoot+Vue实现图片滑块和文字点击验证码

一、背景 1.1 概述 传统字符型验证码展示-填写字符-比对答案的流程&#xff0c;目前已可被机器暴力破解&#xff0c;应用程序容易被自动化脚本和机器人攻击。 摒弃传统字符型验证码&#xff0c;采用行为验证码采用嵌入式集成方式&#xff0c;接入方便&#xff0c;安全&#…

train_gpt2_fp32.cu

源程序 llm.c/test_gpt2_fp32.cu at master karpathy/llm.c (github.com) #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include <assert.h> #include <float.h> #include <string.h> #include…

国内十大免费图床推荐

国内十大免费图床推荐 近期&#xff0c;莫卡乐AI导航站汇总了国内一些出色的图床网站&#xff0c;既有知名大站&#xff0c;也有小众网站&#xff0c;用户的使用体验都非常好&#xff01; 1.路过图床 地址&#xff1a;https://imgse.com/ 我们是国内知名的图床之一&#xf…

Windows只能安装在GPT磁盘上

转换磁盘分区形式 步骤1. 先按照正常流程使用Windows系统安装光盘或系统U盘引导计算机。 步骤2. 在Windows安装程序中点击“开始安装”&#xff0c;然后按ShiftF10打开命令提示符。 步骤3. 依次输入以下命令&#xff0c;并在每一行命令后按一次Enter键执行。 步骤4. 等待转换…

条件平差——以水准网平差为例 (python详细过程版)

目录 一、原理概述二、案例分析三、代码实现四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、原理概述 条件平差的函数模型和随机模型为: A V + W = 0

Dbeaver network unavailable due to certificate issue

场景&#xff1a;出现在DBeaver连接数据库下载驱动的时候 解决&#xff1a; 别勾选就可以了

制冰机的分类介绍

制冰机分别有哪些类型&#xff1f;制冰机顾思义就是制作冰块的机器&#xff0c;但是冰块分片冰、块冰、管冰、颗粒冰等。根据制冰机制出冰块的形状&#xff0c;可以分为&#xff1a;片冰机、块冰机、管冰机、颗粒冰机、雪花机、板冰机、以及最新研制的球冰机等。 制冰机是采用制…

linux 安装 mangodb 并设置服务开机自启

1、下载 wget http://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz 2、解压 tar -zxvf mosquitto-1.6.8.tar.gz 3、编译安装cd mosquitto-1.6.8 make sudo make install4、在当前目录。进入mosquitto服务文件存放的文件夹 cd service/systemd可以看到3个文件 点击read…

2024年旅游行业薪酬报告

来源&#xff1a;薪智 近期历史回顾&#xff1a; 2024年中国健康家电消费洞察及趋势研究报告.pdf 2024巴菲特股东大会5万字完整版.pdf 2024年全国大学生新媒体直播大赛.pdf 2024北京市高级别自动驾驶示范区数据安全治理白皮书.pdf 2024年第一季度开发者健康调查报告.pdf 2024年…

商务分析方法与工具(八):Python的趣味快捷-年少不知numpy好,再见才觉很简单

Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢我的博客的话&#xff0c;记得…

CentOS 磁盘扩容与创建分区

文章目录 未分配空间创建新分区重启服务器添加物理卷扩展逻辑卷 操作前确认已给服务器增加硬盘或虚拟机已修改硬盘大小&#xff08;必须重启服务才会生效&#xff09;。 未分配空间 示例说明&#xff1a;原服务器只有40G&#xff0c;修改虚拟机硬盘大小再增加20G后硬盘变为60G。…

OpenID Connect 是什么?和 OAuth 有哪些异同?

因为工作关系&#xff0c;我需要给一个业务网站配置一个 SSO&#xff0c;我一看&#xff0c;这个业务网站只支持 SAML 和 OpenID Connect&#xff0c;也即 OIDC。其实早就听说过这个词&#xff0c;但是没有仔细了解过。所以&#xff0c;特来学习一下到底什么是 OIDC。 一、 什…

【计算机网络】计算机网络的性能指标

&#x1f6a9;本文已收录至专栏&#xff1a;计算机网络学习之旅 计算机网络的性能指标被用来从不同方面度量计算机网络的性能。常用的八个计算机网络性能指标&#xff1a;速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率。 一.速率 (1) 数据量 比特&#…

【论文笔记】DualBEV: CNN is All You Need in View Transformation

原文链接&#xff1a;https://arxiv.org/abs/2403.05402 1. 引言 有效的BEV目标检测需要PV到BEV的视图变换&#xff08;VT&#xff09;。目前的VT分为2D到3D和3D到2D两类&#xff0c;前者通过预测深度概率提升2D特征&#xff0c;但存在深度不确定性&#xff1b;后者则使用3D查…