基于FPGA的DDS信号发生器设计毕业论文_第1页
基于FPGA的DDS信号发生器设计毕业论文_第2页
基于FPGA的DDS信号发生器设计毕业论文_第3页
基于FPGA的DDS信号发生器设计毕业论文_第4页
基于FPGA的DDS信号发生器设计毕业论文_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计[论文]题目:基于FPGA的DDS信号发生器设计学院:电气与信息工程学院专业:电子信息工程姓名:学号:指导老师:梁成武完成时间:2021-5-30摘要基于FPGA的波形发生器己成为现代测试领域应用最为广泛的通用仪器之一。随着科技的开展,对波形发生器各方面的要求越来越高。近年来,直接数字频率合成器〔DDS〕由于其具有频率分辨率高、频率变换速度快、相位可连续变化等特点,在数字通信系统中已被广泛采用而成为现代频率合成技术中的佼佼者。由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高波形发生器的性能,降低生产本钱。在现代电子器件、通信技术、医学成像、无线PCS/PCN系统、雷达、卫星通信中,具有很广泛的应用。本文首先介绍了DDS波形发生器的研究背景和DDS的理论。然后详尽地表达了在以Matlab平台上DSPBuilder工具箱,编程实现一个DDS信号源,在产生正弦波、方波、三角波、锯齿波的根底上,还产生不同通信中用到的调制信号(ASK,FSK,PSK等),最后通过Matlab仿真并转化为硬件描述语言,再通过QuartusII下载到试验箱上,借助QuartusII对结果进行观察与分析。通过分析结果说明,本设计到达了预定的要求,证明了采用软硬结合的方式,结合DDS技术,对FPGA的编程实现产生多种波形〔如正弦波,方波、三角波、ASK,FSK,PSK〕的方法是可行的。关键词:DDS,FPGA,DSPBuilder,波形发生器

AbstractFPGA.basedwaveformgeneratorfieldofapplicationofmoderntestinghasbecomethemostwidelyusedgenericinstruments.Withthedevelopmentoftechnology,variousaspectsofthewaveformgeneratorisincreasinglydemanding.Inrecentyears,directdigitalfrequencysynthesizer(DDS)becauseofitshighfrequencyresolution,frequencyconversionspeed,continuouslyvariablephase,etc.,grammablegatearray(FPGA)withhighintegration,high.speed,largecapacitymemorycanberealizedfunctionalcharacteristics,caneffectivelyachievetheDDStechnology,greatlyimprovestheperformancewaveformgenerator,reduceproductioncosts.Inthemodernelectronicdevices,communicationstechnology,medicalimaging,wirelessPCS/PCNsystems,radar,satellitecommunications,withaverywiderangeofapplications.ThispaperfirstintroducestheresearchbackgroundwaveformgeneratorDDSandDDStheory.ThendescribedindetailinordertoDSPBuildertoolboxMatlabplatform,programmingaDDSsignalsource,producessine,square,trianglewave,sawtoothfoundation,butalsoproducedifferentmodulatedsignalsusedincommunication(ASK,FSK,PSK,etc.),andfinallythroughMatlabsimulationandtransformedintohardwaredescriptionlanguage,andthendownloadedtothechamberthroughtheQuartusII,theQuartusIIthroughobservationandanalysisoftheresults.Byanalyzingtheresultsshowthatthedesignmeetstheprescribedrequirements,provedusingacombinationofhardwareandsoftware,combinedwithDDStechnology,theprogrammingoftheFPGAgeneratesavarietyofwaveforms(suchasSIN,SQU,ASK,FSK,PSK)methodisfeasible.Keywords:DDS,FPGA,DSPBuilder,waveformgenerator目录摘要 IAbstract II目录 I第1章绪论 11.1课题背景 11.2国内外波形发生器开展现状 21.2.1波形发生器的开展现状 21.2.2国内外波形发生器产品比拟 21.2.3研究波形发生器的目的及意义 31.3论文的主要工作与章节安排 3第2章DDS波形发生器的理论介绍 42.1DDS的根本原理与特点 42.2DDS信号的优点与缺点 62.2.1DDS的优点 62.2.2DDS的缺点 6第3章开发平台介绍 73.1 硬件平台FPGA介绍 73.1.1FPGA简介 73.1.2FPGA工作原理 73.2软件开发平台Matlab简介 83.3DSPBuilder简介 93.4软件平台QuartusII介绍 10第4章系统实现 114.1设计要求 114.2系统方案论证与比拟 114.2.1产生DDS信号波形方案的选择 114.2.2单片机处理器比拟选择 124.3系统理论分析及设计 124.3.1总体设计 124.3.2主要技术参数的分析与确定 124.4单片机软件和硬件设计 134.4.1硬件电路图设计 144.4.2单片机编程 154.5FPGA软件和硬件设计 174.5.1FPGA硬件设计 174.5.2FPGA软件设计 194.5.2MATLAB软件设计 22第5章系统仿真 235.1单片机软件调试 235.2 MatlabDSPBuilder仿真 235.2.1DSPBuilder设计流程 235.2.2MATLAB仿真结果 26第6章系统测试 286.1硬件焊接与测试 286.2测试波形频率 296.3波形测试种类 30总结 31参考文献 32致谢 33附录A 34第1章绪论 本章首先介绍DDS信号发生器的课题背景,国内外开展现状,和论文的章节安排。1.1课题背景频率检测是电子测量领域的最根本也是最重要的测量之一,频率信号抗干扰强,易于传输,可以获得较高的测量精度,所以频率方法的研究越来越受到重视[1]。在频率合成领域中,直接数字合成(DirectDigitalSynthesizer,简称:DDS)是近年来新的技术,它从相位的角度出发直接合成所需波形。它是由美国人J.Tierncy首先提出来的,是一种以数字信号处理理论为根底,从相位概念出发直接合成所需波形的一种新的全数字技术的频率合成方法。其主要优点有:频率改变速度快、频率分辨率高、输出相位连续、可编程、全数字化便于集成等,目前使用最广泛的一种DDS频率合成方式是利用高速存储器将正弦波的M个样品存在其中,然后以查找的方式按均匀的速率把这些样品输入到高速数模转换器,变成所设定频率的正弦波信号[3]。近30年来,随着超大规模集成、现场可编程门阵列(FieldProgrammableGateArray,简称:FPGA)、复杂可编程器件(ComplexprogrammableLogicDevice,简称:CPLD)等技术的出现以及对DDS理论上的进一步探讨,使得DDS技术得到了飞速的开展。它已广泛应用于通讯、雷达、遥控测试、电子对抗、以及现代化的仪器仪表工业等许多领域。DDS的数字局部,即相位累加器和查表,被称为数控振荡器〔NCO〕。波形发生器即通常所说的信号发生器是一种常用的信号源,和示波器、电压表、频率计等仪器一样是最普遍、最根本也是应用最广泛的的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。不管是在生产还是在科研与教学上,波形发生器都是电子工程师信号仿真试验的最正确工具。随着现代电子技术的飞速开展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。而传统波形发生器采用专用芯片,本钱高,控制方式不灵活,已经越来越不能满足现代电子测量的需要,正逐步退出历史舞台。可见,为适应现代电子技术的不断开展和市场要求,研究制作高性能的任意波形发生器十分有必要,而且意义重大。1.2国内外波形发生器开展现状1.2.1波形发生器的开展现状在70年代前,信号发生器主要有两类:正弦波和脉冲波。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,那么电路结构非常复杂。在70年代后,微处理器的出现,可以利用处理器、A/D和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。90年代末,出现几种真正高性能、高价格的波形发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8种波形,而且价格昂贵。到了二十一世纪,随着集成电路技术的高速开展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了波形发生器的开展,2003年,Agilent的产品33220A能够产生17种波形,最高频率可到达20M,2005年的产品N6030A能够产生高达500MHz的频率,采样的频率可达1.25GHz。最近几年来,随着集成电路技术和器件水平的提高,国外一些公司先后推出各种各样的DDS专用芯片,如Qualcomm公司的Q2230、Q2334,AD公司的AD9955、AD9850、AD9851、AD9852等。1.2.2国内外波形发生器产品比拟频率合成器被誉为电子系统的“心脏〞,频率源的开展直接关系到电子系统性能的开展。信号发生器是一种常用的信号源,广泛应用于通信、雷达、测控、电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最根本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。早在1978年,由美国Wavetek公司和日本东亚电波工业公司公布了最高取样频率为5MHz,可以形成256点(存储长度)波形数据,垂直分辨率为8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近30年的开展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。目前我国已经开始研制信号发生器,并获得了可喜的成果,但总的来说,我国波形发生器还没有形成真正的产业,并且我国目前在波形发生器的的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。1.2.3研究波形发生器的目的及意义波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。多功能波形发生器采用FPGA器件作为核心控制部件,精度高稳定性好,得到波形平滑,特别是由于FPGA的高速度,能实现较高频率的波形。目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。1.3论文的主要工作与章节安排本文主要通过分析DDS的原理,进而得到DDS信号发生器的设计方案,然后通过选材等一系列设计来完成DDS信号发生器的研究。其中第二章主要介绍DDS的根本原理以及优缺点。第三章那么重点介绍了本次设计所采用的开发平台。第四章是本文重点介绍的对象,里面主要包含了设计的具体思路包括系统的实现以及系统工作流程情况。第五章是要是对设计进行仿真。第六章那么是对设计进行调试验证。第2章DDS波形发生器的理论介绍本章主要介绍了DDS的原理。其中第一局部以正弦波为例子,对DDS原理在整个设中的重要意义进行讲解。后一局部那么是分析DDS的优点以及缺点。2.1DDS的根本原理与特点DDS即直接数字频率合成技术,是由美国学者J.Tiercy,M.Rader和B.Gold于1971年首次提出,是一种以数字信号处理理论为根底,从相位概念出发直接合成所需波形的一种新的全数字技术的频率合成方法。从1971年至今,DDS已从一个工程新事物逐渐开展成为一个重要的设计工具。与大家熟悉的直接式和间接式〔PLL〕频率合成技术不同,DDS技术完全采用数字技术处理,属于第三代频率合成技术。DDS的主要优点是它的输出频率、相位和幅度能够在微控制器的控制下精确而快速的变换。DDS的应用领域包括各类无线通信、有线通信、网络通信,各类需要频率信号的仪器、仪表、遥测、遥感设备、收音机和电视机等。本节以正弦信号的产生为例,阐述DDS技术的根本原理。对于一个频谱纯洁的单频正弦信号可以用下式来描述:〔2.1〕其相位为〔2.2〕显然,该正弦信号相位和幅值均为连续变量。为了便于采用数字技术,应对连续的正弦信号进行离散化处理,即把相位和幅值均转化为数字量。用频率为fclk的基准时钟对正弦信号进行抽样,这样,在一个参考时钟周期T内,相位的变化量为〔2.3〕由上式得到的△θ为模拟量,为了将其转化为数字量,将2π切割成2N等份作为最小量化单位,从而得到△θ的数字量M为:〔2.4〕将式〔2.3〕带入〔2.4〕得〔2.5〕式〔2.5〕说明,在参考时钟频fclk确定的情况下,输出正弦信号的频率fout决定于M的大小,并且与M呈线性关系。通过改变M的大小,就可以改变输出正弦信号的频率,因此,M也称频率控制字。当参考时钟频率取2N时,正弦信号的频率就等于频率控制字M。当M取1时,可以得到输出信号的最小频率步进为〔2.6〕由此可知,只要N取值足够大,就可以得到非常小的频率步进值。将相位转化为数字量以后,式〔2.1〕就可以描述为如下形式:〔2.7〕表示本周期相位值与前一个基准时钟周期的相位值的累加。从式〔2.7〕可以看出,只要用频率控制字M进行简单的累加运算,就可以得到正弦函数的当前相位值。而正弦信号的幅值就是正弦信号的当前相位值的函数。由于正弦函数为非线性函数,很难实时计算,一般通过查表的方法来快速获得函数值。有了上述理论分析,我们就可以得到一种用数字的方法获得正弦信号的方法:先构建一个N为的相位累加器,在每一个时钟周期内,将相位累加器中的值与频率控制字相加,得到当前的相位值。将当前的相位值作为ROM的地址,读出ROM中的正弦波数据,再通过D/A转化成模拟信号。频率控制字越大,相位累加器的输出变化越快,ROM的地址变化也越快,输出的正弦信号频率越高。需要注意的是,受ROM容量的限制,ROM地址位数一般小于相位累加器的位数,因此,把相位累加器输出的高位作为ROM的地址。只需要改变频率控制字,就可以改变输出信号的频率,因此,采用DDS技术,对输出信号频率的控制十分简单。DDS正弦信号发生器的根本原理框图如下图。图2.1.1DDS正弦信号发生器根本原理框图2.2DDS信号的优点与缺点2.2.1DDS的优点(l)输出频率相对带宽较宽输出频率带宽为50%fs(理论值),实际输出带宽仍可到达40%fs。(2)频率转换时间短频率时间等于频率控制字的传输时间,也就是一个时钟周期的时间。时钟频率越高,转换时间越短。DDS的转换时间可达纳微秒级数量级,比使用其他的频率合成方法都要短数个数量级。(3)频率分辨率高假设时钟fs的频率不变,DDS的频率分辨率就是由相位累加器的位数N决定。只要增加相位累加器的位数N即可获得任意小的频率分辨率。目前,大多数DDS的分辨率在1Hz数量级,许多小于1mHz甚至更小。(4)相位变化连续改变DDS输出频率,实际上改变的是每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续。(5)输出波形的灵活性只要在DDS内部加上相应控制如调频控制FM,调相控制PM和调幅控制AM即可以方便灵活实现调频,调频和调幅等功能,产生FSK,PSK,ASK,MSK等信号。另外,只要在DDS的波形存储器存放不同波形数据,就可以实现各种波形的输出,如三角波,锯齿波和矩形波甚至是任意波形。当DDS的波形存储器分别存放正弦和余弦函数表时,即可得到正交的两路输出。2.2.2DDS的缺点(1)输出带宽范围有限由于DDS内部DAC和波形存储器(ROM)的工作速度有限,使得DDS输出的最高频率有限。目前市场上采用CMOS,TTL,EcL,工艺制作的DDS芯片,工作频率一般在几十MHz至400MHz左右。采用GaAS工艺的DDS芯片工作频率可达2GHz以上。(2)输出散杂大 由于DDS采用全数字结构,不可防止地引入了散杂。其来源主要由三个:相位累加器相位舍入误差造成的散杂.第3章开发平台介绍本章主要对本次设计所选择的开发平台进行简单介绍。FPGA因为其不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,所以成为首选。软件局部主要是对QuartusII进行简单的介绍。硬件平台FPGA介绍本章将对这次设计所用的平台做一个介绍,主要开发软件有,QuartusII,Matlab,Keil等软件,涉及的领域有FPGA编程,单片机编程,Matlab编程等。3.1.1FPGA简介自1985年Xilinx公司推出有史以来第一颗现场可程序化逻辑组件至今,已经历了超过二十几年的开展历史。在开展过程中,以FPGA为代表的数字系统现场集成取得了惊人的开展:现场可程序化逻辑组件从最初的1200个可利用逻辑闸,开展到90年代的25万个可利用逻辑闸。其后不到数年,著名FPGA厂商,包括Altera公司、Xilinx等公司,又陆续推出了内建数百万逻辑闸以上的FPGA芯片,将现场可程序化组件的整合度提高到一个新的水平。如今,各厂商不再盲目追加逻辑闸的数量,转而努力消除过去FPGA弱势之处,以强化过的运算效能、更为节省的功耗,向各种运算领域扑天盖地而来。纵观现场可程序化逻辑组件的开展历史,其之所以具有巨大的市场吸引力,在于FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA在某些情况下得以取代ASIC的市场,特别是对小量、多样,短开发期的产品需求,使FPGA成为首选。3.1.2FPGA工作原理 FPGA采用了逻辑单元阵列LCA〔LogicCellArray〕这样一个新概念,内部包括可配置逻辑模块CLB〔ConfigurableLogicBlock〕、输出输入模块IOB〔InputOutputBlock〕和内部连线〔Interconnect〕三个局部。它的根本特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC电路的中试样片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗很低,可以与CMOS、TTL电平兼容。纵观现场可程序化逻辑组件的开展历史,其之所以具有巨大的市场吸引力,在于FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA在某些情况下得以取代ASIC的市场,特别是对小量、多样,短开发期的产品需求,使FPGA成为首选。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。3.2软件开发平台Matlab简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言〔如C、Fortran〕的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创立用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的根本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也参加了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。3.3DSPBuilder简介Altera可编程逻辑器件(PLD)中的DSP系统设计需要高级算法和HDL开发工具。AlteraDSPBuilder将TheMathWorksMATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。DSPBuilder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。已有的MATLAB函数和Simulink模块可以和AlteraDSPBuilder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接。DSPBuilder支持系统、算法和硬件设计共享一个公共开发平台。设计人员可以使用DSPBuilder模块迅速生成Simulink系统建模硬件。DSPBuilder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等根本操作。可以使用DSPBuilder模型中的MegaCore功能实现复杂功能的集成。Altera还提供DSPBuilder高级模块集,这一Simulink库实现了时序驱动的Simulink综合。AlteraMegaCore是高级参数化IP功能,例如有限冲击响应(FIR)滤波器和快速傅立叶变换(FFT)等,经过配置能够迅速方便的到达系统性能要求。MegaCore功能支持Altera的IP评估特性,使您在购置许可之前,便可以验证功能及其时序。AlteraIPMegaStore网站上为DSPBuilder和IP评估流程提供DSPIP完整介绍DSPBuilderSignalCompiler模块读取由DSPBuilder和MegaCore模块构建的Simulink建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真。图示为DSPBuilder设计流程。DSPBuilder是一个系统级〔或算法级〕设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSPBuilder依赖于MathWorks公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过SignalCompiler可以把Matlab/Simulink的设计文件〔.mdl〕转成相应的硬件描述语言VHDL设计文件〔.vhd〕,以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具QuartusII来完成。3.4软件平台QuartusII介绍图3.2QuartusII软件界面如图3.2所示为QuartusII软件的根本界面,QuartusII软件是Altera的综合开发工具,它集成了Altera的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。QuartusII几乎支持Altera现行的所有FPGA,在该集成开发环境中可以实现电路的设计、综合、适配到最后形成下载文件以及在线配置FPGA,还能对电路进行功能仿真,对适配后形成的最终电路进行时序仿真。也就是说只要有了QuartusII这个集成开发环境,就根本上可以完成Altera公司FPGA开发过程中的所有工作。另外,为了方便设计,QuartusII还提供了免费LPM模块供用户调用,如计数器、存储器、加法器、乘法器等。除了这些免费的LPM模块外,Altera公司还开发了有偿IP核提供应有需要的用户使用。这些LPM模块和IP核都大大简化了设计过程,缩短了开发周期。QuartusII支持多种输入方式,常用的有:〔1〕原理图输入:这种方法最直观,适合顶层电路的设计;〔2〕硬件描述语言输入:包括AHDL、VHDL及VerilogHDL输入。采用硬件描述语言的优点易于使用自顶向下的设计方法、易于模块规划和复用、移植性强、通用性好。〔3〕网表输入:对于在其他软件系统上设计的电路,可以采用这种设计方法,而不必重新输入,QuartusII支持的网表文件包括EDIF、VHDL及Verilog等格式。这种方法的优点是可以充分利用现有的设计资源。第4章系统实现本章主要介绍了DDS信号发生器的实现过程,开头局部讲述了包括DDS信号发生器的原理图,材料选择的比拟以及重点模块的介绍。后面一局部主要讲述单片机控制软件的设计,包括人机接口的定义、主程序框图。4.1设计要求设计要求如下:1、具有产生正弦波、方波、三角波、锯齿波四种周期性波形;2、输出信号频率范围0Hz~5MHz,重复频率可调,频率步进间隔小于等于1Hz;3、输出信号幅值范围0-5V〔峰.峰值〕,信号幅值和直流偏移量可数控调节;4、具有稳幅输出功能,当负载变化时,输出电压幅度变化不大于±3%〔负载电阻变化范围:50Ω~正无穷〕;5、具有显示输出波形类型、重复频率等功能。4.2系统方案论证与比拟4.2.1产生DDS信号波形方案的选择目前主流的DDS信号发生器方案有两种:方案一、采用专用DDS集成芯片实现的信号发生器;方案二、采用单片机+FPGA实现的DDS信号发生器。比拟这两种方案,专用DDS芯片内部的波形数据存放在ROM型存储器中,波形数据无法修改故而只能产生固定波形的信号,但系统比拟容易实现。而采用单片机+FPGA实现的DDS信号发生器那么是将波形数据存储器改为FPGA上的RAM行存储器,波形信号能实时改变,在利用单片机系统进行控制和处理后,能实现DDS任意波形发生器,功能更加完善,更新更加方便。故本设计选用方案二。4.2.2单片机处理器比拟选择方案一:采用AT89C51单片机处理电路,其拥有并行I/O口32个,对于实际应用来说远远不够,且不具备自带AD、DA,使得电路结构复杂。方案二:STC12C5A60S2单片机内部资源非常丰富,是目前功能最全、速度最快的51内核SoC单片机之一,包括告诉8051微处理器内核,扩充终端处理系统,1280字节内部RAM,和60KB的闪速存储器,多达39个I/O引脚,两个内部振荡器和片内调试电路,能很好的完本钱系统所需的单线程,键盘功能分支程序控制。在本设计中选用方案二。4.3系统理论分析及设计4.3.1总体设计本设计采用单片机+FPGA实现的DDS信号发生器,整个DDS信号发生器由单片机子系统、FPGA子系统、模拟子系统三局部组成,系统原理框图如下列图4.1所示:单片机FPGA单片机FPGAEP1C3T144C8LCD1602按键DA转换放大图4.1DDS信号发生器系统框图4.3.2主要技术参数的分析与确定DDS信号发生器的技术指标取决于DDS系统的时钟频率、相位累加器的位数、波形数据表的长度等参数,下面对这些参数进行讨论,以选择适合的模拟电路元件以实现高质量的DDS信号。1、输出带宽当频率控制字M=1时,输出信号的最低频率为〔4.1〕式中,为参考时钟频率,N为相位累加器的位数。当N取很大值时,最低输出频率可以认为到达DDS最低频率的零频。DDS的最高输出频率由参考时钟周期和一个周期波形采样点数决定,假设采样点数为X,那么最高输出频率为〔4.2〕2、频率分辨率频率分辨率由下式决定:〔4.3〕在此式中,当N取值足够大时,DDS信号可以到达很高的信号分辨率。3、DDS信号的质量由于DDS信号发生器采用全数字设计,不可防止在采样时会带来D/A产生的幅度量化噪声和相位累加运算截断产生的相位噪声。改善DDS信号质量的主要方法有:增加波形存储器和D/A的字宽;增加每个周期数据的样本数,提高外部参考时钟频率和通过低通滤波器来改善输出信号质量。综合上述讨论和对器件本钱以及硬件系统复杂度的考虑,DDS子系统的参数确定如下:参考时钟频率:100MHz;频率控制字的位宽:32位;相位累加器的位宽:32位;波形存储器的地址位宽:10位;波形存储器的数据位宽:8位。4.4单片机软件和硬件设计DDS信号发生器采用FPGA等硬件来完成高速波形的产生任务,其工作不需要单片机过多的干预。单片机子系统只需完成键盘输入、液晶显示、向FPGA传送数据、输出信号的幅值和直流偏移量的数字控制等功能。从软件的总体结构来看,单片机控制软件是一种单线程、键盘功能的分支程序。4.4.1硬件电路图设计硬件电路图采用AltiumDesign10设计的原理图和PCB图,主控芯片是STC12C5A60S2,采用贴片封装,液晶显示:图4.2STC12C5A60S2单片机最小系统此次采用的单片机是STC12C5A60S2单片机,属于增强型51单片机,具有ROM空间大,资源充足,最重要的是提高了运算速度。其最小系统原理图如图4.2。图4.3液晶显示模块液晶采用普通LCD1602液晶,显示效果清晰,简洁明了,原理图如图4.3。图4.4电源电路供电电源采用5V电压,使用AS1117.3.3把5V降压为3.3V电压提供应FPGA芯片,再使用AS1117.1.5把3.3V减压为1.5V提供应FPGA核心模块,电源前后级均有滤波电容,并有电源指示灯。其原理图如4.4。4.4.2单片机编程根据DDS信号发生器的功能设计了如图4.5所示的LCD显示页面。液晶第一行为频率大小显示,液晶第二行2为波形类型,在给定频率输入页面中,8个小方框所显示的位置用于显示输入给定的频率值。给定的频率范围为00000001~40000000Hz。为了操作方便,允许输入给定频率的位数在1~8位之间。对于DDS信号发生器来说,键盘主要用于选择信号波形、输入频率值、控制输出信号的幅值和直流偏移量。由于按键数量比拟少,键盘采用独立式键盘。LCD显示和键盘各按键的定义如图4.5所示。按键4选中位减1按键5波形切换按键3选中位加1按键4选中位减1按键5波形切换按键3选中位加1按键2光标向左移位按键1光标向左移位图4.5LCD显示定义及按键功能定义DDS信号发生器的控制程序可分为显示函数和键盘效劳函数两局部。在确定主程序和键盘中断效劳程序的功能时有两种方案:一种方案是主程序只完成初始化,将键盘读入和处理全部由键盘中断效劳程序中完成;另一种方案是主程序完成初始化和键值处理功能,而键盘中断效劳程序只完成键值读入。由于键值处理程序设计数值运算、LCD模块的显示,将这些耗时的键值处理程序放入中断效劳程序不符合程序设计的一般原那么,因此,选用第二种方案。主程序首先完成对液晶、中断的初始化,STC12C5A60S2内部资源初始化,LCD模块初始化。初始化完成以后就不断检测有无按键键入,当有按键键入时,根据键值显示相应的波形和相关位的闪烁。单片机将4个字节频率字发送到FPGA中;各种波形共用一个频率字,单片机送四个字节到FPGA,FPGA把四个字节组合为32位的频率字,送给DSPBuilder生成的模块,该模块需要频率字和幅度字。由于输入给定频率的位数允许在1~8位变化,程序设计通过按修改位键来给定频率的输入。然后发送到FPGA的频率控制字接收模块。由于键盘输入的给定频率值为非压缩型BCD码,应先将其转化为二进制数,再根据公式〔2.5〕将给定频率值转化成为4字节的频率控制字。当相位累加器字宽N取32,参考时钟频率fclk取100MHz时,频率控制字可以由以下公式计算得到:〔4.4〕式子中fout为由二进制数表示的给定频率,乘上系数42.9496,就可以得到4字节的频率控制字。频率控制字由单片机产生,单片机根据频率值计算出频率字,直接发送给FPGA。写频率字函数见附录A。4.5FPGA软件和硬件设计4.5.1FPGA硬件设计FPGA硬件电路包括复位电路,时钟电路,电源电路,下载电路,配置电路,其中电源电路和单片机公用一个电源。图4.6复位电路和时钟电路电路晶振采用50Mhz有源晶振,复位电路分为硬件复位和软件复位,本电路采用硬件复位。电路如图4.6。图4.7AS_JTAGAS配置是指电路程序烧入EPCS中,当电路通电时,程序从EPCS中读入到FPGA中实现配置FPGA的目的,在测试的时候电路是通过JTAG下载到FPGA中,配置片内RAM实现编程。原理图如4.7。图4.8EPCS配置芯片该配置芯片相当于储存器,当FPGA断电后起到存储电路配置的功能,当FPGA上电后,FPGA从EPCS中把配置读入FPGA中,EPCS有多种大小,有EPCS1、EPCS4、EPCS16等本次采用的是EPCS4。其原理图如图4.8。图4.9JTAG下载端口JTAG下载端口是把电路下载到内部RAM中,断电后配置就消失了,每当FPGA上电时,都会从EPCS中读取数据。内部RAM只是暂时的连线。其原理图如4.9。图4.10FPGA核心供电根据FPGA的芯片使用手册,FPGA采用两种供电电压,核心采用1.5V供电,外围端口采用3.3V供电,图4.10显示了FPGA的所有电源接口。4.5.2FPGA软件设计波形数据存储器图4.11MATLAB中ROM其中ROM中存放着波形数据,为离散的点。正弦波波形数据为:127*sin([0:2*pi/(2^10):2*pi]);方波波形数据:127*square([0:2*pi/(2^10):2*pi]);三角波波形数据:127*sawtooth([0:2*pi/2^10:2*pi],0.5);锯齿波波形数据:127*sawtooth([0:2*pi/(2^10):2*pi]);产生的波形都是数据深度为1024字节,宽度为8位。〔2〕地址锁存模块STC12C5A60S2单片机P1口分时送出低8位地址和8位数据信息。通过FPGA内部设计一个8位锁存器即可获取低8位地址。地址锁存器的VHDL程序为:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymux4_1isport(d0,d1,d2,d3,d4:outstd_logic_vector(7downto0);..输出32位数据a:instd_logic_vector(2downto0);..数据选择端y:instd_logic_vector(7downto0));..数据输入端endentitymux4_1;architectureoneofmux4_1isbeginprocess(a,y)begincaseaiswhen"000"=>d0<=y;--把第一次送的数据当做32位的频率字低8位when"001"=>d1<=y;--把第二次送的数据当做32位的频率字中间8位when"010"=>d2<=y;--把第三次送的数据当做32位的频率字中间8位when"011"=>d3<=y;--把第四次送的数据当做32位的频率字高8位when"100"=>d4<=y;--把第五次送的数据当做8位的相位字8位whenothers=>null;endcase;endprocess;endarchitectureone;波形选择设计波形选择就是通过一个四位的计数器来选择波形,计数器的计数信号接到按键上,通过按键来切换波形,比方正弦波,三角波等:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount4bitisport(clk:instd_logic;..技术时钟信号b:outstd_logic_vector(3downto0));--计数输出端endcount4bit;architectureoneofcount4bitisbeginprocess(clk)variableqq:std_logic_vector(3downto0);beginifclk='1'andclk'eventthenif(qq="1001")then--五进制循环计数qq:="0000";elseqq:=qq+1;endif;endif;b<=qq;endprocess;endarchitecture;相位累加器模块的设计相位累加器是DDS子系统的核心,由32位加法器与32位累加存放器级联构成,对代表频率大小的频率控制字进行累加运算,输出波形存储器的地址。相位累加器的设计可以直接采用DSPBuilder中的模块宏单元库中的LMP_ADD_SUB宏单元,也可以用VHDL语言自行设计。以下就是采用Matlab实现的相位累加器,由32位加法器和32位存放器构成:图4.12频率字接受模块顶层图频率累加器采用32位加法器和32位的存放器构成,其中的设计是在Matlab中完成。4.5.2MATLAB软件设计 这次FPGA的软件设计根本上都是由MATLAB来完成的,包括波形产生,波形的计算。MDL文件的生成,以及生成MDL文件后,通过matlab转换成QuartusII工程,如果有现成的TCL脚本文件,那么在MatlabDSPBuilder环境下直接可以进行下载操作。图4.13MatlabSimulinkDSPBuilder工具第5章系统仿真本章第一步分主要介绍了系统测试的一些根本原来与方法。第二局部那么是对本系统进行测试,主要观察了输出波形是否与所选波形对应,以及输出频率与给定频率是否接近。该DDS信号发生器由于其设计稳定性,电路合理性,根本完成设计要求指标。5.1单片机软件调试单片机软件测试主要对产生的频率字是否正确做个验证,送给单片机一个频率值,单片机转化为频率字,单片机通过串口把频率字发送到电脑端,对发送的频率字做一个验证,即可得到频率字是否正确,同时在按键的作用下,LCD显示不同的波形和频率,如果都显示正确,那么单片机的测试工作就完成了。MatlabDSPBuilder仿真5.2.1DSPBuilder设计流程DSPBuilder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSPBuilder依赖于MathWorks公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过SignalCompiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具QuartusII来完成。由于在FPGA上设计一个DSP模块的复杂性,设计的性能(包括面积、速度、可靠性、设计周期)对于不同的应用目标将有不同的要求,涉及的软件工具也不仅仅是Simulink和QuartusII,DSPBuilder针对不同情况提供了两套设计流程,即自动流程和手动流程。图5.1是利用DSPBuilder进行DSP设计的流程框图。如图5.1所示,DSPBuilder设计流程的第一步是在Matlab/Simulink中进行设计输入,即在Matlab的Simulink环境中建立一个mdl模型文件,用图形方式调用AlteraDSPBuilder和其它Simulink库中的图形模块(Block),构成系统级或算法级设计框图(或称Simulink设计模型)。第二步是利用Simulink强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的MatlabSimulink建模过程几乎没有什么区别,所不同的是设计模型库采用AlteraDSPBuilder的Simulink库,也不涉及到其它EDA软件,没有自动流程和手动流程的区别。第三步是DSPBuilder设计实现的关键一步,通过SignalCompiler把Simulink的模型文件(后缀为.mdl)转化成通用的硬件描述语言VHDL文件(后缀为.vhd)。由于EDA工具软件(诸如QuartusII、ModelSim)不能直接处理Matlab的.mdl文件,这就需要一个转换过程。转换获得的HDL文件是基于RTL级(存放器传输级)的VHDL描述 图5.1DSPBuilder设计流程再接下来的几个步骤是对以上设计产生的VHDL的RTL代码和仿真文件进行综合、编译适配以及仿真。为了针对不同用户的设计目的和设计要求,DSPBuilder提供了两种不同的设计流程,主要可以分为自动流程和手动流程。如果采用DSPBuilder的自动流程,几乎可以忽略硬件的具体实现过程,可以选择让DSPBuilder自动调用QuartusII等EDA设计软件,完成综合(Synthesis)、网表(ATOMNetlist)生成和QuartusII适配,甚至在Matlab中完成FPGA的配置下载过程。如果希望使用其它第三方的VHDL综合器和仿真器(除Synplify、LeonardoSpectrum和QuartusII综合器及ModelSim外),或是希望完成特定的适配设置,如逻辑锁定、时序驱动编译、ESB特定功能应用等,可以选用手动流程设计。在手动流程中,设计者可以灵活地指定综合、适配条件。不过,需要手动地调用VHDL综合器进行综合,调用QuartusII进行适配,调用ModelSim或者QuartusII进行仿真,最后用QuartusII产生相应的编程文件用于FPGA的配置。采用手动流程时,除了行为级仿真验证和设计输入外,其它过程与标准的基于VHDL的EDA设计流程是完全一致的。由上一步DSPBuilder设计流程得到VHDL文件(由Simulink模型文件*.mdl通过SignalCompilder转换而成),送入综合器进行综合。综合器可以是SynplifyPro,也可以是LeonardoSpectrum,或者采用Altera自己的QuartusII。在综合时,可能需要对综合器进行配置或者提供综合的约束条件。由于这个过程操作可能比拟繁琐,所以DSPBuilder的SignalCompiler相应提供了一个接口,针对设计,自动产生一个TCL脚本与综合器Synplify或者LeonardoSpectrum相接。综合器在综合操作后会产生一个网表文件,以供下一个流程使用。这里产生的网表文件称为ATOM网表文件(如图3.1所示),主要是EDIF网表文件(.edf电子设计交换格式文件)或VQM(.vqmVerilogQuartusMappingFile),它们是一种参数可设置的,并含有具体器件系列硬件特征(如逻辑宏单元LCs、I/O单元、乘积项、嵌入式系统块ESB等)的网表文件。QuartusII可以利用这些ATOM网表文件针对选定的具体器件进行适配,包括布线、布局、结构优化等操作,最后产生时序仿真文件和FPGA目标器件的编程与配置文件。在这一步,设计者可以在QuartusII中完成对Pin(引脚)的锁定,更改一些约束条件。如果用DSPBuilder产生的DSP模型只是庞大设计中的一个子模块,那么可以在设计中调用DSPBuilder产生的VHDL文件,以构成完整的设计。同时,一样可以使用QuartusII强大的LogicLock功能和SignalTap测试技术。在DSPBuilder设计流程的最后一步,可以在DSPBuilder中直接下载到FPGA用户开发板上,或者通过QuartusII完成硬件的下载、测试。5.2.2MATLAB仿真结果用Matlab平台DSPBuilder工具箱进行仿真正弦波信号、方波信号、三角波信号、锯齿波信号、FSK、ASK、AM、FM等信号,测试载波为频率为1MHz时候输出结果如图5.1-5.9所示。图5.2正弦波仿真波形图5.3方波仿真波形图5.4锯齿波仿真波形图5.5三角波仿真波形以上四种波形测试频率均在1Mhz的情况下仿真得到图5.6FSK仿真波形图5.7PSK仿真波形图5.8ASK仿真波5.9FM仿真波图5.10AM仿真波第6章系统测试本章重点介绍硬件的焊接与测试,以及对波形的频率和种类做测试。6.1硬件焊接与测试元器件买好后,接着进行焊接,首先焊接的是FPGA芯片,然后晶振,复位,配置电路,下载电路,电源稳压芯片,单片机最小系统;焊接完成后,通电测试,先测试的是FPGA的功能,下载正常,然后测试单片机的下载功能,程序下载后,液晶正常显示。软件3D效果和硬件焊接效果如图6.1和6.2.图6.1AltiumDesign103D效果图图6.2硬件焊接测试效果6.2测试波形频率用键盘输入频率值,测试输出信号的频率值。表6.1所示为DDS信号发生器表6.1实测频率与给定频率对照表。给定频率/Hz实测频率/Hz正弦波方波三角波锯齿波1010.0210.0210.0210.02100100.1100.1100.1100.11k1.002k1.002k1.002k1.002k10k10.03k10.03k10.03k10.03k100k100.2k100.2k100.2k100.2k500k500.8k500.8k500.8k500.8k800k799.4k799.4k799.4k799.4k1M1.002M1.002M1.002M1.002M3M3.005M3.005M3.005M3.005M5M5.01M5.01M5.01M5.01M6.3波形测试种类图6.3正弦波图6.4方波图6.5锯齿波图6.6三角波图6.7AM调制图6.8FSK调制图6.9ASK调制总结本文结合DDS波形发生器的设计和实现,从理论和实际两个方面,对数字直接频率合成技术进行了研究。经过研究,完成了预定的设计任务,在对DDS波形发生器的研究中,完成了软件程序的设计包括单片机主程序以及初始化程序的设计;分析了频率合成技术的根本问题,并重点介绍了直接数字频率合成技术;研究了基于DDS原理利用FPGA的具体实现波形发生器的设计方法,完成了DDS顶层原理图的设计。本设计完成了预定的所有功能,但由于时间仓促,本设计还有许多需要完善和改良的地方。本设计中能方便用户控制的波形种类有限,对于任意波形的输入控制,可利用现有的FPGA中的ROM资源来存储波形周期数据,另外还可利用内部资源来创立RAM来存储波形,,并且借助编程语言编写软件,来实现任意波形的周期数据送入FPGA。此外,系统未能实现对信号幅值和直流偏移量得可数控调节,这也是设计的缺乏之处。所以,本设计的各项功能指标还有待完善。参考文献第五届全国大学生电子设计竞赛获奖[M],北京理工大学出版社,2001:132-138陈明义主编,电子技术课程设计实用教程[N],中南大学出版社,2001:64-75.潘松、黄继业编著,EDA技术实用教程[J],科学出版社,2002:321-346胡宴如主编,胡宴如、耿苏燕编写,模拟电子技术根底[M],北京:高等教育出版社,1993:103-114孙江宏、李良玉编著,Protel99电路设计与应用[N],机械工业出版社,2001:79-86刘守义主编,杨宏丽、王静霞副主编,单片机应用技术[N],西安电子科技大学出版社,2002:87-92何小艇主编,电子系统设计[J],浙江大学出版社,2000,6杨桔祥,高礼忠,詹宏英.电子测量技术根底[M].南京.东南大学出版社,2004周登荣.任意波形发牛器的电路设计与实现[D].成都.电子科技大学.2007张永瑞,刘振起,杨林耀.电子测量技术根底[M].西安.西安电子科技大学出版社.2003许开华.DDS任意波形发生器波形数据生成[D].成都,电子科技大学.2007王新柳.基于DSP的任意波形发生器的设计[D].成都,电子科技大学.2007潘志浪.基于FPGA的DDS信号源的设计[D].武汉.武汉理工大学.2007致谢四年的大学生活很快就要结束了,在四年当中我取得的所有成绩和收获都离不开那些曾经给予我指导和帮助的人们。在此,谨向所有关心我学业的老师、同学、家人和朋友表示衷心的感谢。此外,我要特别感谢我的指导教师梁成武老师,感谢梁老师对我的细心指导,梁老师的热情帮助和耐心指导是本次设计得以顺利完成的根底,梁老师不仅以他渊博的学识、敏锐超前的学术意识使我在学术方面受益匪浅,而且,他谦逊待人、严谨治学的作风以及对工作认真负责的态度还给我树立了做人的典范。附录A/*FPGA频率字写入函数*/#include<REGX51.H>#include"1602.h"#include"delay.h"#include<stdio.h>#include<intrins.h>#include<math.h>unsignedcharKeyScan(void);sbitdata0=P2^0;sbitdata1=P2^1; #defineKeyPortP3//P1为8位数据口intset=0;//unsignedlongintF=1000;unsignedlongintF=10000;//unsignedcharAA=100;unsignedlongintK;//chardisplaytemp[8]={0},num;chartemp[16];unsignedcharwave=0;//频率字共用体union{unsignedlongintK;unsignedcharDATA[4];}a;/*写入FPGA频率字*/ voiddds_wr_data(unsignedlongintfreq){a.K=(unsignedlongint)(freq*42.94967295); data1=0; data0=0;P1=a.DATA[3]; //送低位8位数据 DelayMs(10); data1=0; data0=1; P1=a.DATA[2]; DelayMs(10); data1=1; data0=0; P1=a.DATA[1]; DelayMs(10); // 频率字的高八位 data1=1; data0=1; P1=a.DATA[0]; }/*display函数*/voiddisplay(){ sprintf(temp,"FREQ=%08ldHz",F); LCD_Write_String(0,0,temp);//显示第一行 KeyScan(); if(set!=0) LCD_Write_Com(0x0f);//显示开关 else LCD_Write_Com(0x0c); switch(set)//LCD根据工作

温馨提示

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

评论

0/150

提交评论