一种基于fpga的无线网络节点的制作方法_2

文档序号:9492448阅读:来源:国知局
例,以便使人们透彻理解本发明的教导。但是,对于从本公开中受益的本领域普通技术人员来说,显而易见,偏离本文公开的具体细节的按照本发明教导的其他实施例仍然在所附权利要求书的范围之内。此外,可能省略对众所周知装置和方法的描述,以便突出对示范性实施例的描述。这样的方法和装置显然在本发明教导的范围之内。
[0026]本发明所公开的一种基于FPGA的无线网络节点,包括信息存取器模块、无线通信收发器模块、天线、电源时钟支持模块;其中,信息存取器模块用于存储无线网络节点中的信息包,无线通信收发器模块用于接收天线所接收到的其它无线网络节点的信息数据,或将本节点的信息数据通过天线发送出去;
所述的无线网络节点还包括:
FPGA核心控制模块:用于接收无线通信收发器模块发送来的数据并存储至信息存储器中,或读取信息存储器中的数据发送至无线通信收发器模块并荣光天线发送至无线网络节点外部;
所述的FPGA核心控制模块所实现的逻辑功能采用硬件描述语言描述,并经过综合、布局布线步骤后生成对于FPGA芯片的配置文件,然后下载至FPGA核心控制模块上的FPGA芯片中,使得FPGA核心控制模块实现设定的逻辑功能。
[0027]所述的FPGA核心控制模块包含数据接收发送单元、FPGA处理单元和存储器控制单元;
数据接收发送单元:接收无线通信收发器模块发送来的外部节点的信息数据或将本节点的信息数据发送至无线通信收发器模块后转换为无线信号进行发送;
存储器控制单元:用于读取信息存储器模块中的信息包的数据,并传输至FPGA处理单元,或将FPGA处理单元发送来的数据存储至信息存储器模块中;
FPGA处理单元:用于接收数据接收发送单元发送来的数据并传送至存储器控制单元,或经由存储器控制单元读取信息存储器模块中指定地址所对应的信息包数据并发送至数据接收发送单元。
[0028]所述信息存储器模块主要由一个8MByte容量的SSRAM存储器组成。FPGA核心控制模块主要由一块FPGA芯片实现。FPGA芯片采用SPI接口模块实现与无线通信收发器的SPI总线之间的数据和控制信号的传输功能。
[0029](I)基于FPGA的无线网络节点。
[0030]基于FPGA的无线网络节点的架构如图1所示。由图1可见,基于FPGA的无线网络节点主要包括电源/时钟支持模块、信息存储器模块、FPGA核心控制模块、无线通信收发器模块和天线。其中,无线通信收发器模块接收FPGA核心控制模块通过SBus信号总线发送来的数据并通过天线发送出去,无线通信收发器模块也接收天线所接收到的无线信号并转化为数据通过SBus发送至FPGA核心控制模块。无线通信收发器模块采用CC2420芯片实现。CC2420 (CC100)只需少量的外围电路元器件,这些外围电路包括晶振时钟电路、射频输入输出匹配电路等支持性电路。具体的支持性电路的电路设计可参考程邱侃的论文《无线传感器网络节点的设计与实现》。天线采用使用金属倒F型PCB引线天线或单极天线两种设计方案。PCB引线天线是印制在电路板上的导线,通过它来感应空中电波、接收信息。PCB天线的形状、尺寸应严格按照数据手册设计。
[0031]FPGA核心控制模块通过SBus信号总线接收无线通信收发器模块发送来的数据,并将其通过MBus信号总线发送至信息存储器模块存储;FPGA核心控制模块通过MBus信号总线读取信息存储模块中所存储的信息数据,并将所述的信息数据通过SBus信号总线发送至无线通信收发器模块后经由天线输出对应的无线信号。信息存储器模块由一个8MByte容量的SSRAM存储器组成。FPGA芯片由一块Xilinx公司的FPGA芯片实现。FPGA芯片内部采用SPI接口模块实现与无线通信收发器C2420的SPI总线之间的数据和控制信号的传输功能。
[0032]电源时钟模块主要为信息存储器模块、FPGA核心控制模块、无线通信收发器模块提供所需的电源和时钟信号。
[0033](2) FPGA核心控制模块。
[0034]FPGA核心控制模块架构如图2所示。由图2可见,FPGA核心控制模块主要包含数据接收发送单元、FPGA处理单元和存储器控制单元。
[0035]SBus信号总线包含CC2420无线收发器的SFD、CCA、FIFOP, FIFO信号端口发送至FPGA核心控制模块中的数据接收发送单元的信号,也包括CC2420的CSn、SCLK、S1、SO等SPI总线相关的信号端口与FPGA核心控制模块中的数据发送接收单元之间所传输的信号。FPGA核心控制模块中的数据接收发送单元在CC2420的SFD、CCA、FIFOP, FIFO信号的控制下通过SPI总线中的CSn、SCLK、S1、SO信号端口与CC2420芯片进行信号传输,传输信号的SBus总线所包含的信号之间的时序关系符合CC2420相关端口的时序要求。
[0036](3)数据接收发送单元。
[0037]数据接收发送单元与FPGA处理单元相连接,并接收FPGA处理单元通过Ctrl_sig信号线和Tx_ctrl信号线发送来的控制命令,以及通过8位的二进制数据线Data_out发送来的数据。并将Data_out所发送来的数据通过SBus总线发送至CC2420芯片并通过无线发送器将其转化为无线信号发送出去。数据接收发送单元通过Rx_ctrl信号线将控制信号发送至与FPGA处理单元,并通过SBus总线接收CC2420无线收发器所接收到的二进制信号,然后通过8位的二进制数信号线Datajn发送至FPGA处理单元。
[0038]CC2420是一款无线射频芯片支持16个最大传输速率为250kbps的信道。但是CC2420只有一组SPI总线与控制器相通信,因此FPGA核心控制模块同一时间只能接收或发送数据至CC2420芯片。
[0039](4)存储器控制单元。
[0040]存储控制单元与FPGA处理单元相连接,接收FPGA处理单元发送来的Addr_line信号和WR_ctrl信号的控制,将FPGA处理单元发送至8位的二进制的D_store数据线的存储入信息存储器中,或从信息存储器中读取8位的二进制数据通过D_achieVe数据线发送至FPGA处理单元。其中,D_store和D_archieve均为8位的数据线。
[0041]当WR_ctrl信号的值为I时,FPGA处理单元将数据通过D_store数线存储至信号存储器中由Addr_line所确定地址对应的存储空间中。当WR_ctrl信号的值为O时,FPGA处理单元将数据通过D_achieve数线线读取信号存储器中由Addr_line所确定地址对应的存储空间中的数据。
[0042]存储器控制单元同Mbus信号总线与FPGA核心控制模块外部的一块8MByte的信息存储器相连接。信息存储器共可存储64K个128字节的信息;其地址线包含23位二进制数;其中高16位二进制数为每个信息包在信息存储模块中的起始地址值,低7位的二进制数为每个信息中每个字节的存储地址与这个信息的起始地址值相比的偏移量。Mbus信号总线中包含存储控制单元从存储器中读取数据或将数据存储至存储器中所需的地址信号、数据信号和控制信号。
[0043](5)信息包的格式及传输规则。
[0044]每个信息包包含信息ID (Message_ID)、目标节点ID (Destinat1n_ID)、信息本体(MeSSage_Body),信息保留部分四个部分;信息ID和目标节点ID都由两个字节构成,信息本体由96个字节组成,信息保留部分由28个字节构成,即一个完整的信息包包含128个字节的数据,占据128Bytet=0.125 Kbyte的存储空间。目标节点ID可以为两种状态:如果目标节点ID的值为x”FFFF”,则表示这个信息包中的信息本体并不包含有效的信息数据;如果目标节点ID的值不为X” FFFF",则目标节点ID的值代表目标节点的ID号,对应的信息本体包含有效的信息的数据。即使信息包中的信息本体部分不包含有效的信息数据,这个信息包的长度仍为128字节。信息包中的信息保留部分主要用于无线通信收发器模块将FPGA核心控制模块发送来的信息转化为无线信号的过程中,将信息包封装为符合无线信号传输的数据帧的格式所需要增加的内容。
[0045]8MByte的信息存储器模块可包含8*1024KByte的数据,即可存储8*1024*8=64K个完整的信息的数据。
[0046](6) FPGA 处理单元。
[0047]设CC2420芯片进行无线信号传输时的有效覆盖范围是20m。由于CC2420芯片的每个信道的最大数据传输数率为250kbps,设定每个信道的数据传输速率为128Kbps,即每秒可完成128K个信息包的传输,完成一个信息包所需的时间为8*10 6秒。则两个节点处于相互之间的有效无线信号传输范围内的时间大于8*10 6秒,则可完成一个信息包的传输。当CC2420在接收一个信息包的过程中,对于其它节点所发送来的无线信号中所包含的信息包的信号拒绝接收。
[0048]设FPGA处理单元主时钟信号的频率是50MHZ,则需要约400个时钟周期完成一个信息包的传输。FPGA处理单元需要执行的功能为,读取无线收发器模块发送来的128Byte的信息包,并将其根据信息存储器模块的地址递增的顺序依次存储在信息存储器模块
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1