PPM调制解调.docx

上传人:b****7 文档编号:26078227 上传时间:2023-06-17 格式:DOCX 页数:41 大小:576.25KB
下载 相关 举报
PPM调制解调.docx_第1页
第1页 / 共41页
PPM调制解调.docx_第2页
第2页 / 共41页
PPM调制解调.docx_第3页
第3页 / 共41页
PPM调制解调.docx_第4页
第4页 / 共41页
PPM调制解调.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

PPM调制解调.docx

《PPM调制解调.docx》由会员分享,可在线阅读,更多相关《PPM调制解调.docx(41页珍藏版)》请在冰豆网上搜索。

PPM调制解调.docx

PPM调制解调

摘要

PPM技术具有编码简单、传输效率高等优点,在对潜通信和空间光通信中获得了广泛的应用。

VHDL的宽范围描述能力使它成为高层次设计的核心,不仅可以用简洁明确的代码描述来进行复杂控制逻辑的设计,而且也便于设计结果的保存和重用。

本文主要利用VHDL语言完成了PPM调制解调器的FPGA设计,该系统主要包括串并转换、计数器、比较器、窄脉冲成形器、脉冲恢复、脉冲定位、脉冲整形、并串转换等模块,并利用QuartusII软件进行仿真,波形仿真结果表明本设计的有效性,最后在FPGA芯片中进一步验证了设计的正确性。

设计的系统能够有效地实现PPM调制解调的功能。

关键词:

脉冲位置调制;FPGA;VHDL;QuartusII

ABSTRACT

PPMtechnology’sadvantagesaresimplecodingandhightransmissionefficiency.Ithasbeenwidelyusedinthefieldsofsubmarinecommunicationandspaceopticalcommunications.VHDLdescriptionofawiderangeofcapabilitiesmakesitacoreofhigh-leveldesign,itcanbeusednotonlyclearandconcisedescriptionofthecodetoperformcomplexcontrollogicdesign,butalsobeeasytosaveandreusedesignresults.thispapermainlyusethelanguageofVHDLtocompletethePPMmodemFPGAdesign.Thesystemincludesstringandconversion,counters,comparators,forminganarrowpulse,pulserecovery,pulseposition,pulseshaping,andstringconversionmodule,anditusestheQuartusIIsoftwaretocompletesimulation,waveformsimulationresultsshowtheeffectivenessofthedesign,andintheFPGAchipfurthervalidatethecorrectnessofthedesignfinally.ThesystemdesignedcaneffectivelyachievethefunctionofPPMmodulationanddemodulation.

Keywords:

pulsepositionmodulation;FPGA;VHDL;QuartusII

 

目录

摘要I

ABSTRACTII

1.绪论1

1.1PPM的研究背景和意义1

1.2PPM的研究现状1

1.3EDA技术简介1

1.3.1EDA技术基本特征2

1.3.2EDA工具2

1.3.3硬件描述语言2

1.3.4可编程逻辑器件2

1.4本文结构2

2.PPM通信系统基本原理3

2.1PPM调制解调原理框图3

2.2PPM调制技术3

2.3PPM解调技术3

3.PPM调制器的VHDL设计与仿真4

3.1PPM调制器的VHDL建模4

3.2PPM调制器的VHDL设计与实现4

3.2.1PPM调制器顶层设计4

3.2.2串并转换5

3.2.3计数器6

3.2.4比较器7

3.2.5脉冲成形器8

3.3PPM调制器波形仿真结果9

4.PPM解调器的VHDL设计与仿真10

4.1PPM解调VHDL建模10

4.2PPM解调器的VHDL设计与实现10

4.2.1PPM解调器顶层设计10

4.2.2窄脉冲恢复12

4.2.3脉冲定位12

4.2.4脉冲整形13

4.2.5并串转换14

4.3PPM解调器波形仿真图15

5.PPM调制解调系统的FPGA实现17

5.1PPM调制解调器联合设计17

5.2FPGA实现18

5.2.1脉冲序列发生器18

5.2.2分频器19

5.2.3延时器23

5.2.4硬件下载25

5.2.5SignalTapII观测结果25

结论27

致谢28

参考文献29

PPM调制解调器的FPGA设计与实现

1.绪论

1.1PPM的研究背景和意义

PPM(PulsePositionModulation)是一种脉冲位置根据已调信号的变化而变化的调制方法。

即用不同时间位置的脉波来表达0与1。

脉冲位置调制可降低光辐射平均功率的要求,有效延长电源和激光器的工作寿命。

给定激光脉冲重复频率,则可用最小的光平均功率达到最高的数据传输率。

同时,解调时不需要人为的设置判决门限、对信道变化不敏感等特点在对潜通信和室内计算机红外无线通信等要求低平均功率传输信息的场合得到应用;而且其编码简单、传输效率高等优点广泛应用于光通信、超宽带移动通信等现代通信前沿技术领域。

将数字序列变换成脉冲序列共有三种基本调制方法:

脉冲幅度调制、脉冲位置调制和脉冲周期调制。

其中脉冲位置调制(PPM)是利用脉冲的相对位置来调制的,因为它的脉冲幅度和宽度均保持不变,可以很简便的实现调制与解调。

PPM主要功能如下:

对输入的数字信号进行调制得到窄脉冲信号以便在信道上传输;接收端对接收到的窄脉冲信号进行解调还原出原数字信号。

在FPGA上实现的PPM调制解调系统与传统实现方法相比提高了设计效率和工作效率。

进入21世纪,光通信技术已经有了很大的进步,这是光电器件、光传输媒介、光通信系统以及网络应用等技术共同进步的结果。

PPM调制解调技术是无线光通信发展的关键技术之一,随着它的发展必将对通信行业产生巨大影响。

1.2PPM的研究现状

1939年英国人A.H.里夫斯于提出脉码调制原理。

PierceJ.R最早提出脉冲位置调制,并且在空间光通信中得到应用。

脉冲位置调制(PPM)在二战中期已付之实用。

英国设菲尔德大学(TheUniversityofSheffield)对应用于激光通信的调制技术进行深入分析,重点研究了PPM调制,并实现其硬件电路。

我国在这方面研究起步较晚,在2000年桂林电子工业学院的光通信系统试验中,对飞机与水下潜艇采用了PPM调制实现通信,PPM研究有了进一步发展。

PPM和OOK是光通信的常用技术,二进制振幅键控(OOK)是最容易实现的无线光通信系统的调制方式,但它是以牺牲功率利用率为代价的。

与二进制振幅键控(OOK)相比,PPM调制的光功率利用率和频带利用率更高。

确定激光脉冲重复频率,用PPM调制方式可以有效的提高数据传输率,对激光器发射功率的要求大大降低,给系统的设计带来了很大的方便。

因此PPM调制是目前最适合深空光通信的调制方式之一。

1.3EDA技术简介

电子设计技术的是以EDA技术为核心,EDA是指以计算机为平台,主要辅助进行IC设计、电子电路设计和PCB设计等。

离开EDA技术的支撑,完成超大规模集成电路的设计是难以想象的。

相反,不断进步的生产制造技术将会对EDA技术提出更高的要求。

1.3.1EDA技术基本特征

设计人员依据“自顶向下”的设计思想,对系统进行设计和功能划分,用专用集成电路(ASIC)实现系统的关键电路,然后采用硬件描述语言(HDL)完成系统行为级设计,最后生成最终的器件。

1.3.2EDA工具

EDA工具软件可大致可分为:

(1)PCB设计工具——Protel,主要包括电路原理图的设计、网络表的生成及印刷电路板的设计方法、设计工艺及操作等内容。

(2)Multisim软件就是一个专门用于电子线路仿真与设计的EDA工具软件,它是EWB的升级版。

EWB在我国得到广泛的推广应用。

(3)PLD设计工具包括

较成功的的PLD开发平台是MAX+plusII和QuartusII;

Xilinx是FPGA的发明者;

ISP技术是Lattice发明的,但是PLD规模虽小但相对有特色。

1.3.3硬件描述语言

硬件电子系统的计算机语言是HDL。

早期主要是不兼容、不支持多层次设计的ABEL-HDL、AHDL等硬性语言。

VHDL的正式推出,使自上向下逐层描述的设计思想成为高层次设计的核心。

用简要代码进行复杂逻辑的设计,也便于设计结果的保存和重用,广泛应用于数字电路系统。

1.3.4可编程逻辑器件

简单可编程逻辑器件(SPLD)、现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)是可编程逻辑器件的三种主要类型。

FPGA编程速度快可重复编程,但是系统掉电后,数据会丢失;CPLD编程速度慢也可重复编程,而且系统掉电后,数据不会丢失,适于数据的保密。

1.4本文结构

本文题目是PPM调制解调器的FPGA设计与实现,阐述了PPM调制解调原理,重点通过QuartusII软件的VHDL语言实现PPM调制器和解调器的设计。

文章的PPM调制解调原理与以往的思想有些不同,尤其是解调阶段更是有着全新的视角,并且完成了PPM调制解调系统硬件电路,下面详细阐述论文研究及内容安排

第一章是PPM的研究背景、意义以及现状,阐明了PPM调制解调技术在现代光通信技术中的地位及研究价值。

第二章阐述是PPM调制解调原理的介绍,以及设计中所用到的各个模块及其作用。

第三章根据前面章节的分析对PPM调制器进行VHDL建模,完成PPM调制器的VHDL设计,并给出了调制器顶层设计图和波形仿真图。

第四章根据前面章节的分析对PPM解调器进行VHDL建模,完成PPM解调器的VHDL设计,并给出了解调器顶层设计图和波形仿真图。

第五章主要是PPM调制解调系统的FPGA实现,完成PPM调制解调的联合仿真和下载,实现软件与硬件的结合,并用SignalTapII软件观测结果。

最后给出文章的设计结论和存在的不足,并对此设计总结自己的心得。

2.PPM通信系统基本原理

2.1PPM调制解调原理框图

PPM原理如图2-1所示。

图2-1PPM原理图

模拟信息源发出信号,经过模数转换调制进入PPM调制解调系统,输出信号进行数模转换后到达模拟接收端。

PPM的原理是把一确定时间段分成M等份,每等份称为一个时隙。

在某个时隙发出一个脉冲,其他时隙上无脉冲,则这一确定时间段就是一个PPM信号。

综合频带利用率、功率利用率及其它方面考虑,选择L-PPM作为PPM实现的具体方式。

PPM调制所用载波是周期性不连续光脉冲,若PPM调制信号是L位,那么传送的数据比特为

若将发送的n位数据组记为M=(

),时隙位置记为L,则可以得到单脉冲PPM调制的映射编码关系:

L=

,n∈{0,1,…,n-1}。

为简化计算,本文选择4-PPM调制发送二进制数据,设一帧传输时间为T,那么信息传递速率T/2bit/s。

调制后(0,0)所对应的位置为0时隙;(0,1)对应1时隙;(1,0)对应2时隙;(1,1)对应3时隙,映射是一一映射,满足调制的唯一性。

2.2PPM调制技术

PPM调制实际上是一个计时输出脉冲的过程。

若已知一个标准时间的间隔,则可以将计时过程转化为一个计数过程。

当时钟上升沿到来时,计数器开始工作,一直计数到输出一个脉冲,确定脉冲位置。

当计数数据与二进制调制数据相等时就在相应的时隙输出高电平,其他时隙输出低电平。

调制系统主要由串并转换、4分频器、8分频器、计数器、比较器、脉冲成形器、延时器等7个模块。

其中串并转换模块主要完成对输入的串行数据进行二进制编码;4分频器和8分频器主要用于生成其他模块所需要的时钟;比较器主要完成对计数器和串并转换输出的高低电平对应位的匹配比较,当两者相等时就输出一个脉冲信号;延时器主要用于为脉冲成形器模块、计数器模块、比较器模块及串并转换模块提供使能端;窄脉冲成形器用于对比较器的输出脉冲做成形滤波,使脉冲宽度变窄,限制输出脉冲的带宽,便于在信道传输。

2.3PPM解调技术

PPM解调过程本质上就是PPM调制的逆过程。

本设计中PPM解调过程主要包括4分频器、8分频器、窄脉冲恢复、脉冲定位、脉冲整形、并串转换、延时器等7个模块。

4分频器和8分频器用于对其它模块提供时钟信号,窄脉冲恢复模块实现了窄脉冲变成宽脉冲的功能;脉冲定位模块实现脉冲位置检测;脉冲整形模块实现脉冲位置的整形;并串转换模块实现二进制译码。

3.PPM调制器的VHDL设计与仿真

3.1PPM调制器的VHDL建模

在本文设计的PPM调制器中系统时钟信号经过四分频后为计数器提供时钟信号;系统时钟信号经过八分频后为串并转换提供时钟信号。

串行数据经过串并转换模块转化为并行数据,根据系统要求系统时钟信号经过四分频器转化为周期为4的计数器,然后在比较器模块把串并转换输出的数据和计数器数据进行比较,在数据相同的位置输出高电平,其他为低电平。

然后再经过脉冲成形模块输出窄脉冲,PPM调制建模框图如图3-1所示。

图3-1PPM调制VHDL建模框图

3.2PPM调制器的VHDL设计与实现

3.2.1PPM调制器顶层设计

PPM调制器如图3-2所示。

PPM调制器的顶层设计就是将调制部分的各个模块都连接在一起,以此来实现调制功能。

在调制器的基准时钟(clk_generator)控制下,四分频(fenpinqi4)和八分频(fenpinqi8)模块分别为串并转换(sipo)模块和计数器(jishuqi4)模块提供时钟信号,在这两个模块输出的数据经过比较器(ab_comp)模块输出信号后进入脉冲成形(plusegenerator)模块,输出窄脉冲信号(ppmsignal)。

由于在调制过程中有时钟延时,延时器(yanshiqi1)对串并转换(sipo)模块进行延时,使脉冲序列发生器输出时钟与串并转换时钟同步;延时器(yanshiqi)模块为计数器(jishuqi4)和脉冲成形(plusegenerator)模块提供使能端信号,使串并转换(sipo)模块数据周期和计数器(jishuqi4)模块输出数据的4个周期在一个八分频周期内对应,便于比较器模块的比较。

综上所述完成了调制器设计。

图3-2调制器设计图

3.2.2串并转换

串并转换就是把串行的二进制码序列变为并行的码序列,一般使用移位寄存器实现,本设计使用的串并转换器是使在第一位数据进入系统后先寄存,待下一位数据进入系统后在下一个上升沿到来时一起输出。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entitysipois

port(rst,din,clk:

instd_logic;

dout:

outstd_logic_vector(1downto0));

endsipo;

architecturebehavofsipois

signalq:

std_logic_vector(1downto0);

begin

process(clk,q,din,rst)

variablet:

integerrange1to3;

begin

ifrst='1'thendout<="00";

elseif(t=3)then

t:

=1;

dout<=q;

elsif(clk'eventandclk='1')then

t:

=t+1;

q(0)<=din;

q

(1)<=q(0);

endif;

endif;

endprocess;

endbehav;

串并转换波形仿真如图3-3所示。

图3-3串并转换波形仿真图

根据仿真图可以看出此模块实现的是输入两位串行数据进入系统,但只在第二位数据的位置输出数据,以此来实现串行输入的数据转化为并行数据输出。

例如图中串行数据010*********等输入(din),并行数据01、01、01、01、11、11对应输出(dout)。

由于每次输入都是两位数据,在第一个时钟(clk)上升沿到来时不输出数据。

3.2.3计数器

计数器在数字系统中主要是对脉冲的个数进行计数,此模块设计是要数脉冲在第几个位置,因为输入是两位的二进制数据,则输出只有00,01,10,11四个二进制数,也就是有4个位置。

计数器就是要确定每一位输入数据的脉冲位置,计数周期是4。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishuqi4is

port(clk,rst,en:

instd_logic;

q:

outstd_logic_vector(1downto0));

endjishuqi4;

architectureoneofjishuqi4is

signaltmp:

std_logic_vector(1downto0);

begin

process(clk,rst,en)

begin

if(rst='0')thentmp<="00";

elsif(clk'eventandclk='1')then

if(en='1')thentmp<=tmp+1;endif;

endif;

q<=tmp;

endprocess;

endone;

计数器波形仿真如图3-4所示。

图3-4计数器波形仿真图

可以看出在时钟信号(clk)经过计数器后输出的数据(q)被分成了四个时钟一组循环输出,每一个时钟上升沿到来时对应输出二进制数据,按00,01,10,11的顺序依次输出,输出的计数结果有三个时钟的延时。

3.2.4比较器

对两个或多个数据项进行比较,以确定它们是否相等,称为比较,这种能够实现这种比较功能的装置称为比较器。

该模块要实现计数器输出的数据和串并转换的数据相比较后,在相同数据的位置输出高电平,其他为低电平。

这就要求输出的一位串并转换数据对应四个计数器位置,才能在相应位置比较输出。

libraryieee;

useieee.std_logic_1164.all;

entityab_compis

port(a,b:

instd_logic_vector(1downto0);

rst:

instd_logic;

q:

outstd_logic);

endab_comp;

architectureoneofab_compis

begin

process(rst,a,b)

begin

ifrst='1'thenq<='0';

elseif(a=b)thenq<='1';

elseq<='0';

endif;

endif;

endprocess;

endone;

比较器波形仿真如图3-5所示。

图3-5比较器波形仿真图

使能端rst为高电平,在此条件下计数器输出值(a)和串并转换的数据(b)相比较,在数据相同的位置输出高电平(q),其它为低电平。

比较器输出的脉冲位置和串并转换输出的并行数据值有关,输出的一个串并转换数据对应四个计数器输出值进行比较后只有一个高电平输出。

例如串并转换经进制转化后输出0,1,2,3,0,1,在与计数器数据相同的位置输出高电平。

3.2.5脉冲成形器

脉冲成形滤波器是用来成形脉冲的,即数字1是用一个矩形脉冲表示,主要用于基带数据的处理。

本设计要实现宽脉冲变为窄脉冲,而且在宽脉冲上升沿到来时输出,则需要一个移位寄存器,把输入的第一位数据先寄存在移位寄存器中,再把输入的数据先进行逻辑“非”再同输入的数据进行逻辑“与”,生成窄脉冲信号,信号的宽度由时钟信号控制。

libraryieee;

useieee.std_logic_1164.all;

entitypulsegeneratoris

port(clk,rst,datain:

instd_logic;dataout:

outstd_logic);

endentity;

architectureoneofpulsegeneratoris

signalq:

std_logic;

begin

process(datain,clk,rst)

begin

ifrst='0'thendataout<='0';

elsifclk'eventandclk='1'then

q<=datain;

endif;

dataout<=datainand(notq);

endprocess;endone;

脉冲成形波形仿真如图3-6所示。

图3-6脉冲成形波形仿真图

图3-6中使能端信号(rst)为高电平,时钟上升沿(clk)到来时在输入高电平(datain)的位置生成窄脉冲(dataout),而且窄脉冲宽度是输入脉冲宽度的四分之一,窄脉冲信号相对宽脉冲信号有微小的延时,这是系统所用器件导致的。

3.3PPM调制器波形仿真结果

PPM调制器波形仿真如图3-7所示。

图3-7调制器波形仿真图

从图中可以看出输入(datain)的数据为011000100101,输出(ppmsignal)的数据对应为01,10,00,10,01,01,而且都是在各时钟上升沿到来时才输出。

各使能端都为高电平。

输出的窄脉冲(ppmsignal)相对比较器输出(out-bijiaoqi)的宽脉冲有一点儿时间延时,这是在编码过程中用到了逻辑语言“异或”所致,在解调时必须考虑。

输出的第一位串并转换数据(out_chuanbingzhuanhuan)显示为00,这是由于移位寄存器中开始储存数据都为0,所以刚开始会把这两个0输出。

输出的计数器数据(out_jishuqi)是周期为4个四分频时钟的二进制数据,且每一个周期与串并转换输出数据对应,这样就可以在比较器(out_bijiaoqi)中进行比较,在数据相同的位置输出高电平。

由调制器波形仿真图可以看出,产生了两个四分频时钟的延时,这是使用移位寄存器的缘故。

通过串并转换模块、计数器模块、比较器模块及脉冲成形模块能正确的输出窄脉冲信号。

在串并转换模块实现串口数据的输入并口数据的输出;计数器模块实现脉冲所在位置的定位;比较器模块实现计数器输出的数据和串并转换的数据相比较后,在相同数据的位置输出高电平,其他为低电平;脉冲成形器模块实现窄脉冲的生成;而且在各个模块生成的信号几乎没有延时,都是在同一个时钟信号下生成的。

产生的窄脉冲是比较器输出宽脉冲的四分之一,可以减小对临近信道的干扰,供信道传输。

由此,我们实现了PPM的调制过程。

4.PPM解调器的VHDL设计与仿真

4.1PPM解调VHDL建模

此过程中输入PPM窄脉冲信号,经过窄脉冲恢复模块使脉冲宽度变宽,在脉冲定位模块确定脉冲所在位置,通过脉冲整形模块使脉冲宽度与计数器的计数周期相等,并串转换模块输出串行数据,由此实现解调功能。

解调过程如图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1