采用VHDL语言和EDA工具实现超高频射频标签数字电路

描述

在研究读写器和射频标签通信过程的基础上,结合EPC C1G2协议以及ISO/IEC18000.6协议, 采用VHDL语言设计出一种应用于超高频段的射频标签数字电路。对电路的系统结构和模块具体实现方法进行了描述。基于0.18μm CMOS工艺标准单元库,采用EDA工具对电路进行了前端综合和后端物理实现。给出的仿真结果表明该电路符合协议要求,综合后的电路规模约为11000门,功耗约为35μW 。该电路可应用于超高频段的各种RFID标签的数字部分。

1 引言

射频识别(RFID)技术作为一种新兴的自动识别技术,近年来在国内外得到了迅速发展。目前,我国开发的RFID产品普遍基于中低频,如二代身份证、票证管理等。在超高频段我国自主开发的产品较少,难以适应巨大的市场需求以及激烈的国际竞争。超高频(UHF)标签是指工作频率在860~960 MHz的RFID标签,具有可读写距离长、阅读速度快、作用范围广等优点,可广泛应用于物流管理、仓储、门禁等领域。为适应市场需求,本文以EPC C1G2协议为主,ISO/IEC18000.6为辅,设计了一种应用于超高频标签的数字电路。

2 UHF RFID标签的工作原理

射频识别系统通常由读写器(Reader)和射频标签(RFID Tag)构成。附着在待识别物体上的射频标签内存有约定格式的电子数据,作为待识别物品的标识性信息。读写器可无接触地读出标签中所存的电子数据或者将信息写入标签,从而实现对各类物体的自动识别和管理。读写器与射频标签按照约定的通信协议采用先进的射频技术互相通信,其基本通讯过程如下。

(1)读写器作用范围内的标签接收读写器发送的载波能量,上电复位;

(2)标签接收读写器发送的命令并进行操作;

(3)读写器发出选择和盘存命令对标签进行识别,选定单个标签进行通讯,其余标签暂时处于休眠状态;

(4)被识别的标签执行读写器发送的访问命令,并通过反向散射调制方式向读写器发送数据信息,进入睡眠状态,此后不再对读写器应答;

(5)读写器对余下标签继续搜索,重复(3)

(4)分别唤醒单个标签进行读取,直至识别出所有标签。

3 UHF RFID标签的结构及系统规格

UHF RFID标签的示意图如图1所示,由模拟和数字两部分组成。模拟电路主要包括天线、唤醒电路、时钟产生电路、包络检波电路、解调电路和反射调制电路;数字部分主要实现EPC通信协议,识别读写器发出的命令并执行,如实现多标签阅读时的防冲突方法、执行读写器发送的读写命令、实现读写器和标签的通讯过程以及对输出数据进行编码等。协议规定的标签系统规格如表1所示。

vhdl

 

vhdl

4.标签数字电路的设计方法

4.1 电路的整体系统设计

经过对协议内容的深入研究,本文采用Top.down的设计方法,首先对电路功能进行详细描述,按照功能对整个系统进行模块划分;再用VHDL硬件描述语言进行RTL代码设计并进行功能仿真;功能验证正确后,采用EDA工具,指定工艺库,进行逻辑综合优化;最后采用自动布局布线进行版图设计形成芯片。本文确定的系统结构框图如图2所示,它包括译码模块、CRC (循环冗余校验,cyclic redundancy check)校验模块、状态机模块、CRC产生模块、存储器、编码模块和时钟分频模块。译码模块接收模拟部分解调出的命令信号,根据协议中规定的命令格式将信号译码成标签数字部分可识别的二进制数据,并发送到CRC校验模块和状态机模块。CRC校验模块对收到的命令进行完整性校验,若确认为有效命令,则触发状态机模块,控制标签执行相应操作,如读写存储器、防冲突控制等。处理完成后则将要发送的数据送至CRC产生模块产生相应的CRC校验码,然后将要发送的数据和校验码一起送至编码模块,最后由编码模块以特定的脉冲形式发送给模拟部分进行处理后再采用射频技术发送给读写器。为降低功耗,时钟分频模块将全局时钟进行分频,分频后的频率可由数字部分其他模块使用。存储器存储标签的标识性信息。下面将具体介绍各模块的实现方法。

vhdl

4.2 译码模块具体实现方法

读写器发出的命令采用PIE (pulse.interval encoding)格式,命令以同步头(preamble)开始,如图3所示。译码模块的实现方法为:首先判断同步头,标签对输入信号进行检测,一旦检测到下降沿说明可能是一条新命令的定界符(delimiter),马上计数低电平,将计数值存人寄存器count0中,同时检测输入信号是否有上升沿跳变,若发现上升沿跳变,则数据清零重新计数,并把delimiter之后的计数值存入寄存器count中,不断比较寄存器count0和count的值,依据图3所示的关系依次判断出delimiter, 数据0,RTcal(reader to tag calibration),TRcal (tag to reader calibration), 确认同步头;然后把同步头之后的数据比RTcal/2短的作为数据0,比RTtcal/2长的作为数据1,从一系列高低电平中恢复出真正的1信号和0信号,依次存入命令寄存器,并提供控制状态机及校验模块的相关标志位。

vhdl

4.3 CRC校验和产生模块

UHF RFID系统采用循环冗余校验(CRC校验)来判断数据的有效性和完整性,CRC校验可以保护读写器发出的RjT (reader to tag)命令和标签反向散射的TjR (tag to reader)序列。从数学角度来看,CRC校验是用将被处理的数据字节当作一个二进制多项式A ( )的系数,该系数除以发送方和接收方预先约定好的生成多项式g ( )后,将求得的余数P ( )作为CRC校验码。CRC的计算包括了要计算其CRC值的数据字节以及所有前面的数据字节的CRC值。当一个数据块被传输时,数据发送方计算此数据块的CRC校验码,并将此校验码附在数据块后一起传输。数据接收方计算所有接收数据的CRC值,其结果总是零,否则在传输过程中一定出现了传输错误。用零校验可以很容易地分析数据的完整性,避免代价很高的校验和比较过程。协议中采用线性反馈移位寄存器来实现CRC校验,CRC.5校验和CRC.16校验的电路示意图如图4所示。

vhdl

4.4 射频标签中的状态机

RFID标签所有的操作都基于由一系列逻辑控制的状态转换进行的,此为标签数字电路的核心部分。本设计采用有限状态机来实现此模块,这里用到了3类基本操作和7种典型的状态。如图5所示,当收到不同命令时,标签将会在7种状态间进行转换。选择(select)命令和盘存(inventory)命令用于从标签群中识别出特定的一个,标签所处的相应状态为ready,arbitrate,reply,acknowledged;一旦标签被识别,读写器即可发出访问(access)命令,读取标签的信息或将信息发送给标签,标签所处的相应状态为open,secured,killed。

vhdl

识别多个标签时采用随机分槽防碰撞算法(slotted random anti.collision algorithm)解决冲突问题。读写器向读写范围内的每个标签发送包含参数Q (取值0 15)的Query命令,控制标签往各自的分槽计数器内载入一个由Q值决定的随机数(取值范围0~2Q.1),随机数的产生主要基于线性移位反馈寄存器 。读写器再发出其他inventory命令改变随机数的值,只有当随机数的值为0时,标签才会应答。若多个标签的计数器值同时为0时,这些标签同时应答,从而造成冲突。读写器检测到冲突后,发出inventory命令让冲突标签的随机数值从0000h(十六进制数)变到7FFFh,再通过设置新的Q参数来随机散列分槽计数器值,使得发生冲突的多个标签逐一被识别,保留一个处于活动状态的标签与读写器建立无碰撞通信,这样就有效地解决了冲突问题。虽然此种方法的判别线性度(215_1)比二进制数搜索法(2蜥)低,但读取速度高,演算机制完整,可防范多种信号碰撞的可能性,大幅降低信号碰撞的几率。

4.5 编码模块

标签反向散射给读写器的数据采用

FM0编码,图6给出了FM0编码的格式。

vhdl

FM0编码的数据前应以前同步码开始,选择哪种前同步码由读写器所发命令中的TRext参数决定;FM0编码在每个数据边界处倒转相位,并在数据0中间倒转相位。FM0编码具有记忆功能,一序列的信号中,后一位电平必须承接上一位末尾电平,所以需要一个寄存器存放上一位末尾处的电平信号,由此来判断下一信号的起始电平。根据读器所发命令确定标签返回数据的链路频率(LF:link frequency), 由内部时钟计数产生所需频率,以此作为标签返回数据的发送频率。为降低功耗,可以将全局时钟分频,降低时钟频率。为了准确实现编码的功能,需要在充分理解标准的基础上,严格定义该模块与状态机之间的接口时序。编码模块只有与状态机模块在时序上密切配合,双方才能正确地发送和接收信号。实现过程为:当状态机发送的使能信号有效时,编码模块进入编码状态,同时,状态机送出数据信号;编码模块被触发启动后,首先按照协议要求产生前同步码,再把要输出的数据依次编码,产生1 bit中高低各半的0信号或统一电平的1信号,串行送出;当状态机发送最后一位数据的同时,通知编码模块,状态机的数据已经发送完毕。

4.6 存储器及存储控制逻辑

RFID标签的数据信息都存储在存储器中,一般采用EEPROM,用于存储EPC代码以及password等标签的标识性信息。存储器与状态机的接口 5 J为:Di是存储器输入数据信号;Do是存储器输出数据信号;Addr是存储器输入地址信号;oen是存储器输出使能信号,高电平有效;cen是存储器芯片使能信号,高电平有效;we是存储器读写控制信号,we=1时写有效;we=0时读有效。

5 仿真结果及版图

本文采用VHDL完成了UHF RFID标签数字电路的RTL代码设计,同时对标签与读写器通讯过程进行全面的模拟和仿真,并基于0.18μm CMOS工艺标准单元库,用EDA相关工具对该电路进行了前端综合和后端物理实现。仿真结果如图7所示,可以看到,综合后的电路将读写器发出的PIE格式命令CMD data成功地译码为二进制数据,存人命令寄存器command中,并提供了控制状态机及校验模块的相关命令的使能信号(Query en,QueryAdjust—en等);在各种命令使能信号的触发下标签执行相应操作,按读写器要求产生各种输出数据(rn,handle等);并将输出数据进行FM0编码产生CMD out;还实现了与存储器的接口。仿真结果显示标签数字电路在各情况下均正常工作,完全满足协议要求。综合后的电路规模约为11000门,功耗约为35μw。由于电路规模很大,要通过自动布局线进行版图设计,所设计的版图如图8所示。版图已经通过了DRC(设计规则检查)和LVS(版图与电路图一致比较)验证,时序分析也满足要求,电路具有较大的裕量,可靠性较高。

vhdl

 

vhdl

6 结束语

本文依据EPC C1G2及ISO/IEC18000—6协议,利用VHDL硬件描述语言和EDA工具设计实现了UHF RFID标签数字电路,可应用于工作在超高频段的各种RFID标签的数字部分。文中给出的仿真结果表明完成的设计符合协议要求。逻辑综合也得到让人满意的结果,这些都保证了电路的高性能和后端设计的顺利完成。后期的工作是对流片结果进行测试,另外,在满足协议功能要求的基础上,如何尽可能地简化电路结构并尽可能降低功耗是进一步研究的课题。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分