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

文档序号:9492448阅读:来源:国知局
中;另外,根据信息存储器模块的地址递增的顺序从信息存储器模块中依次读取128Byte的信息包,并发送至无线通信收发器,从而以无线信号的方式将信息包发送出去;上述两个功能轮流执行,FPGA处理模块为每个功能分配400个时钟周期的时间,从信息存储器模块读取信息包的功能所对应的地址比存储信息包至信息存储器模块所对应的地址值高8*128Byte0
[0049]FPGA处理单元内部设置两个信息存储器模块的地址计数器:信息存储器模块的地址计数器Addrl_Cnt是一个16位的计数器,用于进行0~65535之间的计数,输出计数结果Addrl ;信息存储器模块的地址计数器Addr2_Cnt是一个16位的计数器,用于进行0~65535之间的计数,输出计数结果Addr2;这两个计数器在无线网络节点内部的电源复位时或计数值达到其最大值时进行清零操作,然后开始重新计数。FPGA处理单元内部设置一个收发控制计数器,收发控制计数器是一个10位的计数器,输出技术结果信号RT_cnt,其有效的计数范围是0~1023 ;当0〈=RT_cnt〈=511时,使得Ctrl_sig信号的值为1,当512〈=RT_cnt〈=1023 时,使得 Ctrl_sig 信号的值为 O。
[0050]信息存储器模块的地址计数器和收发控制计数器的计数对象都是FPGA处理单元的时钟信号的上升沿。
[0051]FPGA处理单元具体的工作流程如图3所示。当Ctrl_sig的值为I时,FPGA处理单元接收节点外部数据并存储,即此时接收数据接收发送单元发送来的其它节点的信息包数据,并将此信息包数据发送至存储器控制单元中,从而存储至信息存储器模块中起始地址为Addrl的长度为128Byte的存储空间中;然后,使得Addrl计数器的值增加1,并对增加I后Addrl的值取模后赋值给Addrl ;接着判断Count的值是否仍旧小于512 ;当Ctrl_sig的值为O时,FPGA处理单元接收节点读取存储器数据并发送,即通过存储器控制单元读取信息存储器模块中起始地址为Addr2长度为128Byte的存储空间中所存储的信息包,并将此信息包通过数据接收发送单元后发送值CC2420芯片并转化为无线信号后发送至节点外部;然后,使得Addr2计数器的值增加1,并对增加I后Addr2的值取模后赋值给Addr2 ;接着判断Count的值是否仍旧大于512且小于1024。
[0052]当FPGA处理单元执行接收节点外部数据并存储功能时,Ctrl_sig信号的值为逻辑1,当FPGA处理单元执行接收节点外部数据并存储功能时,Ctrl_sig信号的值为逻辑O0当Ctrl_sig信号的值为逻辑1,且Rx_ctrl信号产生一个时钟周期的高电平后,FPGA处理单元接收Data_in信号所发送来的8bit的数据,并将所接收到的数据通过D_store信号线发送至存储器控制单元,并使得WR_ctrl信号的值为逻辑1,Addr_line信号的值为Addrl*27+Infol_addr ;其中Infol_addr为每个信息包中每个字节的数据与本信息包开始字节数据在信息存储器模块中所位于的地址;Infol_addr的值大于等于0,小于等于127。
[0053]当Ctrl_sig信号的值为逻辑0,WR_ctrl信号的值为逻辑0,且Tx_ctrl信号产生一个时钟周期的高电平后,FPGA处理单元将信息存储器模块的地址为Addr2*27+Info_addr2位置处读取的信息包中的数据,从D_achieve信号读入FPGA处理单元,并将所读取的数据通过Data_out信号发送至数据接收发送单元,然后发送至CC2420芯片后转换为无线信号发送出本节点。其中Inf02_addr为每个信息包中每个字节的数据与本信息包开始字节数据在信息存储器模块中所位于的地址;Info2_addr的值大于等于0,小于等于127。地址信号Addr2*27+Info_addr2由FPGA处理单元通过Addr_line信号线发送至存储器控制单元。
【主权项】
1.一种基于FPGA的无线网络节点,包括信息存取器模块、无线通信收发器模块、天线、电源时钟支持模块;其中,信息存取器模块用于存储无线网络节点中的信息包,无线通信收发器模块用于接收天线所接收到的其它无线网络节点的信息数据,或将本节点的信息数据通过天线发送出去; 其特征在于,所述的无线网络节点还包括: FPGA核心控制模块:用于接收无线通信收发器模块发送来的数据并存储至信息存储器中,或读取信息存储器中的数据发送至无线通信收发器模块并利用天线发送至无线网络节点外部。2.根据权利要求1所述的基于FPGA的无线网络节点,其特征在于:所述的FPGA核心控制模块所实现的逻辑功能采用硬件描述语言描述,并经过综合、布局布线步骤后生成对于FPGA芯片的配置文件,然后下载至FPGA核心控制模块上的FPGA芯片中,使得FPGA核心控制模块实现设定的逻辑功能。3.根据权利要求2所述的基于FPGA的无线网络节点,其特征在于,所述的FPGA核心控制模块包含数据接收发送单元、FPGA处理单元和存储器控制单元; 数据接收发送单元:接收无线通信收发器模块发送来的外部节点的信息数据或将本节点的信息数据发送至无线通信收发器模块后转换为无线信号进行发送; 存储器控制单元:用于读取信息存储器模块中的信息包的数据,并传输至FPGA处理单元,或将FPGA处理单元发送来的数据存储至信息存储器模块中; FPGA处理单元:用于接收数据接收发送单元发送来的数据并传送至存储器控制单元,或经由存储器控制单元读取信息存储器模块中指定地址所对应的信息包数据并发送至数据接收发送单元。4.根据权利要求3所述的基于FPGA的无线网络节点,其特征在于,所述信息存储器模块主要由一个8MByte容量的SSRAM存储器组成; FPGA核心控制模块主要由一块FPGA芯片实现; FPGA芯片采用SPI接口模块实现与无线通信收发器的SPI总线之间的数据和控制信号的传输功能。5.根据权利要求4所述的基于FPGA的无线网络节点,其特征在于,所述信息存储器模块中所存储的信息包包含信息ID(Message_ID)、目标节点ID (Destinat1n_ID)、信息本体(Message_Body)三个部分;信息ID和目标节点ID都由两个字节构成,信息本体由96个字节组成。6.根据权利要求5所述的基于FPGA的无线网络节点,其特征在于,所述目标节点ID可以为两种状态:如果目标节点ID的值为OxTFFF”,则表示这个信息包中的信息本体并不包含有效的信息数据;如果目标节点ID的值不为Ox” FFFF”,则目标节点ID的值代表目标节点的ID号,对应的信息本体包含有效的信息的数据。7.根据权利要求4所述的基于FPGA的无线网络节点,其特征在于,所述的FPGA处理单元内部设置两个信息存储器模块的地址计数器:信息存储器模块的地址计数器Addrl_Cnt是一个16位的计数器,用于进行0至65535之间的计数,输出计数结果Addrl ;信息存储器模块的地址计数器Addr2_Cnt是一个16位的计数器,用于进行0至65535之间的计数,输出计数结果Addr2 ;这两个计数器在无线网络节点内部的电源复位时或计数值达到其计数范围的最大值时进行清零操作,然后开始重新计数。8.根据权利要求7所述的基于FPGA的无线网络节点,其特征在于,所述FPGA处理单元内部设置一个收发控制计数器,收发控制计数器是一个10位的计数器,输出技术结果信号RT_cnt,其有效的计数范围是0至1023 ;当RT_cnt的值大于等于0且小于等于511时,使得Ctrl_sig信号的值为1,当RT_cnt的值大于等于512且小于等于1023时,使得Ctrl_sig信号的值为0。9.根据权利要求8所述的基于FPGA的无线网络节点,其特征在于,所述信息存储器模块的地址计数器和收发控制计数器的计数对象都是FPGA处理单元的时钟信号的上升沿。10.根据权利要求7所述的基于FPGA的无线网络节点,其特征在于,所述的FPGA核心控制模块通过信号总线l(SBus)接收无线通信收发器模块发送来的数据,并将其通过信号总线2(MBus)发送至信息存储器模块存储;FPGA核心控制模块通过信号总线2(MBus)读取信息存储模块中所存储的信息数据,并将所述的信息数据通过信号总线l(SBus)发送至无线通信收发器模块后经由天线输出对应的无线信号。
【专利摘要】本发明公开一种基于FPGA的无线网络节点,包括信息存储器模块、无线通信收发器模块、天线、电源时钟支持模块和FPGA核心控制模块。FPGA核心控制模块经由无线通信收发器模块接收天线所接收到的其它节点的信息包数据,然后存储入信息存储器模块;FPGA核心控制模块也可读取信息存储器模块中所存储的信息包数据,然后发送至无线通信收发器模块后经由天线转换为无线信号发送出去;FPGA核心控制模块中所实现的逻辑功能全部采用硬件描述语言描述并实现;所述的基于FPGA的无线网络节点在运行过程中不包含CPU和操作系统等软硬件,可有效地避免无线网络节点遭受病毒和漏洞等信息安全方面的威胁。
【IPC分类】G06F21/56, H04W88/00
【公开号】CN105246174
【申请号】CN201510573270
【发明人】闫明霞
【申请人】上海凌先电子科技有限公司
【公开日】2016年1月13日
【申请日】2015年9月10日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1