历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2021年03月08日 | 基于ARM9嵌入式平台的多标签多协议RFID读写器设计

2021-03-08 来源:eefocus

1 RFID系统结构原理


无线射频识别技术是一种非接触的自动识别技术,常称为感应式电子晶片或近接卡、感应卡、非接触卡、电子标签、电子条码等。完整的RFID阅读系统是由读写器(Reacler)、应答器(Transponder)、天线(Antenna)三部分组成。其动作原理为Reader通过Antenna发射特定频率的无线电波能量给Transponder,用以驱动Transponder电路将内部ID Code送出,此时ReaGler便接收此IDCode。由于此ID Code的唯一性,所以RFID读写器可以实现对物体或商品的自动识别。RFID系统框图如图1所示。系统由中间件、读写器、应答器等部分组成。



射频识别系统的基本工作方式分为全双工(Full Duplex)和半双工(Half Duplex)。无论是哪种工作方式,其信息的发送都包括编码、调制、信道传输三个步骤。对于数字通信来说,编码和调制方式的选择显得尤为重要。


读写器与电子标签之间的数据传输需要3个主要的功能块,RFID系统基本通信结构框图如图2所示。



2 系统硬件设计


系统的核心是Samsung公司的ARM9芯片S3C2440A。RFID读写器系统硬件电路采用模块化设计方案,将主控模块(核心板)与扩展模块电路(底板)分开设计。主控制模块包含了最小系统的设计,包括处理器S3c2440A、内存SDRAM、非易失存储器Nand Flash、电源转换电路、LED指示电路以及一些旁通电容电路。整体的RFID读写器系统的硬件设计主要包括主控制模块、射频模块、扩展底板Power、JTAG、UART、USB A/B、LCD/TouchScreen、LAN、SD、Audio、LED、Reset等电路。


2.1 主控制模块设计


系统采用了两片16位的SDRAM H57V256GTR芯片组成了32位的64 MB系统内存。SDRAM与S3C2440A连接的32条数据线中,高16位DATA[31..16]和低16位DATA[15..0]分别与两片SDRAM相连;H57V256GTR有13根行地址线、9根列地址线、2根BANK选择线BA0~BA1。S3C2440与SDRAM连接时要注意:


◆SDRAM的A[0..2]连到CPU的ADDR[2..14];


◆BA0、BA1的地址连接,BA0、BA1代表了SDRAM的最高地址位。


主控制模块的电路连接框图如图3所示。



2.2 接口电路设计


S3C2440A具有丰富的外设接口控制器,每个接口都有相应的内部控制逻辑单元(电路驱动)和可编程的控制寄存器,因此对这些标准接口进行电路设计就变得很简单。本系统中外部模块主要通过USB接口与处理器通信,USB接口电路如图4所示。



S3C2440A具有两个USB主机控制器,兼容USB1.0和USB1.1协议,支持低速和全速模式。这两个USB主机控制器既可以作为主机口,又可以作为从设备口用,主要是看D+或D-数据线所接的上拉电阻的阻值。本课题由于要在终端平台上外接模块,所以终端平台的USB端口作为主机口。又由于终端平台需要与PC机通信,而PC机的USB端口都是作主机的,所以终端平台又要提供USB端口作为从机口。这样,在设计中就将S3C2440A的USB0作为主机口用,而将USB1通过跳线选择来兼容主机口和设备口。


2.3 RFID读写器设计


TRF7960芯片内部包含了一个51核,但是这个51核主要是用来负责接收处理器数据(命令)并处理数据(编码)后通过射频电路发送出去,或是从射频电路接收信号并进行处理(解码)后再送回给处理器。通过TI公司的微处理器MSP430F2370与射频前端芯片配合,可有效地提高读写器的性能。


在读写器模块设计时加入了USB转UART的桥接器芯片CP2102。加入该芯片一方面可以通过USB的连接器与终端平台互连,实现即插即用的功能;另一方面可以通过终端平台上的USB主控制器提供5 V的电源,系统设计的读写器模块正是采用这种方式供电的。RFID读写器模块的原理图如图5所示。



3 系统软件设计


系统软件设计主要实现嵌入式系统移植及防碰撞算法。当在读写器的天线区域中有多个射频标签时,同时到达的信号会产生信道争用的问题。信号互相干扰,发生碰撞。防碰撞技术利用排队论及抗噪声技术来解决这个问题,通过RFID系统一次可以完成对多个射频标签的识别。防碰撞技术的优劣决定了RFID系统的性能。系统软件总体架构包括:扩展层,提供RFID读写器的固件程序,支持多种数据采集模块;设备层,提供RFID系统运行的硬件环境和提供多种物理接口;系统层,提供RFID系统运行的软件环境;中间层,提供开发系统的基础软件框架和应用型RFID中间件;应用层,与业务相关的应用软件。


3.1 防碰撞算法分析


在RFID系统中,评价防碰撞算法优劣的指标有防碰撞速度、准确率、信道利用率、稳定性、安全性和成本等。目前业界推崇的防碰撞方法主要有ALOHA算法(又称应答器控制算法)和二进制树形搜索算法(又称读写器控制算法)。ALOHA防冲突算法由于延迟时间和检测时间是随机分布的,是一种不确定性算法,可分为非时隙、时隙以及自适应ALOHA防冲突算法。其中自适应ALOHA方法的信道利用率最高,它的优点是能显著提高识别速率,缺点是复杂度明显提高。它仅适用于只读型电子标签。二进制树形搜索算法的优点是防冲突能力较强、数据结构和指令简单,缺点是支持的存储容量较小,不适合UID过长的电子标签。这里利用二进制树形搜索算法实现功能。


二进制搜索算法是利用逐步减少发生冲突的位的方法来完成对标签的识别的。该算法的前提条件是读写器必须能够准确地发现发生冲突的位。因此,在该算法中,标签返回信号的编码方式使用了Manchester编码。在Manchester编码方式中,每个信号位中间引入跳变来同时代表不同的数值和同步信息。一个负电平到正电平的跳变代表逻辑“0”,而一个正电平到负电平的跳变则代表逻辑“1”。在数据传输过程中,“没有变化”的状态是不允许的。因此,当一个读写器收到标签的返回信号后,如果发现某些位信号的状态没有发生改变,那么读写器就能够判断这些位一定发生了冲突。Manchester编码原理如图6所示。

图6中有两个标签同时处于读写器的读写范围内。当读写器发送读标签命令时,两个标签都返回它们的识别码给读写器。从图中可以看出,标签1识别码的第5位和第2位的值分别是逻辑“0”和逻辑“1”,而标签2的识别码的第5位和第2位分别是逻辑“1”和逻辑“0”。所以,当读写器收到它们的返回信号时,这两位的状态不会改变,从而读写器知道这两位发生了冲突,由此实现多标签防碰撞。图中的虚线表示标签返回信号中发生冲突的位。


3.2 多协议模式分析


在上电后,首先对TRF7960进行初始化设置。为控制TRF7960实现读/写卡等操作,首先得明确TRF7960的读写时序。起始条件是CLK为高,然后发送8位地址,再在发送时钟的下降沿进行数据发送。当CLK为低时,信号发送上升沿表示操作已经结束。在TRF7960内部有两个主要配置寄存器:芯片状态控制寄存器和ISO控制寄存器,00h和01h分别是它们的地址。芯片状态寄存器可以控制电源模式、RF输出开关等。ISO控制寄存器则负责ISO协议选择,它通过设定参数protocol,选择不同的协议工作方式。例如当protocol为0x01时,为ISO15693协议;当protocol为0x02时,为ISO14443A协议;当protocol为0x03时,为ISO14443B协议。根据指定协议进行相应的读写操作,在设定时间内,若有FIFO中断或发送结束中断产生,则采集数据并保存。这样就实现了多协议、防碰撞多标签RFID读写器系统。

推荐阅读

史海拾趣

Acutechnology公司的发展小趣事

Acutechnology公司自XXXX年创立之初,便专注于电子技术的研发与创新。创始团队由一群富有经验的电子工程师组成,他们对市场趋势有着敏锐的洞察力。在初创期,公司集中资源投入到一项具有前瞻性的技术研发项目中,经过多次试验和改进,最终成功开发出了一款具有竞争力的电子产品,为公司的后续发展奠定了坚实的技术基础。

CET Technology公司的发展小趣事

在数字化转型的大背景下,CET Technology积极探索数字孪生技术在园区管理中的应用。公司提供的数字孪生与3D可视化服务,通过创建园区的虚拟实体,模拟、验证、预测和控制园区的运营状态,帮助园区实现智慧化管理、优化服务和提高生产效率。此外,CET的数字孪生服务还能监控园区内人员和车辆的通行情况,提升园区内部的交通效率,为园区的可持续发展提供了有力支持。

Daburn公司的发展小趣事

Daburn公司自创立之初就致力于电子连接器的研发。在上世纪80年代,公司推出了一款新型的高性能连接器,该连接器采用了独特的材料和设计,大大提高了数据传输的效率和稳定性。这一技术突破让Daburn在行业中崭露头角,并吸引了大量客户的关注。随着技术的不断进步,Daburn逐渐扩展了其产品线,涵盖了线束、电缆组件和定制连接解决方案等多个领域。

Fine Products Microelectronics Corp公司的发展小趣事

在Daburn公司的发展历程中,质量控制一直是重中之重。公司建立了严格的质量管理体系,从原材料采购到生产流程再到成品检验,每一个环节都严格把控。此外,Daburn还注重持续改进,通过引入先进的生产设备和工艺,不断提高产品的质量和性能。这种对质量的执着追求让Daburn赢得了客户的信任和好评。

Esico-Triton公司的发展小趣事

Esico-Triton公司成立于XXXX年,起初是一个小型的电子设备研发团队。当时,创始人[XXXXX]和[XXXXX]看到了电子设备市场的巨大潜力,于是决定合作创办一家公司。他们的初衷是开发一款能够简化工作流程的电子设备。在公司创立初期,资金紧张,研发条件有限,但团队成员凭借着对技术的热情和专业知识,成功研发出了第一款产品——一款便携式数据处理器。这款产品因其便携性和高效性受到了市场的欢迎,为Esico-Triton的后续发展奠定了坚实的基础。

宁波晨翔电子(CONNFLY)公司的发展小趣事

在市场竞争日益激烈的环境下,晨翔电子始终坚持产品创新,不断推出具有市场竞争力的新产品。同时,公司还注重品牌建设,通过提升产品质量、优化服务流程、加强市场营销等方式,不断提高品牌知名度和美誉度。这一时期的努力,使得晨翔电子在电子连接器行业树立了良好的品牌形象。

问答坊 | AI 解惑

俺想学习FPGA--有偿寻求合作开发FPGA学习板

俺想学习FPGA--有偿寻求合作开发FPGA学习板 看到现在FPGA现在这么火爆,忍不住想学习一下。 但是本人对FPGA了解甚少。想寻求高手共同合作搞一个FPGA开发板。 我负责:元件费用,打样费用。以及适当给与合作者一定酬劳(这个不多,呵呵,俺也是 ...…

查看全部问答>

无线通信系统中的调制解调基础(一):AM和FM

作者: Ian Poole Adrio Communications Ltd 第一部分解释了调幅(AM)和调频(FM)的基础,并阐述了优点和缺点。第二部分解析了频移键控(PSK)和正交幅度调制(QAM)。第三部分讨论扩频通信技术,包括被广泛应用的直接序列扩频通信(DSSS),和 ...…

查看全部问答>

.net程序在WinCE5.0上不能运行

我的wince上咋就不能运行dotnet的程序呢,点击应用程序一点反应也没有,也不报错。另外,保证dotnet的支持包已经打入wince,1.1和2.0都打了。 把SYSGEN_DOTNET和SYSGEN_DOTNET_SUPPORT还有DOTNETV2的所有选项加上,则运行dotnet的程序既不报错 ...…

查看全部问答>

PB5.0补丁问题

MS网站上PB5.0几乎每个月都有补丁,请问打补丁时是打最新的还是所有的都打上。我看了最新的补丁好象就升级了BLUETOOTH的程序。…

查看全部问答>

AD7705的参考电平能不能是5v

我看很多资料都写得是AD7705的参考电平时2.5v,但是今天看到有人用ref195的输出做AD7705的参考电平,ref195接ref+输出5v,ref-接地请问这样合适吗。 还有AD7705的资料上写着采样范围是0-20mv或0-2.5v,一直不太明白这是什么意思,0-2.5v不是包括0- ...…

查看全部问答>

An unspecified Debug Toolbox call failed

我在使用ADS1.2套件的AXD时,连接了Easyjtag,并进行了设置,但是却出现了如题的An unspecified Debug Toolbox call failed的错误,请高人指点,该如何解决这个问题?…

查看全部问答>

keil编译ARM报--- Error: can't execute 'BIN30\ArmAsm'怎么解决

我安装的keil 3.3版本,以前用来编译C51,现在添加上ARM,操作系统是U COS II,编译时报--- Error: can\'t execute \'BIN30\\ArmAsm\',我把C:\\Keil\\ARM\\BIN30中的ARMASM.EXE拷贝到BIN中无法解决此问题,请教高手要怎么处理…

查看全部问答>

VC33-120定时中断我置1ms中断 结果是10ms ?

斑竹: 我用vc33-120做了一块卡,外部晶阵是12m,5倍频,定时中断置数30000,理论计算 我的定时中断应该是1000hz,但是发现是100hz,我晶阵换过,都没有用.请教斑竹 最可能是什么原因啊  急!文字…

查看全部问答>

德州仪器:OMAP 5平台:开启移动设备变革新时代

TI OMAP 5平台不仅全面提升了性能,还采用了能够带来新机遇和用户体验的新特性,从而使应用处理器能够满足更广泛的要求。简而言之,OMAP 5平台将以其全新的性能及功能水平推动移动设备的变革,让我们共同开启“变革”新时代!$(\'swf_eBM\').innerH ...…

查看全部问答>

温度显示以及控制电机转速,不能同时工作,来人指点一下啊

#include #define uchar unsigned char #define uint unsigned int sbit uln=P2^0;//uln2803 sbit DQ=P2^1;//ds18b20与单片机连接口 sbit ming=P2^2;// sbit hong1=P2^3; sbit hong2=P2^4; sbit RS=P2^5; sbit RW=P2^6; sbit EN=P2^7; u ...…

查看全部问答>