1、1合 肥 学 院课 程 设 计 报 告题 目:基于 FPGA的曼彻斯特编译码设计与实现系 别 :电子信息与电气工程系 专 业: 通信工程 班 级: 10 通信工程 1班 学 号:1005074007 1005076001 1005074012姓 名:柯望 吕烨 邓超 导 师: 段慧敏 成 绩:_2013年 12月 9日2一 、 前 言 3二 、 方 案 论 证 及 选 择 41.1方案一 41.2方案二 4三、 理论分析 .41.1伪随机序列模块 41.2曼彻斯特编码模块 51.3曼彻斯特解码模块 51.4四分频模块设计 5四 、 系 统 整 体 设 计 6五 、 实 验 相 关 程 序 .6
2、1.1 M序列产生程序 61.2 曼彻斯特编码程序 .71.3 曼彻斯特解码程序 .81.4 四分频程序 .91.5整体程序 9六 、 总 结 10参 考 文 献 11附 录 .111.1附录一 111.2附录二 121.3附录三 121.4附录四 133基于 FPGA的曼彻斯特编译码设计与实现中文摘要随 着 科 学 技 术 的 进 步 , 现 代 战 争 样 式 向 信 息 战 形 式 发 展 。 现 代 战 争 胜 负 对 于信 息 获 取 的 依 赖 程 度 前 所 未 有 的 提 高 。 在 现 代 战 争 中 , 若 己 方 的 通 讯 交 流 方 式 早敌 军 破 获 , 则 地
3、方 将 获 取 己 方 部 队 动 向 或 实 施 信 息 干 扰 。 将 会 使 部 队 陷 入 极 其 危险 地 境 地 中 。 因 此 , 信 息 战 对 通 讯 加 密 手 段 的 要 求 极 高 。 伪 随 机 序 列 (Pseudo-noise Sequence)又 称 伪 噪 声 或 伪 随 机 码 ,具 有 类 似 随 机 信号 的 一 些 统 计 特 性 ,但 又 是 有 规 律 的 ,容 易 产 生 和 复 制 的 。 最 大 长 度 线 性 移 位 寄 存器 序 列 (m 序 列 )是 保 密 通 信 中 非 常 重 要 的 一 种 伪 随 机 序 列 ,它 具 有 随
4、机 性 、 规 律性 及 较 好 的 自 相 关 和 互 相 关 性 ,而 且 密 钥 量 很 大 。 利 用 m 序 列 加 密 数 字 信 号 ,使加 密 后 的 信 号 在 携 带 原 始 信 息 的 同 时 具 有 伪 噪 声 的 特 点 ,以 达 到 在 信 号 传 输 的 过程 中 隐 藏 信 息 的 目 的 ;在 信 号 接 收 端 ,再 次 利 用 m 序 列 加 以 解 密 ,恢 复 出 原 始 信 号 。这 样 , 通 过 对 m 序 列 的 应 用 , 将 大 大 的 提 高 通 讯 的 保 密 程 度 和 防 窃 取 能 力 。 这 样的 通 讯 手 段 被 称 为 扩
5、 展 频 谱 通 信关键词:伪随机码;曼彻斯特码;曼彻斯特编译码;FPGA一 、 前 言曼彻斯特码(Manchester code),又称裂相码,双向码,是一种自同步的编码方式,即时钟同步信号隐藏在数据波形中,亦即在传输代码信息的同时,也将时钟同步信号一起传输到对方。另外,曼彻斯特码每位编码中有一跳变,不存在直流分量。因此该码具有自同步能力和良好的抗干扰性能。曼彻斯特编码(Manchester Encoding) ,也叫做相位编码(PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。曼彻斯特编码被用在以太网媒介系统中。曼彻斯特编码提供一个简单的方式给编码简单的二进制序列
6、而没有长的周期和转换级别,因而防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。FPGA采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块 CLB(Configurable Logic Block) 、输入输出模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如 PAL,GAL 及 CPLD器件)相比,FPGA 具有不同的结构。FPGA 利用小型查找表(161RAM)来实现组合逻辑,每个查找表连接到一个 D触发器的输
7、入端,触发器再来驱动其他逻辑电路或驱动 I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到 I/O模块。FPGA 的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在4存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与 I/O间的联接方式,并最终决定了 FPGA所能实现的功能,FPGA 允许无限次的编程。二 、 方 案 论 证 及 选 择由实验要求本次课程设计分四个模块分别为基于 FPGA的伪随机序列产生模块;基于FPGA 的曼彻斯特编码模块;基于 FPGA的曼彻斯特解码模块;基于 FPGA的四分频模块。1.1
8、方案一方案一:实现上述四个模块可以用 Quartus软件中的原理图编辑功能进行各个模块的设计,然后进行元件封装进行连接实现整体设计。但是由于 Quartus软件所提供的基本元件有限不能满足本实验的实验要求。故不采用原理图设计本实验。1.2方案二方案二:由 VHDL硬件描述语言的强大功能可以运用 VHDL语言对各个模块的功能进行功能描述,使得各个模块能够实现各自的子功能。与原理图编辑类似,将用 VHDL语言描述的各个子模块进行元件封装以便用例化语句进行调用。此方案可以减少原理图设计时的线路连接的繁琐工作,可以方便的进行功能的改变和错误检查。故本次实验选择VHDL语言进行功能描述完成实验要求。三、
9、 理论分析1.1伪随机序列模块伪随机序列模块:由实验要求需要产生的伪随机序列满足特征方程:f=1+x2+x3+x4+x8。由特征方程的表达式可知线性反馈移位寄存器的抽头位置分别在 c0,c5,c9。并且 c5和 c9进行异或运算作为输入输入给 D8。根据功能要求用 VHDL语言进行描述。在进行软件设计时可以通过使能端控制对 c0-c8进行初始设置,并且在时钟控制下按照程序设置运行程序,并进行波形仿真以验证程序功能的正确性。m 序列实验程序波形见附录 一5图 1 线性反馈移存器的一般组成原理图1.2曼彻斯特编码模块曼彻斯特编码模块:由曼彻斯特解码规则可将程序设置为在输入一个二进制码元时将此输入二
10、进制码元作为标准逻辑矢量的一个元素,再将此码元取反作为标准逻辑矢量的另一个元素。最后将所得的两个元素进行并置输出为二位的标准逻辑矢量,并将此标准逻辑矢量按位输出即可得到曼彻斯特编码在仿真时可以通过输入码元与对应的仿真输出二位的标准逻辑矢量进行比较确认是否输出正确。曼彻斯特编码的实验程序见附录二。1.3曼彻斯特解码模块曼彻斯特解码模块:与曼彻斯特编码类似,可以根据曼彻斯特解码的规则可将程序设置为在输入两个码元后,对两个码元所组成的码组进行判别从而输出相应的单个的二进制码元。在曼彻斯特解码的过程中为保证在输入两个码元后在进行判别需要用到两个不同频率的时钟信号。控制进行曼彻斯特解码输入的时钟信号时钟
11、频率是进行码组判别的时钟信号时钟频率的4倍。因此需要对同一个时钟信号进行 4分频。曼彻斯特解码实验程序见附录三。1.4四分频模块设计四分频模块设计:为了减少在一个实验中用到多个外接时钟信号,可以通过将一个时钟信号进行分频6获得满足要求的不同频率的时钟信号。为满足曼彻斯特解码对输入时钟信号的要求,需要对同一时钟信号进行四分频。四分频实验程序见附录四。四 、 系 统 整 体 设 计按照以上各个子系统模块以及整体连接可以完成实验基本要求。编码速率可以通过调节时钟 CLK1的频率来改变。对于实验要求的伪码数据率为 10100kbps,可以调节时钟 CLK1的时钟频率在 10K100K之间。仿真分析:在
12、 Quartus软件中进行整体软件设计程序仿真,通过仿真波形图分析输入数据和输出数据可以验证系统满足实验要求。图 2 系统总体设计框图五 、 实 验 相 关 程 序1.1 M序列产生程序library ieee;use ieee.std_logic_1164.all;entity M isport(clk,led:in std_logic;z:in std_logic_vector(8 downto 0);MOT:out std_logic_vector(8 downto 0);MO:out std_logic);end entity;architecture M1 of M issignal
13、 reg:std_logic_vector(8 downto 0);signal cy,A,B,C:std_logic;7beginprocess (clk)begin if (clkevent and clk=1) and (clklast_value=0) then case led iswhen 1= reg(8 downto 0) reg(7 downto 0) h:=1;when “01“= h:=0;when others = h:=h;end case;bZHL,Z(8 downto 0)=ZHZ(8 downto 0),clk1=ZHC,MOT=ZHMV,MO=a);u2:MC
14、 port map (MCI=a,clk2=ZHC,MCO=b,MCOV=ZHBV);U3:EFP port map (clk6=ZHC,clk3=c);U4:MCJ port map (MCJI=b,clk5=ZHC,clk4=c,MCOJV=ZHJV,MCJO=ZHJ);end architecture ZH1;六 、 总 结本论文讨论了曼彻斯特编解码器的实现。为了达到设计要求,在试验要求的指导下设计出伪随机序列产生器、曼彻斯特编解码器、曼彻斯特解码器及四分频产生器,报告讨论了各个子模块的工作原理,分析了在设计中所需要解决的关键问题,确定了实现方案,重点介绍了曼彻斯特编解码仿真及实现。经过
15、仿真波形分析该曼彻斯特编解码器及差分曼彻斯特编解码器都能够完成编解码功能,并且性能稳定。通过整体仿真分析验证设计满足整体功能要求。通过本次课程设计熟悉了曼彻斯特码的基本原理,并用 VHDL语言进行系统功能的描述,通过软件完成本次设计。11参 考 文 献1 南 利 平 , 通 信 原 理 简 明 教 程 ; 第 二 版 M.北 京 : 清 华 大 学 出 版 社 , 2007.2 樊 昌 信 , 通 信 原 理 教 程 ; 第 三 版 M.北 京 : 电 子 工 业 出 版 社 , 2012.3 潘 松 , EDA 技 术 与 VHDLM。 北 京 : 清 华 大 学 出 版 社 , 2005.4 禹 思 敏 , 通 信 原 理 M。 西 安 : 西 安 电 子 科 技 大 学 出 版 社 , 2010.5 康 华 光 , 电 子 技 术 基 础 : 数 字 /模 拟 部 分 M.北 京 : 高 等 教 育 出 版 社 , 2004.6 检索相关论附 录1.1附录一图 3 m 随机序列波形121.2附录二图 4 曼彻斯特编码波形1.3附录三图 5 曼彻斯特译码译码波形131.4附录四图 6 四分频程序波形