版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
以FPGA控制为核心的NRF905无线通信系统设计随着计算机技术的迅速发展,电子信息技术越来越快地普及到各行各业的应用中去。传统的物流信息采集工作方式是通过工作人员将票物进行核对,然后将票上的数据输入到计算机中。这一过程费时费力,并且可能由于各种人为过失造成各种各样错误数据的存在,影响所采集信息的可靠性。而自动识别技术利用计算机进行自动识别,增加了输入的灵活性与准确性,使人们摆脱繁杂的统计识别工作,并且大大提高了物流信息采集的工作效率。目前,由沃尔玛、麦德隆等大超市一手推动的RFID应用,为零售业带来包括降低劳动力成本、商品的可视度提高,降低因商品断货造成的损失,减少商品偷窃现象等好处。其可应用的过程包括:商品的销售数据实时统计,补货,防盗等。本文利用RFID技术,用FPGA芯片与NRF905搭建了无线通信系统,成功的实现了无线收发数据。1系统设计1.1RFID简介RFID(RadioFrequencyIdentification,射频识别技术)是利用无线电波对记录媒体进行读/写。射频识别的距离可达几十厘米至几米,且根据读/写的方式,可以输入数千字节的信息,同时,还具有极高的保密性。射频识别技术适用的领域:物料跟踪、运载工具和货架识别等要求非接触数据采集和交换的场合,要求频繁改变数据内容的场合尤为适用。如香港的车辆自动识别系统驾易通,采用的主要技术就是射频技术。射频技术在其他物品的识别自动化管理方面也得到了较广泛的应用。如图1所示即为本无线系统的整个构架,由控制模块,SPI模块以及天线模块构成。其中对SPI模块的配置由控制模块通过Wishbone总线来完成,并且对天线模块的配置,模式转换,收发数据等操作均由控制模块通过SPI总线来完成。下面将就各个部分进行说明。1.2天线模块(NRF905收发模块)1.2.1NRF905介绍NRF905是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9~3.6V,32引脚QFN封装,工作于433/868/915MHz三个ISM频道。可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置方便,功耗低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。NRF905有ShockBurst接收与ShockBurst发送两种工作模式;掉电和SPI编程与Standby和SPI编程两种节电模式。其ShoekBurst工作模式的特点是自动产生前导码和CRC,可以通过SPI接口进行编程配置。NRF905的工作模式由对TRX_CE,TX_EN,PWR_UP的设置来设置,见表1。1.2.2NRF905配置与工作过程nRF905的所有配置都通过SPI接口进行。SPI接口由5个寄存器组成,一条SPI指令用来决定进行什么操作。SPI接口只有在掉电模式和Standby"模式是激活的。其中SPI接口的5个寄存器分别为:(1)状态寄存器:寄存器包含数据就绪DR和地址匹配AM状态。(2)RF配置寄存器:寄存器包含收发器的频率、输出功率等配置信息。(3)发送地址:寄存器包含目标器件地址,字节长度由配置寄存器设置。(4)发送有效数据:寄存器包含发送的有效ShockBurst数据包数据,字节长度由配置寄存器设置。(5)接收有效数据:寄存器包含接收到的有效ShockBurst数据包数据,字节长度由配置寄存器设置。在寄存器中的有效数据由数据准备就绪DR指示。ShoekBurst技术使nRF905能够提供高速的数据传输,而不需要高速控制器来进行数据处理或时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,nRF905提供给应用控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。nRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。在ShockBurstRX(接收)模式中,地址匹配AM和数据准备就绪DR信号通知控制器一个有效的地址和数据包已经各自接收完成。在ShockBurstTX(发送)模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪DR信号通知控制器数据传输已经完成。1.3SPI模块1.3.1SPI总线介绍SPI(SerialParallelBus)总线是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.2SPI硬件设计图3是本文无线通信系统中SPI模块的结构图,该系统中的SPI主要由时钟生成模块,SPI寄存器组,SPI功能配置的模块组成,并且通过Wishbone总线与控制器相连,具体设计如下:时钟生成模块:由于SPI模块是基于FPGA来实现的,而FPGA外部提供的时钟较快(50MHz或100MHz),不适合与NRF905的SPI接口进行通信(1Hz~10MHz),所以需要分频来使时钟慢下来。但是至于几分频是由SPI功能配置模块来完成的。其次由于SPI协议指出数据可在上升沿或下降沿触发,所以还需要对时钟的上升沿或下降沿进行鉴别(也称抓沿程序),这个功能也由这个模块完成。SPI寄存器模块:这个模块实现的是一个由16个8位寄存器组成的128位的寄存器组,也就是说通过SPI接口一次性可收发8~128位的串行数据。具体操作由SPI功能配置模块来完成。SPI功能配置模块:这个模块相当于一个SPI控制器,通过对其寄存器的配置来决定时钟的分频数,收发数据位数,时钟上升沿或下降沿传输数据等,而对这些寄存器的配置是由控制模块完成的。下面就配置寄存器做一些简要说明。首先介绍控制寄存器:控制寄存器第O位go:是否开始发送。控制寄存器第1位rx_negedge:接收数据是下降沿还是上升沿。控制寄存器第2位tx_negedge:发送数据是下降沿还是上升沿。控制寄存器第3~9位char_len:发送数据的位数(因为SPI是全双工的,所以这实际上也是接收数据的位数)。控制寄存器第10位lsb:是从高位发送还是地位发送。控制寄存器第11位ie:读写完成之后是否发送中断信号。控制寄存器第12位ass:是否自动产生片选信号。分频寄存器:spi_divider_sel。状态寄存器:spi_ctrl_sel。数据寄存器O:spi_tx_sel[0]。数据寄存器1:spi_tx_sel[1]。数据寄存器2:spi_tx_sel[2]。数据寄存器3:spi_tx_sel[3]。片选信号寄存器:spi_ss_sel。1.4控制模块对于控制模块来说,其实现方法是利用基于Verilog语言的有限状态机来实现,相当于一条一条的指令来控制SPI模块接收发送数据。控制模块分成三个独立的部分即接收控制模块、发送控制模块及NRF905配置模块。其中接收与发送控制模块分别包含对SPI进行配置的状态。下面对接收控制模块的设计进行说明。图4即为Debussy综合出的状态机转换图。为了完成无线通讯而设计的状态较多,比较复杂,故只对比较重要的状态做些简要说明。idle空闲状态,完成对端口进行初始化寄存器清零;config_div状态,对时钟进行分频(定义sclk);configwb_in状态,定义传输数据的位数以及是上升沿收发还是下降沿收发,wb_inl,wb_in2,wb_in3,wb_in4,这四个状态就是通过Wishbone总线接口对SPI配置要写的数(每一个状态对应一个寄存器);configspi_out状态,开始传送数据;done状态,片选置高数据传送完成;readeonfigreg_prel状态,设定发送数据位数;readconfigreg(读寄存器控制字位数)状态,通过Wishbone总线接口对SPI配置读命令字;readconfigreg_out状态,设定发送/接收数据位;alldone状态,片选置高完成配置数据读取的过程。该设计考虑到验证配置过程的正确性,故特意设定了读寄存器配置数据的状态,ehangemode就是接收状态,当接收完成后(DR=1)进入eh-angmodee状态,把收到的数据读出来。然后再回到readeonfigreg_prel状态,等待新的传输数据。2系统验证该设计最后进行了板级验证,FPGA开发板与NRF905的PCB板构成这个验证系统。FPGA芯片的采用Xilinx公司的XC2V1000,所用的综合工具是Synplify,前仿真与后仿真用来查看波形的工具是Modelsim,所用到的布局布线工具与下载工具是ISE10.1集成的iMPACT,而板级测试用来查看波形的工具是Chipseope。在下载之前对本设计进行了充足的功能仿真,用Verilog编写了SPI从机模仿NRF905的SPI接口与SPI主机进行通信,确保能够完成预先设定的功能。下载是将配置文件下载到具体的FPGA芯片中。本文系统中采用的是JTAG下载方式,下载工具使用XilinxISE的集成工具iMPACT。在下载之前进行了管脚绑定其目的就在于能够将设计的输入/输出端口约束在FPGA芯片的合适的引脚上,以方便对其进行分析和调试并与外界I/O进行相连。下面即为本设计中相应的管脚约束文件中的相关内容。下载完成后,依照管脚绑定将FPGA开发板与NRF905的PCB相连,图5即为无线收发的PCB连接图。这只是其中一端,在这里假定为接收端,那么另外还有一样的互连PCB板作为发送端。右边的PCB板为FPGA用来实现SPI模块与控制模块。左上倒凸字形的小PCB板即为NRF905,左边的PCB板起到了连接FPGA与NRF905的左右,并给N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 廊坊市文安县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 恩施土家族苗族自治州建始县2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 吕梁市文水县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 广告位招租方案
- 深度解析(2026)《CBT 4438-2016船用柴油机气缸盖螺栓、贯穿螺栓和主轴承螺栓》
- 深度解析(2026)《CBT 3153-2019船舶机舱监视报警装置技术条件》
- 深度解析(2026)《AQT 2050.2-2016金属非金属矿山安全标准化规范 地下矿山实施指南》
- 2026-2027年人工智能(AI)在职业铁人三项运动中通过运动员生理数据与环境条件优化三个项目间的节奏分配与装备选择获耐力运动科技投资
- 第3课《列夫-托尔斯泰》教学评一体化设计
- 数控设备维修技术专业知识题库及答案
- (2025版)加速康复外科理念下高龄颈椎退行性疾病手术患者延续护理专家共识解读
- 老年人床上擦浴
- 显微组织调控方法-洞察与解读
- 新解读(2025)《JB-T 9214-2010无损检测 A型脉冲反射式超声检测系统工作性能测试方法》
- 店群运营知识培训内容课件
- 人工智能通识教程 课件 第7章-自然语言处理
- 盐酸罂粟碱课件
- 高校财务预算编制与执行流程
- (正式版)DB54∕T 0312-2024 《退役军人服务中心(站)建设与运行管理规范》
- 网络舆论引导工作实施细则
- 草坪修剪知识培训课件
评论
0/150
提交评论