毕业论文基于fpga高频信号源的设计和制作

上传人:e****s 文档编号:194336740 上传时间:2023-03-13 格式:DOC 页数:38 大小:1.48MB
收藏 版权申诉 举报 下载
毕业论文基于fpga高频信号源的设计和制作_第1页
第1页 / 共38页
毕业论文基于fpga高频信号源的设计和制作_第2页
第2页 / 共38页
毕业论文基于fpga高频信号源的设计和制作_第3页
第3页 / 共38页
资源描述:

《毕业论文基于fpga高频信号源的设计和制作》由会员分享,可在线阅读,更多相关《毕业论文基于fpga高频信号源的设计和制作(38页珍藏版)》请在装配图网上搜索。

1、1 引言 本课题的意义与目的雷达是一种靠辐射电磁能和检测反射体回波的存在以及特性来进行工作的有源装置。雷达的主要目的是检测远距离目标和确定目标的空间位置。雷达大致分为两类:搜索雷达和跟踪雷达。搜索雷达主要是为检测目标存在与否而设计装备的,它也能提供一些粗略的目标信息;跟踪雷达则着重于信息的提取,即根据目标回波进行参数估计,一旦确定了目标的存在,它就试图精确地估计有意义的目标参数,如距离、角度和角速度等。通常雷达系统普遍采用的发射信号大致有以下几种:单频脉冲、线性调频信号及编码调制信号。为了增大探测距离,优化距离分辨率、速度分辨率等技术指标,通常还将这几种波形进行组合产生组合波形。信号源是雷达系

2、统的重要组成部分,雷达系统常常要求信号源稳定、可靠、易于实现、具有预失真功能,信号的产生及信号参数的改变简单、灵活。因此,研制一种通用的、可多种信号组合输出、调整方便、小型化、便携式的常规设备配发部队、工厂,将有利于部队、工厂维修资源的改善,也有利于部队战斗力的提高。本设计的构思由此而来,即采用数字处理、FPGA、和EDA设计等先进技术,设计一种可以输多种模拟信号的雷达信号源。 国内外的发展及现状在70年代前,波形发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波等几种常用标准波形,产生其它波形时,需要采用复杂的电路和机电结合的方法。这个时期的波形

3、发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形,输出的波形具有良好的相位噪声、较低的寄生分量以及较快的开关速度等,但是模拟电路的漂移较大,输出波形幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂。在70年代以后,微处理器的出现,使得可以利用微处理器、A/D和D/A等硬软件使波形发生器的功能扩大,产生更加复杂的波形。此类波形发生器多以软件为主,实质是采用微处理器对DAC进行程序控制,得到各种简单的波形。例如,令微处理器A自身循环增量,每增量一次即向D

4、AC送出一个数,使DAC有一个输出。当A的内容达到最大值时,再增量一次,A的内容就变为最小值(零)。如此周而复始就可以从DAC输出端获得一个正相的阶梯波。用同样的方法还可以获得方波、锯齿波、三角波等波形。软件控制波形的一个最大缺点就是输出波形的频率低,这主要是由CPU的工作速度决定的。如果想提高频率可以通过修改程序以减少其执行周期或提高CPU的时钟周期,但这些办法是有限的,根本的办法还是要改进硬件电路。当时的信号处理器是专用于信号处理的微处理器,时钟频率只有12MHz,A/D和D/A一般在8位左右,内部存储容量也很小。因此,能够产生的正弦波其有效频宽不会超过1MHz。到了1988年,出现了几种

5、真正高性能、高价值的函数发生器。HP公司推出了型号为HP8770S的信号模拟装置系统,它是由HP8770A任意波形数字化器和HP1776A波形发生软件组成。HP8770A可产生高达50MHz的8种波形,但价格昂贵。不久之后,Analogic公司推出了型号为Data-2020的多波形合成器,Lecroy公司也推出了型号为9100的任意波形发生器。现在随着电子、计算机和信号处理技术的发展,极大地促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度。目前任意波形发生器主要是基于DDFS (直接数字频

6、率合成)技术。DDFS的基本原理是利用采样定理,通过查表法产生波形。DDS的结构有很多种,其基本的电路原理可用图1来表示。相位累加器由N位加法器与N位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将频率控制字k与累加寄存器输出的累加相位数据相加,并将相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相

7、位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查表查出,完成相位到幅值的转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。DDS在相对带宽、频率转换时间、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。 2 系统设计 技术要求 基本技术要求(1) 频率范围:4KHz-10MHz

8、 (2) 路数:1路2 发挥部分(1)可以通过串、并口动态调整参数(2)可以根据参数通过计算机修改波形数据,可以完成矢量计算和波形计算(3)可以实时下载波形数据 方案选择 方案一如图,该方案是基于虚拟仪器的高频信号源的设计,它主要是通过计算机语言VC或VB编写控制界面,通过计算机并口实现主机与中心控制逻辑之间的通讯。通过简单的控制界面就可以控制波形数据的写入与读出,波形之间的切换以及波形频率,幅度与相位的调节。该方案最大的特点就是能够通过软件产生所需波形数据并支持波形的在线更新;其次是它的高精度,大容量的FLASH存储器以及高速的DAC保证了它的高精度。图 原方案的原理框图2 方案二图 最终方

9、案原理框图如图,该方案采用FPGA作为中心控制逻辑,由于其具有高速和逻辑单元数多的特点,因此可以由FPGA、DAC和线驱动型运放直接构成信号源发生器的最小系统。该方案中所需的正弦波波型数据存储器直接由FPGA所完成,通过FPGA控制DAC并直接向DAC发送数据,这样就提高了所需波形的频率并绕过了通用存储器读取速度慢的特点,再加上外部的开关按钮就能够简单控制波形切换与频率选择。当然,为了增加人机界面的交互性与系统功能,可以在原有的基础上添加一个标准键盘、调幅DAC和LED/LCD,这样就能够通过编程实现波形的任意性、幅度变化的灵活性。2.3 方案比较对于方案一,其系统庞大、功能齐全,但是存在诸多

10、难点。其存储器的速度通常为20M,而DAC为30M以上,如何接口,如何选用器件是该方案的关键;其次是计算机控制平台应用程序的编写也是该方案的一大难点。对于方案二,虽然其系统简单、功能单一,但是它构成了信号发生器的最小系统。其波形数据的生成及发送都是由FPGA来完成的;其次是所需控制信号是由外部的开关按钮来生成的。对于初学者来说,第一个设计所要达到的目的是熟悉电路设计的整个流程以及培养自己的自信心。其完全可以站在理论的高度构架一个系统庞大、功能齐全的系统,然而在实际操作时可以选择一个易于实现的电路;其次Maxim公司赠送的高速DAC试用芯片MAX5884对于方案选择也起到了很大的决定作用。在经费

11、有限的情况下,价格昂贵的高速DAC芯片就成了本设计的首要考虑。综上比较,方案一的系统比较庞大,再加上时间与资金的考虑,最终决定采用方案二。3 系统组成 电源模块本设计中用到了一个电压转换芯片TPS70351。TPS70351是新一代的集成电路稳压器,是一个自耗很低的微型片上系统(SoC),具有极低的自有噪音和较高的电源纹波抑制PSRR(Power supply ripple rejection)。此外,其小封装尺寸以及电压监测和复位延迟等功能,使得DSP的供电设计变得更简单和方便,实际使用效果也不错,满足DSP和FPGA的供电要求,图为本设计中所采用的电源电路 。系统上电后FPGA的内核电压与

12、供电电压有一个先后的上电关系,所以在设计时得加以注意。如图3.1.2所示,该电路中用了两个RC电路来延迟FPGA内核电压的供给,而在此用到的场效应管其主要作用是增加它的输出电流从而增强其驱动能力。图 3.1.1 TPS70351的典型接法3.2 中心控制逻辑模块这是本设计最为关键的部分,其中波形数据的生成、输送,DAC时钟频率的生成以及波形、频率的选择都是中心控制逻辑块来完成的。本设计中采用FPGA实现,芯片选用Xilinx公司生产的Spartan-E系列144管脚的XC2S50E。逻辑单元数1728,系统门数量2300050000,CLB阵列1624,全部CLB数量384,最大用户I/O数量

13、182,最大差分I/O对数量83,全部分布式RAM容量(byte)24576,全部Block RAM容量(byte)32K。XC2S50E内部集成有DLL(数字延迟锁相环),除了可以进行时钟的整数倍频或者整数分频外,还可以对输入的时钟进行相位、时延等控制,相对于传统的常规数字逻辑电路来说,Spartan IIE系列FPGA可以处理的数字信号频率达到200MHz以上,而内部时延在5ns以下,这种特性使其用于数字信号处理的时候,系统时钟和信号时钟的抖动可以控制到很小的程度。下图为Spartan-E系列的直流输入输出特性。图 3. 输入输出直流特性图 3. 配置模式如图3.,XC2S50E的配置模式

14、是由M0、M1、M2这三位来决定的。本设计使用Master Serial(主串)与JTAG(边界扫描)两种模式的组合。主串模式为生产提供了简单而稳健的配置方法,而边界扫描模式提供了在系统编程支持,使得在原型验证阶段配置一个链时有灵活性。图3.2.3是本设计的配置选项,在试验阶段可以通过灵活的JTAG模式配置FPGA,待调试完后则可通过PROM配置FPGA。图3.2.4是本设计的PROM编程选项,它首先将编程比特流文件转换成PROM文件然后通过iMPACT将PROM文件下载到配置芯片内,待下载完就可以通过配置芯片配置器件FPGA。图3.2.5是本设计的配置电路。 图3. XC2S50E的配置电路

15、3.3 数模转换模块MAX5884是先进的14位、200Msps的电流导引型数模转换器(DAC)。该DAC使用单电源供电,其正常工作的功耗小于200mW,而当其处于其低功耗模式时功耗小于1mW。MAX5884提供焊盘裸露(EP)的48引脚QFN封装,满足扩展级工业温度范围(-40C到+85C)。如图.1MAX5884具有集成的1.2V带隙基准和控制放大器,以保证高精度和低噪声特性。单独的基准输入允许用户外接基准,以获得最大的灵活性和提高增益精度。带隙基准。图 3.3.1集成运方的内部参考结构图为了在使用内部基准源时工作串联接地。因其输出驱动能力有限,故要驱动一个大的负载时,REFIO必须级联一

16、个放大器。在上图中=/ (为其1.2V内部基准电压), IOUT= 32 - 1 LSB = 32 - (IOUT/ ),因此可以通过改变电阻的阻值来改变输出差分电流的大小。在此选择为2K,则A, (IOUT/ )图 3. MAX5884的典型电路如图3.所示,介于IOUTP和IOUTN之间的差分电压可以通过变压器转换成单端电压输出。使用这种与变压器级联的差分输出结构可以改善DAC的动态性能。但在为MAX5884选择变压器时要考虑这种变压器芯的饱和特性,因为变压器芯饱和的话就会带来很大的二次谐波失真。这种接法经常应用在高频电路中,通过两个变压器使其信号以差分方式传输,即增强了信号的抗干扰能力又

17、使前后级相互隔离。最后根据叠加定理计算可得VOUT=25(IOUTP- IOUTN)。3.4 驱动电路模块本模块中的运算放大器采用OPA603,它是电流反馈型高速运算放大器。它可以分别工作在5V、15V的条件下。它以1000V/us的转换率向150的负载传输10V的差分信号。这些特性允许它驱动终端负载为75的电缆。由于拥有输出峰值电流高达150mA的能力,使其可以高速驱动负载电容或传输长线。与其它常用的运放不同的是,这种电流反馈的方法使其可以在一个闭环电压增益的宽带宽内使带宽、建立时间基本保持常数。图3.为OPA603的典型接法。图 3. OPA603的典型接法但由于本设计最终要驱动负载为50

18、的电缆,而OPA603的输出电阻为75,为了使负载得到最大的功率,根据阻抗匹配原理,的电阻以使得其输出阻抗为50。修改后的电路图如下。图 3. 修改后的电路图4 程序设计4.1 程序设计的选用语言本设计采用VHDL语言,它是美国国防部在1981年提出的一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL 。VHDL的主要优点是:1覆盖面广,描述能力强,是一个多层次的硬件描述语言。有良好的可读性,它可以被计算机接受,也容易被读者理解。3. VHDL本身的生命周期长,因为VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。4. 支持

19、大规模设计的分解和已有设计的再利用。5. VHDL已成为IEEE承认的一个工业标准,事实上已成为通用硬件描述语言。4.2 程序编写4.2.1 波形产生原理(1) 正弦波 正弦波的实现与DDFS原理基本相同,它首先通过C语言在正弦波的半个周期内进行采样,然后再把采样数据通过编程存到FPGA内部并通过查表输出。唯一不同的就是它的频率变化方式。基于DDFS原理的变频方式是通过频率与相位的一个简单的线性关系 ( ),其中是频率输入字,是系统基准时钟的频率值,N是相位累加器的数据位宽,也是频率输入字的数据位宽。本设计的变频方式是通过改变系统时钟和输出波形点数相结合的。根据模拟信号的连续性,在确保最高电平

20、和最低电平输出的同时尽可能的在其周期内平均采样输出。因为FPGA不可能像存储器那样存储大量数据,所以不能以DDFS原理作为本设计的频率变化方式,也就不能实现频率步进的最小化。通过改变存储地址的步进和系统时钟频率就能够改变其频率。(2) 方波 方波是通过一个计数器和一个变量来控制的。计数器主要是控制输出高电平或者低电平的时钟周期数,而变量主要是控制高低电平的翻转。当Reset信号有效时给计数器和变量置初值,通过改变这个计数器的值就能改变其频率。(3) 三角波 三角波是通过逐次给输出信号递加一个可控的变量使其线形增加,待输出达到DAC数字量的最大值时开始逐次递减,如此循环就构成了三角波。通过改变这

21、个可空的变量和修改系统时钟就能改变输出频率。(4) 锯齿波 锯齿波所产生的原理如同上述三角波,只是当输出递增到DAC数字量的最大值则强制输出为零,如此循环就够成了锯齿波。通过改变这个可空的变量和修改系统时钟就能改变输出频率 。4.2.2 程序流程图 图 4.初始流程图 图 4.2.2 修改后的流程图 如图 4.2.1 它是最初编写程序时的流程图,它的频率是通过三个拨盘开关来控制的,其中三个开关对于正弦波、方波分别代表各位、十位、百位 ,而对于三角波、锯齿波其三个开关分别代表十位、百位、千位。系统上电后,首先通过FPGA输出60MHz时钟频率到DAC,然后判断其是否有复位信号,复位信号为0则开始

22、判断是否有置数信号,若置数信号为1,则开始通过拨盘开关输入频率字;若置数信号为0,则开进行波形选择、波形输出;若复位信号为1,则初始化。在调试的过程中发现基于拨盘开关的频率变化方式在操作的时候十分麻烦,虽然其能够扩大输出频率的范围。如图 .2 是修改后的流程图,它是通过类似与编码的方式事先内置一组频率字于FPGA内部,然后通过拨盘开关选择其输出频率。系统上电后,首先通过FPGA输出60MHz时钟频率到DAC,然后判断其是否有复位信号,复位信号为0则依次进行波形与频率的选择,若复位信号为1则初始化。4.3 程序仿真如图4.3.1 为初期方案的程序原理框图,其中clk为时钟输入端、posing_a

23、, posing_b为其置数控制端、zd_set为频率字确认信号、zu_clr为波形清零信号、s_select为波形选择和置数选择复用信号。Data3、Data2、Data1为其外部数字输入端。图 原始方案程序原理框图图4置频率字仿真图如图4在系统复位及posing_a、posing_b有效后,通过zd_set置数位设置频率控制字,具体表现在part_a、part_b、part_c三个内部信号,从上图可以看出在zd_set置数信号有效后part_a、part_b、part_c分别被置为64,1,49。待置数结束后,其波形选择信号s_select为0,输出预定频率正弦波。4原始方案正弦波时序图如

24、图4所示为最终方案的的程序原理框图,其中clk为系统时钟输入端、reset为复位信号、zu_clr为清零信号、s_select为波形选择,data4、data3、data2、data1分别为时钟分频、三角波与锯齿波、方波、正弦波的频率控制信号。图 4.3.4 最终方案程序原理框图图 4.3.5 最终方案时序图(正弦波)如图4所示,在复位信号reset有效后,初始化频率字及其它变量,当其波形选择控制信号s_select为零时输出一恒定频率的正弦波,经过四个时钟周期后其分频控制信号data4变为1,此时系统时钟被两分频,输出波形频率变为原来的二分之一。图4.3.6三角波如图4所示,当s_selec

25、t波形选择信号为01时,系统输出三角波,其步进为2730,当输出依次累加到13650后,在它的下一个时钟周期到来时输出强制置16383。往后其输出就依次递减2730,当其输出递减到2733后,在它的下一个时钟周期输出强制置零。图 4.3.7 锯齿波如图4.3.7所示,当s_select波形选择信号为11时,系统输出锯齿波,其步进为1630,当输出依次累加到14670后,在它的下一个时钟周期到来时输出强制置16383。当判断其输出为13683以后,在它的下一个时钟周期就强制置零。图4 方波如图 4所示,当s_select波形选择信号为01时,系统输出方波,其高低电平分别保持三个时钟周期。5 电路

26、调试电路调试是在整个电路开发中重要的实践环节,调试过程中可能会由某个元器件的损坏、虚焊、引脚相互短路等而导致电路调试不出来,因此,一个很好的调试方法对于电路功能实现也十分重要。5.1 本设计电路调试的步骤1.电源:电源是一切芯片和器件工作的关键,因此电源电路能否正常工作是电路调试的第一步,本设计在调试过程中先把电源电路的独立部分焊接到电路板上,其包括电压转换芯片TPS70351、去耦电容、场效应管以及电阻。待焊接完毕后再用万用表的两笔头检测是否有管脚相互短路,如无误则通上电源并触摸芯片是否发热,如发烫则马上关闭电源检查设计原理图及其PCB版图看其是否存在短路的情况,最后再用万用表检查电路板是否

27、存在短路。待无误后再用示波器检测其两路输出电压是否符合规格。2.主芯片及配置芯片:待上述电源芯片调试完毕后,使用上述调试方法对主芯片XC2S50E及其配置芯片XC18V01_PC20进行调试。如无异常现象则可下载测试程序看其能否通过并口下载线下载测试程序以检测配置芯片能否正常工作,最后通过示波器检测PFGA的输出引脚有无所需信号来判断其是否正常工作。3.DAC:待主芯片及配置芯片调试完毕后,则可用上述同样的方法对其进行调试。如无异常现象,则可通过示波器检查它的输出波形是否符合理论计算。4.线驱动型运放:待主DAC调试完毕后,则可用上述方法调试线驱动型运放。在前面的器件选择及面包板试验中已掌握了

28、其使用方法,在这主要是想验证一下线驱动型运放能否正常放大信号、驱动电缆达到预期的功能待上述所有的调试步骤都无误后,就可以下载波形发生程序并通过示波器检测整个电路能否正常工作,如能正常工作则整个电路开发也圆满成功。5.2 调试中发现的问题 1在调试主芯片及配置芯片的过程中发现程序无法下载,检测配置芯片发现其源于FPGA内部的配置时钟CCLK输出为一恒定电平,按照资料FPGA在刚开始下载配置信息时有一个2.5MHz时钟输出,待配置信息下载完后又有一个4MHz的位数据下载时钟。经检查发现FPGA下载模式的配置引脚悬空,接地处理后片子工作正常。2在调试DAC时下载了一个测试程序使FPGA保持高电平输出

29、,但其差分输出OUT1为零而两输出管脚OUT2、OUT3保持同一电平。经检查发现在本DAC电路中使用了一个用于高频电路的变压器结构,如图.1。当所加信号的频率太低时连接在变压器两端的电阻R2就会被短路,致使差分输出OUT1为零。图 .1 使用变压器的差分转单端输出电路3.对于贴片式发光二极管的正向导通压降认识不够,经调试发现其压降为2.0V(硅二极管为0.7V,锗二极管为0.3V)而FPGA认可的高电平其最小值是2V,导致波形输出混乱,给调试工作带来了不必要的麻烦。最后通过改接一个0的电阻使其低电平强制置零。图 .2 接有发光二极管的开关电路 图.3 修改后的开关电路4. 如图.4可见MAX5

30、884的焊盘做的太小为了方便调试应该制作的稍大一些。其次在其右上角有一个过孔A离MAX5884的引脚距离太近,在焊接时很有可能堵住过孔A而使其无法正常工作。所以待布局布线完后应该进行局部调整以防隐患。 图 .4 MAX5884的局部版图 波形输出 图 图 上图 、为本设计中所产生正弦波的一部分。从上图可以看出,对于正弦波而言,由于其具有单一的频谱特性,所以输出波形比较光滑也不存在较大的失真,但是当其频率加到7.5MHz时,由于输出波形点数的减少波形输出表现出一定的阶梯状;建议在后级电路中加一个低通滤波器。 图 MHz的方波 图 5MHz的方波上图 、为本设计中所产生方波的一部分。从上图可以看出

31、对于方波而言,频率为7.5MHz、5MHz时输出波形还是比较理想的,但当频率降到1MHz以下时存在明显的失真,输出高电平期间波形有一个线性下降的过程,输出低电平期间输出波形有一个线性上升的过程 。 图 图 MHz的锯齿波上图 、为本设计中所产生锯齿波的一部分。从上图可以看出对于锯齿波而言,频率为MHz、MHz时输出波形还是比较理想的,但是当频率增加时存在明显的失真,低电平与高电平之间的变化不是很陡。 图 3MHz的三角波 图 2MHz的三角波上图 、为本设计中所产生方波的一部分。从上图可以看出对于三角波而言,频率为3MHz、2MHz时输出波形还是比较理想的,但是当其频率增加到5MHz时存在明显

32、的失真。6 结论在这繁忙的一年中,我参加了全国硕士研究生入学考试,待复试通过以后又全身心的投入到了本设计之中。本文主要以基于FPGA和高速DAC为核心,设计信号源。经过实践证明以FPGA、高速DAC、线驱动型运方构成信号源的最小系统是可行的。此系统设计周期短,而且在一定程度上达到了波形的切换与频率的选择。本设计的缺陷是频率调节范围窄,不能够实现频率、相位、幅度的同步调整,此外没有实现波形的任意性也是本设计的一大缺陷。由于论文工作时间有限以及作者的水平有限,本文只是在初步了解高频信号源一些基本知识的基础上,试探性的设计其实现电路。方案和实现方法,大多是初步的,有待不断改进和完善。虚拟仪器技术是仪

33、器仪表领域发展的一门新兴技术,它通过简单、生动的操作界面控制硬件电路功能的实现。因此,基于虚拟仪器技术的信号源设计是可行的,我想它必定能够实现频率、相位、幅度的同步调整,以及波形的实时下载。通过本次设计,我深入的了解了基于数字方式的信号源设计方法。值得一提的是通过本次设计我深入的了解了基于EDA设计工具的硬件开发环境,包括从最初的系统构架、方案论证、器件选择、程序仿真到最后的电路调试。附录 A 源程序VHDL 程序波形发生程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_lo

34、gic_unsigned.all;entity final isport( clk : in std_logic; s_select : in std_logic_vector( 0 to 1); data4,data3, data2, data1 : in std_logic_vector(0 to 1); reset : in std_logic; zu_clr : in std_logic; da_clk : out std_logic; fout : out integer range 0 to 16383);end final;architecture final_arch of f

35、inal issignal part_a : integer range 0 to 64;signal part_b : integer range 0 to 11;signal part_c : integer range 0 to 3;signal part_d : integer range 0 to 2730;signal part_cc : integer range 0 to 3;signal con1 : integer range 0 to 64;signal con2 : integer range 0 to 255;signal data : integer range 0

36、 to 16383;beginprocess(clk)variable count : integer range 0 to 255;variable num : integer range 0 to 255;variable tmp : integer range 0 to 16383;variable a : std_logic;beginif clkevent and clk=1 thencase data4 is when 00=part_cpart_cpart_cpart_cnull;end case;if reset=0 thenpart_a=0; part_b=0; part_c

37、=0; part_d=0; con1=0;con2=0; num:=0; tmp:=0; a:=0;elseif s_select =00 then if zu_clr=0 then fout=0;a:=0;num:=0;con1=0;datapart_a=64;part_bpart_a=32;part_bpart_a=16;part_bpart_a=8;part_bnull;end case;if part_cc=part_c thenpart_cc=0; if a=0 then if num=part_a -1 then con1=64;num:=0;a:=1; else con1=con

38、1+part_b; num:=num+1; end if; else if num=part_a -1 then con1=0;num:=0;a:=0; else con1=con1-part_b; num:=num+1; end if; end if;else part_ccdatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatad

39、atadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadata null; end case;end if;fout=data;elsif s_select=01 thenif zu_clr=0 thenfout=0;con2part_a=2;part_bpart_a=3;part_bpart_a=4;part_bpart_a=5;part_bnull;end case;if part_cc=part_c then part_cc=0;if con2=part

40、_a then fout=16383;con2=con2+1;elsif con2=part_b thencon2=0;fout=0; else con2=con2+1;fout=0; end if;else part_cc=part_cc+1;end if;end if;elsif s_select =10 thenif zu_clr=0 thentmp:=0;a:=0;num:=0;foutpart_a=5;part_dpart_a=9;part_dpart_a=14;part_dpart_a=19;part_dnull;end case;if part_cc=part_c then pa

41、rt_cc=0;if a=0 then if num=part_a then tmp:=16383; num:=0; a:=1; else num:=num+1; tmp:=tmp+part_d; end if; else if num=part_a then tmp:=0;num:=0;a:=0; else num:=num+1; tmp:=tmp-part_d; end if; end if;fout=tmp; else part_cc=part_cc+1; end if;end if;else if zu_clr=0 then foutpart_a=9;part_dpart_a=14;p

42、art_dpart_a=11;part_dpart_a=19;part_dnull;end case;if part_cc=part_c then part_cc=0; if num=part_a then tmp:=16383;num:=0; elsif tmp=16383 then tmp:=0; else num:=num+1; tmp:=tmp+part_d; end if;fout=tmp;else part_cc=part_cc+1; end if; end if;end if;end if;end if;end process;process(clk)beginda_clk=cl

43、k;end process;end final_arch;附录 B 电路原理图附录 C 电路PCB图附录 D 电路实物图参考文献1 全国大学生电子设计竞赛获奖作品汇编 2 3 王智伟,王彦 ,陈琼等 4 林敏,方颖立 5 黄智伟 全国大学生电子设计竞赛培训教程.北京:电子工业出版社,20056 段吉海,黄智伟 基于CPLD/FPGA的数字通讯系统建模与设计.北京:电子工业出版社,20047 任晓东 CPLD/FPGA高级应用于开发指南.北京:电子工业出版社,20038 Blanchard, D.; Sorak, N., Electromagnetic Interference (EMI) is

44、 everybodys concern. Where is it in the engineering and technology curriculum? Frontiers in Education Conference, 1994. Twenty-fourth Annual Conference. Proceedings, 1994, pp. 452-455。9 J. Walker, Design of practical and effective Active EMI filters. Proc. Of poweron 11, 1984, 1-3, pp. 1-8.10 杨继深.实践

45、电磁兼容技术,北京天亦通电子技术公司,2001。11 In-System Programmability Guidelines , Altera corporation.12 清源计算机工作室Protel 99 SE电路设计与仿真M北京:机械工业出版社,2001。13 夏路易,石宗义电路原理图与电路板设计教程M北京:北京希望电子工业出版社,2002。14 C.R. Paul, K.B. Harbin, Diagnosis and Reduction of Conducted Noise Emissions. IEEE Transactions on EMC, Vol. 30, No. 4, N

46、ov 1988, pp,553-560.15 电子设备中电路板布局、布线和安装的抗ESD设计规则16 Antonio. Massarini. Marian K. Kazimierczuk, Self-Capacitance of Inductors. IEEE Transaction on Power Electronics, vol. 12, No. 4 1997, pp. 671-676.17 印刷板规范(第一版),苏州矽科电子信息科技,2005.1.29。18 高速PCB设计的布局布线优化方法19 PCB设计的ESD抑止准则226a.HTM20 白同云.如何实现电磁兼容.中国电子学会电子

47、产业战略研究分会,2000。21 “PCB Impedance Control,” Printed Circuit Design, March 1998和“Whats All This Critical Length Stuff, Anyhow?,” Printed Circuit Design, October ,1999。致 谢在本次设计过程中,始终受到我的导师任勇峰副教授的悉心指导与关注。他渊博的知识与严谨的工作态度使我在理论与实践方面都获得了很大的提高。这无疑是我值得珍视一生的财富。感谢徐文强师兄在PCB布板、电路板焊接以及电路调试当中给予的巨大帮助感谢刘小华师姐在原理图设计、程序设计以及电路调试中给予的巨大帮助。感谢许辉师兄在电路板焊接以及电路设计常识中给予的帮助。正是由于他(她)们的帮助,才使得整个设计进展的如此顺利,这无疑为我以后进行电路设计打下了坚实的基础。在此,再一次致以我最衷心的感谢。同时,感谢Maxim公司,Maxim公司赠送的试用芯片对系统功能的实现起到了很大作用。另外,并对所有帮助过我的老师和同学致以我最真诚的谢意。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!