电子发烧友网 > 可编程逻辑 > 正文

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

2020年08月05日 17:06 次阅读

1、 引言

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

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

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)采用该方法几乎不产生组帧延迟,实时性能好,且不占用缓冲资源,具有新颖性和实用性。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

理解Verilog编码技巧掌握FPGA中状态机的写法掌握非重叠序列检测代器Verilog代码编写
发烧友学院发表于 2020-04-21 00:00 20994次阅读
写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

基于EP1K30TC144-3芯片实现温控定时喷...

FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于单个器件中,它所提供的门数从几百门到上百万....
发表于 2020-08-05 17:17 0次阅读
基于EP1K30TC144-3芯片实现温控定时喷...

基于EP2S30 FPGA芯片实现MAC接收控制...

传统的测控网是将具有各种功能的仪器通过诸如VXI、CAN等专用总线连接起来构成一套完整的测控系统。现....
发表于 2020-08-05 17:00 9次阅读
基于EP2S30 FPGA芯片实现MAC接收控制...

采用现场可编程门阵列器件实现典型电路的设计方案

在科研和工程中,数据采集系统具有很广泛的应用,针对各类电压型传感器输出的信号伏值不同这种情况,本文提....
发表于 2020-08-05 16:55 13次阅读
采用现场可编程门阵列器件实现典型电路的设计方案

采用可编辑逻辑器件和VHDL语言实现波控系统设计...

相控阵是通过波控系统控制阵列天线各单元通道的相位、幅度以形成空间波束并控制其方位角和俯仰角。早期的波....
发表于 2020-08-05 16:43 14次阅读
采用可编辑逻辑器件和VHDL语言实现波控系统设计...

基于DDS和FPGA器件实现频率特性测试仪的设计

在电路测试中。常常需要测试频率特性。电路的频率特性体现了放大器的放大性能与输入信号频率之间的关系。频....
发表于 2020-08-05 15:01 28次阅读
基于DDS和FPGA器件实现频率特性测试仪的设计

基于EP1C6Q240C8的FPGA芯片实现对实...

利用FPGA开发振动模拟器研制开发费用低,不承担投片风险,通过开发工具在计算机上完成设计,电路设计周....
发表于 2020-08-05 14:29 33次阅读
基于EP1C6Q240C8的FPGA芯片实现对实...

诺基亚成为中国联通5G核心网络产品的合作伙伴

目前,该公司正与爱立信和华为展开激烈竞争,争夺5G市场份额。据悉,该公司已与T-Mobile、Tel....
发表于 2020-08-05 11:02 68次阅读
诺基亚成为中国联通5G核心网络产品的合作伙伴

fpga--矩阵键盘实现某些按键独特功能

矩阵键盘原来是按一下输出一个值,现在想把其中几个值改为一直按一直输出而不是一直按着只输出一个值 ...
发表于 2020-08-05 10:30 40次阅读
fpga--矩阵键盘实现某些按键独特功能

FPGA如何获得外部输入信号?

你好, 我们想使用LCD引脚,在FPGA中获得外部输入信号。 我们在上阅读了讨论,我们使用vivado逻辑进行了一些...
发表于 2020-08-05 07:12 0次阅读
FPGA如何获得外部输入信号?

【每周FPGA案例】至简设计系列_串口回环工程

至简设计系列_串口回环工程 --作者:小黑同学 本文为明德扬原创及录用文章,转载请注明出处! 1.1 总体设计1.1.1 概...
发表于 2020-08-04 20:31 0次阅读
【每周FPGA案例】至简设计系列_串口回环工程

基于FPGA器件实现UART适应自顶向下的设计

UART(通用异步收发器)是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。专....
发表于 2020-08-04 17:25 137次阅读
基于FPGA器件实现UART适应自顶向下的设计

一文详谈FMC标准和FMC连接器的

FMC标准描述了一个通用的模块,它是以一定范围的应用,环境和市场为目标的。
发表于 2020-08-04 16:35 22次阅读
一文详谈FMC标准和FMC连接器的

基于DSP的RS232串口连接设计

此芯片缺陷是不能够一对多发送数据,只能一对一,倒也能满足我使用需求。
发表于 2020-08-04 15:41 145次阅读
基于DSP的RS232串口连接设计

继无线耳机之后,骨传导耳机将成为一个新的风口

随着智能手机的普及和通信技术的发展,电子设备成为普通人日常生活的标配。音乐数码产品催生了一批曲不离耳....
发表于 2020-08-04 15:21 105次阅读
继无线耳机之后,骨传导耳机将成为一个新的风口

无线交换机如何设置_无线交换机的作用

网络是我们现在日常生活中很重要的一个资源,如今我们的社会已经俨然成了一个大的网络群,每个人都在利用网....
发表于 2020-08-04 09:41 149次阅读
无线交换机如何设置_无线交换机的作用

基于EP1C6Q240C8的FPGA芯片实现电子...

本文采用的是ALTERA公司的EP1C6Q240C8型号的FPGA,整个体统采用模块化设计的思想,将....
发表于 2020-08-04 09:39 200次阅读
基于EP1C6Q240C8的FPGA芯片实现电子...

未来无线产业市场的变化趋势分析

Aruba AppRF 技术使企业在传统的基于服务器的应用程序,以及基于云和网络的移动应用程序上变得....
发表于 2020-08-03 19:20 306次阅读
未来无线产业市场的变化趋势分析

在亚太地区,NB-IoT和LTE-M部署仍处于早...

亚太地区31个国家/地区的95家运营商正在投资5G网络,占该地区移动运营商数量的57.5%。该地区1....
发表于 2020-08-03 18:53 170次阅读
在亚太地区,NB-IoT和LTE-M部署仍处于早...

基于FPGA和单片机构成的电子加密系统的设计

FPGA/CPLD技术是近年来计算机与电子技术领域的又一场新的革命,为了保护知识产权,出现了各种层次....
发表于 2020-08-03 17:58 109次阅读
基于FPGA和单片机构成的电子加密系统的设计

FPGA器件EP1C3T100I7实现高速传输速...

近些年来,各种电路功能,包括模拟电路和数字电路,越来越多地用单片集成电路来实现。采用单片集成电路不仅....
发表于 2020-08-03 17:54 166次阅读
FPGA器件EP1C3T100I7实现高速传输速...

无线网络的改进将推动物联网设备

众所周知,5G是未来十年将伴随我们的移动网络。它将是提供更快、更稳定和更优质连接的技术。如果我们把它....
发表于 2020-08-03 17:40 187次阅读
无线网络的改进将推动物联网设备

基于可编辑逻辑器件实现ADPLL的应用设计

随着数字电路技术的发展,特别FPGA技术的普遍应用,采用FPGA实现全数字锁相环(ADPLL)的应用....
发表于 2020-08-03 17:40 39次阅读
基于可编辑逻辑器件实现ADPLL的应用设计

采用编程逻辑器件控制8个LED小灯电路的设计

演化硬件(EHW)是指能根据外部环境变化自动改变自身结构和功能的一类硬件,它把可编程逻辑器件的结构位....
发表于 2020-08-03 17:35 56次阅读
采用编程逻辑器件控制8个LED小灯电路的设计

基于FPGA器件实现AMI编码器和译码器的设计

实际的基带传输系统,含有丰富直流和低频成分的基带信号不适宜在信道中传输。而对具有易获取定时信息、无直....
发表于 2020-08-03 17:31 171次阅读
基于FPGA器件实现AMI编码器和译码器的设计

基于VHDL语言及SOPC技术实现全数字调频信号...

在常用的信号源及信号处理设计方案中,RC/LC振荡电路频率调整方便,但是它的工作频率稳定度较低。频率....
发表于 2020-08-03 17:19 68次阅读
基于VHDL语言及SOPC技术实现全数字调频信号...

采用EPM7064S芯片和TMS320F2812...

CCD驱动板完成CCD信号的驱动,产生CCD像元同步、帧同步信号和经过运放处理的视频信号,DSP电路....
发表于 2020-08-03 17:12 43次阅读
采用EPM7064S芯片和TMS320F2812...

采用SOPC技术和VHDL语言实现图像增强处理系...

图像增强最早起源于人类的空间探索计划。从卫星或飞船上获得的关于地球和太阳系中行星的图像因为多种原因而....
发表于 2020-08-03 17:07 29次阅读
采用SOPC技术和VHDL语言实现图像增强处理系...

基于FPGA XC3S400芯片和ARM相结合实...

在往复式压缩机状态在线监测系统中,由于压缩机结构复杂、零部件多、运动形式各不相同,发生的故障也就会多....
发表于 2020-08-03 17:01 66次阅读
基于FPGA XC3S400芯片和ARM相结合实...

基于EP1C6Q240C8芯片的FPGA开发板实...

本文使用了6输入1输出的BP神经网络结构,其隐含层选择了8个神经元。当传感器出现故障时,系统就根据传....
发表于 2020-08-03 16:53 31次阅读
基于EP1C6Q240C8芯片的FPGA开发板实...

紫光同创PGL22G开发平台试用---软件和器件

已经可以支持到DDR3的800M。内部频率150M---200M,可以很好的运行。硬件部分和国外的中....
发表于 2020-08-03 16:46 272次阅读
紫光同创PGL22G开发平台试用---软件和器件

Vitis AI:从边缘到云的最佳人工智能推断

有了世界领先的模型压缩技术,我们可以在对精度影响极小的情况下,将模型的复杂性降低 5 至 50 倍。....
发表于 2020-08-03 16:40 154次阅读
Vitis AI:从边缘到云的最佳人工智能推断

提高MRAM的整体产量和需求,来降低MRAM存储...

Everspin在磁存储器设计,制造和交付到相关应用中的知识和经验在半导体行业中是独一无二的。Eve....
发表于 2020-08-03 16:26 91次阅读
提高MRAM的整体产量和需求,来降低MRAM存储...

请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?

请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?   前辈们做过的指导我一下。 ...
发表于 2020-08-03 15:53 134次阅读
请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?

广和通上半年营收增长47.42%,整体收入实现快...

深圳市广和通无线股份有限公司(以下简称“广和通”)日前发布2020年半年报。报告显示,2020年上半....
发表于 2020-08-03 10:56 90次阅读
广和通上半年营收增长47.42%,整体收入实现快...

牛人牛语-FPGA

发表于 2020-08-02 17:56 0次阅读
牛人牛语-FPGA

多种无线接入功能的工业计算,将成为住宅太阳能发电...

还有最重要的是数据安全性的问题。在部署工业网络的时候,若数据或数据安全性发生了问题,电力公司和系统集....
发表于 2020-08-01 10:03 447次阅读
多种无线接入功能的工业计算,将成为住宅太阳能发电...

赛灵思支持Open RAN 5G技术实现开放式开...

7月29日,赛灵思宣布加入Open RAN政策联盟,支持Open RAN 5G技术的开发和部署。
发表于 2020-08-01 08:58 132次阅读
赛灵思支持Open RAN 5G技术实现开放式开...

奈奎斯特升余弦数字滤波器的工作原理和采用FPGA...

随着信息需求量的增大,网络都逐渐朝着综合化、宽带化方向发展。数据速率的提高,对于数字信号处理的速度和....
发表于 2020-07-31 18:04 71次阅读
奈奎斯特升余弦数字滤波器的工作原理和采用FPGA...

基于MAX7000S系列的FPGA芯片解决基带传...

现场可编程门阵列FPGA是一种由用户实现芯片功能的器件,用户在设计完成之后可以进行功能仿真,也可以现....
发表于 2020-07-31 17:55 75次阅读
基于MAX7000S系列的FPGA芯片解决基带传...

数字Σ-Δ调制器的基本原理及采用FPGA器件实现...

Σ-Δ调制在数字信号处理以及通信系统方面的应用正越来越引起大家的重视,因为Σ-Δ调制实现时主要采用数....
发表于 2020-07-31 17:52 91次阅读
数字Σ-Δ调制器的基本原理及采用FPGA器件实现...

基于GPS中频信号源的FPGA设计实现方案

在GPS接收机的设计中,为了检验和完善信号处理算法,需要在本地获得GPS数字中频信号数据。采用真实的....
发表于 2020-07-31 17:37 177次阅读
基于GPS中频信号源的FPGA设计实现方案

采用FPGA器件实现滤波器的设计和验证方法

光电脉冲编码器是一种集光、机、电为一体的用于检测机械位移或间接检测速度的光电传感器,根据其用于检测角....
发表于 2020-07-31 17:31 71次阅读
采用FPGA器件实现滤波器的设计和验证方法

基于FPGA技术和CVSD编解码算法实现语音编解...

64 Kbit/s的A律或μ律的对数压扩PCM编码在大容量的光纤通信系统和数字微波系统中已得到广泛应....
发表于 2020-07-31 16:12 76次阅读
基于FPGA技术和CVSD编解码算法实现语音编解...

苹果开发完善智能戒指,可用来无线控制设备或增强外...

苹果正在继续开发、完善和扩展其戴在手指上的智能戒指概念,这种戒指可以用来无线控制附近的设备,或者与增....
发表于 2020-07-31 16:02 157次阅读
苹果开发完善智能戒指,可用来无线控制设备或增强外...

FG22助力专有无线IoT设备远程升级与安全防护

今年最新上市的EFR32FG22(FG22)专有无线SoC系列产品更专门针对电量和尺寸受限的电池或能....
发表于 2020-07-31 11:38 465次阅读
FG22助力专有无线IoT设备远程升级与安全防护

油气罐车的无线监控系统的特点及应用方案

由于油气库多设立在偏远地区,而作为成品油及LNG的销售点的加油加气站又具备点多、线长、面广等特点,使....
发表于 2020-07-31 11:16 161次阅读
油气罐车的无线监控系统的特点及应用方案

基于FPGA的SOPC技术实现视觉测量系统的解决...

传统的视觉测量系统主要是在 PC机上采用软件方式实现,由于其专用性不够高,因此处理速度较慢。近年来,....
发表于 2020-07-31 09:58 62次阅读
基于FPGA的SOPC技术实现视觉测量系统的解决...

基于R&S的CMMB终端测试方案的研究分...

CMMB不仅仅意味着一个标准,更意味着整个产业链。当CMMB如火如荼地开展运营尝试时,一个更为重要的....
发表于 2020-07-31 09:45 104次阅读
基于R&S的CMMB终端测试方案的研究分...

基于DSP+FPGA结构的系统信号完整性问题及解...

在视频处理系统中,多维并行输入输出信号的频率一般都在百兆赫兹以上,而且对时序的要求也非常严格。本文以....
发表于 2020-07-31 08:54 128次阅读
基于DSP+FPGA结构的系统信号完整性问题及解...

【MYMINIEYE Runber蜂鸟开发版免费试用连载】安装软件和申请license

1、高云的软件还是比较完善的,可以从官网下载http://www.gowinsemi.com.cn/faq.aspx 2、但是下载完还是需要申请...
发表于 2020-07-30 16:35 606次阅读
【MYMINIEYE Runber蜂鸟开发版免费试用连载】安装软件和申请license

可以直接将FPGA和那部分连接在一起吗?

嗨专家, 我有一个使用XC7K325T-2FFG900C的新设计,HP组的IO标准是LVDS18(1.8V LVDS),该组将...
发表于 2020-07-30 16:25 0次阅读
可以直接将FPGA和那部分连接在一起吗?

请问为什么FF的置位/复位端口有效?

最近,我正在学习7系列FPGA。 最近我注意到FF的SR非常有效。 我之所以如此交叉。 感谢所有能与我沟通的人。...
发表于 2020-07-30 15:52 0次阅读
请问为什么FF的置位/复位端口有效?

上电期间的FPGA I / O引脚是否应该处于三态?

大家好, 我目前正在研究基于thetrix xc7a35tfgg484-1的设计。 电源是: VCCINT - 1.0V VCCBRAM - ...
发表于 2020-07-30 09:51 0次阅读
上电期间的FPGA I / O引脚是否应该处于三态?

如何在fpga atrix 7板上进行adc转换的项目?

任何人都可以向我推荐他/她可能在fpga atrix 7板上进行adc转换的项目。 我不知道该怎么做...任何有关这方面的文件都会...
发表于 2020-07-30 06:45 0次阅读
如何在fpga atrix 7板上进行adc转换的项目?