3.物联网射频识别,RFID

news2024/11/25 20:36:20

一。ISO14443-2协议简介

1.ISO14443协议组成及部分缩略语

(1)14443协议组成

14443-1 物理特性

14443-2 射频功率和信号接口

14443-3 初始化和防冲突

14443-4 传输协议

(2)针对前两节的名词,对应的英语缩略语

PCD:近场耦合设备(读写器)

PICC:近场卡或物体(标签)

RF:射频

ASK:振幅键控

OOK:二进制振幅键控

BPSK:二进制相移键控

2.ISO14443-1协议简介

物理特性:ID-1,长86mm,宽54mm,厚0.84mm

3.ISO14443-2功率接口

频率:13.56MHz±7kHz

工作场强度:Hmin=1.5A/m,  Hmax=7.5A/m

4.ISO14443-2信号接口

PCD-PICC信号接口

接口速率:fc/128=13.56M/128≈106kbps

PICC-PCD信号接口

副载波频率:848kHz


二。ISO14443-3 Type A协议简介

1.ISO14443-3部分缩略语

S:通信开始

E:通信结束

P:校验位,Type A

UID:唯一标识符

2.Type A的帧格式

1.短帧

2.标准帧

(1)字节低位在先

(2)校验位P为奇校验,仅仅在PICC到PCD 且速率为106k以上时,最后一个字节的P为偶校验

3.基于位的防冲突帧

3.Type A PICC的状态

4.Type A 的PCD命令及PICC应答

请求(REQA )和唤醒(WUPA)

请求应答(ATQA)

5.补充:Type A 的PCD命令及PICC应答

(1)UID介绍

(2)防冲突(Anticollision)流程

面向比特的防冲突方式

(3)防冲突(Anticollision)命令格式

(4)防冲突(Anticollision)命令中的NVB

(5)防冲突(Anticollision)命令举例

(6)选择(SELECT)和选择应答(SAK)

1.SELECT

2.SAK


三。Mifare S50卡的内部存储结构

1.Mifare系列介绍

NXP公司出品的系列遵循ISO14443-A标准的射频卡

2.Mifare S50卡存储结构

(1)Mifare S50卡存储结构

(2)Mifare S50卡数据块的值结构

1. 值(Value):一个带符号的4 字节值,小端模式(低地址存最低值)。  

2.值按2次正常和1次取反(~表示)存储了3次。  

3.地址(Addr)表示1字节的块编号,分2次正常和2次取反值存储。  

4.可以执行Decrement、Increment、Transfer、Restore命令。

(3)Mifare S50卡每个扇区的控制块(块3)

 一扇一密,便于一卡多用  

每个扇区有独立的控制字,每块由3位组合C1x C2x C3x控制

(4)Mifare S50卡扇区数据块(块0~2) 访问权限

例如:当块0的存取控制位C10 C20 C30=100时,验证密钥A或密钥B后可读;验证密钥B后可写;不能进行值类操作。

(5)Mifare S50卡扇区控制块(块3) 访问权限

例如:当块3的控制位——C13 C23 C33 = 0 0 1时,表示:密钥A:不可读,验证KEYA正确后,可写 ;  控制字段:验证KEYA后,可读、可写;密钥B:验证KEYA正确后,可读、可写。


四。Mifare S50卡的访问流程

1.Mifare S50卡的访问流程

Mifare S50卡三次认证流程

1.挑战值:RB, B产生的随机数;RA A产生的随机数。

2.TokenAB, A对随机数RB使用认证的密钥进行加密计算后的应答值。

3.TokenBA, B对随机数RA使用认证的密钥进行加密计算后的应答值。

4.加密算法为Mifare未公开的“crypto1”,后两步的通信数据是加密的。

2.Mifare S50卡的命令

Mifare S50卡的命令

Mifare S50卡的ACK及NAK应答

S50Authentication命令流程

Addr指块的顺序编号0~63

不切换扇区,同一个扇区只需要认证一次

Read命令流程

Write命令流程

Increment Decrement Restore 命令流程

Transfer命令流程

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决webpack报错:You forgot to add ‘mini-css-extract-plugin‘ plugin

现象: 原因: webpack5.72跟mini-css-extract-plugin有兼容性问题 解决办法:把 new MiniCssExtractPlugin()放在webpack配置文件中plugins数组的第一项: plugins: [ // 此处解决报错:You forgot to add mini-css-extra…

Lua表公共操作

--表的公共操作 t1 {{age 1,name "123"},{age 2,name "456"}} t2 {name "Holens" , sex true} --插入 print(#t1) table.insert(t1,t2) print(#t1) print(t1[3].sex) print("*************************************")--删除 -…

媒体编解码器MediaCodec

目录 1.介绍MediaCodec类 2.创建MediaCodec的方式 3.MediaCodec流程 (1)配置编码参数 (2)创建编码器 (3)创建混合器 (4)开始编码 4.MediaCodec编码的工作方式 5.MediaCodec…

整型提升——(巩固提高——字符截取oneNote笔记详解)

文章目录 前言一、整型提升是什么?二、详细图解1.图解展示 总结 前言 提示:这里可以添加本文要记录的大概内容: 整型提升是数据存储的重要题型,也是计算机组成原理的核心知识点。学习c语言进阶的时候,了解内存中数据怎么存&#…

Lua表实现类

--类 Student { name "Holens",age 1,sex true,Say1 function()print(Student.name.."说话了")end,Say2 function(t)print(t.name.."说话了2")end } Student.Say1() print("*************************************")--声明后添加…

Python大数据之pandas快速入门(一)

文章目录 pandas快速入门学习目标1. DataFrame 和 Series 简介2. 加载数据集(csv和tsv)2.1 csv和tsv文件格式简介2.2 加载数据集(tsv和csv) pandas快速入门 学习目标 能够知道 DataFrame 和 Series 数据结构能够加载 csv 和 tsv 数据集能够区分 DataFrame 的行列标签和行列位…

Windows11安装MySQL8.1

安装过程中遇到任何问题均可以参考(这个博客只是单纯升级个版本和简化流程) Windows安装MySQL8教程-CSDN博客 到官网下载mysql8数据库软件 MySQL :: Download MySQL Community Server 下载完后,解压到你需要安装的文件夹 其中的配置文件内容了如下 [mysqld]# 设置3306端口po…

设计模式4、建造者模式 Builder

解释说明:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 UML 结构图: 抽象建造者(Builder):这个接口规定要实现复杂对象的那些部分的创建,并不设计具体部件对象的创…

【Spring Cloud】Ribbon 实现负载均衡的原理,策略以及饥饿加载

文章目录 前言一、什么是 Ribbon二、Ribbon 实现负载均衡的原理2.1 负载均衡的流程2.2 Ribbon 实现负载均衡的源码剖析 三、Ribbon 负载均衡策略3.1 负载均衡策略3.2 演示 Ribbon 负载均衡策略的更改 四、Ribbon 的饥饿加载4.1查看 Ribbon 的懒加载4.2 Ribbon 的饥饿加载模式 前…

《The Rise and Potential of Large Language Model Based Agents: A Survey》全文翻译

The Rise and Potential of Large Language Model Based Agents: A Surve - 基于 LLMs 的代理的兴起和潜力:一项调查 论文信息摘要1. 介绍2. 背景2.1 AI 代理的起源2.2 代理研究的技术趋势2.3 为什么大语言模型适合作为代理大脑的主要组件 3. 代理的诞生&#xff1a…

【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的预训练模型

前言 文章介绍了一种用于视觉信息提取(VIE)的预训练模型:GeoLayoutLM。GeoLayoutLM通过显式建模几何关系和特殊的预训练任务来提高文本和布局的特征表示。该模型能够提高文档信息抽取的性能。 一、提出背景 当前多模态预训练模型在 SER 任…

c/c++中如何输入pi

标准的 C/C 语言中没有π这个符号及常量,一般在开发过程中是通过开发人员自己定义这个常量的,最常见的方式是使用宏定义: 方法1:#define pi 3.1415926 方法2:使用反三角函数const double pi acos(-1.0);

如何使用记事本制作一个简陋的小网页(2)——表格的建立

前情题要&#xff1a;http://t.csdnimg.cn/bK3H9 1.首先在之前的基础上建立一个新的标签页面。 2.使用<body></body>建立背景颜色 3.表格的填充和使用 如图所示&#xff0c;<table></table>是建立一个表格所需要使用的标签&#xff0c;可以使用width来…

Docker 容器跨主机通信 - Flannel

Author&#xff1a;rab 目录 前言一、架构及环境二、服务部署2.1 Etcd 部署2.2 Flannel 部署2.3 Docker 网络配置 三、容器通信验证及路由分析3.1 通信验证3.2 路由转发分析3.3 数据分发分析 总结 前言 今天是中秋佳节&#xff0c;首先在此祝大家“中秋快乐&#xff0c;阖家团…

java mongodb 并表 group 查询 Bson

对mongodb的使用中&#xff0c;需要将发生额表occr期初表open表&#xff0c;进行union的并表操作后&#xff0c;再进行group&#xff0c;sum&#xff0c;排序&#xff0c;分页操作。 查询了一番后&#xff0c;mongodb4.4版本后&#xff0c;新增了一个管道符&#xff0c;$union…

什么是 DNS 泛洪攻击(DNS 泛洪)

什么是 DNS 泛洪攻击&#xff08;DNS 泛洪&#xff09;&#xff1f; 域名系统 &#xff08;DNS&#xff09; 是用于在网站的机器可读地址&#xff08;例如 191.168.0.1&#xff1a;80&#xff09;和人类可读名称&#xff08;例如 radware.com&#xff09;之间进行解析的目录DN…

【HUAWEI】单臂路由

目录 ​ &#x1f96e;写在前面 &#x1f96e;2.1、拓扑图 &#x1f96e;2.2、操作思路 &#x1f96e;2.3、配置操作 &#x1f363;2.3.1、LSW4配置 &#x1f363;2.3.2、R2配置 &#x1f363;2.3.3、测试网络 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &…

​面试官:谈谈 Go 泛型编程

大家好&#xff0c;我是木川 泛型编程是一种编程范式&#xff0c;它允许编写具有参数化类型的代码&#xff0c;从而增加代码的复用性和灵活性。在泛型编程中&#xff0c;你可以编写一段代码&#xff0c;使其适用于不同类型的参数&#xff0c;而不需要为每种类型编写不同的实现。…

js 时差计算 根据时间戳获取相差时间 几时几分几秒

上代码 // 如下&#xff1a;封装方法直接调用console.log("根据时间戳差值计算相差几小时几分几秒"); console.log("时间相差", timestampDifference(1695522383442 ,1695521518845)); 根据测试代码段 可以在浏览器控制台打印&#xff1a; 可以看到 &…

No148.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…