版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西华大学毕业设计说明书西华大学毕业设计说明书PAGE目录1前言(绪论) 11.1QPSK的发展及特点 11.2扩频技术的发展及应用 21.3FPGA技术的发展和特点 31.4本文的研究意义 52总体方案设计 62.1方案比较 62.1.1原理叙述 62.1.2正交调制法 72.1.3相位选择法 82.2方案选择 83单元模块设计 93.1特殊器件的介绍 93.1.1CycloneIIFPGA器件系列 93.1.2EP2C5T144C8芯片介绍 103.2有源晶振电路 113.3供电电路 123.4PS配置电路 124软件设计 144.1软件设计原理及设计所用工具 144.2分频模块 144.3源码产生模块 164.4m序列产生模块 174.4.1m序列简介 174.4.2m序列产生器设计 194.5直序列扩频模块 214.5.1直序列扩频简介 214.5.2直序列扩频的实现 224.6串并转换模块 234.6四相载波发生与调制模块 245系统调试与系统功能 275.1分频模块 275.2源码产生模块 285.3m序列产生模块 285.4扩频模块 295.5串并转换模块 305.6整个系统的仿真 316结论 347总结与体会 358致谢 369参考文献 37附录1:系统RTL级仿真电路框图 38附录2:设计程序代码 39附录3:外文翻译资料 43PAGE53第页1前言(绪论)1.1QPSK的发展及特点数字通信系统中,尽管数字基带信号可以进行数字基带传输,但输出的都是一系列的二进制数据,不能直接通过无线链路发送。所以必须先用数字基带信号对载波波形的某些参量进行调制,从而形成数字频带信号,然后进行数字频带传输。和模拟调制一样,数字调制也有调幅、调频和调相三种基本形式,分别称为振幅键控(ASK)、频移键控(FSK)和相移键控(PSK)。振幅键控是最早使用,也是简单的线性数字调制技术,其优点是需要的设备简单、频带利用率高,而其缺点是抗噪声性能差,而且这种调制方式的最佳判决门限会受到接收机输入信号的振幅大小的影响,因而不容易使取样判决器工作在最佳状态。但是,近来随着电路、均衡和滤波技术的发展,多电平振幅调制技术已经越来越受到人们的重视。频移键控是使用得较早的一种调制方式,它的主要优点是:实现起来较容易,抗噪声与抗衰减的性能较好。缺点是占用频带较快,尤其是多进制调制系统,频带利用率较低,因此在中、低速数据传输中得到了广泛的应用。相移键控分为绝对相移和相对相移两种调制技术。绝对相移是利用载波的不同相位的绝对值来传递数字信息,但由于接收端载波恢复存在相位含糊的问题,即恢复的载波可能与未调载波同相,也可能反相,以至使解调后的信息码出现“0”、“1”倒置,发送为“1”码,解调后得到“0”码;发送为“0”码,解调后得到“1”码。这是不希望的,为了克服这种现象,人们提出了相对移相方式。即通常先进行码变换,将绝对码变为相对码,然后将相对码进行绝对相移。其调制规律是:每一个码元的载波相位不是以固定的未调载波相位作基准的,而是以相邻的前一个码元的载波相位来确定其相位的取值。例如,当某一码元取“1”时,它的载波相位与前一码元的载波同相;码元取“0”时,它的载波相位与前一码元的载波反相。在恒参信道下,PSK比ASK和FSK具有更好的抗干扰能力,而且有较高的频带利用率,因此相移键控是一种高传输率的调制技术,在中、高速数字通信中被广泛应用。通常相位调制分为四相和八相调制,可以看作是相同的振幅和相位调制类型,它的传输速率得到了广泛的应用。正交移相调制是通过使用四个不同相位的载波来表示输入的数字信息之间的差异,它也被称为四相移键控。当M=4的QPSK调制的技术,是提供了四个载波相位,分别为0°、90°、180°、270°,也可以分别为45°、135°、225°、315°。调制器的输入是扩频后的序列结果或编码的二进制数字序列,和四个为了对应的相位载波带在一起,因此需要二进制数据转换成四元,即需要字符串二进制数字的序列,然后每一个2位并行数据的转换成一组,总共四个组合,即00,01,10,11,其中每个组称为双位符号。每一个并行的符号是由两位的二进制信息,代表四个符号。每个在QPSK调制2比特的信息可以传播,信息比特是通过载波的四个不同相位来进行调制。QPSK技术应用于数字电视上形成调制器采用了先进的数字信号处理技术,完全符合DVB-S标准,接收端能直接用数字卫星接收机进行接收。它不但能取得较高的频谱利用率,具有很强的抗干扰性和较高的性能价格比,而且和模拟FM微波设备也能很好的兼容。QPSK数字电视调制器在对数据流的处理上采用能量扩散的随机化处理、RS编码、卷积交织、收缩卷积编码、调制前的基带成形处理等,保证了数据的传输性能。性能特点:1、进行原有的电视微波改造,可用30M带宽传送5至8套DVD效果的图像;2、用调频微波的价格达到MMDS的效果,实现全向发射;3、可进行数字加密,对图象绝无任何损伤。同时,中国的3G制式(CDMA2000,WCDMA,TD-SCDMA)均在下行链路上采用QPSK调制。1.2扩频技术的发展及应用扩频技术开始于20世纪50年代中期,但是经过不断发展直到80年代初,扩频技术仍然主要应用在军事和保密通信中,在其他行业应用的还相对较少。随着个人通信业务的发展以及全球定位系统的出现,到目前,使用扩频技术的用户已经超过一亿。无线通信已经成为电信产业最大的部门之一,经过十年多的稳步发展,依然是21世纪最有发展潜力的领域,2000年5月,国际电联无线大会上,中国提出的TD-SCDMA,欧洲提出的WCDMA以及美国提出的CDMA2000正式成为世界第三代移动通信IMT-2000无线传输标准,这些标准都采用了基于CDMA扩频通信技术的方案,所以,扩频技术在未来无线通信系统中的应用也会再次成为人们关注的重点。同时它的出现,也是通信技术的一次重大突破。扩频技术是一种处理和传输技术和无关的伪随机码的调制信号的调制频谱的使用的信息是大于原来的调制信号的带宽扩展的宽度是宽得多的过程。其原理是在发端输入的信息通过调制的信息形成的第一数字信号和扩展码发生器产生的扩频码序列信号调制的数字信号的频谱展宽。展宽的信号,然后发送到RF调制器。在接收端接收的宽带RF信号为中频,和本机产生的扩频码具有相同的发端去相关解扩序列,然后通过信息解调,恢复到原来的信息的输出。因此,作为一个扩展频谱通信系统中应进行的三种调制和相应调制信息的调制和解调,二次调制的扩频调制,频率调制调制三,和相应的信息解调,解扩和解调频率。因此,与一般的通信系统相比,扩频通信是超过一个扩展频谱调制的解扩的通信。由于扩频技术本身的特点,因此它具有以下的特点:抗干扰、抗噪声能力强。被截获概率低。码分多址能力较强。保密性强。高速可扩展能力强。根据现有的扩展频谱通信系统的扩频的不同的方式可分为:直接序列扩频(直接序列扩频)的操作模式,简称为DS(DS),具有一个较高的速度是直接扩频码序列的原,而在接收端的解扩后的信号的频谱,使用相同的扩频码序列进行解扩展宽的扩频信号恢复原始消息。跳频频率(跳频)操作模式下,称为跳频(FH),是使用选择的多频率的频移键控,那就是,扩展码序列的频移键控调制,载波的码序列跳频连续,所以称为跳频。过渡时间(跳时)的工作,被称为跳频(TH)的方式是在时间轴上,使传输信号的转换。首先,时间轴被划分成很多块。这是发送的帧信号的扩频码序列被控制的时间片,跳可能被理解为:一个代码序列,用长片材时,所选择的移频键控。基于扩频的上述几个基本的方法可以被组合在一起,形成各种混合的方法,因此,需要解决的问题,如干扰,多站点网络,时间定向,抗多径和远-近问题,它也使用多种方式传播。扩频技术由于其本身具备的优良性能而得到广泛应用,其主要的两个应用领域仍然是军事抗干扰通信和移动通信系统,而跳频系统与直扩系统则分别是在这两个领域应用最多的扩频方式。一般而言,跳频系统主要在军事通信中对抗故意干扰,在卫星通信中也用于保密通信,而直扩系统则主要是一种民用技术。除此之外,扩频通信作为一种成熟的高科技技术,也可应用于:地僻人稀的农村及通信不发达地区;有线基建已饱和的繁华市区;因业务要求骤增而有线基建滞后的新建社区;用户主干/备份通信网络,以弥补邮电公众网络的不足。同时它也将是下一代通信系统里主要运用的技术之一。1.3FPGA技术的发展和特点FPGA(Field-ProgrammableGateArray),现场可编程门阵列,它是在PAL,GAL,CPLD等可编程器件的基础上进一步发展的产物。它被实现为专用集成电路(ASIC)领域的半定制电路的出现,既解决了定制电路的不足,而且还克服了原有可编程器件门shortcomings.Hardware描述语言的有限数量的(Verilog或VHDL)电路设计,布局简单,快速烧录到FPGA测试,成熟的技术,现代的IC设计主流。可编辑的组件可以被用来实现一些基本的逻辑门(如AND,OR,XOR,NOT)或者更复杂的组合的一些功能,如解码器或数学方程式。在大多数的FPGA里面,这些部分可以编辑在存储元件中,例如触发器(Flip-flop)还包括其他更完整的内存块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般比ASIC(应用专用集成芯片)的速度慢,无法完成复杂的设计,但功耗低。但它们还具有许多优点,如快速成品,可以进行修改,以纠正错误的方案和更便宜的成本。卖方也可能会提供便宜,但编辑功能的FPGA。由于这些芯片具有相对较差的编辑能力,所以这些设计的发展,一般在FPGA上完成,然后转移到一个类似的设计的ASIC芯片,另一种方法是使用CPLD。早在20世纪80年代中期,FPGA已根植在PLD中。CPLD和FPGA包括相对大量的可编程逻辑单元的数目。CPLD逻辑门的数千至数万数以千计的逻辑单元之间的密度,而FPGA通常是几万到几百万。CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。CPLD和FPGA另一个区别是:绝大部分的FPGA的内置模块和内置记忆体中含有高集成。所以,一个重要的区别是,有很多新的FPGA支持全部或部分重新配置系统。允许他们的设计变更与系统升级或动态重新配置。一些FPGA允许部分设备重新编辑的其他部分继续正常运行。CPLD和FPGA还有一个区别:CPLD下电之后,原有烧入的逻辑结构不会消失;而FPGA下电之后,再次上电时,需要重新加载FLASH里面的逻辑代码,需要一定的加载时间。基于以上叙述,FPGA具有以下的特点:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。时至今日,FPGA市场的主要业者仅剩数家,包括Altera、Xilinx、Actel、Atmel、Lattice、QuickLogic等,不过2007年11月QuickLogic也确定淡出FPGA市场,并转进发展CSSP(CustomerSpecificStandardProduct)。但FPGA领域依然有新兴业者出现,例如AchronixSemiconductor、MathStar等。且除了单纯数字逻辑性质的可程序逻辑装置外,混讯、模拟性质的可程序逻辑装置也展露头角,例如CypressSemiconductor的PSoC(ProgrammableSystem-on-Chip)即具有可组态性的混讯电路,或如Actel公司也提出可程序化的混讯芯片:Fusion,或者也有业者提出所谓的现场可程序化模拟数组(FieldProgrammableAnalogArray;FPAA)等,相信这些都能为可程序化芯片带来更多的发展动能。FPGA产品的应用领域已经从原来的通信扩展到消费电子、汽车电子、工业控制、测试测量等广泛的领域。而应用的变化也使FPGA产品近几年的演进趋势越来越明显:一方面,FPGA供应商致力于采用当前最先进的工艺来提升产品的性能,降低产品的成本;另一方面,越来越多的通用IP(知识产权)或客户定制IP被引入FPGA中,以满足客户产品快速上市的要求。此外,FPGA企业都在大力降低产品的功耗,满足业界越来越苛刻的低功耗需求。1.4本文的研究意义将直序列扩频技术应用于通信,形成一种新型的通信技术——扩频通信,它具有抗干扰能力强、保密性好、被截获率低、可码分多址、信号隐蔽、易于测距等特点,是现代通信领域的一个重要发展方向。在IMT—2000的第三代移动通信无线传输标准中采用了基于CDMA扩展频谱通信技术的方案。因此,扩频技术已经成为未来各种通信方向的首选技术。直扩通信中QPSK调制器大多采用专用芯片或者DSP硬件平台来进行实现,也有采用FPGA进行QPSK基带部分信号的处理,但全数字式调制方法仍处于不断发展之中。以往的一般设计都是采用FPGA和DSP技术相结合的方法,但是,如今随着微电子技术的高速发展,FPGA技术也得到了相当大的发展,现在的FPGA容量、功能、可靠性都得到了很大的发展,并且FPGA结构布局布线方便灵活,含有丰富的库资源,很容易实现各种复杂程度运算的电路设计,这很容易实现全数字化电路设计。由于FPGA设计成果可以软件升级,该方案有突出的灵活性和高效性,不仅提高设计效率,而且缩短了产品开发与市场之间的距离,易于降低产品成本。因此在这个理念之上,设计一个完全通过FPGA实现的扩频通信的QPSK调制器是很具有研究意义的。2总体方案设计2.1方案比较2.1.1原理叙述本设计实现的是直扩通信系统中QPSK调制,在源信息输入后,必须首先经过扩频操作后才进行QPSK调制,可以采用直序列扩频方式,方便,简单;而在直序列扩频过程中,可以采用的伪随机码有很多,但是为了FPGA能够易于实现,并且系统性能也能满足要求,可以采用m序列作为扩频伪随机码。数字相位调制PSK是角度调制、恒定幅度数字调制的一种方式,通过改变发送波的相位来实现,除了其输入信号是数字信号以及输出的相位受限制以外,PSK与传统的相位调制相似。QPSK信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表示式为:图2-1QPSK信号的矢量图若此载波初始相位为0°的QPSK信号的矢量图如图2-1(a),若初始相位为45°的QPSK信号的矢量图如图2-1(b)。QPSK四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控,每一个载波相位代表两个比特的信息。QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,315°或者0°,90°,180°,270°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的,在接收端,通过抽样判决,从判断出载波的不同相位就可以判决出相应发送的信息。调制中的双比特信息和载波相位的相应对应如表2-1双比特码元载波相位IQA方式B方式011000110°90°180°270°225°315°45°135°表2-1双比特信息IQ组合与载波相的关系QPSK调制信号的表达式为:,其中I(t)是同相支路信号,Q(t)是正交支路信号。根据表2-1和QPSK信号的数学表达式,可见QPSK调制可有两种方法实现,即相位选择法和正交调制法。2.1.2正交调制法从表达式为:可以看出,QPSK也可以采用正交调制的方式产生。式中I(t)是同相支路信号,Q(t)是正交支路信号。图2-3给出实现QPSK调制的原理。源码产生模块产生的二进制数字信号经过直序列扩频后经串并转换电路分为两路速率减半的双极性信号:同相信号I(t)和正交信号Q(t),分别与相互正交的两路载波信号相乘,然后相加即可得到QPSK信号。源码产生源码产生m序列产生串并变换本振-90°QPSK信号Q(t)I(t)AcoswtAsinwt直序列扩频图2-2直扩系统QPSK正交调制原理图2.1.3相位选择法从表2-1可以看出,每一对码元对应QPSK信号为载波四个相位中的某一个。因此,可以用相位选择法产生QPSK信号,输入的二进制数字先经过直序列扩频后形成的信号再经串/并转换后,成为双比特码元,而载波发生器产生4种不同相位的载波波形,根据双比特码元的不同组合,每个比特周期从4种不同相位的载波中选择一种输出,就得到QPSK信号,这种方式适用于载波频率较高的场合。其原理图如2-4所示源码产生源码产生m序列产生串并变换直序列扩频选相电路(调制电路)四相载波发生电路0°90°180°270°QPSK信号图2-3直扩系统QPSK相位选择法调制原理图2.2方案选择从前面的介绍可以看出QPSK调制可以有两种方法来实现,即正交调制法和相位选择法。正交调制的实现需要有本地信号的移相,调制信号的叠加,虽可以利用数字系统来实现而且可靠性不错,但是设计过程中移相器的设计比较复杂,很难实现准确的相位移动,不利于设计,而且从其原理图中可以看出它在模拟系统实现比较简单,但系统的稳定性不好。而相位选择法,设计相对而言要简单一些,主要是在四相载波发生器和相位选择器上,但是只要先以表格的形式将不同相位的32点波形数据保存起来,根据输入的并行信号的码元组合查找相应的波形即可,因此通过数字系统实现比较容易,并且稳定性也较好。根据以上对QPSK调制方式的对比和论证,为了能够较容易实现本次设计功能,并且在保证较好的稳定性的前提下,最终在本设计中选择相位选择法。3单元模块设计3.1特殊器件的介绍本设计是建立在Altera公司的FPGA基础之上设计的,因此选择了Altera公司的CycloneII系列中的EP2C5T144C8芯片,下面对CycloneII系列和EP2C5T144C8芯片作一些介绍。3.1.1CycloneIIFPGA器件系列在非常成功的第一代Cyclone器件系列之后,Altera的CycloneIIFPGA系列扩大低成本的FPGA的密度,最多达68,416个逻辑单元(LE),提供622个可用的输入/输出引脚和1.1M比特的嵌入式寄存器。CycloneII器件的制造基于300毫米晶圆,采用台积电90nm、低K值电介质工艺,这种工艺技术是使用低绝缘体过程以确保了快速有效性和低成本。通过使硅片面积最小化,CycloneII器件可以在单芯片上支持复杂的数字系统,而在成本上则可以和ASIC竞争。不像其他用电力功耗和性能来换取低成本的FPGA卖主,Altera最新一代低价位的FPGA——CycloneIIFPGA系列,和同类90nmFPGA器件相比,它提高了百分之六十的性能和降低了一半的功耗。低成本和优化特征使CycloneIIFPGA系列为各种各样的汽车、消费、通讯、视频处理、测试与测量、和其他最终市场提供理想的CycloneII器件支持NiosII嵌入式处理器,能够自己完成自定义的嵌入式处理器。CycloneII器件还能够扩展各种外部存储器和I/O或者嵌入式处理器的性能。单个或多个NiosII嵌入式系统中嵌入式处理器也可以设计成CycloneII设备以提供一些额外的同时处理的能力或者甚至取代已经在你的系统中存在的嵌入式处理器。使用CycloneII和NiosII能够拥有成本低和高性能处理方案的共同特点,和普通的产品相比,这个特点能够延长你的产品的生命周期,提高产品进入市场的时间。单独使用CycloneIIFPGA系列或者作为数字信号处理(DSP)协处理器以提高数字信号处理(DSP)应用的性价比,CycloneII的一些快速接通型号具有较短的上电复位(POR)时间。例如:EP2C5A,EP2C8A,EP2C15A,和EP2C20A。EP2C5A只能提供汽车速度级型。EP2C8A和Altera为配置CycloneIIFPGA提供了低成本的串行配置器件。这些串行配置器件定价为批量应用,成本是相应CycloneIIFPGA的10%。四个串行配置器件(1Mbit,4Mbit,16Mbit和64Mbit)提供了节省空间的8脚和16脚SOIC封装。器件中任何不用于配置的存储器可用于一般存储,进一步增强其价值。Altera也为CylconeII器件客户提供了40多个可定制IP核,Altera和AlteraMegafunction伙伴计划(AMPPSM)合作者提供的不同的IP核是专为CycloneII架构优化的,包括:NiosII嵌入式处理器;DDRSDRAM控制器;FFT/IFFT;PCI编译器;FIR编译器;NCO编译器;POS-PHY编译器;ReedSolomon编译器;Viterbi编译器等等。CycloneIIFPGA器件特性器件EP2C5EP2C8EP2C15EP2C20EP2C35EP2C50EP2C70逻辑单元4,6088,25614,44818,75233,21650,52868,416M4KRAM块
(4k比特+512校验比特)26365252105129250总比特数119,808165,888239,616239,616483,840594,4321,152,000嵌入式18x18乘法器131826263586150PLLs2244444最多用户I/O管脚158182315315475450622表3—1CycloneII系列器件的特性3.1.2EP2C5T144C8芯片介绍Altera公司2004年推出了新款CycloneII系列FPGA器件。CycloneIIFPGA的成本比第一代Cyclone器件低30%,逻辑容量大了三倍多,可满足低成本大批量应用需求。其中主要包括EP2C5、EP2C8、EP2C15、EP2C20、EP2C35、EP2C50、EP2C70等型号,其中EP2C5T144芯片等效门数为23万门,同时也是CycloneII系列FPGA中最小的一款,容量5K逻辑单元,它包括NiosII嵌入式处理器;DDRSDRAM控制器;FFT/IFFT;PCI编译器;FIR编译器;NCO编译器;POS-PHY编译器;ReedSolomon编译器;Viterbi编译器等等。其中144表示有144个引脚,其引脚分布如图3-1。图3-1EP2C5T144芯片引脚图EP2C5T144芯片的运作需要外部提供电源和频率输入(晶振部分),同时通过QuartusII软件完成编程仿真之后,需要通过配置下载到芯片,因此,还需要芯片配置电路,下面就这这些电路分别作介绍。3.2有源晶振电路图3-2有源晶振电路如上图,FPGA可拥有7个时钟源。本次设计的有源晶振电路提供50MHz的时钟,输入给FPGA的CLK0时钟源。这个时钟源可通过PLL倍频、分频等方法得到各种频率的时钟,有源晶振的电源使用PI型滤波,输出端使用一个小阻值电阻过滤信号。串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。保证电源质量,另外,还可通过P5接口输入外部时钟。3.3供电电路图3-3芯片供电电路如上图所示,开发板的输入电压是5V。通过U3:LM1085-3.3的LDO芯片,得到3.3V电压。此芯片最大电流支持到3A。再通过AMS1117-1.2(板上显示REG1117,这只是芯片品牌不同,功能相同),获取1.2V电压。3.3V电压是提供给FPGA的IO使用的。也就是说,FPGA的IO引脚电平采用的是3.3V。1.2V电压是提供给FPGA内核的工作电压,以及FPGA内部PLL的工作电压。1.2V电压的纯净程度要求比较高,故采用C25钽电容滤波。3.4PS配置电路配置电路采用被动串行(PS)模式,为了利用ByteBlasterMV下载电缆配置EP2C5T144器件,3.3V的电源应该接上拉电阻,电缆的VCC脚连到3.3V电源。配置器件的控制信号(如nCE,OE,DCLK等)直接与FPGA器件的控制信号相连,FPGA器件不需要任何外部控制器就可以有配置器件进行配置。配置器件的OE和nCS引脚控制着DATA输出引脚的三态缓存,并控制着地址计数器的使能。当OE为低时,配置器件复位地址计数器,DATA引脚为高阻。当nCS始终保持高电平,计数器被禁止,DATA引脚为高阻。当nCS置低后,地址计数器和DATA输出均使能。OE再次置低时,不管nCS处于何种状态,地址计数器都将复位,DATA引脚置为高阻。当配置器件输出所有数据,并将nCASC置底时,器件将DATA引脚置为高阻,以防止其他配置器件争用。加电后,地址计数器自动复位[3]。EP2C器件允许设计人员通过额外的nINIT_CONF引脚初始化FPGA器件的配置。这个引脚可以和要配置器件的nCONIF引脚相连。一个JTAG指令使EPC2器件将nINIT_CONF置低,接着将nCONFIG置低。然后EP2C器件将nINIT_CONF置高开始配置。当JTAG状态机退出配置状态时,nINIT_CONF释放对nCONFIG引脚的控制。图3-4PS配置电路4软件设计4.1软件设计原理及设计所用工具本设计实现的在直扩系统中QPSK调制的FPGA实现,基于Altera公司的QuartusII平台进行软件设计,根据扩频技术的原理和QPSK调制的原理,在前面我们通过方案论证,QPSK调制采用的是相位选择法。因此,本设计采用Bottom-up(自底向上)设计方法,由分频模块、待传输源码产生模块、m序列产生模块、扩频模块、串并变换模块、四相载波发生模块、调制模块组成,下面就分别介绍这些模块的构成和实现。4.2分频模块本设计中的时钟不是单一的频率,源码产生模块、m序列产生和四相载波发生模块都各自用的不同的频率,因此,该设计中涉及到了3个不同的频率。通过FPGA编程可以实现分频倍频等操作,为了较少外围电路,本设计采取FPGA编程分频操作。由于调制结果是以正弦载波的形式输出作为QPSK调制信号,在设计中采用32点正弦波数据查表输出,所以四相载波发生模块的频率clk就是调制模块频率clk1的32倍,而根据扩频的原理,m序列发生模块和扩频模块的频率clk1是源码产生模块频率clk2的5倍。而在整个系统运行时,只要输入clk,就会得到clk1和clk2。该模块的设计思路是:根据输入的clk,通过对位宽分别为4位和7位的寄存器cnt和cnt1的循环计数来控制clk1和clk2的输出,从而实现分频。最初,由于clk1是clk的32倍,那么当cnt计数大于等于16时,clk1翻转,同时cnt清零,重新计数;这样就实现32分频。同样的道理,通过cnt1的计数也可以得到clk2是clk的160分频。下面是该模块的代码:modulesclk(clk,reset_n,clk1,clk2,cnt,cnt1);inputclk32,reset_n;outputregclk1;outputregclk2;outputreg[3:0]cnt;outputreg[6:0]cnt1;//采用对cnt和cnt1循环计数方法always@(posedgeclk)//产生clk1beginif(~reset_n)begin//复位操作cnt<=0;clk1<=0;endelseif(cnt>=15)begin//当计数到16次,clk1翻转,同时cnt清零重新计数cnt<=0;clk1<=~clk1;endelsebegincnt<=cnt+1'b1;endendalways@(posedgeclk)//产生clk2beginif(~reset_n)begin//复位操作cnt1<=0;clk2<=0;endelseif(cnt1>=79)begin//当cnt1计数达到80次时,clk2翻转同时cnt1清零重新计数cnt1<=0;clk2<=~clk2;endelsebegincnt1<=cnt1+1'b1;endendendmodule从以上的代码可以看出,实际上的操作是进行计数操作,因此在系统运行时,开始的一段时间处于等待分频状态,系统运行初期会有一定的延迟,但是整个系统的分频是流水线操作,当第一个clk1和clk2产生之后,系统就会进行正常操作,所以具有很好的稳定性。如果要提高系统的反应速度,可以采用专用的外围分频电路或者分频器实现。由以上的代码生成的RTL级原理图如下:图4-1生成的分频模块RTL级原理图4.3源码产生模块该模块的功能是代替实际中的待处理的信息码,目的是为了方便取得较好的仿真效果。实际中的源码是通信系统的发射端需要发射的信号,具有一定的随机性,而在本设计中采用一个位宽为4位的寄存器,通过对其中某几位比特的信号的比特与操作来产生设计中需要的源码。其软件代码如下:moduleSPN(clk,dout,rest_n);inputclk,rest_n;outputdout;regdout;reg[3:0]dreg;regdin;//dreg为比特位操作的寄存器,dout为输出的待处理PN码always@(posedgeclk)beginif(~rest_n)//复位操作begindreg<=4'b0001;endelsebegindin<=dreg[0]^dreg[3];//将寄存器中的第0位和第3位进行比特与操作dreg<={din,dreg[2:0]};endendalways@(*)begincase(din)//通过对比特信息bin判断,从而输出dout1'b0:dout=1;1'b1:dout=0;endcaseendendmodule通过以上代码,可以看出生成的PN码并不是随机的,目的是为了方便仿真,而当该系统应用于实际中时,输入的PN码可以通信的基带信号通过码变换和编码生成,在本设计中就略去了该操作。通过以上代码,我们可以得出本次设计中需传输的生成的PN码为(只列举前16位):10011001100110011。下面给出该模块生成的RTL级原理图:图4-2源码产生模块RTL级原理图4.4m序列产生模块4.4.1m序列简介m序列是由n级线性移位寄存器产生的周期为P=2n-1的码序列,是最长线性移位寄存器序列的简称,m序列有许多优良特性,例如,它具有较好的随机性和规律性,优良的自相关性,因此,它的应用非常广泛。m序列的应用有:1).码分多址系统主要采用两种长度的m序列:一种是周期为P=215-1的m序列,又称为短PN序列;另一种是周期为P=242-1的m序列,又称为长PN序列,当其应用于CDMA系统中时,它的选择直接影响CDMA系统的容量、抗干扰能力、接入和切换速度等性能,而m序列作为一种常用的伪随机序列,它具有很强的系统性、规律性和自相关性,利用它的不同相位可以来区分不同的用户。2).误码率测量中的随机信号源,仿真技术中的伪随机序列发生器。3).数据加扰,保密通信领域。既然m序列具有这么多的用途,那么它的性能如何呢?下面就m序列的性质做一些介绍:(1)均衡特性:在一个周期中,m序列中“1”的个数比“0”的个数多1个。N级移位寄存器有2n状态,这些状态对应的二进制有一半为偶数(即末位数为0),另一半为奇数(即末位数为1)。m序列一个周期历经2n-1个状态,少一个全0状态(属于偶数状态),因此在一个周期中“1”的个数比“0”的个数多1个。(2)游程特性:把一个序列中取值相同的那些连在一起的元素称为一个“游程”,长度为k的游程数占游程总数的1/2k一个周期中长度为1的游程数占游程总数的1/2;长度为2的游程数占游程总数的1/4;其中1≤k≤n-1。为了更好地理解m序列的游程的分布,表4-1列出了长度为15(n=4)的m序列游程分布。周期15(n=4)m序列111100010011010游程分布。游程长度/比特游程数目所包含的比特数“1”“0”1224211430134104
游程总数为8
表4-1长度为15(n=4)的m序列游程分布(3)移位相加特性:一个m序列与其循环移位逐位比较,相同码的位数与不同码的位数相差1位。例如原序列{Xi}=1110010,那么右移2位的序列{Xi-2}=0011101,它的模2加后为:{Xi}=1110010⊕{Xi-2}=10111000101110其中,模2加后相对应的不同码元为“1”的有4个,相同码元为“0”的有3个,即相同码元的位数与不同码元位数相差1位。m序列和其移位后的序列逐位模2加,所得的序列还是m序列,只是起始位不同而已。(4)相关特性:表征一个信号与延迟后自身信号的相似性。 当P足够大,收发同步时,接收端输出就是峰值。(5)伪随机特性:由于m序列的均衡特性、游程特性,而且自相关函数具有类似白噪声自相关函数的性质,所以m序列是一种伪随机序列,又称为伪码。4.4.2m本设计中采用的是以n=5、周期为P=25-1=31的m序列,其产生电路图原理如图4-3所示,给定一个移位寄存器的初始状态,即可以产生相应的码序列,初始状态不能为00000,因为全零状态为非法状态,一旦进入该状态,系统就会陷入死循环,为了防止全零状态,需要为其设置一个初始态,设置为00001(本设计采用,实际中也可以采用其余的初始状态)。DD1D2D3D4D5输出C4=0C3=1C2=0C1=0C0=1C5=1图4-3n为5、反馈系数ci=(45)8的m序列发生器电路原理图根据上面的m序列发生器原理图,本次设计中采用一个位宽为5位的寄存器m_reg来进行位操作,产生m序列。当我们设置的初始状态为00001时,输出的码序列为1000010010110011111000110111010...,码序列周期长度p=31,而5个D触发器的状态变化以及输出D5的值如表4-2所示,如果电路反馈关系不变,换另一个初始状态,则生成的序列仍为m序列,只是起始位置(初始相位)不同而已。例如初始状态为”10000”的输出序列是初始状态为”00001”的输出序列右移一位而已。另外,移位寄存器级数n相同,反馈逻辑不同,产生的m序列就不同,例如,5级以为寄存器,其反馈系数ci除(45)8外,还可以是(67)8和(75)时钟D1D2D3D4D3⊕D1输出D50000111110000020100003001010410011151100006011010710110180101119101010101101111111101012111101130111011400110115000111表4-25个D触发器和输出D5状态值下面给出m序列发生器的代码:moduleSm(rest_n,clk,m_out);inputclk,rest_n;outputregm_out;reg[4:0]m_reg;always@(posedgeclkornegedgerest_n)beginif(~reset_n)beginm_reg<=5'b10000;end//复位操作elsebeginm_reg[0]<=m_reg[2]^m_reg[4];m_reg[1]<=m_reg[0];m_reg[2]<=m_reg[1];m_reg[3]<=m_reg[2];m_reg[4]<=m_reg[3];m_out<=m_reg[4];//m_out为产生的m序列endendendmodule由以上的代码可以看出,当开机进行复位操作时,就给5位移位寄存器赋初值00001,因此具有较强的可操作性和稳定性。下面给出该模块生成的RTL级原理图:图4-4m4.5直序列扩频模块4.5.1直序列扩频简介直接序列扩频(DirectSequenceSpreadSpectrum)工作方式,简称直扩方式(DS方式)。就是用高速率的扩频序列在发射端扩展信号的频谱,而在接收端用相同的扩频码序列进行解扩,把展开的扩频信号还原成原来的信号。直接序列扩频方式是直接用伪噪声序列对载波进行调制,要传送的数据信息需要经过信道编码后,与伪噪声序列进行模2加生成高频率的复合码从而去调制载波。直接序列扩频技术在军事通信和机密工业中得到了广泛的应用,现在甚至普及到一些民用的高端产品,例如信号基站、无线电视、蜂窝手机、无线婴儿监视器等,是一种可靠安全的工业应用方案。基于以上的叙述,那么直序列扩频具有的特点有:(1)抗干扰能力强:表示扩频通信特性的一个重要参数是扩频增益G(SpreadingGain),其定义为扩频前的信号带宽B1与扩频后的信号带宽B2之比。G=B2/B1扩频通信中,接收端对接收到的信号做扩频解调,只提取扩频编码相关处理后带宽为B1的信号成份,而排除了扩展到宽带B2中的干扰、噪声和其他用户通信的影响,相当于把接收信噪比提高了G倍。考虑到输出端的信噪比和接收系统损耗,可以认为实际的扩频增益带来的信噪比的改善为:M=G-输出端信噪比——系统损耗公式中的M叫做抗干扰容限。(2)抗截获能力强:理论分析表明,信号检测和信号能量与噪声功率谱密度的比值的概率成比例的信号的带宽是成反比的。DS信号的研究表明有两个优点,其功率谱密度低,单位时间内的能量很小,它是非常宽的频段。因此,它具有很强的抗截获性。调制的信息信号是通过扩展频谱被扩大,使该信号的功率谱密度降低很多,接收器接收到的信号接收机的噪声谱密度的比值是很低的,因此是完全淹没在噪声信号,使其他信号不会干扰无线电接收,信号也是不容易找到,通过进一步检测信号,也能接收到。所以是一个非常高的隐蔽性,安全通信的理想选择,尤其适用于军事通信。由于这一特性,FCC的规定并不适用于用于扩频通信机器特定频率。(3)抗多径、抗干扰能力强:在无线电波传播的过程中,除了直接到的信号的接收,同时也有多种反射器(如对流层,建筑物,山脉,树木,水,地面等)引起的反射和折射信号。反射和折射的信号传播时间长于直接发送信号,它被称为直接干扰信号产生的多径干扰。多径干扰可能会导致严重的衰落通信系统甚至无法工作。由扩频序列的自相关函数的特性知道。当两个接收信号的相对时间序列的超过的符号的宽度,相关器的输出是反码的长度,它被压制在很大程度上。直接序列扩频技术,是一种更先进的接收技术,叫做RAKE接收技术,可以实现多径分集接收,信号是关于各种路径,包括直接,折射,反射,衍射信号解扩后在相位上根据峰值校齐并进行叠加,并根据高峰叠加同质的,较高的信号强度,不仅避免了多径干扰的接收信号强度也增强,但RAKE接收机技术来实现更复杂和昂贵的。(4)可同频工作:由于采用相关解扩,所以只要每部通信的解扩码(PN)不同,几部通信机就可以使用同一载频而不会有互相干扰,只是多增加一点背景噪声而已。(5)便于实现多址通信:由于不同的扩频码是正交或接近正交的,彼此相互影响很小,所以可以把不同的扩频码作为用户的地址码,则很容易实现码分多址(CDMA)通信。移动通信系统采用CDMA方式,理论上可以使通信容量比目前的蜂窝式通信容量大。(6)直扩通信速率高:直扩通信速率可达2M,8M,11M,无须申请频率资源,建网简单,网络性能好。在802.15.4通信标准中,要求的无线通信的速度是250Kbps,所以,CC2430高频部分也是使用这个通信速度。GDS=10lg(Rc/Rb)其中:Rc为直扩码速率;Rb为信息码速率,其比率即为扩频码长度,也称扩频信号的带宽扩展因子。以上简介了直序列扩频通信的优点,但是它在实际应用中也具有一些缺点,比如:频道数减少,带宽增大,信息量量增大。为了解决系统占用频带过宽、外部干扰增多和传输速率受限的矛盾,当前各国大多采用多进制扩频技术,相对有效的解决这些问题。4.5.2直序列扩频的实现本设计中使用速率是源码5倍的m序列作为扩频的伪随机扩频码与源码模2加实现扩频,因此下面给出本模块的代码:moduleKP(clk,rest_n,idata,mdata,odata);inputidata,clk,rest_n,mdata;outputodata;regodata;always@(*)beginif(~rest_n)beginodata<=0;end//复位操作elsebeginodata<=idata^mdata;//扩频操作,其中的m_data由4.1中已经介绍的生成的m序列endendendmodule根据以上代码生成的RTL级原理图如下:图4-5扩频模块生成的RTL级原理图4.6串并转换模块从QPSK调制和2PSK调制的原理以及实现上,即根据QPSK信号的表达式:,可以将QPSK看作是I路和Q路的2PSK调制信号进行叠加而成。因此,在进行QPSK调制信号之前,应将被调制信号进行串并转换,形成两路的并行信号。那么在本设计中采用位宽为2的寄存器dd来存放输入的数据的串并转换后的数据。当输入1比特的数据时,在时钟的上升沿将其存入寄存器dd中的低位,同时将位宽为1的标志寄存器p置低,同时在时钟的下降沿时将dd中的数据送至位宽为2的并行数据寄存器data_b_out中,同时将位宽为1的标志寄存器p置高。同样的道理在下一个时钟的上升沿到来时,先将寄存器dd中的数据左移一位,将相当于上一时刻的数据移到高位,然后将此时输入的1比特的数据存入低位,同时将标志寄存器p置低,为下降沿输出数据做准备。经过这样的过程,就是实现了串并转换。下面给出本次设计的代码:modulecbchange(clk,reset,data_in,data_b_out);inputclk,reset,data_in;outputreg[1:0]data_b_out;reg[1:0]dd;regq;//data_in为输入的串行数据,data_b_out为输出的并行数据,dd为暂存并行数据的一部分。always@(posedgeclk)beginif(~reset)begindd<=2'b00;end//复位操作elsebegindd<={dd[0],data_in};q<=~q;end//将串行数据中的1比特数据存入ddendalways@(negedgeclk)beginif(~q)begindata_b_out<=dd;end//将dd中的并行数据输出endendmodule从以上的代码中可以看出,只要输入串行数据就能稳定的进行串并转换,因此该模块的稳定性很好,而且延迟很小,其中的串并转换部分的代码,采用的是连接符传递数据,当然也可以使用dd寄存器的比特移位操作。生成的该模块的RTL级原理图如下:图4-6串并变换模块生成的RTL级原理图4.6四相载波发生与调制模块四相载波发生器主要产生四种频率相同、相位互差的载波信号,实现四相载波有很多种不同方法。可先由振荡电路产生一定频率的信号,再利用RC移相电路得到不同相位的波形,这种办法由外围模拟电路实现比较容易,通过纯数字电路来实现会存在很多问题,比如延迟、相位漂移等,而且实现也很复杂,很不利于编程实现。另一种方法就是将正弦波的数据存在一个寄存器中,而后通过查表的方法来实现四相载波发生,这种方法利用数字电路的实现,并且系统运行时延迟较小,相位准确,有利于准确的进行QPSK调制,但是这种方法需要提前知道正弦波数据,通过一定的实验测定能够获得这些数据。在本次设计中采用的是32点正弦波数据,根据从不同的地方开始输出正弦波来实现不同相位的输出,但是采用的时钟是调制输入的并行数据的时钟的32倍,这样才能在输入的2比特的数据时,调制后能有一个完整的正弦波形输出,倘若本次设计中的时钟不准确,那么输出的正弦波形会有一些失真。调制模块是根据4.5节中串并变换后输出的并行数据的不同组合来判定输出载波的相位,下面给出本次设计中的并行数据(i、q)组合与输出载波相位对应关系表:双比特码元载波相位IQ011000110°90°180°270°表4-3码元组合与载波相位关系表在本次设计中四相载波和调制是在一个模块中,用一个位宽为8位的寄存器QPSK_out来储存32点正弦波数据,根据输入的并行数据的组合来决定QPSK_out的输出,另外用位宽为5为的寄存器count来储存正弦波形数据的地址,根据输入并行数据的不同组合来确定count的不同值,从而确定了QPSK_out寄存器的不同地址,根据不同地址查表输出不同相位的正弦波。设计的这部分代码为:always@(posedgeclk)beginif(~reset_n)begincount<=0;end//复位操作elsebeginif(cnt==1)begin//QPSK调制case(data_b_out)//data_b_out为输入的并行数据,从而确定正弦波形数据地址2'b11:count<=0;2'b01:count<=8;2'b00:count<=16;2'b10:count<=24;default:count<=0;endcaseendelsebegincount<=count+1'b1;end//地址自加,完成连续的波形输出endendalways@(negedgeclk)beginif(~reset_n)beginQPSK_out<=0;end//复位时,QPSK信号没有输出elsebegincase(count)//根据count(地址)来输出不同相位的正弦波形数据0:QPSK_out<=8'h00;1:QPSK_out<=8'h19;2:QPSK_out<=8'h31;3:QPSK_out<=8'h47;4:QPSK_out<=8'h5b;5:QPSK_out<=8'h6a;6:QPSK_out<=8'h76;7:QPSK_out<=8'h7e;8:QPSK_out<=8'h7f;9:QPSK_out<=8'h7e;10:QPSK_out<=8'h76;11:QPSK_out<=8'h6a;12:QPSK_out<=8'h5b;13:QPSK_out<=8'h47;14:QPSK_out<=8'h31;15:QPSK_out<=8'h19;16:QPSK_out<=8'h00;17:QPSK_out<=8'he7;18:QPSK_out<=8'hcf;19:QPSK_out<=8'hb9;20:QPSK_out<=8'ha5;21:QPSK_out<=8'h96;22:QPSK_out<=8'h8a;23:QPSK_out<=8'h82;24:QPSK_out<=8'h80;25:QPSK_out<=8'h82;26:QPSK_out<=8'h8a;27:QPSK_out<=8'h96;28:QPSK_out<=8'ha5;29:QPSK_out<=8'hb9;30:QPSK_out<=8'hcf;31:QPSK_out<=8'he7;default:QPSK_out<=0;endcaseendend根据以上的代码可以看出,正弦波数据是储存在寄存器中,而另外一个寄存器中存放中正弦波数据的地址,这样可以输出不同相位的正弦波,当然也可以用一个rom来储存正弦波形,通过rom模块例化而成,但是这样可能比该设计中要复杂些。本次设计的QPSK调制模块稳定,延迟较小。5系统调试与系统功能本设计的主要部分是基于Altera公司的FPGA芯片来完成设计,而软件部分则主要是通过QuartusII软件平台来完成,当将各个子模块连接起来就形成了整个系统,也就是当底层设计联合而成为顶层设计。基于以上特点,系统调试主要在于软件的调试和仿真,下面就给出每个模块的调试和仿真,从波形中观测系统功能。5.1分频模块在4.2中的代码中,clk32是输入的频率最高的时钟,而clk1是clk的32分频,clk2是clk1的5分频,下面就给出该模块功能仿真波形图:图5-1分频模块功能仿真波形一从图5-1中可以看出,实现了clk32的32分频功能,clk1的一个周期长度是clk32周期长度的32倍,但是在此图中还不能看出clk2的分频情况,下图其给出仿真波形。图5-2分频模块功能仿真波形二从图5-2中可以清晰的看出clk2的周期长度是clk1的5倍,从而实现了clk2在clk1的5分频,基于clk32的160分频的功能。在进行波形仿真的时候,该模块所用的时间较长,是因为涉及到了计数操作。5.2源码产生模块在4.3中已经介绍了本设计中源码的产生原理,在实际通信中,待处理源码是具有随机性的,并且是由用户发出的,在本次设计中,为了提高仿真效率,降低复杂性,因此采用该模块的设计,下面给出其功能波形仿真图:图5-3源码产生模块功能仿真波形图从仿真图中可以看出产生的PN码和4.3中提及到的会产生的PN码是相同的,说明实现了该模块的功能。当然,我们也可以通过改变软件代码,使产生的PN码更具有随机性。但是,为了能够在最后判断QPSK信号的正确性,即更加容易检查系统运行的性能上,因此采用产生这种PN码。5.3m序列产生模块由前面可知,直扩系统中关键的是扩频中扩频码的选择。在本设计中考虑到了可靠性、安全性、稳定性等性能,因此选择了m序列作为扩频的伪随机码。通过4.4中介绍了本次设计的软件代码和实现原理,下面就给出其功能波形仿真图(给定的默认值为00001):图5-4从上图中可以清晰的看出产生的周期为p=25-1=31的m序列为:10001001011001111000110111010,该序列与4.5节中的表4-2中的应产生的m序列相同(表4-2中只列出了前16位),因此,说明了该模块实现了产生m序列的功能,并且可已看出该模块运行时延迟很小,稳定性很好,并且根据m序列的特点,同时也具有很好的保密性、抗干扰性等。5.4扩频模块扩频和QPSK调制时本次设计中很重要的两部分,扩频的成功与否直接关系着系统的各种性能指标的好坏。采用直序列扩频让编程和实现更加容易,因此,本次设计采用了这种方法,在仿真的时候,设置的m序列的数据速率是输入数据的5倍(m序列采用标准的方波,便于检验),可以得到其功能仿真波形图如下:图5-5扩频模块功能仿真波形图从以上的波形仿真图可以看出odata的数据速率和idata相比明显提高,因此实现了频率扩展功能。在本模块进行仿真发现了一些需注意的问题,现总结如下:扩频操作应该是在任意时间进行,也就是只要有数据输入和m序列输入并系统正常工作,就应该进行扩频。也就是本模块采用组合电路设计较佳,若采用时序电路设计,在时钟的上升沿或者下降沿时可以进行扩频操作,但是如果扩频码的频率大于扩频操作时的时钟频率时,就会出现错误,导致扩频不能正常进行,有可能不能达到系统需要的性能要求。因此,该模块采用组合电路设计时,仿真结果就如图5-6所示,能是实现扩频的功能,下面给出采用时序电路时候的仿真波形:图5-6采用时序电路设计的扩频从图5-6中可以看出,扩频之后的序列odata与数据输入序列idata对比,频率基本没有改变,因此无法实现扩频操作。该模块如果采用时序电路设计的时候,必须保证扩频时钟频率小于m序列,并且在m序列的上升沿和下降沿必须对准时钟的上升沿,才能进行扩频。但是在实际的系统中会有一定的延迟,在设计中考虑到该问题,并且有一定的修改,但是结果也会不正确。因此,在该模块采用组合电路设计能正确、快速、稳定的实现直序列扩频。5.5串并转换模块从4.6节中可以了解到本次设计中串并转换的实现思路,通过对软件代码的仿真可以得到该模块的功能仿真波形图如下:图5-7串并转换模块功能仿真波形图在以上的仿真波形图中可以看出,输入的数据经过串并转换后输出的并行数据符合设计的目标,实现了该模块的功能。并且可以看出该模块实现的功能准确、稳定。5.6整个系统的仿真将以上的各个模块联接起来再加上四相产生电路模块和QPSK调制模块,就构成了整个系统,整个系统的顶层设计代码和RTL级仿真电路图见附录。在顶层设计中必须首先要注意时钟设置,在不同的模块采用的时钟频率是不同的,特别是在扩频、串并转换和调制模块,一旦时钟选择不当,就会出现系统运行出错,导致结果不正确。下面给出整个系统运行时的功能仿真波形图和时序仿真波形图。由于该系统的仿真采用的是QuartusⅡ中自带的仿真软件,波形显示有一定的限制。图5-8整个系统功能仿真波形图图5-9系统运行后输出载波相位为180°的仿真波形图5-10系统运行后输出载波相位为90°的仿真波形图5-11系统运行后输出载波相位为270°的仿真波形图5-12系统运行后输出载波相位为0°的仿真波形根据图5-8中可以看出整个系统运行后的仿真波形,从波形中虽然不能看出输出载波的波形数据,但是可以观测整个系统的运行状况。通过源码产生模块产生的PN码与生成的m序列进行直序列扩频后的序列KP_out的频率在源码的基础上得到了扩展,实现了直序列扩频功能,然后将扩频后的序列进行了串并转换,通过观察data_b_out的波形,说明系统运行正确。由于QuartusⅡ软件自带的仿真软件在复杂仿真环境下的限制,因此在图5-9、5-10、5-11、5-12中分别给出了四种不同相位的载波波形数据。在4.6节中的表4-3给出了并行数据的不同组合输出的不同相位的载波的对应情况,同时也给出了软件代码中的正弦波形的32点波形数据,通过上面波形数据的观察,不难看出该系统运行后实现了QPSK调制的功能。综上所述,经过波形仿真实现了直扩系统中的QPSK调制器的设计,并且得到了预定的结果,达到了设计的目标。从图中还可以得出,整个系统的运行稳定,准确,下面再给出时序仿真波形图。图5-13整个系统时序仿真波形图图5-14系统运行后输出相位为180°载波的时序仿真波形图6结论本论文是在通信信号的直序列扩频和QPSK调制方式的研究的基础之上,运用Altera公司的FPGA芯片来进行研究和实验,并且主要通过QuartusⅡ9.2软件实现了一个基带直序列扩频中的QPSK调制器的顶层和与其相关的各个子模块的设计,并进行了相应的功能仿真和时序仿真。所有的设计模块以及顶层都是采用了Verilog—HDL语言进行编程,并且不断的修改和调试,最终实现了系统的功能。并且在扩频码长和初始相位选择上作了参数化的设计,以便于以后根据需要的改进和调整。本次设计实现了直扩系统中QPSK调制的全数字化实现,并且系统的运行状态较好,同时由于是用硬件语言软件编程来实现,因此易于维护,便于升级和系统优化等特点。随着微电子技术的发展,电路设计不断朝着微型化、智能化、数字化方向发展,在电路工程师们的不断努力和专研下取得了很多成就,本次设计也就在随着FPGA发展大前提下,充分运用FPGA的丰富资源实现了全数字化的设计。但是由于时间关系,本论文虽基本完成了直扩通信中QPSK调制器的设计和仿真,但是仍然存在很多问题需要进一步研究。(1)QPSK调制虽然性能和抗误码率等问题上较好,但是在解调时容易出现相位模糊等问题,因此可以采用OQPSK调制方式或者π/4—DQPSK调制方式。(2)为了减少扩频序列的抗码间干扰,增加系统的抗干扰能力和保密性,可以对系统输入的基带数据进行抗码白化处理,以提高系统的性能。(3)整个系统的设计只是经过了软件仿真,由于时间原因,并没有进行硬件的实现和调试,因此将系统运用于实际中的稳定性和抗干扰能力还有待于进一步研究。7总结与体会本次设计中涉及到了很多知识,囊括了大学四年的主要知识以及很多前卫热门的通信领域知识,通过不断的回顾已学知识和查阅书籍、上网等方法,基本完成了本次毕业设计的题目的功能。通过本次设计让我再一次复习和深入学习了关于Q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新建呋喃树脂砂铸造生产线项目立项申请报告
- 新建箱式变电站项目可行性研究报告
- 高强钢丝项目立项申请报告
- 新建樟树原油项目立项申请报告
- 工业电炉投资项目可行性分析报告
- 完整钢结构毕业课程设计
- 2024-2030年新版中国高大乳油项目可行性研究报告
- 2024-2030年新版中国稀土合金材料项目可行性研究报告(甲级资质)
- 2024-2030年撰写:中国肤疡散行业发展趋势及竞争调研分析报告
- 2024-2030年撰写:中国回火炉项目风险评估报告
- 6.2.1向量的加法运算 课件(共14张PPT)
- 2023年考研考博-考博英语-西南政法大学考试历年真题摘选含答案解析
- 川2020G145-TY 四川省超限高层建筑抗震设计图示
- 门窗公司介绍模板范本
- 孩子-你为什么要读书
- 形式逻辑学全套课件
- 国开电大公共行政学形考任务二答案
- 汉字拼写游戏
- 高中音乐鉴赏 《舞动心弦-中国舞蹈音乐》
- YY/T 0698.1-2011最终灭菌医疗器械包装材料第1部分:吸塑包装共挤塑料膜要求和试验方法
- GB/T 4985-2021石油蜡针入度测定法
评论
0/150
提交评论