0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用单片机自制一款RFID读卡器,RFID CARD READER

454398 2018-09-20 19:42 次阅读

单片机自制一款RFID读卡器,RFID CARD READER

关键字:ATtiny13,ATtiny2313,射频读卡电路图

作者:樊文辉
这个制作中RFID读卡器的印制电路板装有集成电路EM4095(b)读卡器,其功能是将RFID标签的数据通过已经安装的电路板上一些SMD元器件传输到ATM18测试板。
也可以用微处理器ATtiny2313制作RFID读卡器,可以随意的从EM4102中读取数据,其中包括从软件下载的数据。这个制作更有趣的部分是向我们展示如何随心所欲的做你自己的RFID标签。我们接着看到如何将传感器连接到标签,并且与读卡器的传感器读卡器建立通信传递数据。这些传感器在电气上是绝缘的并且能在空间自由移动。
一、能量传递

EM41022型号的电子标签的能量获得是需要通过频率为125kHz时的电感耦合来实现的,作者认为这个设备能胜任的,自制RFID标签就不成问题。此外,通过EM4102提供的数据速率不是很高,简单的微型控制器都适用。
下图中电路是用来确定从接收线圈传递来的能力有多大。RFID读卡器适用下列推荐数据:电感L=750μH,直径为0.25mm,线圈匝数为85匝,漆包线直径为0.25mm,线圈直径为50mm。
接收线圈(L1)为95匝、1mH,并联于L1的谐振电容C1调谐与125KHz。发送和接收线圈的位置高于其他元件,且相距20mm。电流和电压的曲线通过调节R测出如下图示。下图(a)是测量电压与电流的函数关系,而下图(b)显示的是传输在负载上功率曲线。三条曲线分别显示调谐于200pF、远大于,远小于200pF的情况,以示失谐情况的影响。下图中可以看到在输出3V电压时它能耦合数十毫瓦的能量。一个ATtiny微型控制器在时钟频率为1MHz,电压为3V的情况下电流大概为2mA;在125kHz的情况下电流是低于O.1mA。因此看起来提供微型控制器运行所需的足够功率不是难题。
RFID集成电路EM4102通过调制读卡器负载来传送ID。每个数据位传递需要占据125kHz载波的64个时钟周期,折合为波特率为1953.125BPS。一个完整的数据包32.768ms内完成传输。使用125kHz信号作为RFID控制器的时钟是可以的。这种自动化确保位时钟与读卡器同步,由于上述时钟的慢摆动,电流消耗是非常低的。也意味着CPU只需要计数64个时钟周期才转移到下一位:这就是对CPU(ATtiny3)进行汇编编程的原因。
下图显示制作的电子标签的完整电路图。通过L1和C1形成的谐振回路提供微型控制器时钟。同时125kHz的AC信号经过二极管整流提供给CPU电源(或功率)。NMOS管T1的导通使谐振电路加上R3负载使振荡幅度减小,并且它通过调制信号实现微型控制器传输数据。但是,信号幅度必须不能过度减少,否则微型控制器因时钟失步而造成出错。
本制作的印制电路板的电路如下图(略)。线圈并联在C1,并且焊接在C1引线脚的两侧相邻近的焊点上。
AVR/GCC)嵌入。读卡器的最佳设计是元器件使用SMD封装,本制作使用C(AVR/GCC)编程并烧录芯片
读卡器的电路如下下图示,是非常简单的并且很容易手工绘制电路板。但是按翻拍会使制作PCB更简单,装有EM4095的4号板与5号板通过接口K3连接。在电路板上连接点为ANT1和ANT2外接线圈,其电感量为750μH,这并不严格,由于EM4095内部有一个锁相环会自动调节频率。
从RFID标签的数据串是通过EM4095解码]然后以曼彻斯特码流方式传给微型控制器。微型控制器的第一项工作是提取数据位。这项工作是在中断服务程序中实施的,每秒要进行31250中断,(8MHz/256=31250)。1个完整的数据位占16个中断周期见下下图示。(注:一个数据位占64个125kHz/8μS脉冲,即512μS:定时器一个中断间隔为1S/31250=32μS,两者相除512/32=16。可见连续16个低电平则为数据O,连续16个高电平为数据1)。
以上为曼彻斯特码的代码片断。码长测量由接口PIND.4的电平实现:只有输入数据串的位数与原来的位数相同时电平是稳定的。当电平改变时,原有位数添入了一个或者两个半位。根据测量持续时间,一个或者两个半位储存在一个先进先出队列中供后续处理。
解码程序本身占FIFO队列的半位。第一个任务是识别数据包的起始位:为了实现这个目的,程序沿着移位寄存器逐个移动半位直到同步序列被找到。后续的数据串被解码并且在RS232端口输出(19200波特,8N1格式)。不断有新的半位数据到达并且在FIFO队列等待主程序处理,确保没有丢失数据。RFID读卡器能读取任何标准的RFID标签且与EM4102兼容。
二、线圈

RFID读写器与标签都采用最简单的自绕线圈,至少在非常少的数量下,特定规格现成的线圈无法购得。计算此类电感空芯线圈的公式如下:
电感其中d是导线的直径,D是线圈的直径,N是线圈的圈数。
下表的第4列是根据公式计算的电感量,第5列是用电感测量仪实测的电感量,可以看出,后者比前者偏小且不超过10%,实际制作时根据公式计算的值已经足以使用,也可以根据实测电感找出制作参数来。
三、RFID软件

根据时钟速率为125KHz,半个数据位持续32个时钟周期,为了避免复杂的计算,可以使用定时器0的PWM功能。
设置计时器O计数64就溢出,返回O重新计数,(通过软件设置OCROA为64-1=63),并设置了PWM值为50%(软件设置OCROB为32)。定时器0的PWM发生器每到计数值到达32时,可以安插在高至低的跳变(如图8最左边箭头示).也可以安插在低至高的跳变。上图中上面一排是5位曼彻斯特码流值,下右侧标注定时器计数值。
因此,只需通过改变PWM发生器的寄存器堆的一位,我们就可以产生符合曼彻斯特码编码的一个0或1。这一过程在中断服务程序实现。
寄存器IntBit包括了被传输的数据位,并且将IntMail设置为1作为应答,表示确认该位已被接收。主程序只是逐位传输数据及产生校验码,确保系统在一个不稳定的电源电压系统下能稳定工作,将欠压检测阈值设置为1.8V且启动看门狗
四、数据包和有效载荷

一个完整的数据包,形成如下表所示。
数据包包括9个部分。前导的同步码连续9个1不能出现在数据包的其他地方,因此可以用来识别它的开始。正确的数据位和有效荷载在前同步码的后面。有效载荷由十组4位二进制数或半字节组成。前两个半字节是客户ID后面是8位半字节数据跟随。先发送一个半字节列校验位(每列10个二进制数中有奇数个1为1否则为0),紧随其后的是一个0。所以总的数据包包含9(起始)+10×(4+1)(有效载荷)+4(列校)+1(最后位0)=64bits。每位持续64位的125kHz的时钟周期,所以比特率是1935.125BPS。故一个完整的数据包需要32.768mS传输。
使用此协议的RFID标签,内部含有有8个半字节数据和两个半字节ID码,总共有10位十六进制数字或40位二进制数。这足以传输大量信息。如果需要进一步扩展,也可照此类推。
五、RFID标签的建设和扩展

为了使RFID标签更容易地调整谐振电路,电容器和线圈可以通过插头和插座相接,以便用不同的线圈来替代试用。经验表明,谐振电容的最佳值是理论计算值的110%左右。
因为本制作中RFID标签已经写入用户码,做一个新的RFID标签就需要修改程序重新写入。
在印制电路板上的插头Kl可以用来连接开关、电位器和通过读卡器进行无线访问的其它线圈。
线圈可旋转或移动尽可能实现读标签,同理还可以在高压环境进行电气隔离。在液态物质中线圈操作暂停,在干燥的情况下又可以恢复。
六、动态ID和状态请求

第一个例子,我们认为一个RFID标签可以经过编程在两个ID代码之间进行切换,这个思路可以用来制作来一把RFID钥匙开多把RFID锁。
第一个方案是使用一个开关在两种代码之间来选择。有两种实施办法:遥控改变开关的位置,或通过按钮改变标签的ID。此开关是连接接口B.4(ATtiny13的第3脚)和GND之间的端口。
第二个方案多数字输入量的采集。自从RFID标签使用了微控制器,实现这一目标有很宽范围的选项。设计者必须始终考虑电流消耗,因为标签所有的能量最终均来自传输线圈。一个简单的选项用移位寄存器来实现并行到串行的转换。如下图所示,8个开关的状态串行通过PB4经过K1接口连接到RFID的主板上。
七、带有两个模数转换器的RFID

ATtiny13有两个A/D转换器,设计者可以根据此性能来制作可以无线测量电压的RFID标签。
该软件包中包括实现两路A/D转换的程序,将模拟量转换为8位数字量,并且将这些数字量通过ID代码方式返回至读卡器。A/D转换的参考电压取自ATtiny13的供电的电压,这有一定的好处也有缺点:例如,如果有必要去读取的两个电位器的位置时,它们可以轻易地与ATtiny13的电源连接,滑动片接模拟输入端。其结果是,转换的结果与电源电压无关,被测电压高低只是与电源电压‘比例’在变化:称之为比例转换。所以被测传感器必需与ATtiny13同电源供电。如MMA7260加速度测量传感器。测量两路加速度经过比例转换,结果只与加速度有关而与电源电压无关。如果不是电位器而是独立电源的话,结果就不是这样。这种情况下,用Zener二极管或微型3.3V稳压器用来为微控制器和传感器提供电源稳压。用来测量绝对电压。也就是供应RFID标签的电压等于A/D转换参考电压,此电压一定要大于3.3V或更高。这就取决于标签与读卡器的距离。还有另一种设计方案是使用如LM385低功耗参考电压源(如2.5伏)给一路A/D转换器输入,另一路则是被测电压的比例转换,并以此来校准电源电压的影响。经过精确的测量和校准,然后才能算出被测电压。
八、RFID温度传感器

Dallas/MaximDS1820的温度传感器通过它的单总线接口的连接。这个接口很容易在软件中实现,尽管它速度相对缓慢。当访问DS1820的温度传感器时,RFID标签中的微控制器必须停止对读卡器的响应。
这对读卡器来说不是问题,因为它发送起始码期间通常需要等待片刻,经过与传感器IC通信完成,温度值转换为十进制值,然后被转为ID代码格式。因此,RFID传感器提供的温度值几乎为“纯文本”。下图显示了如何将DS1820连接至RFID主板。原则上,软件可以处理若干温度传感器或其他单总线集成电路。
九、RFID传感器调试

我们前面讨论的例子展示它是如何建立自己的RFID标签。当你测试自己的应用程序开发和调试必须始终牢记。最简单的方法是使用ISP接口技术。然而,靠来自线圈的能量不足以维持标签的微控制器编程需要,并为此开发了如下图的适配器接口。可以通过ISP的接口对包含了RFID和传感器的软件的ATtiny13进行编程,而且像RFID主板上的K1一样,同样的传感器可以连接到K3的这块板上。适配器上的插座K2与读卡器上的K4连接,然后读卡器提供给ATtiny13125KHz时钟,通过它在PB1口进行数据流输出。这种方法可以很方便的测试新的RFID传感器软件。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    IO-Link RFID读卡器系统方案设计与挑战

    如图2这个IO-Link RFID传感器的方案,使用了L6364和STM32G0通用电路来支持IO-Link的协议转换,使用ST25R3916来作为NFC的读卡器芯片。
    发表于 04-02 10:56 122次阅读
    IO-Link <b class='flag-5'>RFID</b><b class='flag-5'>读卡器</b>系统方案设计与挑战

    射频识别RFID

    设备简单。尤其是随着NFC技术在智能手机上逐渐普及,每个用户的手机都将成为最简单的RFID阅读。 NYFEA****通用非接触通讯芯片 RF522 产品简介 522 是一款高度集成的工作在
    发表于 02-28 11:31

    HDX读卡器牛羊管理RFID设备品牌

    科智牧拥有多项发明专利与实用型专利,产品包含面板式的RFID读卡器与轻便的手持式RFID读卡器,不仅支持HDX格式协议,还支持FDX-B格式协议,支持识读安乐福、利拉伐、阿菲金所有电子
    的头像 发表于 11-24 17:40 299次阅读
    HDX<b class='flag-5'>读卡器</b>牛羊管理<b class='flag-5'>RFID</b>设备品牌

    畜牧业RFID电子耳标读卡器品牌选哪个好?怎么选?

    在畜牧业中,RFID电子耳标读卡器是一个非常重要的设备,它可以帮助养殖户追踪和管理动物,进行牲畜的身份识别、盘点计数、自动饲喂、防疫分栏管理、出入栏管理、智能称重等操作,提高生产效率和减少损失。近年来,随着国外品牌和国内品牌的不断涌现,选择一个合适的电子耳标
    的头像 发表于 11-09 09:39 326次阅读

    a4纸自制一款手势鼠标项目

    神奇arduino:a4纸自制一款手势鼠标项目文档请下载附件哦
    发表于 10-10 06:14

    购物新时尚RFID自助结账

    RFID是什么?RFID就是那些小电子标签,它们能够让物品自动被识别。每个商品都有一个这样的标签,而RFID读卡器就像魔术师一样,不用碰物品就能读取标签上的信息。这不仅超酷,而且超方便
    的头像 发表于 09-25 16:29 189次阅读
    购物新时尚<b class='flag-5'>RFID</b>自助结账

    EPC Class1 Gen2兼容的UHF RFID单片读卡器ST25RU3993

    运行的ISO 18000-6A/B。它包括个片上VCO和个功率放大器,可提供整套RFID功能,包括密集读卡器模式(DRM)功能,并能支
    发表于 09-13 08:15

    ST25R NFC读卡器开发流程与设计资源简介

    第 1 步. 定义 NFC 设备参数 • 目标产品 :POS (95HF 系列不适 EMVCo 认证应用),通用 NFC 读卡器等 • 合理的近场通信距离需求 (通常<10cm
    发表于 09-13 06:24

    ST25R3916B/17B NFC读卡器介绍

    ST25R3916B/17B NFC/RFID HF读卡器具有独特的功能,增强了稳健性和性能,可在不影响设计自由度的情况下运行于嘈杂的环境。可顺利通过EMV®非接触式和NFC Forum的认证。从
    发表于 09-08 06:46

    RFID读卡器与墨水屏标签在汽车制造流转线中的作用

    RFID技术在汽车制造流转线中的应用已经成为一种趋势。通过自动化识别和跟踪车辆及零部件,RFID技术可以有效提高生产效率、优化流程和降低成本。
    的头像 发表于 09-06 13:57 244次阅读

    基于RFID技术的猪舍门读卡器

    随着科技的发展和普及,智能化管理在各个领域的应用越来越广泛。在畜牧业中,将RFID技术应用在养殖管理中的企业也越来越多,为养殖企业的智能化管理提供了有力的支持,本文将介绍RFID技术的猪舍门读卡器
    的头像 发表于 08-02 10:54 371次阅读

    蓝牙无线读卡器方案

    蓝牙无线读卡器是一种利用无线通信技术,可以读取各类卡信息的设备。 与传统的有线读卡器相比,蓝牙无线读卡器无需连接电脑或其他设备,可以通过蓝牙、WiFi、NFC等无线通讯技术直接传输数据
    的头像 发表于 07-26 15:17 1126次阅读
    蓝牙无线<b class='flag-5'>读卡器</b>方案

    是否有任何支持VHBR的RFID控制或前端?

    我们使用支持超高比特率 (VHBR) 通信的基于 P60 和 P71 的智能卡,但 VHBR 读卡器的市场似乎几乎不存在!Fetian VR504-CL 是唯声称支持它的通用商用阅读
    发表于 06-09 06:01

    I2C多路复用器和RFID阅读不能同时工作要怎么操作?

    我正在尝试将 RC522 RFID 读取与 TCA9548A i2C 多路复用器起使用,我将五个 SH1106 OLED 显示连接到该多路复用器。我使用的是 Wemos D1(不
    发表于 06-01 10:31