m基于FPGA的通信数据帧加扰解扰verilog实现,包含testbench

1.算法仿真效果


本系统进行了两个平台的开发,分别是:


Vivado2019.2


Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition


其中Vivado2019.2仿真结果如下:


Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition的测试结果如下:



2.算法涉及理论知识概要

现代通信系统中,为了保证数据传输的可靠性和安全性,通常需要采用一定的加密和解密技术。数据加扰和解扰是其中的一种重要手段,它们可以在不增加传输开销的情况下,有效地抵御各种干扰和攻击。本文将对数据加扰和解扰的原理、优势以及FPGA实现过程进行详细介绍。

1、数据加扰原理

数据加扰是指在传输数据之前,对原始数据进行一定的变换,使得数据在传输时呈现出更加随机的特征。这样可以有效地抵御各种形式的干扰,包括电磁干扰、信道噪声、多径衰落等。数据加扰的基本原理是通过一定的算法,将原始数据进行一定的变换,使得变换后的数据在统计特性上与原始数据不同。这样可以使得传输过程中的干扰和噪声对数据的影响降低,从而提高数据传输的可靠性。

数据加扰的实现方式有很多种,其中比较常见的方式包括异或加扰、置换加扰和混沌加扰等。异或加扰是最简单的一种加扰方式,其原理是将原始数据与一个随机数序列进行异或运算,从而得到加扰后的数据。置换加扰是指通过对原始数据进行一定的置换操作,使得加扰后的数据具有更加随机的特征。混沌加扰是利用混沌系统的特性进行加扰,通过混沌映射或混沌流产生随机序列,再将原始数据与随机序列进行异或运算,从而得到加扰后的数据。

2、数据解扰原理

数据解扰是指对加扰后的数据进行解密,恢复出原始数据。数据解扰的原理与数据加扰的原理类似,通常采用相反的运算方法,将加扰后的数据恢复为原始数据。如果采用异或加扰方式,那么解扰的方式就是将加扰后的数据再次与随机数序列进行异或运算。如果采用置换加扰方式,那么解扰的方式就是将加扰后的数据再次进行相应的置换操作。如果采用混沌加扰方式,那么解扰的方式就是通过混沌系统产生的随机序列与加扰后的数据进行异或运算,从而恢复出原始数据。

3、数据加扰解扰的优势

数据加扰和解扰技术具有以下几个优势:

(1)提高传输可靠性:加扰后的数据具有更加随机的特征,可以有效地抵御各种形式的干扰和攻击,从而提高数据传输的可靠性。

(2)不增加传输开销:数据加扰和解扰的算法可以在传输过程中实现,不需要额外的传输开销,同时也不会增加传输延迟。

(3)保护数据安全:加扰后的数据具有更高的安全性,可以有效地防止数据泄露和非法访问,保护数据的安全性。

4、FPGA实现过程

FPGA是一种可编程逻辑器件,可以根据应用需求编程实现各种功能。在数据加扰和解扰中,FPGA可以实现加扰和解扰算法,并将其应用于通信系统中,以提高数据传输的可靠性和安全性。

FPGA实现数据加扰的过程可以分为以下几个步骤:

(1)设计加扰算法:根据应用需求,设计合适的加扰算法,包括异或加扰、置换加扰和混沌加扰等。在设计加扰算法时,需要考虑加扰后的数据是否具有足够的随机性和安全性。

(2)实现加扰算法:将加扰算法转化为FPGA可编程的语言,如VHDL或Verilog等。实现加扰算法时,需要考虑算法的效率和复杂度,以确保其能够在FPGA上实现。

(3)设计FPGA电路:根据加扰算法,设计FPGA电路,包括输入输出端口、加扰逻辑电路、时钟电路等。在设计FPGA电路时,需要考虑电路的功耗和面积,以保证电路能够在FPGA上实现。

(4)编译和下载:将设计好的FPGA电路编译为比特流文件,并下载到FPGA芯片中。在下载时,需要注意FPGA芯片的型号和时钟频率等参数,以确保电路能够正常工作。

FPGA实现数据解扰的过程与数据加扰类似,主要包括设计解扰算法、实现解扰算法、设计FPGA电路和编译下载等步骤。需要注意的是,在实现解扰算法时,需要考虑解扰算法与加扰算法的对应关系,以确保能够正确地恢复出原始数据。

数据加扰和解扰是现代通信系统中常用的数据保护技术,可以提高数据传输的可靠性和安全性。在实际应用中,FPGA可以实现加扰和解扰算法,并将其应用于通信系统中。FPGA实现数据加扰和解扰的过程包括设计算法、实现算法、设计FPGA电路和编译下载等步骤,需要考虑算法的效率和复杂度,以及电路的功耗和面积等因素。


3.Verilog核心程序

`timescale 1ns / 1ps

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//



module TEST();


reg     i_clk;

reg     i_rst;

reg     i_enable;

reg     i_start;

reg     i_din;         


wire    o_enable_scr;

wire    o_start_scr;

wire    o_dout_scr;


wire    o_enable_dscr;

wire    o_start_dscr;

wire    o_dout_dscr;


tops uut(

.i_clk             (i_clk),

.i_rst             (i_rst),

.i_enable          (i_enable),

.i_start           (i_start),

.i_din             (i_din),         


.o_enable_scr      (o_enable_scr),

.o_start_scr       (o_start_scr),

.o_dout_scr        (o_dout_scr),


.o_enable_dscr     (o_enable_dscr),

.o_start_dscr      (o_start_dscr),

.o_dout_dscr       (o_dout_dscr)

);



initial

begin

i_clk = 1'b1;

i_rst = 1'b1;

#1000

i_rst = 1'b0;

end

initial

begin

i_enable = 1'b0;

#1000

i_enable = 1'b1;

#1280

i_enable = 1'b0;

end


initial

begin

i_start  = 1'b0;

#1000

i_start  = 1'b1;

#10

i_start = 1'b0;

end

initial

begin

i_din    = 1'b0;

#1000

i_din    = 1'b0;

#10

i_din    = 1'b1;

#100

i_din    = 1'b0;

#50

i_din    = 1'b1;

#140

i_din    = 1'b0;

#120

i_din    = 1'b1;

#30

i_din    = 1'b0;

#20

i_din    = 1'b1;

#70

i_din    = 1'b0;

#10

i_din    = 1'b1;

#20

i_din    = 1'b0;

#130

i_din    = 1'b0;

#50

i_din    = 1'b1;

#140

i_din    = 1'b0;

#220

i_din    = 1'b1;

#130

i_din    = 1'b0;

#1000

$stop();


end


always #5 i_clk=~i_clk;


endmodule

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容