毕业设计(论文)基于FPGA的高速信号模拟发生器_第1页
毕业设计(论文)基于FPGA的高速信号模拟发生器_第2页
毕业设计(论文)基于FPGA的高速信号模拟发生器_第3页
毕业设计(论文)基于FPGA的高速信号模拟发生器_第4页
毕业设计(论文)基于FPGA的高速信号模拟发生器_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京理工大学毕业设计(论文)1 绪论1.1 课题的研究背景和意义在雷达系统的开发和研制过程中,对雷达系统性能的调试和测试是其中一个重要环节。如果雷达的整机调试和性能鉴定都采用外场试飞,即用真实目标的飞行来给雷达提供测试信号,那么将耗费大量的人力、物力和财力,使研制周期加长,特别是对于机载和航天雷达尤其如此。此外,外场实验无法重现特定的场景,不满足某些调试的要求。因此,利用现代仿真技术产生逼真的雷达回波模拟信号是非常必要的,它对雷达技术的发展也具有极其重要的意义。雷达信号模拟是数字模拟技术与雷达技术相结合的产物,模拟的对象是雷达目标和环境,模拟的手段是利用数字计算机和相关设备以及数字信号处理技术

2、,模拟的方法是“复现”蕴含雷达目标和目标环境信息的雷达回波信号。目前宽带信号形式有好多种选择:冲激信号、短脉冲信号、线性调频信号(lfm)、步进频率信号和随机噪声信号等。目前在国内相对比较成熟的是冲激信号、线性调频信号;在国外步进频率信号也得到了充分的发展和应用。随着噪声雷达技术的成熟,超宽带噪声雷达已经在国内引起人们的关注。伴随着微电子技术的飞速发展,数字技术在雷达中获得了广泛的应用,如波束形成、数字频率合成、中频采样、数字接收机、雷达模拟以及雷达信号处理等等。由于数字系统比模拟系统采用了软件编程,使得产品灵活性高、对环境适应性强、性能更稳定,因此数字系统比模拟系统具有更高的综合性能。现代雷

3、达的研制和生产中,在缩短新型号研制周期,加速旧型号改进,提高产品质量和可靠性以及维护性方面、通用化、系列化、模块化具有重要的意义,越来越受到人们的重视。随着ic的发展,特别是大规模集成电路(lsi)和超大规模集成电路(vlsi)的迅速发展,以及专用集成电路(asic)和数字信号处理器(dsp)的广泛使用,使得数字技术在现代雷达中的地位显著提高。本课题研究的是雷达数字信号的合成,主要包括线性调频信号和高斯白噪声信号。数字信号合成的方法主要有存储法和直接数字合成法:波形存储法是预先将波形幅度存储起来,然后按照一定的时钟频率将存储的波形通过dac变化成相应的模拟信号输出。直接数字合成(direct

4、digital synthesis,简称dds)法则是从相位的概念出发,采用数字方法合成信号。目前在国外已经将直接数字频率合成作为频率合成的发展方向,成为研究热点。1.2 有关领域的研究状况和发展动态在基于dds技术的线性调频信号数字合成的应用方面,国内外都进行了比较多的研究,主要有两种技术方案。 采用高性能dds单片电路目前性能优良的dds产品不断推出,主要有qualcomm、ad、sciteg和stanford等公司单片电路(monolithic)。ad公司的dds系列产品以其较高的性能价格比,目前取得了极为广泛的应用。其中ad9954内置高速、高性能d/a转换器及超高速比较器,可用为数字

5、编程控制的频率合成器,能产生200mhz的模拟正弦波。通过ad9954的串行i/o口输入控制字可实现快速变频且具有良好的频率分辨率。 自行设计的基于fpga芯片的解决方案dds技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模在、可编程,以及有强大eda软件支持等特性,十分适合实现dds技术。xilinx是著名的pld生产厂商,多年来一直占据着行业领先的地位。该公司目前公布了采用90nm设计工艺生产的最尖端fpga芯片virtex-4,它提供了无与伦比的性能和超低的功耗和成本。武汉华中科技大学以直接数字频率合成技术(dds)为基础,以单片机为控制核心,采用高速高精度脉内测频

6、技术精确测量米波脉冲雷达的发射频率,该系统在国产某型雷达上已经成功使用,显著提高了该型雷达的技术、战术性能。1.3 本设计的主要任务学习了vhdl语言的编程规范,熟悉了xilinx公司最新高性能设计开发工具ise(integrated software environment)及第三方设计工具modelsim。学习了直接数字合成原理,针对北京理工大学雷达研究所研制开发的pmc_2dac_400m数据播放板的特点,设计了“基于fpga的高速信号模拟发生器”的实施方案,产生了连续线性调频信号和调频脉冲串,并可通过上位机进行参数预置和波形控制。在此基础上,研究了高斯白噪声信号的产生原理,实现了基于查

7、找表的高斯白噪声信号并叠加到信号中去。1.4 本文内容安排本论文介绍了线性调频高速信号模拟发生器的实现,论文共分五章:第1章, 介绍了课题的研究背景和意义,本设计的主要任务,以及论文的内容安排。第2章, 介绍了雷达回波信号模拟的原理,直接数字信号合成技术,线性调频信号和高斯白噪声信号的数字产生,以及fpga的相关知识。第3章, 阐述了基于fpga的线性调频高速信号模拟发生器的设计方案和具体实现。第4章, 介绍了上位机模块和操作流程。第5章, 为本设计的功能验证和结果分析。2 信号的数字产生技术概述2.1 雷达信号模拟概述2.1.1 雷达信号模拟的方法 有两种基本的雷达模拟的方法,一种没有利用信

8、号的相位,因为没有相位信息,所以只能模拟雷达的功能,称为功能模拟;另外一种利用了回波的相位信息,称为相干视频信号模拟。功能模拟是实现雷达信号模拟的最简单方法,这种方法的基础是雷达距离方程。功能模拟基本上是对各种信号成分(如目标、热噪声、杂波和电子干扰)平均功率的一种描述,没有利用信号的相位信息,所以只能模拟雷达的功能。这些信号成分的换算关系由雷达距离方程确定。相干视频信号模拟,就是要逼真地复现既包含振幅又包含相位的相干视频信号,复现这种信号的发射、在空中传播、经反射体反射以及在接收机内进行处理的全过程。相干视频信号利用了信号的相位,它包含了雷达环境的全部有关信息。只要所提供的基本目标和环境模型

9、足够好,就可以使相干视频信号模拟的精度很高。2.1.2 雷达模拟的目标和环境模型雷达信号模拟系统的基本内容包括两个方面,一是雷达目标特性的模拟。雷达目标特性包括目标的空间运动特性、回波时延特性、回波相对于发射信号的相移特性、回波幅度的起伏特性等等。二是雷达工作环境特性的模拟。雷达的工作环境复杂多变,它包括除雷达目标以外所有可能出现在雷达回波中的信号,可以按内部噪声、外部杂波和各种干扰将其分类。2.1.3 雷达视频回波信号介绍雷达回波信号需经中频信号的正交相位检波后变成i/q两路视频回波信号才能被处理及处理。视频回波信号是复信号,i表示同相分量,q表示正交分量。设发射频率为f,调频斜率为k,目标

10、距离为r,速度v,加速度a。视频回波可表示为: 式2-1其中,令;。根据不同的参数选择,上面的公式可表示为线形调频信号、频率步进信号、调频步进信号和脉冲多普勒信号等多种典型雷波视频回波信号。2.1.4 频率合成的方法信号频率合成的方法很多,但大致可分成两大类:直接合成法和间接合成法。间接合成法一般可用一个受控源(例如压控振荡器)、参考源和控制回路组成一个系统来实现。即用一个频率源,通过分频产生参考频率,然后用锁相环(控制回路),把压控振荡器的频率锁定在某一频率上,由压控振荡器间接产生出所需要的频率输出。一个基本的锁相环路由以下3个部件组成:压控振荡器(vco)、鉴相器(pd)和环路滤波器(lf

11、)。锁相环频率合成器的优点在于其能提供频率稳定度很高的输出信号,能很好地抑制寄生分量,避免大量使用滤波器,因而有利于集成化和小型化。而频率合成器中的程序分频器的分频比可以使用微机进行控制,易于实现发射机频率的更换及其频率显示的程控和遥控,促进全固态调频发射机的数字化、集成化和微机控制化。接下来我们详细介绍一下直接数字频率合成的方法。2.2 直接数字频率合成技术2.2.1 直接数字合成原理dds的原理框图如图2-1所示,它包含相位累加器,波形存储器,数模转换器,低通滤波器和参考时钟五部分。在参考时钟的控制下,相位累加器对频率控制字k进行线性累加,得到的相位码对波形存储器寻址,使之输出相应的幅度码

12、,经过数模转换器得到相对应的阶梯波,最后经过低通滤波器得到连续变化的所需频率的波形。图2-1 直接数字合成(dds) 原理框图为了说明dds量化相位的工作原理,可将正弦波一个完整周期内相位02的变化用相位圆表示,其相位与幅度一一对应,即相位圆上的每一点均对应输出一个特定的幅度值,如图22所示。一个n位的相位累加器对应相位圆上个相位点,其最低相位分辨率为。在图中n=3,则共有种相位值与8种幅度值相对应。该幅度值存储于波形存储器中,在频率控制字k的作用下,相位累加器给出不同的相位码(用其高位作地址码)去对波形存储器寻址,完成相位幅度变换,经过数模转换器变成阶梯正弦波信号,再通过低通滤波器平滑,便得

13、到模拟正弦波输出。 图2-2 相位码与幅度码的对应关系2.2.2 输出信号频率设系统时钟频率是,相位累加器字长为n,因此相位累加器的相位分辨率为。频率控制字控制输出信号的频率,设频率控制字为w,在每个时钟周期,相位累加器对相位累加,累加增量为w,相位累加器的输出是一个相位序列,正弦查找表将相位累加器的相位序列转换为d位的正弦信号幅度并通过d/a变换及低通滤波输出,因此输出信号的频率满足 式2-22.2.3 输出信号频谱由于d/a的“采样与保持”效应,输出信号的频谱为包络与脉冲流经过付里叶变换的乘积。因此,dds输出的理想频谱f(f)如图2-3所示的经包络调制的离散谱。图2-3dds输出的理想频

14、谱2.3 线形调频信号的数字产生2.3.1 线性调频信号概述线性调频矩形脉冲信号的复数表达式可写为: 式2-3式2-3中t为脉冲宽度,k为线性调频斜率,信号的瞬时频率可以写为: 式2-4 线性调频信号的波形如图所示:图2-4线性调频信号波形2.3.2 线性调频信号数字产生直接数字线性调频合成(ddcs)原理源于dds,与dds相比,ddcs在相位累加器前面增加了一个频率累加器,同时输入一个频率控制字w和调频斜率控制字l,在每一个时钟周期,相位进行一次累加,而每个p个时钟周期,频率也进行一次累加,因此可以得到线性变化的频率。取n位相位累加器的高a位去寻址正弦查找表,将相位信息转换成正弦幅度信息,

15、然后通过d/a变换和低通滤波就可以得到线性调频信号。 图25 直接数字线性调频合成设ddcs的时钟为,线性调频信号的起始频率为,调频斜率为k,频率累加器和相位累加器字长都是n,起始频率以及调频斜率k与频率控制字w和调频斜率控制字l之间满足关系: 式 2-5,62.4 高斯白噪声信号的直接数字合成2.4.1 均匀随机数的产生反馈移位寄存器(feedback shift register methods)简称为fsr方法或fsr发生器,它最初是由tausworthe在1965年提出的,其思想来源于通信理论中的位移寄存器法。计算公式为: 式2-7其中=0或1,=1。此递推公式产生了一个由0和1组成的

16、序列。我们按下面的方式用构造一个整数序列: (i=1,2,) 式2-8 其中l是预先给定的正整数。令,我们就得到0,1上的序列,并将其作为0,1上相互独立同均匀分布的随机数序列。2.4.2 高斯白噪声信号的产生2.4.2.1 基本概念白噪声过程定义为一个均值为零而功率谱密度为非零常数的平稳随机过程,即有,是一个正实常数。白噪声的相关函数可以由傅立叶变换得到,它只在有极大值,其它处为零,可见白噪声过程在任何两个时刻的状态都是不相关的,其随时间的起伏极快,它的相关函数形式如下: 式2-92.4.2.2 box-muller公式给定功率或方差值得白噪声复高斯序列的产生方法,可以用鲍克斯和米勒提出的直

17、接计算法。这种算法得到的随机数精度高、计算速度快,而且可同时产生一对正交的正态分布随机数。直接计算法的计算式为 式2-10式中,和是两个相互独立的、在(0、1)区间均匀分布的随机序列;和分别是复白高斯序列的实部和虚部;和分别为正态分布的方差和均值。2.4.2.3 硬件实现 基于查找表的高斯白噪声产生方法这种方法的基本思想是以伪随机序列作为一个rom表的寻址地址,rom中的数据是高斯白噪声的一次实现,从rom表读出的数据经dac转换成高斯白噪声模拟信号。大量的理论研究和仿真实验证实,用查找表合成的高斯白噪声的概率密度函数(pdf)与rom中预存的数字噪声的分布特性类似,高斯白噪声的自相关函数则由

18、均匀分布随机序列的自相关函数决定。但是目前还不能从理论上得出高斯白噪声的pdf和rom存储深度(地址线位数)的定量函数关系,而只能由仿真加以确定。其次,采用这种方法的高斯白噪声合成速度受rom访问时间的限制。因此,尽管用查找表法合成随机数有简单、修改方便等优点,在工程应用上仍然有很大的局限性。 基于cordic算法的实现cordic算法是volder于五十年代末提出的一种坐标旋转数值计算方法。它使得矢量的旋转和定向、三角函数运算、乘除法和双曲函数的运算直接用移位和加减法完成,因而便于用硬件实现。box-muller公式中需要的正弦、余弦、平方根、对数以及乘法五种数学运算,可分别用fpga内自带

19、的cordic ip核,正/余弦查找表和硬件乘法器来实现。采用这种方法能够同时得到两组独立同分布的高斯白噪声序列,也就是说,在硬件资源消耗几乎没有增加的情况下,获得了双倍的数据吞吐率。2.5 qpsk的fpga实现2.5.1 qpsk基本概念 qpsk(四相键控)即是用2bit的数字信号来控制信号相位的改变。即0度相位代表“00”,90度代表“01”,180度代表“10”,270度代表“11”。这种调制方式却使同一载波能传送2比特的信息,与bpsk相比使载波的频带利用率提高了一倍。2.5.2 qpsk的实现 在fpga内部采用m序列发生器产生一系列的2bit伪随机码,不同的伪随机码代表不同的相

20、位信息。在相位累加器后加上qpsk的相位再去查找正/余弦表即可实现qpsk。如采用32bit的相位累加器,则三者的对应关系如下:伪随机码相位相位控制字(32bit)000度x000000000190度x4000000010180度x8000000011270度xc0000000表2-1 qpsk对应关系2.6 fpga相关知识简介2.6.1 fpga概述随着半导体技术的迅猛发展,可编程器件已经逐渐成为电路中的一个重要分支。而今主要可编程器件有现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)。cpld中采用与或阵列和宏单元相结合的方式,系统速率和各级延时都可以精确预测,因此易于实现快

21、速的有限状态机、高速同步计数器、快速算术运算和多级通用逻辑。而fpga由掩模可编程门阵列和可编程逻辑器件二者结合而来,可达到比cpld更高的集成度。传统的fpga结构由逻辑功能块排列成阵列,四周环绕可编程布线资源,外围由可编程i/o单元围绕阵列构成整个芯片,如图所示。可编程的内部连线连接各逻辑功能块以实现一定的逻辑功能。fpga中通常包含大量的触发器,利用触发器可以使对信号的运算按流水方式进行,以便提高系统的速度。图2-6 fpga基本结构由于fpga集成规模的提高,设计的描述方式也由过去单一的原理图输入方式转为硬件描述语言、原理图、状态机等多种方式,设计的分割、综合、仿真等都与专用集成电路的

22、设计流程相同,在布局、布线方面二者完全不同。由于fpga是通用可编程器件,与专用集成电路相比,其速度仍然相对较慢,但由于其开发周期短,设计风险小,投资少,因此它具有广阔的应用前景。2.6.2 virtex-ii系列fpga简介virtex-ii系列fpga是高性能、高密度、低功耗的可编程逻辑器件。其采用先进的8层金属0.15um的cmos工艺,优化的新型结构,使硅片得到了有效利用。与传统的结构不同,virtex-ii系列fpga除包含可配置逻辑单元(clb)和输入输出单元(iob)外,还包括以下三种逻辑资源: 块状select ram,每一块ram的规模为18kbit; 1818位的高速全定制

23、硬件乘法器; 412个数控时钟管理模块(dcm)及全局时钟缓冲器。这些资源提供了灵活丰富的时钟信号且有效地减小了时钟扭曲。下面我们来详细介绍一下。、 可配置逻辑单元(clb)可配置逻辑单元clb的基本单元是逻辑元胞(lc)。一个lc主要包括一个四输入的函数发生器、进位逻辑和一个存储部分。在每个lc中,函数发生器的输入既可以作为clb的输出信号,也可以作为d触发器的输入信号。每个clb包括8个lc,它们位于相同的四个切片(slice)中。、 可编程输入输出快(iob)virtex-ii系列fpga支持多种输入输出标准,其中包括lvttl,lvcmos,lvds等。因此virtex-ii系列fpg

24、a的iob能实现多种配置。在iob输入路径上的输入缓冲器控制输入信号直接输入到内部逻辑还是通过一个可选的输入触发起输入。每个输入缓冲器均可配置成器件支持的任何一种低压信号标准。在芯片配置完成后,每个输入都可以使用上拉或下拉电阻。这些电阻的典型取值范围是1060k。此外,在iob的输出路径上也有一个三态输出缓冲器,输出信号可以直接由内部逻辑通过输出缓冲器输出,或是通过一个可选的iob输出触发起输出。、 块状select ram virtex-ii系列fpga有片内块状select ram。每一块都是一个真正的完全同步的双端存储器。每一端都可以采用独立的时钟信号进行读/写操作。每一端可得到2k9、

25、1k8、51236或16k1、8k2、4k4的存储器配置。作为独立的配置端,ram块用做高速数据流的缓冲器。利用这些块状ram可以组合产生更宽、更深的存储器,还可以用来实现同步或异步fifo。、 硬件乘法器virtex-ii系列fpga内嵌了多个1818位的有符号硬件乘法器。与由clb实现的乘法器相比,全定制硬件乘法器结构更紧凑、速度更高并且功耗低。硬件乘法器与select ram共享布线资源,在结构上非常适合高速数据通路操作。利用这些硬件乘法器,能够非常方便地在fpga内实现任意宽度的有符号、无符号乘法,还能快速地实现桶型移位、求模等操作。、 数控时钟管理模块(dcm)virtex-ii系列

26、fpga器件中有412个数控时钟管理模块(dcm)。它们分布在芯片的顶部和底部,具有强大的功能:(1) dcm内部包括延迟锁相环(dll),dll可以自动调整一个时钟的延迟,因而可完全消除芯片引脚输入时钟与内部全局时钟的分布偏差;(2) dcm提供先进的多种时钟控制,可控制时钟进行、相移,可以进行倍频,还可以完成系数为1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,9,10,11,12,13,14,15,16的时钟分频。综上所述,virtex-ii系列fpga具有强大的功能及灵活多样的配置,这为硬件开发提供了坚实的基础。3 基于fpga的模拟器的实现在本章,

27、我们将介绍用xilinx公司的virtex-ii系列fpga产品 xc2v1500 -4 fg676实现我们的设计。3.1 整体实现3.1.1 设计要求利用百万门级fpga芯片结合高速dac芯片,通过采用vhdl语言编程,实现多种信号模拟生成,主要功能包括:1)通用信号生成:例如正弦,并且实现am,pm等多种调制方式;2)通用雷达信号生成:包括简单调试脉冲、调频脉冲串,巴克码调制脉冲等多种正交雷达信号波形;3)能利用pci接口实时实现参数预置和波形控制;4)在完成上述功能的基础上,实现高斯白噪声的fpga生成,并叠加到信号中;5)将上述数字信号通过两通道高速dac恢复为模拟信号输出。3.1.2

28、 硬件平台通过对任务需求的分析,我们把子系统的功能集合分为三类,分别是: 仿真控制类:包括系统初始化,对输入的指令进行解译,系统状态显示等功能; 数据产生类:包括各种波形的产生; 数据播放类:将数据实时发送到dac端口。基于以上的要求,我们选择了由北京理工大学雷达研究所研制开发的pmc_2dac_400m数据播放板完成上述功能。该板是一个标准pmc插板。可以工作于任何提供pmc接口的母板上,也可以脱离母板,单独使用。图3-1 pmc_2dac_400m数据播放板该板的硬件系统框图如下:图3-2 pmc_2dac_400m数据播放板结构框图 该板上有2片ti公司高速数据采集芯片,dac芯片型号:

29、dac5675,转换输率:400msps, dac芯片转换精度14bit,采用lvds接口。可以完成将数字信号恢复为模拟信号输出的功能。 板上提供xilinx公司virtex系列 百万门级fpga ,可以对采集的数据进行相关处理; 内外时钟可选,内外触发可选,方便用户操作; 使用高速pci桥接芯片,可以将采集数据通过pci总线,直接送给上位机;也可接收上位机传来的命令,实现参数预置和控制; 对系统的要求:操作系统:win2000、winxp硬件要求:piii500以上,内存:256mb,硬盘20gb。3.1.3 整体设计框图由于要利用pci接口实时实现参数预置和波形控制,所以在程序中包括上位机

30、界面及操作,并实现上位机通过pci总线向fpga发出操作指令及参数设置。fpga根据读入的数据和控制信号生成相应的波形数据,通过d/a转换成模拟信号,再通过滤波器送到示波器或频谱仪进行显示。基于以上的考虑,整个设计的整体结构和实现框图如下: 图3-3 设计的整体实现图3-4设计的结构框图3.1.4 fpga芯片本设计采用xilinx公司的virtexii系列的xc2v 1500 -4 fg676芯片。它有1500万门,1104kbits的ram ,封装采用fg676,即共有676个管脚,其中用户i/o管脚392个。其特点如下: 集成开发环境ise集成了语言输入环境、综合工具xst、布局布线工具

31、,可以完成整个fpga的开发过程。 预留了第三方仿真软件结口,可以借助modelsim进行功能仿真和布局布线后仿真。 集成了图形化状态机输入辅助设计软件(statecad),可以根据从图形界面输入状态转移图自动生成相应的代码,完成状态机的设计。 ip核生成器(core generator)提供了大量的设计模块,方便用户使用。 时钟管理器(dcm:digital clock manager)可以方便地进行时钟的倍频、移相。 hdl bencher测试激励文件的编辑器采用图形化的输入界面,使用较为方便,将生成的测试激励波形存入*.tbw文件中,做完时间约束后的时间约束信息同时也存入此文件中,直接调

32、用modelsim即可进行时序仿真。3.1.5 编程和仿真环境 在本设计中fpga编程采用xilinx公司最新高性能设计开发工具ise(integrated software environment)。用第三方设计工具modelsim仿真来完成功能仿真和时序仿真。 用matlab6.5产生高斯白噪声的原始数据。 用visual c+6.0进行上位机编程。3.2 fpga各功能模块实现fpga部分的设计包括四个部分:接收、解析、分配上位机发送的指令,根据置入的参数产生相应的chirp信号,产生高斯白噪声信号,数据叠加并通过lvds接口输入。我们将分别介绍各模块的具体实现。3.2.1 控制接口pm

33、c板通过3个接插件j1j3实现64bit pci接口,通过cpci转接板可以接收上位机传来的数据。由于pci总线是地址总线数据总线复用,所以需要用pci接口模块将复用的地址总线数据总线分开。pci接口模块选用quicklogic的pci接口芯片ql5064。调整后的时序传给fpga,实时完成控制命令及数据的传输和分配。3.2.1.1 时序描述数据送到fpga芯片输入管脚的时序为图3-5 输入时序图为产生相应的数据和地址和控制信号我采用如下图所示的设计思路:图3-6 内部逻辑实现图数据缓存一级,片选信号和地址缓存两级,写信号在时钟上升沿和下降沿分别缓存一级。采用同步时钟,板上拨码异步复位所有寄存

34、器。输出的时序如下图所示: 图3-7 输出时序图3.2.1.2 接口功能描述接口主要有32bit的数据线、5bit的地址线,片选信号、写信号、复位信号和时钟信号。符号名称管脚性质功能描述默认值data31.0数据线i写入数据x”00000000”addr4.0地址线i写入地址“00000”ql_wrl写信号i写使能1ms0片选信号i片选1rd读信号i读使能未用rst复位信号i将所有信号复位,低有效,接拨码1clk时钟信号i75m同步时钟,内部专用时钟管脚data31.0_pp数据线o写入数据x”00000000”addr4.0_pp地址线o写入地址“00000”ql_wrl_pp写信号o写使能

35、,上升沿有效1ms0_pp片选信号o片选,低有效1rd_p读信号o读使能1表3-1 控制模块接口描述3.2.1.3 仿真结果图3-8 控制接口输出时序仿真控制接口的时序如上图所示,仿真时序和预期得到的时序一致,证明设计的逻辑正确。3.2.1.4 寄存器描述在该设计中包含了很多需要上位机置入的参数,为了便于上位机的操作和下位机的数据分配,我们要给各参数分配不同的地址。上位机向这些地址中写入相应的数据,下位机从ql5064读入这些地址和数据并通过该模块分配给各参数寄存器。地址addr4.0数据data31.0初始值00000控制调频斜率w31.000000000h00010控制起始频率k31.00

36、0000000h00100低12bit控制初始相位p11.0,高20bit忽略000h00110低8bit控制幅度a7.0 ,高24bit忽略00h01000低14bit控制脉宽t13.0 ,高18bit忽略001010最低位控制updata模块计数器使能,高31bit忽略0b01100最低位控制内部复位信号reset,高31bit忽略1b01110低两位控制模式选择moshi1.0,高30bit忽略00b10000低8bit控制噪声幅度amp_noise7.0 ,高24bit忽略00h10010最低位控制noise_en噪色发生器使能,高31bit忽略0b10100低两位控制四相选择pcho

37、ice1.0,高30bit忽略00b表3-2 控制寄存器描述3.2.2 ddcs模块 该模块在上位机的控制下,根据置入的幅度、初始相位、初始频率、调频斜率等参数,产生相应的连续线性调频(chirp)信号,并可实现调频、调幅、调相等多种调制。3.2.2.1 模块接口定义 图3-9 ddcs接口模块3.2.2.2 模块实现框图 图3-10 模块内部逻辑图 在写信号wr的作用下解析上位机送来的数据,置入缓冲区的各参数寄存器;然后在updata脉冲作用下,将数据从缓冲区读入工作区,经过两级累加,产生chirp信号的相位信息;在相位信息上叠加巴克码四相调制,“00”、“01”、“10”、“11”分别代表

38、0度、90度、180度、270度;相位截断后的相位信息分别去查4个相同的正/余弦表,实现相位-幅度转换后输出;输出的幅度经过4个乘法器按照上位机读入的幅度值进行调制后输出。 需要注意的是,4个正/余弦表的频率控制字都为k,输出信号的频率一样,为了在后序的设计中组合成一个完整的正/余弦,在输入的相位信息上需分别叠加0、k/4、2k/4、3k/4。3.2.2.3 接口功能描述符号名称管脚性质功能描述data31.0数据线i写入数据addr4.0地址线i写入地址clk系统时钟i系统时钟50m上升沿有效pchoice1.0四相选择i实现qpsk,00为0度,01为90度10为180度,11为270度u

39、pdata工作区选通信号i当updata=1时,在时钟上升沿将缓冲区数据读入工作区wclr工作区清0信号i将工作区清0低有效rst系统复位信号i将系统所与寄存器清0低有效wr缓冲区写信号i在wr上升沿,将地址线对应的数据写入缓冲区dout13.0系统输出o系统正弦输出表3-3 ddcs模块接口描述3.2.2.4 参数定义 调频斜率w31.0 起始频率k31.0 初始相位p11.0 幅度a7.0 四相调制控制pchoice1.03.2.2.5 功能实现 在wr上升沿将地址线对应地址的数据读入缓冲区。rst为0,将缓冲区复位。 在触发脉冲updata(正脉冲)到来后,在时钟上升沿根据预置地参数,将

40、缓冲区参数置入工作区。rst为0,将工作区复位。wclr为0时,将工作区清零。 将调频斜率w累加、初始频率k累加,再加上初始相位p、四相调制相位后进行相位截断。 12bit相位分别加上相位偏移0,k/4,k/2,3k/4,分别查4个相同的正弦表,得到4个同频率的chip正弦信号。3.2.2.6 仿真结果图3-11 单路正弦输出仿真在时钟的作用下,单路正弦的输出结果如上图所示。正弦输出3.2.3 线性调频脉冲串产生模块该模块在ddcs模块的基础上,添加了参数置入模块updata和工作区清零模块wclr。根据上位机置入的脉宽值,每个prt内产生updata信号将参数读入工作区,在脉宽时间内产生相应

41、的chirp信号; 脉宽时间过后,产生wclr信号将工作区各参数及输出清零;等待下一个prt的到来,重复以上过程,就产生了线性调频脉冲串。3.2.3.1 模块接口定义图3-12 chirp模块3.2.3.2 模块实现框图updata模块和wclr模块均为计数器模块,根据置入的脉宽和prt值,分别计数,并产生相应的脉冲信号,控制数据的读入和清零。 图3-13 wclr模块 图3-14 updata模块3.2.3.3 接口功能描述符号名称管脚性质功能描述data31.0数据线i写入数据addr4.0地址线i写入地址pchoice1.0四相选择i实现qpsk,00为0度,01为90度10为180度,

42、11为270度clk系统时钟i系统时钟100m上升沿有效updata工作区选通信号i当updata为1时,在时钟上升沿将缓冲区数据读入工作区及脉宽计数器rst系统复位信号i将系统所与寄存器清0低有效en计数器使能信号i计数器读入脉宽,产生脉冲串高有效wr缓冲区写信号i在wr上升沿将地址线对应的数据写入缓冲区dout13.0系统输出o系统正弦输出图3-4 线性调频模块接口描述3.2.3.4 参数定义 调频斜率w31.0 起始频率k31.0 初始相位p11.0 幅度a7.0 脉宽t13.0 四相调制控制pchoice1.0 工作区清零wclr3.2.3.5 功能实现 实现可预置参数的计数器,用于控

43、制ddcs模块的updata以及wclr。 在wr上升沿将脉宽读入寄存器。 当updata模块接收到连续的1后计数器开始计数,记到1000,产生updata信号。 当updata到来时,在时钟上升沿将脉宽值置入计算器,逆计数,计到“0”,发送wclr,清除工作区。3.2.3.6 仿真结果图3-15 updata和wclr仿真结果 当模式选择“01”时,在upen的作用下,工作区置入信号updata和工作区清零信号wclr时序如上图所示。3.2.3.7 相应参数的转换ddcs的输出信号可表示为: 式3-1其中,w为调频斜率控制字;k为频率控制字;n为相位累加器和频率累加器字长;p为初始相位。 输

44、出信号的起始频率是,输出信号的调频斜率是,其中是时钟频率。调频斜率,b为信号带宽,为脉宽。在该设计中,使用内部时钟分频提供50m,频率控制字长n=32bit。由此可得起始频率,调频斜率。 设计连续正弦信号给定输出频率,由,得到频率控制字 设计线性调频信号(1) 给定输出频率,由,得到频率控制字(2) 给定脉宽,由,可得脉宽计数器值为(3) 给定带宽,由,可得调频斜率控制字3.2.4 产生高斯白噪声信号雷达噪声模拟是指雷达接收机热噪声的模拟,实测结果和理论分析都证实雷达接收机的热噪声功率谱呈白色,且幅度分布接近于高斯分布。3.2.4.1 基于查找表的高斯白噪声的实现本设计中我们采用基于查找表的高

45、斯白噪声产生方法。这种方法的基本思想是以伪随机序列作为一个rom表的寻址地址,rom表中的数据是高斯白噪声的一次实现,从rom表读出的数据经dac转换成高斯白噪声模拟信号。该方案的原理框图如下:图3-16 基于查找表的高斯白噪声产生模块 伪随机序列地址的产生本设计采用fpga自带的lfsr(linear feedback shift register)核来产生两个独立的均匀分布随机序列r1和r2。r1和r2的周期长度决定了其它分布随机数序列的周期长度,因此我们需要慎重选去tausworthe序列的素多项式,一方面使r1和r2为最大长度序列,另一方面使r1和r2序列的周期长度互素,以使合成的高斯

46、分布随机数序列的周期最大。经过多方考虑,我们选定了两组素多项式:和。这样,我们得到了周期长度分别为和的相互独立的均匀分布随机序列。我们从两组均匀随机数列的输出结果中分别截取连续的12bit数据作为一个rom表的寻址地址。根据tausworthe的证明,这样截取得到的随机数的周期长度与原序列相同。 高斯白噪声原始数据的产生根据box-muller公式,用软件模拟的方法产生两路长度为4k的高斯分布随机数,将其分别加载进fpga的片内ram中(此时的ram在功能上等效为rom),每一rom表长度对应fpga的一次实现。用产生的12bit随机数作为rom的寻址地址,则输出就为高斯白噪声。rom中存储的

47、数据文件后缀为.coe,格式为:memory_initialization_radix=10;(10进制)memory_initialization_vector=2,10,0;(4096个数)有相关文献证明,当查找表中rom存储器深度大于,也就是地址线位数大于等于16时,合成的随机数才能通过其分布性检验。以深度为64k的rom为例,如数据字长为16位,则需要的rom存储容量为641610242=2mbit用内部带有如此大存储空间(rom)的fpga去实现随机数发生器是不经济的。其次,采用这种方法的高斯白噪声合成速度受rom访问时间的限制。因此,尽管用查找表法合成随机数有简单、修改方便等优点,

48、在工程应用上仍然有很大的局限性。3.2.4.2 基于cordic的高斯白噪声的实现根据box-muller公式,结合fpga内部的各种ip核我们可以完全用硬件来产生高斯白噪声,其实现框图如下:图3-17 基于codic的高斯白噪声产生模块系统工作原理如下:均匀随机数发生器i输出的12位无符号数r1经对数发生器进行对数运算、求反运算和右移(除2)操作后,得到指数分布随机数;指数分布随机数经方根函数发生器进行算术左移(乘4)和方根运算,得到瑞利分布随机数。均匀随机数方生器的输出r2首先与相乘,乘法结果经正/余弦发生器后得到一对三角运算结果:。与瑞利分布随机数分别相乘,即得到相互独立的高斯白噪声x1

49、和x2。其中均匀随机数发生器,用我们上面讨论的线性移位寄存器来实现;正/余弦发生器由fpga内部的正/余弦查找表来实现;对数发生器和方根发生器由fpga内部的codic来实现;乘法器由fpga内部的硬件乘法器来实现。3.2.4.3 仿真结果用线性移位寄存器产生的均匀随机序列如下:图3-18 均匀随机序列仿真基于rom查找表产生的高斯白噪声序列如下:图3-19 高斯白噪声序列仿真用matlab产生的基于box-muller公式的高斯白噪声仿真结果如下,分别为高斯白噪声,自相关函数和功率谱密度。图3-20 高斯白噪声的matlab仿真3.2.5 数据输出模块3.2.5.1 输出框图输出模块,本设计

50、采用如下图所示的mux接口,将4路正/余弦信号组合成一路信号输出。由于每路信号的相位间隔为k,相邻两路信号的频率相同,相位分别相差k/4、2k/4、3k/4,所以按照如图的结构将数据组合后,仍为频率不变的完整的正/余弦信号。输入时钟为输出时钟的四分频,即如果内部为100m的时钟,则输出接口端为400m。为了保证设计的同步,两个时钟采用同源时钟,用fpga内部高性能的数字时钟管理器(dcm模块)来进行分频,将时钟控制一体化。这样的设计在内部时钟较慢,可以保证复杂设计的性能和精度,而只在接口来实现高速设计。输出的信号加上产生的高斯白噪声信号后接一个lvds模块程序,将输出信号转化为低压差分信号(l

51、vds),再通过fpga的输出管脚输出,就可以通过示波器或频谱仪来观察波形了。lvds信号可以实现低噪声和低功耗。图3-21 输出接口模块3.2.5.2 仿真结果输出接口的mux仿真时序图如下:图3-22 mux时序仿真4 上位机模块上位机模块采用c+语言编写,在visual c+6.0集成开发环境中使用app wizard生成应用程序。程序主要包括cpci母板的初始化,参数寄存器的设置,对话框的创建,对话框中各控件的安排及响应的消息函数等。4.1 主界面图4-1 上位机界面该界面主要包括四部分: 模式选择:可以选择连续波或脉冲波,可以选择添加或不添加噪声; 参数设置:如果选择连续波,则设置频

52、率、幅度、相位;如果选择脉冲波,则设置频率、幅度、相位、脉宽、带宽;如果选择添加噪声,还需设置噪声幅度; 四相调制:可以选择是否四相调制; 提示窗口:显示提示信息,指导用户操作。4.2 操作流程图通过上位机可以实时地控制下位机的操作,实现波形的选择、参数的置入、复位等功能。下图是上下位机联合工作示意图:图4-2 操作流程图打开界面后如果提示框中显示“no card was detected vendorid=0x551 deviceid=0x5065”,则初始化板卡失败,关机,检查硬件连接然后重新开始。如果显示“the board has been initiated sucessfully. ”,则初始化成功,可以进行相应的设置。点连续波按钮,则需设置频率、幅度、相位等参数;点脉冲波按钮,则需设置频率、幅度、相位、脉宽、带宽等参数;点四相调制按钮可以实现qpsk,如果添加噪声,还需设置信噪比。点开始按钮,将参数置入fpga产生波形;点复位按钮,可以清除波形;点关闭按钮,关闭界面,结束仿真。4.3 上下位机通讯寄存器名称地址意义参数设置寄存器0x80000000x8000008设置各参数控制寄存器0x800000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论