找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 一种基于扩频的短距无线数传模块的设计

[复制链接]
admin 发表于 2013-3-26 11:26:31 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 关键词:无线传感器网络;数传模块;2.4 GHz;wireless USB
       无线传感器网络是近年来信息科学研究的一个热点,在军事、农业、工业、医疗、环境、家庭和其他商业领域都有着广泛的应用,引起了各国学术界和工业界的广泛重视[1]。组建一个无线传感器网络,首先要求组成的节点具有低功耗、低成本、体积小、易组网、高安全性等特点[2]。数传模块是无线传感器网络节点的核心部分。本文所设计的无线数传模块是基于一个无线传感器网络的设计项目提出的。2.4 GHz ISM(Industry Science Medicine)频段是全世界公开使用的无线频段,开发的产品具有全球通用性;其整体带宽优于其他ISM频段,整体数据传输速率高,允许系统共存;该频段产品体积相对较小,传输距离较远。故本项目采用2.4 GHz频段进行无线数据传输。根据项目指标,所设计数传模块除满足上述无线传感器网络节点所必须的特点外,还要求信道数不少于80,数传速率不低于15.625 kb/s,通信距离不小于10 m(加功放后可达1 000 m)。
1 硬件设计
     本文选择AVR系列ATMEGA8L单片机作为微控制器,选择基于扩频的CYRF6936作为射频芯片。CYRF6936是典型的低成本高集成度的2.4 GHz DSSS射频片上系统(Radio System-On-Chip),具有可配置的双向(接收或发送)功能;数据传输速率可达1 Mb/s,具有98个可配置信道;最大发射功率为4 dBm,有效传输距离可达30 m,可工作在-55 ℃~+125 ℃环境中;功耗低,待机电流仅1μA。CYRF6936提供了完整的针对Wireless USB LP的从串口SPI到射频发射的调制解调方案[3]。该数传模块框图如图1所示。
   
       在硬件实现上,数传模块工作方式为半双工,为减小体积,收发共用天线。ATMEGA8L的PC0~PC5端口作为数据采集端口(发送端时)或信号输出端口(接收端时)。采用SPI口(SS、MOSI、MISO、SCK)作为程序下载端口[4]。单片机和射频芯片通过SPI口连接。另外,ATMEGA8L的PD3(INT1)脚连接CYRF6936的IRQ脚,接收射频中断信号。当分立元件的平均尺寸大于波长的十分之一时,电路理论就不适用了,需要用到传输线理论,即在传输线上的是分布参量网络,在整个长度内线上的电压、电流的幅值和相位都可能发生变化[5]。本系统工作于2.4 GHz频段,据上述理论粗略设计,射频部分电容电感均采用0402封装,微带线尽可能短(<1 cm)。单片机ATMEGA8L、射频芯片CYRF6936、电源芯片XC6209B332的外围电路分别见其参考设计。
2 软件设计
     系统发射:主要实现对6路输入电平信号采样,对采样(或输入)数据进行BCH编码,随后将编码后的数据通过SPI口送至CYRF6936的发射缓存区(地址0x20),对数据进行打包、扩频(DSSS)、GFSK调制后发射出去。在接收状态下,系统接收到数据后,CYRF6936对数据进行解调、解扩等处理后将数据通过SPI口传给AVR,对数据进行BCH解码,最后还原成6路电平信号。
     信号采集:信号采集单元主要实现将电平信号转换为数字信号。用ATMEGA8L片内集成的ADC对电平信号进行采样,其采样精度为10 bit,ADC参考电压VREF=3.3 V,理论上采样电压范围为0~3.3 V[6]。流程如图2所示。
    20121107045454804504712.gif
       信号输出:接收端单片机通过PC0~PC5端口输出处理后的信号。
     增强可靠性的方法:
     (1)信道编解码[7]。本系统支持的数据传输帧结构如图3所示。
    20121107045454835754713.gif
       系统采样精度为10 bit,CYRF6936支持的帧格式中每一路采样数据占2 B(16 bit)。为满足系统帧结构,且考虑低采样位权值小,出现误码对系统应用影响较小的特点,在软件设计中对每一路采样数据采用(14,8)(仅对高8位采样值编码,最低两位采样值不做编码)循环码(BCH码)。生成多项式为:g(x)=x6+x2+1。
     (2)直接序列扩频。直接序列扩频是指直接用具有高码率的扩频码序列在发射端去扩展信号的频谱。在接收端用相同的扩频码序列进行解扩,把展宽的扩频信号还原成原始信号。本系统数据帧中帧头SOP使用伪随机码用于收发两端的数据连接和识别。CYRF6936支持的伪码长度有32 bit和64 bit两种,在寄存器FRAMING_CFG_
ADR(地址0x10)中设定伪随机码位数,所使用伪噪声码在寄存器SOP_CODE_ADR(地址0x22)中设定。在寄存器DATA32_THOLD_ADR(地址0x11)和DATA64_THOLD_ADR(地址0x12)中分别设定32 bit、64 bit伪码相关阈值,伪噪声码具有良好的相关特性,接收端接收到数据后进行相关运算,相关值大于设定阈值,认为是所需数据包进行后续操作,反之认为是非所需数据包,弃之不理[8]。
     CYRF6936支持4种数据传输模式GFSK、8DR、DDR、SDR。其中,GFSK不采用伪码扩频,其他3种模式均可采用32 bit伪码和64 bit伪码进行直扩。其数据传输速率如表1所示。
    20121107045454882624714.gif
       在寄存器DATA_CODE_ADR(地址0x23)中设定数据扩频所用的伪随机码。采用直扩技术使系统具有很强的隐蔽性和抗侦察、抗干扰、抗测向的能力;具有选址能力,易实现码分多址;可进行高分辨率的测向、定位[9]。
     (3)CRC校验技术。为了提高无线信息传输过程中数据传输的可靠性,CYRF6936射频收发器芯片将附加CRC16于每一个数据包中。CRC16是一个16 bit的循环冗余校验码(CRC),是使用USB的CRC多项式运算所得,可以检测所有单位和双位差错,检测率达所有可能差错的99.998%[1]。
     (4)数据应答与重发。CYRF6936提供了从基带到射频的完整的解决方案,只需要按照芯片固有的格式进行设定,就可以使芯片自动完成数据打包、成帧、DSSS扩频解扩以及GFSK调制解调等功能,极大地降低了系统的设计难度,缩短了设计时间[8]。为提高系统可靠性设计中使用数据应答和数据重发技术,半双工工作方式是该技术的基础[2]。发射端发射数据前在寄存器XACT_CFG_
ADR(地址0X0F)中设定ACK等待时长,发送完数据后,打开超时定时器开始计时同时转入接收模式,如果超时时间到未收到ACK信号,重发数据。如果设定时间内收到ACK信号,则重新开始新的数据发送时序。接收端使能ACK(寄存器0X0F中设定),收到合法数据后自动发送ACK信号。流程如图4所示。
    20121107045454929494715.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 21:01 , Processed in 0.058104 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表