基于可编辑逻辑器件实现IEEE 802.11协议帧生成器的应用方案

时间:2025-07-25  作者:Diven  阅读:0

1、 引言

基于可编辑逻辑器件实现IEEE 802.11协议帧生成器的应用方案

IEEE 802.11标准定义了能够统筹所有基于以太网的无线通信的协议。是迄今为止最流行的无线局域网的标准。这个标准还细分了一些子标准, 如802.11a, 802.11b和802.11g。这其中有些协议可使用直接序列扩频技术(DSSS)来发送无线信号, 如802.11b。 无线局域网带宽窄,终端设备处理能力弱,其信号的组帧环节需要尽可能采用处理时延小,占用存储资源少的方法。本文正是以此为指导思想进行802.11协议帧的生成的。

2、模块的设计与实现

2.1 全局控制模块

该模块的设计方法是采用一个9bit的计数器,以协议帧的二进制位长度为周期循环计数,在不同的时间片发出不同的使能信号,以实现对多个输出模块的控制,实现实时的串行输出。并设计有选通信号sel[1..0],以实现对输出端口的多路选择器的控制。其仿真时序波形图如图1所示。其关键代码如下:

①always@(posedge clk4) //初始化

begin

if(!reset)

begin

count《=0;

end else

begin

if(count==9‘d472) count《=0;

else count《=count+1;

end

end

②always//对帧序号生成模块的控制

begin

if(!reset) seqenable《=0;

if(count==9’d176) seqenable《=1;

if(count==9‘d192) seqenable《=0;

end ③always //对两个ROM单元的使能和禁止控制

begin

if(!reset)

begin

dataaddrenable《=0;

dataromenable《=0;

crccalenable《=0;

end

if(count==9’d240)//送data

begin

dataaddrenable《=1;

dataromenable《=1;

crccalenable《=1;

end

if(count==9‘d440)

begin

dataaddrenable《=0;

dataromenable《=0;

crccalenable《=0;

end

end

④always //在每帧结束时送出帧序号加1的使能信号

begin

if(!reset)contin《=0; if(count==9’d472) contin《=1; if(count==1)contin《=0;

end

⑤always //对CRC校验码生成模块的控制

begin

if(!reset)

crcdoutenable《=0;

if(count==9‘d440) //数据送完了。

crcdoutenable《=1;

if(count==9’d472)

crcdoutenable《=0;

end

⑥always//选通信号控制

begin

if(!reset) sel=2‘b00;

if(count==9’d470) sel=2‘b01;

if(count==9’d173) sel=2‘b00; 续⑥if(count==9’d190) sel=2‘b01;

if(count==9’d238) sel=2‘b10;

if(count==9’d438) sel=2‘b11;

end

endModule

2.2 CRC校验码生成器模块

此模块需要的常用CRC生成多项式如下:

CRC-8:x8+x2+x+1

CRC-16:x16+x15+x2+1

CRC-32:x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

其关键代码如下。该模块CRC校验时序仿真波形如图2所示。

always@(negedge clk)//posedge把数据送出来,

//negedge对数据进行处理

begin

if(calculateen) //flag为高时作crc的产生

begin

dout《=1’bz;

D[0]《=din^D[31];

D[1]《=D[0]^din^D[31];

D[2]《=D[1]^din^D[31];

D[3]《=D[2];

D[4]《=D[3]^din^D[31];

D[5]《=D[4]^din^D[31];

D[6]《=D[5];

D[7]《=D[6]^din^D[31];

D[8]《=D[7]^din^D[31];

D[9]《=D[8];

D[10]《=D[9]^din^D[31];

D[11]《=D[10]^din^D[31];

D[12]《=D[11]^din^D[31];

for(i=12;i《=14;i=i+1)

D[i+1]《=D[i];

D[16]《=D[15]^din^D[31];

for(i=16;i《=20;i=i+1)

D[i+1]《=D[i];

D[22]《=D[21]^din^D[31];

D[23]《=D[22]^din^D[31];

D[24]《=D[23];

D[25]《=D[24];

D[26]《=D[25]^din^D[31];

for(i=26;i《=30;i=i+1)

D[i+1]《=D[i];

end

else dout《=1‘bz;

if(outputen)

begin

dout《=D[31];

D《=D《《1;

end

else

dout《=1’bz;

end

endModule//

2.3 帧序号生成模块

该模块的功能是产生16bit的帧序号,由overall_ctrl在每帧结束时发出的contin信号实现计数的加一。由enable信号触发,将帧序号串行输出。其关键代码为:

①always@(negedge clk4) //产生帧序号

begin

if(!reset)

seqctrl[15:0]《=0;

if(contin)

begin

if(seqctrl[15:0]==16‘hffff)

seqctrl[15:0]《=0;

else seqctrl《=seqctrl+1;

end

end 续② 4’d3:q《=seqctrl[3];

4‘d4:q《=seqctrl[4];

4’d5:q《=seqctrl[5];

4‘d6:q《=seqctrl[6];

4’d7:q《=seqctrl[7];

4‘d8:q《=seqctrl[8];

4’d9:q《=seqctrl[9];

4‘d10:q《=seqctrl[10];

4’d11:q《=seqctrl[11];

4‘d12:q《=seqctrl[12];

4’d13:q《=seqctrl[13];

4‘d14:q《=seqctrl[14];

4’d15:q《=seqctrl[15];

endcase

end

else

begin

q《=1‘bz;

count《=0;

end

end

else q《=1’bz;

end

endmodule

②always@(negedge clk4) //16 bit帧序号串行输出

begin

if(enable)//enable信号只能严格划分为十六个周期;

begin

count《=count+1;

if(count!=16)

begin

case(count)

4‘d0:q《=seqctrl[0];

4’d1:q《=seqctrl[1];

4‘d2:q《=seqctrl[2];

该模块的帧序号生成模块时序仿真图如图3所示。

2.4 IEEE 802.11协议帧生成器 系统总体结构模块

IEEE 802.11协议帧生成器 系统总体结构模块框图如图4所示。

3.

本文以展示详尽的Verilog HDL代码、各模块时序仿真图和系统总体结构框图的方式给出了基于FPGA的IEEE 802.11协议帧生成器的设计实现方法。该协议帧可直接由DSSS发射机发送。本设计几乎不产生组帧延迟,实时性能好,且不占用缓冲资源,具有新颖性和实用性。

本文作者创新点:

1) 本文给出了以FPGA为硬件平台的IEEE 802.11协议帧生成器的设计实现方法。

2)采用该方法几乎不产生组帧延迟,实时性能好,且不占用缓冲资源,具有新颖性和实用性。

猜您喜欢

自恢复保险丝作为重要的保护元件,应用于电路的过流保护。蓝宝(Lanbao)作为国内知名的电子元器件品牌,其Lanbaofuse8系列自恢复保险丝以优异的性能和多...
2020-10-19 05:33:30

固态电解电容是重要电子元件。在电路中起到存储电能作用。随着科技进步,固态电解电容的需求增加。市场上厂家众多,选择困难。本文将介绍固态电解电容厂家排名,帮助大家了...
2025-03-27 11:31:40

1 背景知识随着信息技术的发展,特别是各种数字处理器处理速度的提高,人们对数据采集系统的要求越来越高,特别是在一些需要在极短时间内完成大量数据采集的场合,对数...
2018-07-03 09:01:00

现代生活中,配件的选择对我们的日常使用体验有着重要影响。特别是“Accessories_27.5X11.3MM_TM”这一款配件,以其独特的尺寸和设计,成为了众...
2025-03-08 13:49:21

贴片电阻2010,指的是一种尺寸为2.0mm x 1.0mm的表面贴装电阻器(SMD电阻)。 这四个数字并非电阻值,而是代表了它的封装尺寸。 「20」代表长度为...
2024-11-26 11:29:39

你或许听说过电动汽车、储能电站,但你了解电池管理系统 (BMS) 吗?作为电池的大脑和守护者,电池管理系统虽然低调,却在电动化浪潮中是很重要的配件。电池管理系统...
2024-09-07 00:00:00

贴片电阻502表示的是50*10^2Ω,也就是5KΩ的阻值。「502」这种表示法遵循贴片电阻的常见标识方式,即三位数字表示法。其中,前两位数字是有效数字,最后一...
2024-11-26 11:29:33

在日常工作和生活中,各种工具和耗材的选择非常重要,不同类型的工具耗材在功能和适用场景上存在明显区别。手动工具与电动工具的主要区别在于使用方式和效率,手动工具适合...
2010-12-25 00:00:00

DC-DC电源芯片因其高效能和灵活性而应用于各种电子设备中。DC-DC电源芯片能够实现高转换效率,通常可达到90%以上,显著降低能量损耗,延长电池使用寿命。体积...
2012-06-08 00:00:00

现代电子制造中,贴片电阻作为重要的电子元件,其焊接质量直接影响到整个电路的性能与可靠性。而焊接温度是影响贴片电阻焊接质量的关键因素。本文将深入探讨贴片电阻焊接温...
2025-04-18 02:30:36