基于STM32的LF RFID识别系统设计

发布者:咖啡狐狸最新更新时间:2013-02-04 来源: 21IC 关键字:STM32  RFID  识别系统 手机看文章 扫描二维码
随时随地手机看文章

射频识别技术(Radio Frequency Identification,RFID)是从八十年代起走向成熟的一项自动识别技术。RFID利用射频方式进行非接触双向通信,以达到识别目的并交换数据,主要通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的。

RFID技术在近年取得了长足的发展,目前已广泛应用的频段分布在LF、HF、UHF和徽波频段,各频段的RFID系统均有各自的优点和相应的应用范围。对于LF频段的RFID系统而言,最明显的优点在于拥有很好的穿透性能,如可穿透液体物质,建筑物,人体等,且各种动物体细胞和各种气体分子对LF频段的能量吸收很小。

可见LF RFID系统可以在需要良好穿透性,需要不间断长时间工作,以及存在较高危险性场合(如含爆炸性气体矿井)下良好工作。本文正是由于它的这些重要优点提出了一种基于STM32的LF RFID系统,并对该系统进了设计制作并测试。测试结果表明该系统具有实现简单、可靠性高等特点。

根据RFID系统原理,LF系统一般由以下3部分构成:

1)电子标签:应放置在要识别的物体上,在本设计研究主要采用工业生产中的标准125 kHz电子标签EM4100。其内置小型的ROM和整流电路,能实现应答器和阅读器的无接触工作。

2)阅读器:可以是读或写/读装置,取决于所使用结构和技术,主要起到读标签的作用。

3)天线:天线应放置在应答器和阅读器之间,它主要起到桥梁的沟通作用,不管是能量提供还是信息传送都要通过耦合元件来实现。

1 系统总体设计

本次设计以STM32作为控制模块的核心,通过输出125 kHz的方波源为后面的功放电路提供驱动信号,功放电路为天线负载提供放大后的125 kHz方波,从而使天线负载能为标签提供足够的能量,同时获取标签信息。检波电路实现对标签信息的检波功能,检波后通过方波信号转换电路转换传送给STM32进行解码,同时将标签信息通过STM32串口传送到上位机进行后续处理。整个系统框图如图1所示。

本系统与现有系统的区别在于:

1)不需要专用的解码芯片进行解码直接利用STM32具有的捕获功能对检波转换后的电子标签信号进行解码。

2)利用了STM32能输出一对带死区互补方波的功能对一对开关管进行驱动,省去了复杂的模拟电子电路生成同样的驱动波形。

3)借鉴开关电源中半桥逆变电路的原理,使IC电路形成串联谐振,从而实现了功事放大。

2 硬件电路设计

2.1功率放大电路设计

功率放大电路采用两个开关管和一个LC振荡电路(天线)形成,经过分析功率放大电路设计如图2所示。

其中S1、S2是由STM32输出经驱动芯片IR2110后的两路带死区控制的PWM波,频率为125 kHz。这样就使天线L1与电容C1构成串联谐振电路,谐振频率为125 kHz,谐振电路的作用是使天线获得最大的电流,从而产生磁通量,获得更大的读卡距离。

天线本身是一个低电阻的器件将天线线圈连接到功放电路需要估算天线的等效电路和品质因子以得出匹配电路的电容推荐值。

一般来说,由于天线的磁场辐射,对Q值的要求大概在20到40比较合适。现在根据天线的Q值来确定天线的感量,现在的一些工业标准主要采用绕制50 Ω,Q值取30,工作频率是125 kHz则fR取125 kHz,由以上3,个数据可以得到RFID天线的感量为375 μH。[page]

天线的绕制:首先大概的绕几圈,然后使用阻抗分析仪,在125 kHz工作频率下测量电感。本设计中,绕制10圈检测后得到感量为89.03 μH。电感的计算公式:

L=N2×L1(3)(L1表示单圈电感感量,N表示线圈匝数),由上述公式可以得到天线的单圈感量为0.89μH。即由以上电感的值可以求得天线的需要的匝数,大概需要21圈。

天线的设计完成之后,需要选择相应的阻抗匹配电路。现在本设计主要选择利用CBB电容来达到阻抗匹配的目的,电容的大小由系统的工作频率来确定。阻抗匹配主要目的是使天线工作在最佳状态,即天线和电容处于谐振状态。

由上面分析电容的大小计算公式:

h.JPG

此公式可以确定电容的大小在4.7 μF,CBB电容的耐压值还需要根据通过电容的振荡波形的峰值来确定。

2. 2 包络检波电路的设计

包络电路的设计很大程度决定了RFID阅读器的读取距离,它主要工作原理就是低通滤波器和二极臂串联工作,把高频125 kHz波滤除。电路设计主要采用串联型二极管包络检波,其工作原理如图3所示。

电路由二极管D和RLC低通滤波器相串接构成。输入Us时,通过D的电流i在RLC电路产生平均电压UAV,该电压又反作用于D上(称平均电压负反馈效应),影响通过二极管的电流。

若Us=Vcm(1+MacosΩt)cosωct,则vov=ηdVcm+ηdMaVcmcosΩ=VAV+Vov,其中vov∝vΩ,所以实现了线性检波。

3 软件设计

终端软件要解决的关键问题是如何正确接收数据并解码。本RFID系统选用的电子标签为曼切斯特解码,电子标签信号经曼切斯特编码器后的输出信号见图4所示。

利用STM32的捕获功能对整形后的波形进行捕获计时,每延时384μs之后,STM32检测是否为高电平。然后对前后电平进行比较,若是01则表示数据0,若10表示数据1。

电子标签中的64bit数据以NRZ串行送入比较器,所谓NRZ就是基带传输,也就是在线路中直接传送数字信号的电脉冲,这是一种最筒单的传输方式,近距离的通信的局域网都采用基带传输。经反向比较器后输出曼切斯特码波形,然后直接输入STM32进行曼切斯特解码。其工作原理;在一个读取数据的周期内,若引脚为高电平,读取的数据为1;若引脚为低电平,读取的数据就为0。总的来说整个系统的工作过程就是曼切斯特解码过程。

4 程序流程图

4.1 STM32总程序流程图

STM32总程序流程图,如图5所示。

[page]

4.2 STM32解码过程程序框图

通过对曼切斯特解码原理的分析,单片机主要是处理包络电路给出的方波信号,得到相应的数据。可以得到如下的系统框图如图6所示。

5 测试结果

电子标签的读取距离为10 cm左右。图7为STM32输出125 kHz带死区互补方波的实测图,图8为检波、转换后的波形。由图7的波形可得STM32的输出波形频率为125 kHz,死区时间为0.9μs,符合设计要求。

6 结束语

目前存在的一些阅读器,需要专用的读卡芯片进行解码,电路复杂,文中主要介绍了一种采用STM32解码、互补输出、死区控制的LF RFID阅读器。以STM32作为其控制核心,可以对电子标签卡进行检测、识别,并对识别的信息进行相应的处理。电路结构简单,用于读取EM4100型ID卡具有一定的实用价值。

关键字:STM32  RFID  识别系统 引用地址:基于STM32的LF RFID识别系统设计

上一篇:基于IAP的STM32程序更新技术
下一篇:基于STM32的LF RFID阅读器研究

推荐阅读最新更新时间:2024-03-16 13:17

STM32硬件IIC
1 /** 2 * @brief 写一个字节到I2C设备中 3 * @param 4 * @arg pBuffer:缓冲区指针 5 * @arg WriteAddr:写地址 6 * @retval 正常返回1,异常返回0 7 */ 8 uint8_t I2C_ByteWrite(u8 pBuffer, u8 WriteAddr) 9 { 10 /* Send STRAT condition */ 11 I2C_GenerateSTART(macI2Cx, ENABLE); 12 13 I2CTimeout = I2CT_FLAG_TIMEOUT; 14 15 16 /*
[单片机]
Maxim推出内置13.56MHz接口的安全RFID方案
支持全球范围的门禁控制、e-cash和ID卡应用 SUNNYVALE,CA。2011年9月22日。Maxim Integrated Products, Inc.(NASDAQ:MXIM)最新推出RFID钥匙、RFID卡系列产品,适用于自动识别、门禁控制和电子钱包(e-cash)应用,这些应用的市场规模每年可达20亿片。新一代非接触式RFID系列产品(MAX66000/020/040/100/120/140)采用公司针对嵌入式系统知识产权保护开发的1-Wire®安全认证IC的主流技术。由于13.56MHz正在成为门禁控制和电子支付市场的国际标准,该系列安全器件内部集成了13.56MHz接口,有利于提高市场份额。一些地区已经将这种R
[网络通信]
STM32官方标准固件库开发与寄存器开发的区别
一句话概括关系:固件库就是函数的集合,固件库函数的作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。对于STM32这种级别的MCU,数百个寄存器记起来何谈容易,于是推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一套API供开发者使用。大多数情况下,你不需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。 对比一下:入下面只需要知道GPIO_SetBit这个函数的使用即可。 寄存器操作: 库函数操作: 任何的处理器,不管多么高级,归根结底都是对寄存器的操作。固件库不是万能的,如果想要把STM32学透,知其然知其所以然,光读STM32固件库是远远不够的。但是如果知识为了完成
[单片机]
<font color='red'>STM32</font>官方标准固件库开发与寄存器开发的区别
STM32串口1,2,3初始化函数代码(标准库版)
没有使用中断 cks32C8T6、stm32c8t6直接复制使用 其他芯片注意引脚,复用功能什么的 串口1初始化代码 //串口1 void Uart1_init(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟 //USART1_TX GPIOA.9 GPIO_InitStruc
[单片机]
stm32 外部PB8中断
一、初始化该引脚时钟 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB ,ENABLE); 二、初始化该引脚为外部中断 void GPIO_Config_Init(void) { GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PB8 dog_wake GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } 三、初始化外
[单片机]
A7139 无线通信驱动(STM32) 增加FIFO扩展模式
A7139 拥有电磁波唤醒以及10mW的发射功率,非常容易实现长距离通信,目前测试有障碍物可以轻松达到300m以上. 通过几天的调试,目前可以发送任意大小的数据包,大小为1-16KB,全部使用中断收发,效率极高。 增加波特率设置2Kbps-100Kbps任意设置 增加通信信道设置0-255 增加发送功率设置0-7 底层代码 /************************************************************************************************************* * 文件名: A7139.c * 功能: STM32 A7139
[单片机]
A7139 无线通信驱动(<font color='red'>STM32</font>) 增加FIFO扩展模式
STM32单个定时器四通道输入捕获
以前就纠结过能不能一个定时器进行多路的输入捕获,因为毕竟输出四路的PWM是轻松随意的,当时大概想了一下觉得可能会比较麻烦就一直没去尝试,最近组里的同学做方波测频和测占空比遇到了问题,又提到了这个,今天仔细想了一下有了思路就写程序然后上板子试了一下,解决了这个问题。 首先我们先看单路的输入捕获是怎么实现的 定时器的初始化函数: //定时器2通道1输入捕获配置 //arr:自动重装值 //psc:时钟预分频数 void TIM2_Cap_Init(u16 arr,u16 psc) { RCC- APB1ENR|=1 0; //TIM2 时钟使能 RCC- APB2ENR|=1 2; //使能PO
[单片机]
基于STM32的步进电机速度控制
项目需求 在制作一个使用全向轮的机器人底盘,对于全向轮,电机的精度是影响效果的重要因素。所以使用了步进电机,使用步进电机的优点是可以不使用编码器,开环控制即可达到高精度的效果。 调整占空比或者调整周期 众所周知,PWM有两个重要参数,周期与占空比。 步进电机的运动方式是,每收到一个脉冲,就旋转指定的角度。因此影响电机速度的唯一参数就是PWM的频率。以下附图两张来说明调整占空比与调整周期的区别。 周期固定,调整占空比 上图中有4个PWM,它们的周期是一样的,不同之处是拥有从80%至20%的占空比。可以看出,无论占空比为多少,在1s内,它们产生的高电平的数量是一样的,即无论占空比为多少,PWM的频率都一致。因此也就无法调整步进
[单片机]
基于<font color='red'>STM32</font>的步进电机速度控制
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php
设计资源 培训 开发板 精华推荐

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved