125KHz RFID芯片模块及电路替代方案

125K RFID芯片模块是否可以写数据?

以上是125KHz RFID芯片模块的供应商和芯片名称,频段、容量、功能、协议。18000-2、11784、11785协议。

集成 RFID 收发器可对 100 到 150 kHz 频率范围内的转发器、双相位编码和曼彻斯特编码 ASK 进行寻址。开/关键控调制。

功耗低且性能优异:独特的并联天线概念,可实现功率效率最大化;具有省电模式;波特率可选择的“片上”滤波可获取最大灵敏度;无零调制问题。

成本低且设计紧凑:采用 SO8 封装和高度集成的紧凑型读写器设计;无需外部石英参考,只有 2 个电阻加上天线;片上解码功能可加快系统设计且易于使用;开漏数据和时钟输出可用于进行 2 线串行通信。

无线射频识别(Radio Frequency Identification,RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向通信、获取相关数据的一种自动识别技术。该技术完成识别工作时无须人工干预,易于实现自动化且不易损坏,可识别高速运动物体并可同时识别多个射频卡,操作快捷方便,已经得到了广泛的应用。

目前存在的一些读卡器,都需要读卡芯片作为基站,成本较高。本文介绍了一种采用分立元件构成的125 kHz RFID阅读器,电路结构简单,成本极低,用于读取EM4100型ID卡。

1 RFID系统的分类

RFID系统的分类方法有很多,在通常应用中都是根据频率来分,根据不同的工作频率,可将其分为以下四种:

(1)低频(120~135 kHz)。该频段具有很强的场穿透性,使用不受限制,性能不受环境影响,价格低廉,最大识别距离一般小于60 cm,主要应用于门禁、“一卡通”消费管理、车辆管理等系统;

(2)高频(10~15 MHz)。该频段与低频相比,具有防冲撞、能同时识别多个标签的优点,但其性能受环境影响,识别距离一般小于100 cm,主要应用于图书管理、物流等系统;

(3)超高频(850~960 MHz)。该频段较高频相比,具有可实现长距离识别的的优点,最大识别距离可达10 m,但其性能受环境影响较大,价格也较贵,主要应用于铁路车辆识别、集装箱识别等系统;

(4)微波(2.45~5.8 GHz)。该频段可实现远距离识别,识别距离可达100 m,但其价格也最贵,主要应用于智能交通系统中。

2 RFID系统的组成

射频识别系统一般由阅读器、电子标签、天线三部分组成。

(1)阅读器:读取或读/写电子标签信息的设备,主要任务是控制射频模块向标签发射读取信号,并接收标签的应答,对标签的标识信息进行解码,将标识信息连带标签上其他相关信息传输到主机以供处理。一台典型的阅读器包含有高频模块(发送器和接收器)、控制单元以及与应答器连接的耦合元件。此外,许多阅读器还有附加的接口(RS 232,RS 485等),以便将所获得的数据传输给另外的系统(如个人计算机),其系统结构框图如图1所示。

(2)电子标签(应答器):由芯片及内置天线组成,芯片内保存有一定格式的电子数据,放在被识别物体上,作为待识别物品的标识性信息,它是射频识别系统真正的数据载体,内置天线用于和射频天线间进行通信。通常,应答器没有自己的供电电源,只有在阅读器的响应范围以内,应答器才是有源的。应答器工作所需的能量,是通过耦合单元(非接触的)传输给应答器的。

(3)天线:标签与阅读器之间数据传输的载体。

3 硬件电路设计

本设计以AVR系列单片机ATmega8作为微控制器。Atmel公司的AVR是8位单片机中第一个真正采用RSIC结构的单片机,它采用了大型快速存取寄存器组、快速单周期指令系统以及单级流水线等先进技术,使得AVR单片机具有高达1 MLPS/MHz的高速运行处理能力。

硬件电路如图2所示,在图2中①为载波产生及功率放大电路,由单片机的T/C2工作于CTC模式,产生标准125 kHz载波信号,经过限流电阻R1后送入推挽式连接的三极管功率放大电路,放大后的载波信号通过天线发射出去。天线L1与电容C1构成串联谐振电路,谐振频率为125 kHz,谐振电路的作用是使天线上获得最大的电流,从而产生最大的磁通量,获得更大的读卡距离。②为检波电路,检波电路用来去除125 kHz载波信号,还原出有用数据信号。R2,D1,R3,C2构成基本包络检波电路,C3为耦合电容,R4,C4为低通滤波电路,D2,D3为保护二极管,输出接到滤波放大电路。③为滤波放大电路,滤波放大电路采用集成运放LM358对检波后的信号进行滤波整形放大,放大后的信号送入单片机的定时/计数器T1的输入捕捉引脚ICPl,由单片机对接收到的信号进行解码,从而得到ID卡的卡号。

4 软件设计

本系统的软件设计包括两部分:125 kHz载波的产生和ID卡解码。载波信号产生相对简单,可利用单片机的T/C2,使其工作于CTC模式,比较匹配时使输出OC2取反便可得到125 kHz的方波。解码软件设计相对较复杂,要对ID卡进行解码,首先应掌握ID卡的存储格式和数据编码方式。

4.1 EM4100数据存储格式

图3是EM4100的64位数据信息,它由5个区组成:9个引导位、10个行偶校验位“PO~P9'’、4个列偶校验位“PC0~PC3”、40个数据位“D00~D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“111111111”,当它输出数据时,首先输出9个引导位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。“D00~D13”是一个8位的晶体版本号或ID识别码。“D20~D93”是8组32位的芯片信息,即卡号。

每当EM4100将64个信息位传输完毕后,只要ID卡仍处于读卡器的工作区域内,它将再次按照图3顺序发送64位信息,如此重复,直至ID卡退出读卡器的有效工作区域。

4.2 EM4100数据编码方式

EM4100采用曼彻斯特编码,如图4所示:位数据“1”对应着电平下跳,位数据“0”对应着电平上跳。在一串数据传送的数据序列中,两个相邻的位数据传送跳变时间间隔应为1P。若相邻的位数据极性相同(相邻两位均为“O”或“1”),则在两次位数据传送的电平跳变之间,有一次非数据传送的、预备性的(电平)“空跳”。电平的上跳、下跳和空跳是确定位数据传送特征的判据。在曼彻斯特码调制方式下,M4100每传送一位数据的时间是64个振荡周期,其值由RF/n决定。若载波频率为125 kHz,则每传送一位的时间为振荡周期的64分频,即位传送时间为:1P=64/125 kHz=512μs,则半个周期的时间为256μs。

4.3 解码软件设计

ATmega8单片机T/C1的输入捕捉功能是AVR定时/计数器的一个非常有特点的功能,T/C1的输入捕捉单元可用于精确捕捉一个外部事件的发生,记录事件发生的时间印记。当一个输入捕捉事件发生时,T/C1的计数器TCNTl中的计数值被写入输入捕捉寄存器ICRl中,并置位输入捕获标志位ICFl,产生中断申请。可通过设置寄存器TCCRlB的第6位ICESl来设定输入捕捉信号触发方式。本系统利用单片机的输入捕捉功能进行解码。

由曼彻斯特编码特点可知,每位数据都由半个周期的高电平和半个周期的低电平组成,因此可将一个位数据拆分为两位,即位数据“1”可视为“10”,位数据“O”可视为“01”,则64位数据可视为由128位组成。为了获得完整且连续存放的64位ID信息,在此接收两轮完整的64位数据,即接收256位。则上一轮接收到的停止位后紧跟着的必然是本轮接收到的起始位,据此找出起始同步头。再根据曼码特点获得ID卡的有效数据(“10”解码为“1”;“01”解码为“O”)并进行LCR校验,若校验无误,则将ID卡号输出至PC机,并准备下一次的解码;否则,直接准备下一次解码。 另外,在程序中首先定义一个数组bit[256]用来存放接收到的数据;定义一个变量flag用来标记256位数据接收完成;定义一个变量error用来标记校验有错误产生。由于无ID卡靠近读卡器的有效工作区时,单片机输入捕捉引脚输入的是高电平,因此在主程序中先设定为下降沿触发,清零计数器TCNTl,打开T/C1的输入捕捉功能。主程序流程图如图5所示。

在输入捕捉中断程序中定义一个触发沿标志tr=1(用于表示由下降沿引起的触发),同时定义一个无符号字符型变量i用来对接收到的数据个数进行计数,由于无符号字符型数据的取值范围为O~255,所以当接收完256位时,i的值再次变为0。接着判断是否为合法跳变,由以上分析可知,电平跳变的时间为256μs或512μs为合法跳变。本系统使用8 MHz时钟,T/C1设置为无预分频,则系统周期为O.125μs,则256μs对应计数值应为2 048,512μs对应计数值应为4 096。取计数值TCNTl小于5 000为合法跳变依据,若TC-NTl大于5 000,则认为是由干扰信号产生的非法跳变,并将其忽略,取TCNTl介于3 000~5 000之间为512μs跳变依据。若为合法跳变,由于是下降沿触发的中断,则认为接收到一位数据“1”;若为合法跳变且3 000<TCNTl<5 000,则认为接收到两位数据“1”。

再将输入捕捉触发方式改为上升沿触发,设定触发沿标志tr=0(用于表示由上升沿引起的触发)。当中断是由上升沿触发时,执行类似操作。图6为中断处理程序流程图。

5 结语

本设计硬件电路中功放和检波部分采用分立元件构成,无需读卡基站芯片,电路结构简单,成本极低;软件部分采用C语言进行编写,提出了一种曼彻斯特编码的解码方法。由于RS 232的传输距离最大只有15 m,因此对于需要远距离数据传送的场合,可以通过加入RS 485电路以提高传输距离,从而实现远距离数据采集以及实行有关控制。在一些需要较远读卡距离的应用中,可通过改进功率放大电路(例如采用D类功率放大电路)来提高功放的效率,从而增大发射功率,增大读卡距离。通测试,系统可成功实现对EM4100 ID卡的读取,经过微调天线,最大读取距离可达15 cm,且读卡稳定、成功率高,可将其应用于门禁、公交等系统。

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RFID读卡模块原理图是ORCAD的,有PDF预览,PCB是PADS的,还有BOM烧写说明,标注图等。其中UART输出是量产过的 韦根输出的只是看示波器波形是对的,没有实际应用;里面有源代码,编写前提是是CODE小于1K RAM小于64字节。 原理图原理就是CD4060产生125KHZ的方波,经过推挽电路进行功率放大,高频电流进入LC串联谐振电路,345uH和4.7NF的谐振频率正好是125KHZ,这时电容两端电压会到十几伏,如果用CBB电容,会到二十多伏,这时读卡距离会到10CM以上。当有卡接近线圈时,线圈两端会有曼彻斯特编码的调幅波。通过二极管以及电容的检波和滤波,产生的小信号送入LM358进行放大和整形,变成单片机可以读取的曼彻斯特编码信号。 关于硬件电路设计上,CD4060在3.3V时 4M以下的晶振都可以起振,但2M的晶振体积很大,所以用了4M。实验发现ATTINY13的频率随着工作电压的变化会有很大的变化,所以不能用RC校准了,正好CD4060会输出4M,所以用来当系统时钟,保证时序的精确性。这样模块在3.3V 5V都能工作。 ATTINY13接不了无缘晶振 只能接有源的~ 它只有一个CLKIN脚~有源晶振价格就贵了。 另外ATTINY13只有5个IO口 1个用于中断 1个用于UART输出 1个用于CLKIN 1个用于上电波特率配置 1个用于曼彻斯特编码输入 正好用完了 RFID读卡模块 模块正反面 串口收到5个字节 前4个字节就是卡号 程序中,根据曼彻斯特原理,找到长电平和短电平,根据跳变沿分析出0数据还是1数据。然后寻找消息头,后面的数据进行 行 列奇偶校验,从而分析出卡号。 程序上电时,通过ADC引脚读取外部电阻的分压配置,从而初始化出4中波特率。然后进行读卡操作。实际应用中,要保证读卡的稳定,当卡靠近线圈时,要只发一次数据。要很好的去抖。代码不能超过1K。现在代码正好1024个字节。关于奇偶校验算法,异或和要比对2取余简洁,但我测试时发现异或和代码长度大于对2取余,所以用了对2取余。 RFID读卡模块原理图+PCB+代码+调试至附件下载
125kHZ低频读卡器功能概述: 本资源中包含读卡器原理图及PCB文件、读卡器源程序和电脑端上位机源程序。读卡器可以直接制作使用,可以使用附件中的上位机与读卡器进行通信,控制读卡器对T5557类卡片进行读写操作。对T5557卡片的配置必须为(RF/32,曼侧斯特编码),这也是国内T5557卡的常用配置。要对其他配置的T5557卡片或其他低频卡片(EM4305类和EMID卡片)进行读写,硬件上是支持的,只需根据卡片文档修改读卡器源程序,下载更新便可。为方便程序更新,硬件电路上已经实现自动下载,使用串口下载程序时无需手动设置BOOT0和BOOT1。 应用场景: 低频RFID主要用在短距离、低成本的应用中,如门禁控制、校园卡、煤气表、水表等。 在相关领域的开发中,可以使用该读卡器作为前台管理的设备,对客户卡进行管理。也可以将读卡器改成终端设备,如RFID门锁上的读卡器,用来验证卡片信息并控制门锁;或煤气表、水表上的读卡器,根据卡片内的余量信息控制煤气和水的供应。另外,也可以作为学习曼彻斯特解码的学习工具。 设计思路: 使用STM32F103R8T6输出125kHZ的PWM信号作为载波信号,将信号输入到功率放大电路,在线圈上产生125kHZ的正弦信号。T5557卡片从125kHZ信号中获取能量和控制命令,并根据命令将要传回的信息使用曼彻斯特编码对载波信号进行调制。读卡器端的检波电路和滤波放大电路将被调制信号提取处理成单片机能识别的数字信号,输入到STM32F103R8T6的输入捕获功能引脚,再通过STM32F103R8T6将捕获的信号进行曼彻斯特解码,最后将解码信息根据自己设定的通讯协议进行数据打包,发送到电脑上位机。 系统框图: 硬件平台: 1.主控制器:STM32F103R8T6 2.USB转TTL:CH340G 3.模拟电路:LM358 AMS1117-3.3V 125kHZ谐振线圈(345UH线圈搭配4700PF电容)谐振频率在线计算工具 4.蜂鸣器: 3V供电 软件平台: 开发工具:Keil uVision5 上位机编写工具:Microsoft Visual C# 学习版 成本估算: 芯片询价和在线购买链接https://www.bom2buy.com/元器件估算价格约为30元 项目进度: 1.能对AT5557/55567/5577卡片(配置为RF/32,曼彻斯特编码)进行整页读,密码读和密码写操作; 2.有相应的上位机,方便读写指令的发送和数据解读; 3.上位机与读卡器之间通讯加入了数据校验,提高了通讯的可靠性。 未来更新: 1.加入EM4305类和EMID卡片的读写功能; 2.加上触摸显示屏和电池,做成便携版 3.做成袖珍版,加入与手机通讯的接口(OTG或蓝牙)
125kHz RFID读卡程序是一种用于读取嵌入在RFID标签或卡片中的信息的程序。它通常使用射频技术来实现数据的传输和识别。 首先,程序需要一个用于与RFID读卡器进行通信的接口。这个接口可以是串口、USB接口或者无线网络接口,并且需要根据具体的硬件设备来进行设置和配置。 然后,程序需要初始化RFID读卡器并设置一些必要的参数,例如读卡器的地址、通信速率等。接下来,程序会进入一个循环中,不断尝试读取附近标签的信息。 当有标签靠近读卡器时,程序会发送一个指令给读卡器,让其进行识别。读卡器会发送一个射频信号,激活标签并获取标签中的数据。读卡器将读取到的数据通过接口传送给程序。 接着,程序会对读取到的数据进行解析和处理。它会解析数据中的标签ID、信息内容等,并根据需要进行进一步的处理,例如存储到数据库、进行数据分析等。 最后,程序可以根据实际需求来进行一些额外的操作,例如显示读取到的数据、发送数据给其他系统等。 在整个读卡程序中,关键的部分是与RFID读卡器的通信和数据解析处理。程序需要确保与读卡器的稳定通信,正确解析读取到的数据,并进行相应的处理。此外,程序还需要考虑异常情况的处理,例如读卡器出现故障或者标签信号不稳定等情况的处理方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值