基于FPGA的RFID无线通信系统的实现

2011-04-10 21:17:26来源: 现代电子技术
  随着计算机技术的迅速发展,电子信息技术越来越快地普及到各行各业的应用中去。传统的物流信息采集工作方式是通过工作人员将票物进行核对,然后将票上的数据输入到计算机中。这一过程费时费力,并且可能由于各种人为过失造成各种各样错误数据的存在,影响所采集信息的可靠性。而自动识别技术利用计算机进行自动识别,增加了输入的灵活性与准确性,使人们摆脱繁杂的统计识别工作,并且大大提高了物流信息采集的工作效率。目前,由沃尔玛、麦德隆等大超市一手推动的RFID应用,为零售业带来包括降低劳动力成本、商品的可视度提高,降低因商品断货造成的损失,减少商品偷窃现象等好处。其可应用的过程包括:商品的销售数据实时统计,补货,防盗等。本文利用RFID技术,用FPGA芯片与NRF905搭建了无线通信系统,成功的实现了无线收发数据。

  1 系统设计

  1.1 RFID简介
    
  RFID(Radio Frequency Identification,射频识别技术)是利用无线电波对记录媒体进行读/写。射频识别的距离可达几十厘米至几米,且根据读/写的方式,可以输入数千字节的信息,同时,还具有极高的保密性。射频识别技术适用的领域:物料跟踪、运载工具和货架识别等要求非接触数据采集和交换的场合,要求频繁改变数据内容的场合尤为适用。如香港的车辆自动识别系统驾易通,采用的主要技术就是射频技术。射频技术在其他物品的识别自动化管理方面也得到了较广泛的应用。

  如图1所示即为本无线系统的整个构架,由控制模块,SPI模块以及天线模块构成。其中对SPI模块的配置由控制模块通过Wishbone总线来完成,并且对天线模块的配置,模式转换,收发数据等操作均由控制模块通过SPI总线来完成。下面将就各个部分进行说明。

  1.2 天线模块(NRF905收发模块)

  1.2.1 NRF905介绍
  NRF905是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9~3.6 V,32引脚QFN封装,工作于433/868/915MHz三个ISM频道。可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置方便,功耗低,以-10 dBm的输出功率发射时电流只有11 mA,在接收模式时电流为12.5 mA。

  NRF905有ShockBurst接收与ShockBurst发送两种工作模式;掉电和SPI编程与Standby和SPI编程两种节电模式。其ShoekBurst工作模式的特点是自动产生前导码和CRC,可以通过SPI接口进行编程配置。NRF905的工作模式由对TRX_CE,TX_EN,PWR_UP的设置来设置,见表1。

  1.2.2 NRF905配置与工作过程
  nRF905的所有配置都通过SPI接口进行。SPI接口由5个寄存器组成,一条SPI指令用来决定进行什么操作。SPI接口只有在掉电模式和Standby"模式是激活的。
    
  其中SPI接口的5个寄存器分别为:
  (1)状态寄存器:寄存器包含数据就绪DR和地址匹配AM状态。
  (2)RF配置寄存器:寄存器包含收发器的频率、输出功率等配置信息。
  (3)发送地址:寄存器包含目标器件地址,字节长度由配置寄存器设置。
  (4)发送有效数据:寄存器包含发送的有效Shock Burst数据包数据,字节长度由配置寄存器设置。
  (5)接收有效数据:寄存器包含接收到的有效ShockBurst数据包数据,字节长度由配置寄存器设置。在寄存器中的有效数据由数据准备就绪DR指示。

  ShoekBurst技术使nRF905能够提供高速的数据传输,而不需要高速控制器来进行数据处理或时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,nRF905提供给应用控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。nRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。在ShockBurst RX(接收)模式中,地址匹配AM和数据准备就绪DR信号通知控制器一个有效的地址和数据包已经各自接收完成。在ShockBurst TX(发送)模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪DR信号通知控制器数据传输已经完成。

  1.3 SPI模块
  1.3.1 SPI总线介绍
  SPI(Serial Parallel Bus)总线是Motorola公司提出的一个同步串行外设接口,容许CPU与各种外围接口器件,以串行方式进行通信。它使用4条线:串行时钟线(SCK)、主机输入/从机输出线(MISO)、主机输出/从机输入线(MOSI)、低电平有效的使能信号线(SS)。这样,仅需3~4根数据线和控制线即可扩展具有SPI接口的各种I/0器件。

  SPI总线模式的数据是以字节为单位进行传输的(一次传输可以传多个字节),每字节为8位,每个命令或者数据块都是字节对齐的(8个时钟的整数倍)。数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到每秒几兆比特。SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件。在本文设计的无线通信系统中,由FPGA实现的SPI总线接口模块为主机,NRF905的SPI模块为从机。
    
  SPI时序模式的选择:
  SPI接口有4种不同的数据传输时序,取CPOL和CPHL这两位的组合。CPOL是用来决定SCK时钟信号空闲时的电平;CPOL=O,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样;CPHA=1,在每个周期的第二个时钟沿采样。 
    
  图2为NRF905的SPI接口的时序图,由此本文设计的SPI工作模式是在CPOL=O,CPHA=O这种时序下。

  1.3.2 SPI硬件设计
  图3是本文无线通信系统中SPI模块的结构图,该系统中的SPI主要由时钟生成模块,SPI寄存器组,SPI功能配置的模块组成,并且通过Wishbone总线与控制器相连,具体设计如下:
  时钟生成模块:由于SPI模块是基于FPGA来实现的,而FPGA外部提供的时钟较快(50 MHz或100 MHz),不适合与NRF905的SPI接口进行通信(1 Hz~10 MHz),所以需要分频来使时钟慢下来。但是至于几分频是由SPI功能配置模块来完成的。其次由于SPI协议指出数据可在上升沿或下降沿触发,所以还需要对时钟的上升沿或下降沿进行鉴别(也称抓沿程序),这个功能也由这个模块完成。

  SPI寄存器模块:这个模块实现的是一个由16个8位寄存器组成的128位的寄存器组,也就是说通过SPI接口一次性可收发8~128位的串行数据。具体操作由SPI功能配置模块来完成。

 

关键字:FPGA  RFID  无线通信系统

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/wltx/2011/0410/article_5316.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
RFID
无线通信系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved