分享好友 技术首页 频道列表

由RFW122-M构成的短距离无线数据通信系统

2012-04-11单片机与嵌入式系统应用

摘要 利用AT89LV52单片机作控制器,实现基于RFWaves公司的射频芯片RFW122-M的短距离无线数据通信系统;分析射频芯片RFW122-M及其与单片机的接口芯片RFW-D100的特点;给出系统的硬件原理框图及软件流程图。对应用于该装置的无线数据传输协议CSMA进行分析,并且在对固件的编程配置中加以实现。
关键词 无线数据通信系统 RFW122-M RFW-D100 AT89LV52 CSMA协议

  目前, 短程射频通信技术是一种热门技术, 已广泛应用于实际中, 主要有无线局域网(WLAN )、个人区域网络(PAN) 及无线短距离消费类产品(如中低速数据传输应用, 有效范围在30 m以内)。该通信技术的标准有IEEE802.11a、Hiperlan2、蓝牙(IEEE802.15.1)、 HomeRF及IEEE802.11b(WIFI)等。支持这些标准的器件一般功耗都比较高,结构复杂,价格较高, 因而不适合低端产品。RFWaves 公司针对现有市场发展推出的面向低端的用于短距离无线通信的射频通信芯片组RFW122-M,符合美国联邦通信委员会(FCC)的技术规范。

  本系统利用射频芯片RFW122-M及其与MCU的接口芯片RFW-D100,在单片机AT89LV52的控制下,实现了短距离的无线数据通信。

1  射频芯片RFW122-M及其接口芯片RFW-D100

  RFW122-M无线收发芯片是一种半双工、使用直接序列扩频(DSSS)技术的无线收发两用集成电路,工作中心频率为2.44 GHz(ISM频段),采用ASK调制方式,工作电压为2.4~3.6 V。在空闲状态下,几乎不消耗功率(0.1 μA @ VCC=3 V)。RFW122-M可以外接一个200 Ω的差分阻抗天线(印制版天线)或带有匹配电路的其他天线,在误码率为10-3的条件下,接收灵敏度为-77 dBm。该模块有3根数据控制线,且其数据I/O口是一个串行的数字接口。它的唤醒时间为20 μs,同步时间是1.2 μs。最高数据传输速率为1 Mbps,此时工作电流为33 mA。

  为了降低MCU实时处理MAC协议的要求,RFW122-M芯片组提供了RFW122-M与MCU之间的接口芯片RFW-D100。该芯片在MCU和RFW122-M之间提供了一个并行接口;同时提供了对CSMA协议的支持。RFW-D100采用了两种技术来获得比较好的载波侦听的能力: 一种是RSSI(射频信号强度检测),能检测到任何强度的无线传输,避免冲突;另一种是使用RFWaves 网络的载波侦听算法。采用这种技术可以避免与本网络内的或其他网络的RFWaves站点发生冲突。

(1)  RSSI(射频信号强度检测)

  RSSI机制用来比较某个非RFWaves站点传输的功率超过了一个确定的门限(用一个外部的电阻来设置这个数值,RFW-D100给出了该门限的参考电压和计算公式),比较的结果放在寄存器SSR[7]-COMP_IN中。当MCU内有数据传输时,就去读取该寄存器,根据寄存器的状态确定信道是否处于被占用的状态,从而确定数据是否被传输。

(2) 内部/外部RFWaves网络的载波监听的算法

  该机制主要用来监测相似的RFWaves网络。RFWD100利用载波侦听算法监听是否有外部相似的RFWaves网络正在传输数据。如果外部的RFWaves网络正在进行数据的传输,则内部的标志位将被置1,表示信道处于被占用的状态;如果信道由被占用的状态转为空闲的状态,将产生一个中断来通知MCU,此时MCU可以进行数据的传输。

2  硬件设计

  系统的微处理器采用Atmel公司的AT89LV52。它是一款基于51系列的低功耗微处理器,支持汇编和C语言,开发环境采用Keil公司 Keil C51(51单片机的汇编和C语言的开发工具);支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真和硬件仿真。系统包含两个半双工的通信终端,来自高层的数据由串口发往MCU,MCU再将数据发往RFW-D100。RFW-D100将数据打包以后送往RFW122-M进行调制,再通过天线发送出去。系统框图如图1所示。

图1  系统框图

  MCU与RFW122-M及RFW-D100的连接关系如图2所示。

                 

图2  MCU与RFW122-M及RFW-D100的连接关系

3  通信协议及软件流程

  系统所采用的数据链路层的协议是载波侦听多路访问协议(CSMA)。局域网一般采用共同介质的方法,为此当多个站点要同时访问介质时,就要进行控制。CSMA就是常用的一种方式。当网中站台要发送数据时,先检测是否有别的站台占用了传输媒体。具体做法是:先进行载波侦听,如果发现介质(媒体)空闲,则立刻发送数据;否则,就根据不同的策略退避重发。

  由于该系统工作在2.44 GHz的ISM频段,该频段存在较大干扰,所以设计数据包结构时最重要的原则是,以尽量短的时间占用信道,以降低潜在冲突的概率。在传输中,包重叠的概率是与每个发送节点占用共享信道的时间成正比的。因此,若以高比特率传输数据包, 会提高数据被正确接收的概率。RFW-D100最高的空中数据传输速率为1 Mbps,它可以被配置为各种传输速率。在RFW-D100的数据手册中,降低数据速率并不能降低误码率,因此为了缩短数据包在空中传输的时间,降低数据碰撞的概率,在协议中建议以最高的速率传输数据。若把数据分成小包,则每个小包被正确接收的概率又会增加。这样,当干扰出现时,只有一小部分会丢失,而且协议有能力来定位在特定包中损坏的数据。因此可以得出这样的结论:以高的数据速率发送短的数据包,将增强协议处理损坏数据的能力。

3.1  数据包格式

  数据包格式如图3所示。

图3  数据包格式

  ①  PREAMBLE:RFWD100 发送PREAMBLE 的目的是使接收机和发送机同步。20 位长,高4位为1111,其他16位可以配置。发送顺序为从高到低。
  ②  NET_FIRST:1字节,网络地址字节。
  ③  NET_SEC:1字节,网络地址字节。
  ④  DST_ID:1字节,数据包所发往的目的节点地址。
  ⑤  SRC_ID:1字节,发数据包的源站地址。
  ⑥  SEQUENCE:1字节。这个段包括两个值:高4位表示数据序号,低4位表示数据包的类型。低4位代表的含义:0000b为握手数据包, 0001b为握手应答包,0010b为数据包,0011b为数据包的应答包,0100b为拆链包,0101b为拆链的响应包。
  ⑦  SIZE:1字节。这个段说明包的大小。当设定数据包为固定大小时,SIZE没有意义。
  ⑧  PAYLOAD:1字节。来自上层软件层的数据。
  ⑨  CRC:1字节。RFWD100 在发送端给每个包增加CRC 信息,使得接收机对接收的数据进行检测。

  在本系统的协议设计过程中,采用小数据包的传输模式,从串口中收到的数据个数(以字节为单位)等于10时,将这些数据打包发送出去。如果收到的数据个数小于10, 并且串口数据的发送已经结束, 则系统也将这些数据打包并发送出去。

3.2  系统状态转移图

  系统的状态转移如图4所示,包含4个状态,分别是空闲态、握手态、传输态和接收态。
                  

图4  系统状态转移图

  空闲态:如果没有串口中断或外部的握手信号中断,则系统将一直处于空闲状态。

  握手态:如果串口中断发生,则表明有上层的数据包需要传输,系统进入握手的状态。

  传输态:系统把从串口收到的数据通过无线信道发送出去。

  接收态:系统处理接收到的数据包,发往串口,并对从串口到来的数据包做丢弃处理。

3.3  4个状态的处理流程

  系统4个状态的处理流程如图5~图8所示。
                    

图5  空闲态流程

图6  握手态流程

图7  发送态流程

图8  接收态流程

  系统接收串口数据的缓冲池的大小为15字节。

  图6中各个标志位的意义如下:

  New_flag串口中有新数据到来(串口中有数据到来,将New_flag置1,在串口中断中设置此标志位)。
  Checkact_suc_flag收到握手应答包的标志。收到握手应答数据包后将此标志位置1。
  Tx_size系统接收到的来自串口的字节个数。
  Tx_end_flag串口中的数据发送完毕。由定时器1控制,定时一段时间。如果在这段时间内没有新的数据到来,则认为串口数据的这次发送完毕。每次收到新的串口数据时重置定时器,定时的时间大于1字节数据传输的时间。
  Checkact _send_flag由定时器0控制,在定时的时间内如果没有收到握手应答包,则定时器0溢出,Checkact _send_flag被置1,重发握手包。

  图7中各个标志位的意义如下:

  New_flag串口中有新的数据到来。若串口有数据到来,则将New_flag置1,在串口中断中设置此标志位。
  Pk_sended_nack一个数据包已经发送出去但还没有收到确认包时将此位置1,为0时表示系统可以发送数据包。
  Ack_flag为1表示发出的数据包收到了确认。
  Tx_end_flag从串口发来的数据已经停止了发送。
  Exceed_timing_flag在发送完每一个数据包的同时打开定时器0,从定时器0打开到定时器0溢出的这段时间内,如果没有收到确认包,则认为数据包发送失败,将Exceed_timing_flag置1;如果在这段时间内收到确认的数据包,则将定时器0关闭。
  Tx_size系统接收到的来自串口的字节个数。

  图8中各个标志位的意义如下:

  Lock_flag本节点收到了其他节点发来的数据包。
  Tx_to_s_flag在接收状态,如果MCU中的缓冲区内仍有数据,且Tx_to_s_flag=1,则可向串口发送1字节数据。当MCU的TI中断发生时,将此标志位置1。

4  接口芯片RFW_D100的固件编程

  对RFWD100进行固件的编程是通过对RFWD100内的特殊功能寄存器的编程实现的。

  SCR2=0x1c配置前的操作;
  BLR=0x06配置数据的空中码速为1 Mbps;
  PPR=0xca配置数据包的格式;
  LCR=0x45配置数据包特殊字节的位置;
  NIR=0xbb网络识别地址;
  BIR=0xee节点识别地址;
  SCR1=0x20打开RSSI;
  SCR3=0x03
  SCR4=0x03
  IER=0x13中断使能;
  SCR2=0x02系统处于数据包的搜索状态。

结语

  本设计以射频芯片RFW122M及其接口芯片RFED100为核心,采用单片机AT89LV52作微处理器,实现了一个短距离无线数据传输系统。今后的工作是完善和改进该协议,进一步提高无线数据的传输效率。

参考文献

[1] 黄智伟. 无线数字收发电路设计——电路原理与应用实例. 北京:电子工业出版社,2003.
[2] 郑少仁,王海涛,赵志峰,等. Ad Hoc 网络技术. 北京:人民邮电出版社,2005.
[3]  张全宝,李峻. RFW102无线收发芯片组的原理与应用. 国外电子元器件, 2004(1).
[4]  陈媛媛,杨凯,胡文东.基于RFW102芯片组的短距无线数据传输系统的实现. 现代电子技术, 2005(24).
[5]  Vishay RFWaves Ltd. RFW122M ISM Transceiver Module, Preliminary Datasheet. 200505.
[6] Vishay RFWaves Ltd. RFWDD100: Standard Interface to The RFW100 Series. Datasheet. July 200207.




收藏
通信指挥支持系统设计与实现
通信指挥是一个通信单位日常工作和重大任务的主要内容,传统通信指挥方法不仅繁冗复杂,而且低效。采用高级开发工具VS2008,研制了某通信指挥支持系统,与管理相结合实现对通信指挥的实时掌控、可视化管理等众多功能。

0评论2014-12-10

基于BP神经网络的枪弹外观缺陷识别与分类
史进伟, 郭朝勇, 刘红宁(军械工程学院基础部,河北 石家庄 050003)摘 要:为实现枪弹外观缺陷自动检测,提出一种基于BP神经网络的枪弹外观缺陷自动识别与分类方法。首先针对枪弹外观缺陷图像特点,从形状、颜色、纹理提取类别差异明显的缺陷特征向量,作为神经网络的输入,以提高分类效果;然后通过经验和实验验证确定

0评论2013-08-07

控制系统的网络化发展及现状
摘要:随着计算机技术和网络技术的不断发展,控制系统正在向智能化、数字化和网络化的方向发展。本文简要回顾了控制网络的发展,

0评论2009-08-26

射频模块PTR8000在无线抄表中的应用
摘要:目前,供电企业电量抄录的工作量急剧增加,原始的人工抄表方式已逐步被先进、自动、远程的方式取代。介绍一种无线与有线相

0评论2007-04-16

对机场等大型军事目标示假是较好的技术途径
“长曲棍球”合成孔径雷达成像卫星采用L波段,可探测地表下一定深度的目标,对干沙的穿透能力厚达6-7米,并能识别曾通散射型伪装

0评论2007-03-29

网络处理器(Network Processor)与CompactPCI
论文提供:控易电子在目前的市场中,网络处理器(Network Processor)是最专业的处理器之一,这种处理器的目的在于希望能以At Line

0评论2007-03-21

利用模块化的可扩展参考设计瞄准ATCA和AMC市场机会
利用模块化的可扩展参考设计瞄准ATCA和AMC市场机会 Rod Watt: 飞思卡尔半导体首席工程师 Colin Cureton:飞思卡尔半导体无线基础

0评论2007-03-20

适用于图像检测压缩系统的内存存取方式
为了兼具可扩展性和数据处理速度,对于各种应用,如图像数据侦错、视频数据压缩、音频数据增益、马达控制等,可编程数据处理模

0评论2007-02-02

RS-232串行通信消除干扰噪声的设计方法分析
1通信线路的绝缘设计方法  RS-232的大噪声(干扰)容限可使接口可靠工作,避免对由外部加到导线上的噪声引起的数据错误。在

0评论2007-02-02

DAB接收机的样机设计
与现行广播相比,数字音频广播(Digital Audio Broadcasting,简称DAB)这种新的传输系统凭借其诸多优点而引起了国际通信行业的

0评论2007-02-02