基于RFID的电子标签设计与制作_rfid设计-程序员宅基地

技术标签: 物联网  嵌入式硬件  射频工程  iot  

1.RFID电子标签背景简介

  RFID(Radio Frequency Identification)是一种无线通信技术,它通过利用无线电波实现对特定目标的自动识别和数据交换,而无需相互接触。其基本原理可以分为三个部分:标签、阅读器和中间件[1][2],如图1所示。
   ① 标签:RFID标签是嵌入或附着在目标物体上的微型电子设备,它包含一个唯一的标识符(UID)和一个无线天线,用于接收和发送信号。标签可以分为无源标签和有源标签两种类型,无源标签仅能反射返回的信号,而有源标签则可以主动发送信号。
   ② 阅读器:RFID阅读器是一种可以发送和接收无线电波信号的设备,它可以激活电子标签并读取或写入其中的数据。阅读器通常由耦合模块、收发模块、控制模块和接口单元组成。在读取标签信息时,阅读器会发射一束无线电波能量,这些能量会被标签反射或吸收,并被阅读器接收和解读。
   ③ 中间件:中间件是一种软件系统,它可以连接阅读器和后端应用程序,实现数据的采集、过滤、整合和传递。中间件可以与阅读器进行通信,将读取到的数据传输到后端系统中进行处理和应用。
图 1 RFID原理示意图

2.RFID电子标签设计

2.1设计内容

  设计一款校园卡外形的RFID电子标签,标签表面焊接有LED灯,可以直观地通过LED灯的亮灭来判断RFID电子标签的识别情况。同时,还通过编程RFID芯片,在前端执行自动化指令。

2.2芯片选型

  恩智浦的NTAG系列连接型RFID标签为许多电子设备增加了即触即连的功能。NT3H1101 NFC芯片作为恩智浦NTAG系列的第一款产品,是本设计的核心部件。考虑到应用需求、成本和板面布局,选用NXP公司NTAG系列 NT3H1101W0FHKH NFC芯片作为卡片交互核心。芯片采用XQFN-8封装,十分小巧。
   NT3H1101芯片与微控制器遵循IIC通信协议,RFID协议为2型NFC通信标准。如图2所示,芯片通过PCB上射频天线从接触的有源RFID设备上获取能量,并完成数据交互。交互的数据被写入片上EEPROM用以掉电后的再次读写。另一边,RFID标签经过芯片转换电磁波获得的能量被供给到外部设备,同时芯片通过IIC与板载外部设备(微控制器)通信。可以看出,NTAG芯片在过程中起到了触碰信息转移和触碰能量传递的中间介质。
   在本设计中,由于电子标签无需实现外部控制,所以信息的传递主要存在于NT3H1101芯片和触碰设备之间。芯片获得的能量被传递给LED灯,用于点亮灯珠显示。

图 2 交互系统结构

2.3射频天线设计

  射频天线是电子标签通电和通讯的关键,设计电子标签一般需要以下步骤[3],如图3所示。

图 3 电子标签设计步骤

2.3.1等效模型的建立

  天线可以用电感LA来描述,电感LA具有非常小的损耗电阻RA。当环形天线感应到磁场时,其中会感应出电流,并且其端子处出现开路电压VOC。RFID芯片可以用输入电阻RS和内置调谐电容CS来描述。输入电阻RS、天线电阻RA和内置调谐电容CS一起与天线的电感LA形成串联谐振电路,如图4所示。

图 4 天线等效模型

2.3.2目标电感的测定

  串联RLC电路的谐振频率由下式给出:
在这里插入图片描述

  已知NT3H1101芯片采用NFC通信标准,该标准规定的工作频率为13,56 MHz,而NT3H1101调谐电容为50 pF,则计算电感值为:
在这里插入图片描述

2.3.3天线形状的确定[4]

  在PCB上设计具有特定电感的环形天线是可能的,天线可以采用各种形状,如:矩形、方形、圆形等,但必须遵守几何约束,因为在高频环境下,天线需要考虑阻抗匹配问题,这关系到设备的通信质量和性能。
天线阻抗包括电阻和电抗两个组成部分,因此,要实现阻抗匹配,需要同时考虑这两个部分。具体来说,需要使电阻相等,电抗部分的大小也相等但符号相反,以达到共轭匹配。实现天线的阻抗匹配有多种方法,其中常见的一种是使用阻抗匹配网络,该网络包括电阻、电容和电感等元件。对于每种形状,通过阻抗匹配对应一个特定的公式,该公式根据尺寸、匝数、轨道宽度、铺铜厚度等给出等效电感值。
  由于我设计的电子标签是校园卡外形,所以选择与之外形匹配的矩形天线,其几何形状如图5所示:
图 5 矩形天线
  通过查阅NXP官方天线设计指南,对于此特定几何形状,天线等效电感LA由下式给出:在这里插入图片描述
在这里插入图片描述
其中:a0和b0是天线的整体尺寸
   aavg和bavg是天线的平均尺寸
    t是天线铺铜厚度
    w是矩形天线宽度
    g是内外矩形天线间隙宽度
    Nant是天线匝数
    d是天线的等效直径
  此外,NXP官方天线设计指南还提供了完整的解决方案,包括天线设计的参考。虽然可以通过上述公式计算出板载天线的尺寸,但在本次设计中,考虑到设计效率和卡片空间的充分利用,直接选择了天线设计指南中的“4型”天线设计方案[5],该方案旨在提供最佳的天线性能和尺寸,适用于各种电子标签和读卡器应用场景。
  再完善NTAG芯片及外围电路设计后,电子标签整体电路图如图6所示:
图 6 电子标签电路图

2.4 对RFID电子标签进行编程

  编程需要的工具是一部带NFC的手机和一个可以使用NFC读取和写入标签的应用程序,在NFC应用程序中,选择要读取或写入的RFID电子标签的类型和扇区。扇区是RFID电子标签的存储单元,每个扇区包含若干个块,每个块包含若干个字节。通过在手机端读取并改写RFID不同扇区的存储信息,完成数据的接受与发送。

2.5 RFID电子标签效果展示

  将RFID电子标签贴近阅读器,阅读器可以是带NFC功能的手机或者门禁系统,RFID电子标签上的指示灯亮起,并传递相应信息给阅读器,如图7:
图 7 效果图
   此外还可以配合相应APP完成各种有趣的功能,比如:通过NFC自动打开音乐、展示个人信息等。

2.6 RFID电子标签改进

  考虑到NT3H1101芯片单片售价4块多,与传统IC卡相比不具有性价比,因此仿照以上步骤,采用国产复旦M1-UCID芯片,单价仅0.8块,也能够完成上述电子标签的全部功能,效果展示如图8:

图 8 效果图

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_65675467/article/details/133962420

智能推荐

ffmpeg获取设备支持的分辨率_FFmpeg 基础知识-程序员宅基地

文章浏览阅读632次。FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库 libavcodec。官方网站:http://www.ffmpeg.org/项目组成libavformat封装模块,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于..._ffmpeg读取分辨的库

OpenWRT编译 -- 静态编译驱动到内核中的方法_openwrt中添加驱动编译进内核-程序员宅基地

文章浏览阅读9.6k次。申明:小弟openwrt初学,很多东西都不知道,在偶然的机会用到openwrt,想要将自己写的驱动程序编译进内核中,费了九牛二虎之力,最终还是直接在内核源码中进行增加才搞定,过程尽可能的详细,也是自己的一个学习过程,也是给自己做一个笔记后面遇到可以借鉴。另外,第一次写博客,希望大家不喜勿喷哦,当然文档中有任何问题都欢迎能指出来,而且在过程中遇到了一个问题到现在没有找出为什么,希望大家看到了..._openwrt中添加驱动编译进内核

Unity2D 面向目标方向-程序员宅基地

文章浏览阅读1.7k次。在2d空间上,假设角色的自身的y轴方向为正方向,如果要让角色随时面向一个目标点。这里假设(0,0)点为目标点第一种:Vector3 v = Vector3.zero - transform.position; //首先获得目标方向 v.z = 0; ..._unity 2d中哪个方向是forward

基于XDMA 的PCIE读写DDR_xdma ddr-程序员宅基地

文章浏览阅读7.4k次,点赞16次,收藏100次。基于XDMA 的PCIE读写DDR概述:  想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实现功能:PC通过PCIE读写DDR,同时用户通过逻辑代码可以读取被写入DDR内的数据(我是通过VIO实现DDR任意地址,任意数据大小的读取。)。实践实践!!!说明:参考文档:PCI Express Base Specification Revision 3.0P_xdma ddr

缓存穿透与布隆过滤器_缓存穿透 布隆过滤器-程序员宅基地

文章浏览阅读1.7k次。本文主要介绍在使用缓存过程中经常会遇到的几个问题:缓存击穿、缓存雪崩、缓存穿透,以及其解决方案。之后会对缓存穿透的解决方案之一布隆过滤器,进行详细讲解。_缓存穿透 布隆过滤器

pandas写入oracle,python pandas dataframe 读取和写入Oracle-程序员宅基地

文章浏览阅读1.4k次。1、代码:主要写入时表要为小写,否则报错Could not reflect: requested table(s) not available in Enginefrom sqlalchemy import create_engineconn_string='oracle+cx_oracle://admin:[email protected]:1521/ORCL?charset=utf8'..._pandas cx_oracle 写入

随便推点

【数学建模】元胞自动机-程序员宅基地

文章浏览阅读3.1k次,点赞55次,收藏63次。【数学建模】元胞自动机_元胞自动机

python 基因序列提取_Python + 生物信息 05 : 提取 CDS 等其他特征序列-程序员宅基地

文章浏览阅读1.4k次。1 介绍在基因结构分析或其他生物功能分析中会时常用到 CDS 序列,以及其他诸如 mRNA 序列,misc RNA序列等具有生物意义的序列片段。而NCBI 的基因库中已经包含有这些的信息,但是只有一部分是整理可下载的。而剩下的一部分可以通过 genbank给出的位点信息来提取,个人能力有限,这里只做抛转之用。下面以提取 CDS 为例,记录提取序列过程,其他特征序列类似。2 结构目录3 Python..._提取dna中cds序列

php 获取 mysql多行数据 存在数组中_mysql 将多行数据添加到数组-程序员宅基地

文章浏览阅读753次。个人习惯使用面向对象的方式来操作mysql。首先定义一个二维数组,用来存储结果。结果集取得一行就是一个数组,因为有多行数据,所以是二维。$data=array();这条代码$result->fetch_assoc()是: 从结果集中取得一行作为关联数组:那么就有:while($row = $result->fetch_assoc()){ array_push($data,$row);}不断从结果集读取数据,并将每行数据加到二维数组data中,直到读取完毕_mysql 将多行数据添加到数组

Python学习系列之zip函数_python in zip-程序员宅基地

文章浏览阅读677次。目录一、zip函数(内建函数)1.1 定义基本语法:参数说明:返回值:示例:1.2 处理列表1.3 处理元组 1.4 处理字典 1.5 处理一个参数和空列表一、zip函数(内建函数)1.1 定义 Python 2:zip() 函数用于将可迭代的对象(字典,列表,元组,集合,字符串等)作为参数,将对象中..._python in zip

探索网络攻防技术:自学之道_网络攻防自学-程序员宅基地

文章浏览阅读383次。网络攻防技术在不断演进,新的威胁和安全措施不断出现。因此,持续学习和跟进是至关重要的。订阅安全博客、参加安全研讨会、阅读最新的安全报告等方式,可以帮助你保持对新技术和趋势的了解。_网络攻防自学

0-1字典树总结和经典例题(ing)_字典树例题 poj-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏5次。Table of Contents0-1字典树例题1. CSU 1216:异或最大值:给定一些数,任意两个数的最大异或值例题2.HDU 4825Xor Sum:每次询问给出一个数,找出一个与它异或结果最大的数例题3.HDU 5536Chip Factory: 计算(s[i] + s[j]) ^ s[k] 的最大值例题4.POJ 3764The xor-longe..._字典树例题 poj

推荐文章

热门文章

相关标签