完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
本文在介绍TI公司最新推出的多协议完全集成13.56 MHz收发一体芯片TRF7970A的基础上,设计了具有主动模式和被动模式的NFC模块。
1 硬件设计 1.1 TRF7970A简介 TRF7970A是一款用于13.56 MHz RFID/近场通信系统的集成模拟前端和数据组帧器件。通过内置编程选项可使此器件适合于范围宽广的应用。它能够执行以下3种模式中的任一模式:RFID/NFC读取器、NFC对等点、卡仿真模式。引脚分布如图1所示。 此芯片具有几个工作模式,可以通过配置两个输入引脚(EN和EN2)以及芯片状态控制寄存器(0X00)内的几个位来进行控制,如表1所示。 图1 引脚分布 当EN被设定为高电平时(或者在EN2的上升沿,然后被EN=1确认),电压稳压器被激活并且13.56 MHz振荡器启动。当电源和振荡器频率已稳定时,SYS_CLK输出从60 kHz的辅助频率切换至来自晶体振荡器的13.56 MHz频率。此时,读取器已为通信和执行所需任务做好准备。然后此MCU可对芯片状态控制寄存器0x00进行编程并通过编辑附加寄存器来选择运行模式。 (1)待机模式(寄存器0x00的位7=1),此读取器能够在100¨s恢复到完全运行。 (2)模式1(RF输出禁用,寄存器Ox00的位5=0并且位1=0的激活模式)是一个低功率模式,此模式使得读取器能够在25斗s内恢复到完全运行。 (3)如果读取器到读取器的防冲突被执行,模式2(只有RF接收器有效,寄存器ox00的位1=l的激活模式)可用于测量外部RF场(正如RSSI测量段落中描述的那样)。 (4)模式3和4(整个RF部分有效。寄存器0x00的位5=l的激活模式)是用于正常发射和接收操作的正常模式。 1.2 NFC模块工作原理 图2给出了由NFC天线、TRF7970A、微控制器(MCU)3部分组成的NFC电路。 系统上电以后,MCU首先配置TRF7970A芯片,可以通过配置引脚EN和EN2以及芯片状态控制寄存器 的几个位来选择工作模式(具体配置参数如表l所示),MCU通过并13将配置数据传人TRF7970A芯片。NFC模块主要有主动模式和被动模式两种模式。 图2 NFC模块电路图 NFC模块可以在主动或被动模式下交换数据。在被动模式下,启动NFC通信的设备(也称为NFC发起设备,主模块),在整个通信过程中提供射频场(RF—field),其中传输速度是可选的,将数据发送到另一台模块。另一台模块称为NFC目标模块(从模块),不必产生射频场,而使用负载调制(Load Modulation)技术,即可以相同的速度将数据传回发起设备。此通信机制与基于IS014443A、MIFARE和FeliCa的非接触式智能卡兼容,因此,NFC发起模块在主动模式下,可以用相同的连接和初始化过程检测非接触式智能卡或NFC目标模块,并与之建立联系。 当NFC模块工作在主动模式下。和RFID读取器操作中一样,此芯片完全由MCU控制。MCU激活此芯片并将模式选择写入ISO控制寄存器。MCU使用RF冲突避免命令。所以它不用承担任何实时任务。每台NFC模块要向另一台NFC模块发送数据时,都必须产生自己的射频场。如图3所示,发起模块和目标模块都要产生自己的射频场,以便进行通信。这是对等网络通信的标准模式,可以获得非常快速的连接设置。 图3 NFC主动通信模式 图4 NFC被动通信模式 如图4所示,当NFC模块工作在被动模式下,此模块通常处于断电或者待机模式。如果EN2=H,此模块将电源系统保持在开状态。如果EN2=L并且EN=L,则此模块处于完全断电状态。为了运行在被动模式或者标签仿真器状态下,MCU必须向模块检测电平寄存器(bo—b2)中载入一个非0值,此操作将开启RF计量系统(由VEXT供电,所以此系统在完全断电期间仍可运行并且其流耗只有3.5μA)。RF计量一直监控天线输入上的RF信号。当天线输入上的RF水平超过目标方检测电平寄存器中定义的值时,NFC模块被自动激活(EN是内部强制高电平)。 移动模块主要以被动模式操作。可以大幅降低功耗,并延长电池寿命。在一个应用会话过程中,NFC模块可以在发起模块和目标模块之间切换自己的角色。利用这项功能。电池电量较低的设备可以要求 以被动模式充当目标设备,而不是发起设备。 1.3 TRF7970A通信接口设计 芯片TRF7970A到读取器的通信接口可被配置为两种方式:具有8线并行接口(DO:D7)加上DATA_CLK,或者具有3线制或者4线制串行外设接口(SPI)。SPI接口使用传统的主器件输出/从器件输入(MOSI)、主器件输入/从器件输出(MISO)、IRQ和DATA_CLK线路。SPI可在使用或者不使用从器件选择线路的情况下运行。本文以并行接口的方式阐述。 通信由一个启动条件初始化,此启动条件之后通常跟随一个地址/命令字(Adr/Cmd)。Adr/Cmd为8位长,并且它的格式显示如表2所示。 MSB(位7)确定这个字用作命令还 是地址。表2中的最后两列显示了独立位的功能,即写入的是地址还是命令。一旦地址字被发出,就进入数据接收等待状态。在连续地址模式(连续模式=1),地址之后的第一组数据被写入(或者读取)到(自)指定的地址。对于每个附加数据,地址增量为1。持续模式可用于在不改变地址的前提下写入一个位于单一数据流中的控制寄存器的块;在非连续地址模式下(简单寻址模式),在地址以后只等待一个数据字。 地址模式用于写入或者读取配置寄存器 或者FIFO。当把多于12 B的数据写人FIFO时,连续地址模式应设定为1。命令模式用于输入一个导致读取器动作的命令。 1.3.1 无线接口数据的接收 在接收操作启动时(成功侦测到SOF),IRQ状态寄存器的B6被设定。如果接收数攒if{少于或者等于8 B,在接收操作的末尾,一个中断请求会被发送到MCU。MCU接收到这个中断请求,然后它会通过读取IRQ。状态寄存器(OxOC)来检查以确定中断的原因,之后MCU从FIFO读取数据。 如果接收到的数据包大于96 B,当第96个字节被载人到FIFO中(满容量的75%)时,在接收操作终止前,中断被发出。MCU应该重新读取IRQ状态寄存器的内容以确定中断请求的原因。如果FIFO已经达到满容量的75%(由IRQ状态寄存器的标志B5标出并读取FIFO状态寄存器),MCU通过从FIFO中读取数据作出的响应为新接收来的数据腾出空间。当接收操作完成时,中断被发出并且在完成读取操作前,MCU必须检查还有多少字仍然在FIF0中。 如果读取器侦测到一个接收错误,在IRQ状态寄存器中相应的错误标志(组帧错误,CRC错误)被设定,指示MCU接收没有正确完成。 1.3.2 到MCU的数据传送 在开始数据传送前,FIFO应该一直被一个复位命令(0x0F)清除。数据传送由一个选定的命令初始化。然后,MCU命令此读取器从寄存器0xlD开始执行一个持续写命令(Ox3D)。写入到寄存器OxlD的数据为TX。长度字节l(上部和中部半字节),而随后寄存器0xlE中的字节为TX,长度字节2(较低半字节和不完整字节长度)。TX字节长度确定读取器何时发送帧结束(EOF)字节。在TX长度字节被写入后,FIFO数据被载入到寄存器0xlF中。其字节存储单元位于0至127。在第一个字节被写入到FIFO后,数据传送自动开始。由于地址是按顺序排列的,TX长度字节和FIFO的载人可由一个持续写命令完成。 传送开始时,IRQ状态寄存器的标志B7(IRQ TX)被设定,并且在传送操作结束时发送一个中断以通知MCU此任务已完成。 2 软件设计 系统上电以后MCU首先配置TRF7970A芯片,先将由2个输入引脚(EN和EN2)以及芯片状态控制寄存器(0x00)内的几个位配置芯片的工作模式,MCU通过并IZl将配置数据传入TRF7970A芯片。在RX模式,接收操作结束,通过设定引脚13(IRQ)为高电平来通知外部MCU接收结束;在TX模式,一个标示TX已经完成的中断申请(IRQ)通知外部MCU。 在TRF7970A芯片中有一个组帧逻辑部分,串行比特流数据在此部分被格式化成字节格式。特别信号, 诸如帧开始(SOF)、帧结束(EOF)、通信开始 、通信结束,被自动去除;奇偶校验位和CRC字节也被检查并去除了。然后,这个“干净”数据被发送到128 B的FIFO寄存器,此寄存器可由外部微控制器读取。这意味着降低MCU的存储器需求也就是降低MCU成本。同时缩短软件开发时间。TRF7970A发射模式如图5所示,TRF7970A接收模式如图6所示。 图5 TRF7970A发射模式, 图6 TRF7970A接收模式 2.1发射模式 (1)通过引脚EN和EN2以及芯片状态控制器(0x00)内的几个位选择功率模式使模块工作在主动模式; (2)在将即将发送的数据载入FIFO后,发送一个发射命令: (3)TRF7970A芯片自动添加特别信号:通信开始、通信结束、SOF、EOF、奇偶校验位和CRC字节。形成数据包; (4)在检测中断信号(IRQ)之前,一直发送数据包; (5)在发射操作的末尾,一个标示TX已经完成的中断请求(IRQ)通知外部MCU。 2.2 接收模式 (1)通过引脚EN和EN2以及芯片状态控制器(0x00)内的几个位选择功率模式使模块工作在被动模式,即待机状态; (2)开启RF计量系统,监控天线上输入的RF信号,检测有效电平,TRF7970A芯片被自动激活; (3)TRF7970A芯片为接收到的信号自动去除特别信号:通信开始、通信结束、SOF、EOF、奇偶校验位和CRC字节,形成“干净”数据; (4)当FIFO中接收到数据,一个中断被发送至MCU以表示有数据要从FIFO中读取,接收操作开始; (5)在接收数据期间,检测到任何数据格式、奇偶校验或者CRC中的错误,可以通过一个中断请求通知外部MCU。放弃该数据; (6)接收操作的末尾通过设定引脚13(IRQ)为高电平来传送至外部系统MCU。 上面的两种模式只是简单地叙述了NFC模块在主动模式下发送数据和在被动模式下接收数据。在发送和接收数据后,可根据存储MCU的数据再完成相应的工作。 在并口模式下读写数据到寄存器的参考程序如下: 本文介绍了TRF7970A芯片接口,其具有资源丰富、扩展性强、集成度高、简化电路设计等特点。用此芯片设计的NFC模块具有功耗低及可休眠、高可靠性、体积小、重量轻和稳定性高等优点。实验证明,该NFC模块可应用于移动支付、公共交通票务、门禁、电子海报等不同的领域。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2363 浏览 5 评论
3209 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2787 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
664浏览 1评论
903浏览 0评论
1024浏览 0评论
667浏览 0评论
497浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:24 , Processed in 1.013117 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号