RFID标签分类

1.LF(Low frequency) 低频

频段范围: 125 KHz~135KHz(ISO18000-2)

常见应用:该频段特点是具有良好的物体穿透能力。广泛应用于进出管理、门禁管理、考勤、车辆管理、

巡更、汽车钥匙、动物晶片、固定设备等。

2.HF(High Frequency) 高频

频段范围: 13.56MHz(ISO18000-3)

常见应用:供应链、生产管理与产品跟踪、货架、智慧卡(身份证、医保卡与交通卡等)、运输、门禁、票>>务(门票、电子票务)、图书和旅游卡等。

3.UHF(Ultra High Frequency) 超高频

频段范围:860MHz~960MHz(ISO18000-6)

常见应用:国土安全、供应链、物流、移动商务、防伪、电子牌照、仓库管理、机场行李管理等

4.MW(Micro Wave) 微波

频段范围:2.45 GHz(ISO18000-4)与5.8GHz(ISO18000-5)

常见应用:定位跟踪、自动收费系统、移动车辆识别


UHF RFID存储区简介

1.TID区

RFID标签的唯一识别码区、TID号码唯一且不重复, 相当于芯片的 "身份证"

2.EPC区

存储用户的EPC信息、16进制数据。不同厂商的RFID芯片可写入的位数有所不同,常见EPC存储16/24位。

3.User区

存储用户的自定义数据, 不同厂商该区不一样。impinj G2则没有用户区, Philips则有28字节。

4.Reserved区

存储Kill Password(销毁)与Access Password(访问)密码。前两个字节销毁密码、后两个字节访问密码。

以上4个存储区均可写保护。意味着保护后该区永不可写或非安全模式下不可写。读取保护则只对密码区设置有效, 即需要在安全模式下进行访问。TID与EPC则无法设置读取保护。


UHF RFID阅读器操作[ Impinj SDK C#示例 ]

不同阅读器只会有SDK的调用方式有所不同, 功能都相同

1.EPC写入 [ 代码示例 ]

常见的EPC写入、SDK需要先锁定需要操作的RFID标签。

TID锁定: TID唯一码改写,适用于批量更新,准确

EPC锁定: EPC可能存在重复的情况, 影响更新性能

static void ProgramEpc(string tid, string currentEpc,ushort currentPcBits, string newEpc)
{
// 检查指定的 EPCs 是否有效长度
if ((currentEpc.Length % 4 != 0) || (newEpc.Length % 4 != 0))
throw new Exception("EPCs must be a multiple of 16 bits (4 hex chars)");
//创建标签操作序列
TagOpSequence seq = new TagOpSequence();
seq.TargetTag.MemoryBank = MemoryBank.Tid;
seq.TargetTag.Data = tid;
TagWriteOp writeEpc = new TagWriteOp();
writeEpc.Id = EPC_OP_ID;
writeEpc.MemoryBank = MemoryBank.Epc;
writeEpc.Data = TagData.FromHexString(newEpc);
writeEpc.WordPointer = WordPointers.Epc;
//标签访问密码,未加密前默认8个0
writeEpc.AccessPassword = TagData.FromHexString("00000000");
seq.Ops.Add(writeEpc);
if (currentEpc.Length != newEpc.Length)
{
ushort newEpcLenWords = (ushort)(newEpc.Length / 4);
ushort newPcBits = PcBits.AdjustPcBits(currentPcBits, newEpcLenWords);
TagWriteOp writePc = new TagWriteOp();
writePc.Id = PC_BITS_OP_ID;
writePc.MemoryBank = MemoryBank.Epc;
writePc.Data = TagData.FromWord(newPcBits);
writePc.WordPointer = WordPointers.PcBits;
//标签访问密码,未加密前默认8个0
writeEpc.AccessPassword = TagData.FromHexString("00000000");
seq.Ops.Add(writePc);
}
reader.AddOpSequence(seq); //操作序列添加进入阅读器中
}

2.EPC写保护 [代码示例]

防止标签进行初始化后, 其他人员恶意进行非法更新或销毁操作, 使得芯片无法在流程及应用中发挥其作用, 一般标签在初始化后需要进行加密保护或标签供应商出厂前进行加密保护, 加密保护主要包含销毁与访问密码保护。

                    TagWriteOp writeOp = new TagWriteOp();
writeOp.Id = pcid;
writeOp.AccessPassword = null;
writeOp.MemoryBank = MemoryBank.Reserved;
writeOp.WordPointer = WordPointers.AccessPassword;
writeOp.Data = TagData.FromHexString("00000000");
seq.Ops.Add(writeOp);
//EPC 标签锁定操作
TagLockOp lockOp = new TagLockOp();
lockOp.Id = pcid;
lockOp.AccessPasswordLockType = TagLockState.Lock;
lockOp.UserLockType = TagLockState.Lock;
seq.Ops.Add(lockOp);

3.User区写入 [ 代码示例 ]

                // Create a tag write operation.
TagWriteOp writeOp = new TagWriteOp();
// Write to user memory
writeOp.MemoryBank = MemoryBank.User;
// Write two (16-bit) words
writeOp.Data = TagData.FromHexString("00000000");
// Starting at word 0
writeOp.WordPointer = 0;
// Add this tag write op to the tag operation sequence.
seq.Ops.Add(writeOp);
// Add the tag operation sequence to the reader.
// The reader supports multiple sequences.
reader.AddOpSequence(seq);

4.Kill Tag销毁标签 [ 代码示例 ]

未加密的标签销毁密码同访问密码为8个0组成, 销毁密码的过程中, 需要单独给其设定一个销毁密码, 如已设置销毁密码则按设置后的密码, 标签一旦销毁, 则灭活无法正常读取。

        static void SequenceWriteTag(string epc)
{
TagOpSequence seq = new TagOpSequence();
var target = new TargetTag();
target.MemoryBank = MemoryBank.Epc;
target.BitPointer = BitPointers.Epc;
target.Data = epc;
seq.TargetTag = target;
TagWriteOp writeOp = new TagWriteOp();
writeOp.AccessPassword = null;
writeOp.MemoryBank = MemoryBank.Reserved;
writeOp.WordPointer = WordPointers.KillPassword;
writeOp.Data = TagData.FromHexString(KILL_PW);
seq.Ops.Add(writeOp); // Define a tag kill operation.
TagKillOp killOp = new TagKillOp();
// Specify the kill password for this tag.
// The kill password cannot be zero.
killOp.KillPassword = TagData.FromHexString(KILL_PW);
// Add this tag write op to the tag operation sequence.
seq.Ops.Add(killOp);
reader.AddOpSequence(seq);
}

UHF RFID读写器读取性能影响分析

1.阅读器功率

直接影响到读取标签的性能, 距离。 功率↑性能↑ 功率↓性能↓

2.阅读器频率

不同的RFID标签,频率不同、读取设定的频段也会受到影响

3.阅读器

各种阅读器之间有差异,主要体现在: 读写性能、设备稳定性、可扩展、及成熟的算法等方面。

4.天线的增益及馈线的衰减

通常来讲、RFID天线增益上调对应的距离、性能会更好。

5.RFID标签种类

不同种类的RFID标签、型号、不同的厂家生产设计。标签性能都会有所不同。

6.读取方向及环境

标签与天线极化方向与相对角度的配合度,方向一致配合度高,读写距离就远,反之,不配合的话读距近

RFID相关知识总结(超高频UHF)的更多相关文章

  1. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  2. 移动WEB像素相关知识

    了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...

  3. listener监听器的相关知识

    从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...

  4. UIViewController相关知识

    title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...

  5. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  6. NSString使用stringWithFormat拼接的相关知识

    NSString使用stringWithFormat拼接的相关知识 保留2位小数点 1 2 3 4 //.2代表小数点后面保留2位(2代表保留的数量) NSString *string = [NSSt ...

  7. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  8. 电路相关知识--读<<继电器是如何成为CPU的>>

    电路相关知识–读<<继电器是如何成为CPU的>> */--> *///--> *///--> 电路相关知识–读<<继电器是如何成为CPU的> ...

  9. 地址标记,SpringMVC转发与调用相关知识存档

    1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...

随机推荐

  1. [PHP] 项目实践中的自动加载实现

    1.使用spl_autoload_register函数注册一个自己定义的自动加载函数2.当在代码中new一个不存在的类的时候,上面的函数会被调用,不存在的类名会被作为参数传入该函数中3.兼容了两种方式 ...

  2. JAVAWEB复习笔记-day02

    1.CSS样式优先级 优先级:由上到下,由外到内.优先级越来越高 2.css选择器 html标签选择器 class选择器(.) id选择器(#) 3.优先级 style属性>id选择器>c ...

  3. luogu P1904 天际线

    分析 都知道是从左向右扫描 可是该维护什么,扫描什么? 注意想想怎么输出, 实际上它要的输出就是图形的轮廓,即每个突出块的左上节点的x,y 所以说, 我们可以把扫描线扫进的楼房放入线段树,扫出的楼房删 ...

  4. 201871010107-公海瑜《面向对象程序设计(java)》第八周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第八周学习总结           项目              内容    这个作业属于哪个课程    https:// ...

  5. JavaMap常用操作

    判断key值是否存在 map.containsKey("youkey") 根据key修改value值 map.put("youkey","you ne ...

  6. BOI 2003 团伙

    洛谷 P1892 [BOI2003]团伙 洛谷传送门 题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋 ...

  7. LG2770/LOJ6122 航空路线问题 费用流 网络流24题

    问题描述 LG2770 LOG6122 题解 教训:关掉流同步之后就不要用其他输入输出方式了. 拆点. 两个拆点之间连\((1,1)\),其他连\((1,0)\) \(\mathrm{Code}\) ...

  8. Nacos 解读:服务发现客户端

    Nacos是阿里巴巴的微服务开源项目,用于服务发现和配置管理,开源以来我就一直关注,在此准备以几篇文章来窥其全貌,但大段大段贴代码就没必要了,这里用自己的一些理解和总结来帮助大家理解.文章将基于截止目 ...

  9. 单交换机VLAN划分(基于Cisco模拟器)

    实验目的: (1)掌握交换机配置的几种模式及基本配置命令. (2)掌握VLAN的原理及基于交换机端口的VLAN划分方法. 实验设备: 交换机一台,主机四台,直通线四根 实验步骤: 1.给交换机划分VL ...

  10. 其它 dev是什么意思

    原文:https://blog.csdn.net/zsl131557/article/details/80886114 原文:https://blog.csdn.net/LYmahang123/art ...