版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章绪论1.1研究内容及意义高精度的信号源对通信系统、电子对抗以及各种电子测量技术十分重要。随着电子技术的发展,对信号源频率的准确度、稳定度,以及频谱纯度等方面要求越来越高。传统的信号发生器由于波形精度低,频率稳定性差等缺点,已经不能满足许多实际应用的需要。本系统设计的函数发生器是以可编程逻辑器件 CPLD 为核心,采用直接频率合成技术,通过数模转换电路,构成一个精度较高,波形稳定的函数信号发生器。较传统的频率合成技术相比,直接频率合成技术(Direct Digital Synthesis,简称 DDS),具有频率分辨率高、频率转变速度快、输出相位连续、相位噪声低、可编程和全数字化、便于集成
2、等突出优点,使其得到越来越广泛的应用,成为众多电子系统中不可缺少的组成部分。在现代电子技术中,信号源在各种实验应用和实验测试处理中应用非常广泛作,为激励源,仿真各种测试信号。本文根据信号波形的产生特点,采用基于 CPLD/FPGA 的 VHDL 硬件描述语言,仿真实现了多波形发生器的设计。仿真结果输出较高精度、稳定的波形信号,可以满足测量或各种实际需要,方便、简易实用。1.2 国内外研究概况传统的波形发生器多采用模拟电路或单片机或专用芯片,由于成本高或控制方式不灵活或波形种类少不能满足实际需求。目前市场上的数字信号发生器主要采用直接数字合成技术,这种波形发生器不仅可以产生可变频的载频信 号、各
3、种调制信号,同时还能和计算机配合产生用户自定义的有限带宽的任意信号,可以为多领域的测试提供宽带宽、高分辨率的测试信号。从目前发展状况来看,国外数字信号发生器的研制和生产技术已经较为成 熟。国内市场上的波形发生器,其电路形式有采用运放及分立元件构成;也有采用单片集成的函数发生器,而在现代电子系统设计中,DDS 技术发展迅速,由于其易于单片集成,积小,价格低,功耗小,因此其应用也越来越广泛。并且在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平, 为系统提供了优于模拟信号源的性能。1.3本文主要内容本文的设计主要基于可编程
4、逻辑器件 CPLD 设计多波形信号发生器,由VHDL 编程实现,并通过外围数模转换电路,完成函数信号发生器的设计,最后对整个波形发生器进行调试仿真。第一章为对多波形信号发生器的研究内容及发展的综合概述。第二章为系统设计平台介绍、系统设计方式及原理框图概述。第三章为硬件设计及外围电路方案介绍。第四章为系统的软件设计及各模块的具体功能介绍。第五章介绍了系统调试过程、解决问题及调试仿真结果。第六章是为本次设计作综合总 结。第二章2.1 系统设计平台介绍系统概述EDA(Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在 EDA 工具软件
5、平台上,对以硬件描述语言 HDL(Hardware Description Language为系统逻辑描述手段完成的设 计文件,自动完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试等项功能,直至实现既定性能的电子线路系统功能。本系统通过可编程逻辑器件 CPLD 设计,其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,工作可靠性好等, CPLD 器件的设计可分为设计输入,设计实现和器件编程三个步骤及相应的功能仿真,时序仿真和器件功能测试三个验证过程。可编程逻辑器件 CPLD 设计流程如图 2.1 所示:图 2.1 可编
6、程逻辑器件设计流程图如图 2.1 所示,设计输入可分为两种类型,图形输入和 HDL 文本输入, 常用的有原理图输入和应用硬件描述语言设计输入,在下载之前,通过软件进行综合和仿真,这种设计方法可以节约设计周期,设计灵活性,成本低。由于其可编程特性,可以通过软件对系统功能进行修改,易于更改和开发。在硬件描述语言方面,本系统采用了 VHDL 硬件描述语言, VHDL全名是 VHSIC(Very High Speed Integrated Circuit) Hardware Description Language是 EDA 技术的重要组成部分,由美国国防部发起创建,由 IEEE (The Insti
7、tute of Electrical and Electronics Engineers)进一步发展并发布,是硬件描述语言的业界标准之一。VHDL 具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力。相比其他硬件描述语言,VHDL 的优势表现在以下几点:(1) VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。VHDL 采用类似高级语言的语句格式完成对硬件行为的描述,具备更强的模块化能力,并拥有良好的可读性以及程序的移植性。(2)(3) VHDL 具有多层次的设计描述功能,既可以描述系
8、统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。本次设计是基于 Quartus II 软件设计的,Quartus II 是 Altera 公司的综合性 PLD/FPGA 开发软件,支持原理图、VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language等多种设计输入形式,内嵌自 有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程。图形或HDL 编辑分析与综合适配器编程文件汇编编程器时序分析器设计输入综合或编译适配器件下载仿真图 2.2 Quartu
9、s II 设计流程图图 2.2 上排所示的 是 Quartus II 编译设计的主控界面,它 显示了Quartus II 自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。图2.2 下排的流程框图,是与上面的 Quartus II 设计流程相对照的标准的 EDA 开发流程。2.2 信号发生器设计方式介绍Direct Digital Synthesis(DDS)是 20 世纪 60 年代末出现的第三代频率合成技术。用 DDS 技术来设计制作一个基于 CPLD 的三相多波形函数发生器,并使它能输出正弦波、三角波、方波等波形信
10、号源,三种波形的相位差为120。信号发生器中的 CPLD 芯片是 DDS 的控制及数据处理的核心,电路系统主要由数控分频、寻址计数器、模 360 加法器、波形数据储存 ROM 和外围DAC 转换电路组成。波形数据产生器由数控分频、寻址计数器、正弦 ROM、方波三角波 ROM 构成。在时钟信号发生器作用下,根据输入数据不同产生不同的分频比,数控分频生成相应频率的时钟信号作为寻址计数器的输入时钟, 产生对 ROM 进行寻址的地址,输出波形数据后,再由 DAC 电路数模转换处理后输出最终所需要的波形信号。本系统采用 Quartus II 开发平台,VHDL 语言编程实现。方波和三角波波形 ROM 模
11、块利用逻辑单元实现 ROM 设计,由于正弦查找表较为复杂,用逻辑单元实现数据较多,所以正弦 ROM 采用 LPM_ROM 定制,完成外围电路的焊接之后,通过 Quartus II 把编写完的程序烧录入 CPLD 芯片,再通过示波器对整个波形发生器进行调试,使其达到预期的效果。2.3 系统原理框图介绍根据设计要求,多波形信号发生器由 3 部分组成,即时钟信号发生器、波形数据产生器和 D/A 转换电路。晶体振荡器产生稳定度很高的时钟信号,在时钟信号的作用下,波形数据产生器生成频率可变的波形数据数字信号,经数模转换电路最终输出所需波形信号。幅度的调节可通过改变 D/A 转换芯片电阻网络的基准电压实现
12、。CLKDFR(数控分频器)XunZhi(寻址计数器)ROMm21波形数据SIN_ROMDATA4.0数据输入M360加法器ROMm21波形数据SIN_ROMM360加法器ROMm21波形数据SIN_ROM基于 CPLD 的波形数据产生器系统模块如图 2.3 所示。图 2.3 波形数据系统框图图中 DFR 为数控分频器,根据仪器面板 4 位数字量开关产生的预置数据D 输出不同频率的时钟,以改变输出信号的频率。XunZhi 根据输入的始终产生计数地址,在时钟的作用下,ROM,SIN_ROM 模块分别产生方波和三角波、正弦波的波形数据,再通过 m360 模块将地址进行移相处理,可输出不同相位的波形
13、,m21(数据选择器)在面板上的波形选择开关 sel 的控制下,选择输出不同的波形数据,送至 D/A 转换电路。D/A 转换采用 8 位的 DAC0832 芯片。第三章3.1CPLD 及芯片介绍硬件及外围电路设计CPLD复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。通过借助集成开发软件平台进行基本的设计,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD编程技术采用电可擦除储存单元的E2PROM或
14、Flash Memory技术,CPLD被编程后改变了电可擦除储存单元中的信息,掉电后可保存。由于内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。本次设计采用 Altera 公司的 ACEX1K 系列 EP1K10TC100-3,其典型逻辑门数(包括逻辑门和 RAM)为 10000 门,最大可用系统门数为 56000 门,逻辑单元( Logic elements)为 576 个,逻辑阵列模块( Logic array blocks)为 36 个,嵌入式阵列模块(Embedded array blocks)为 3 个, RA
15、M 总容量为 12288 字节,EP1K10TC100-3 具有 100 个管脚,除电源引脚、地线引脚、全局控制引脚和 JTAG 引脚外,共提供了 66 个可用 I/O 脚, 这些引脚可以任意配置为输入、输出和双向方式,芯片的工作电压为+5V。通常情况下在硬件调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对 FPGA 进行配置。配置芯片在每次系统上电以后自动将配置文件加载到 FPGA 中形成电路。3.2硬件总体方案介绍由于模拟电路复杂程度较高,而且在检查电路的时候会有很大的工作量,且可调性差。并且电路带来的高频干扰也会更大,影响波形效果。而单片机电路确定方案后不易更改硬件电
16、路,可变性不高,功能修改完善不方便,所以本次设计除了采用 CPLD 设计电路,由于其可编程特性,在设计调试时可以不断改变电路硬件的逻辑关系,而不必改变系统的硬件结构,缩短了设计周期,提高了设计效率。数控分频电路在完成模块程序编译仿真后,通过 USB-Blaster 编程器将系统配置文件下时DAC钟CCPLD主控电路数模示波器输出L转K换波形选择输入载入 CPLD 芯片,分别将数控分频输入、波形选择控制输入以及波形数据输出连接 CPLD 主控芯片。图 3.1 是本次设计的基本硬件框图:图 3.1 系统基本硬件电路外部输入通过四位拨码开关控制分频倍数,可对频率进行调节,在通过两位拨码开关控制波形选
17、择,系统时钟信号由开发箱上提供,八位波形数据输出接试验箱的 DAC 转换模块,由于示波器只有两路输入,所以需要再设计一个D/A 转换电路将两种相位的波形进行比较。3.3CPLD 及外围电路设计3.3.1CPLD 主控电路设计本次设计主控电路设计基于北京百科融创 EDA 教学开发平台,CPLD 芯片为 Altera 公司的 EP1K10TC100-3,共 100 个管脚,提供 66 个 可用 I/O脚,系统包括控制输入及波形数据输出,共使用 23 个 I/O 脚,图 3.2 为CPLD 主控芯片管脚分配图。图 3.2 CPLD 主控芯片I/O6、I/O7 脚为波形控制开关,I/O9 引脚为外部时
18、钟输入口,I/O71、I/O70、I/O69、I/O68 为数控分频外部控制端口,I/O20I/O23、I/O26I/O28、I/O30 脚为初始相位八位波形数据输出端;I/O31I/O34、I/O45I/O48 为移向后的波形数据输出端,波形数据输出接 DAC 模块的八位数据输入,通过示波器观察输出波形信号。3.3.2DAC 数模转换模块设计由于从波形 ROM 中读出的波形数据还只是一个数字信号,要得到最后的输出信号必须经过数模转换器。因此在波形 ROM 输出之后要设计一个 D/A 转换电路。廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。本次设计采用 DAC0832 来
19、实现 D/A 转换,DAC0832 是双列直插式 8 位 D/A 转换器,能完成数字量输入到模拟量(电流)输出的转换。由于其价格低数模(D/A)转换电路的作用是把已经合成的波形幅值的数字量转换成模拟量,其速度和特性直接影响整个系统的性能。D/A 转换器件的首要特性要求是高速,其次是转换位数,本设计中选用 8 位的 D/A 芯片 DAC0832。波形幅度量化序列经 D/A 转换后成为阶梯波。D/A 的输出用电压形式表示一般应为:Vout= - D V2NREF(式 3.1)式中 D 为 D/A 的输入数据值,N 为 D/AC 的位数,即通常所指的 D/AC的分辨率,V REF为输入 D/A 的参
20、考电压。DAC0832 对信号进行数模转换后,将数字信号恢复为模拟信号,再由UA741 构成的放大电路进行放大处理,完善波形信号,使波形能够达到标准效果。外围 DAC 电路原理图如图 3.3 所示:图 3.3 DAC0832 外围电路设计在 DAC 外围电路中,UA741 接+12V、-12V 电源,DAC0832 接 5V 电源,在电源接口处接一电容,起滤除杂波作用,在信号输出加入了滤波电路, 接入示波器,得到稳定的波形信号。第四章软件程序设计程序部分基于 Quartus II 通过 VHDL 语言实现。系统采用自顶向下设计原则,先完成各个子模块仿真设计,综合编译后,通过软件生成图元文件,再
21、设计系统顶层原图,将各个模块连接,最后进行系统总体仿真。4.1 系统流程设计本次设计主要包括数控分频模块、寻址计数模块、360移相模块、波形ROM 储存模块、波形选择模块等,系统总体设计流程图如下图 4.1 所示:开始数控分频模块寻址计数模块360移相模块波形ROM储存模块波形选择模块结束图 4.1 系统设计流程图波形 ROM 模块针对不同的波形信号,通过不同的方式设计 ROM 模块, 像三角波方波这样波形简单变化缓慢的波形,通过逻辑单元实现 ROM 设计, 而对于正弦波这样的波形,查找表比较复杂,波形数据较大,所以利用了LPM_ROM 定制法设计正弦波的存储 ROM,最后再通过波形选择输出波
22、形数据。4.2 子模块的设计4.2.1数控分频器数控分频器的功能是在输入端输入不同数据时,对输入时钟产生不同的分频比,输出不同频率的时钟,以改变输出信号的频率。本设计中利用并行预置数的减法计数器实现,他的工作原理是:减法计数器在并行预置数的基础上, 在时钟的作用下进行减计数,当计数值为零时产生溢出信号,加载预置数据, 并且将溢出信号作为分频器的输出信号,实现 N 分频信号输出。其分频系数 N 为N =D +1(式 4.1)D 为预置数的值。为了得到占空比为 50%的矩形时钟信号,将输出再进行二分频。由此,该分频器的总分频系数为 2N。本设计中一个波形周期由 64 个时钟信号组成,则输出信号频率
23、为:fout=fclk(式 4.2)2 64N时钟频率为 24 MHz。数控分频器模块如图 4.2 所示:图 4.2 数控分频器模块略去声明部分,数控分频器的核心程序如下所示: architecture one of kongzhi issignal full:std_logic;-定义内部溢出标识signal temp:std_logic_vector(1 downto 0);beginp1:process(clk)-N+1 分频进程variable cnt9:integer range 0 to 31; beginif (clkevent and clk=1)then-上升沿检测if(cn
24、t9=0)thencnt9:=d;-重新加载预置数Dfull=1;-计数值为零时,产生溢出信号else cnt9:=cnt9-1;-否则,进行减一计数操作full=0; end if; end if;end process;p2:process(full)-二分频进程beginif(fullevent and full=1)then-上升沿检测if(temp=11)then-二位二进制计数,最低位每个时钟temp=00;-翻转一次,由此实现二分频elsetemp=temp+1;-计数值加一end if; end if;end process;fout=not temp(0);-选择二分频输出e
25、nd one;通过 Quartus II 仿真结果如下图 4.3 所示:图 4.3 数控分频器仿真结果通过以上仿真结果,在分频数据输入端输入“0011”,实现 2(D+1)分频,在时钟信号输出端 fout,可以看到,该模块完成了输入时钟 8 分频,此模块设计符合理论值。4.2.2 寻址计数器模块寻址计数器主要用于产生对ROM寻址输出波形数据的寻址信号,寻址空间为512字节,寻址计数器模块图元文件如图4.4所示:图4.4 寻址计数器模块其核心程序如下: process(clk)variable count:std_logic_vector(8 downto 0); beginif (clkeve
26、nt and clk=1)then-时钟上升沿检测if(count0);-计数清零end if;end if;address=count;-输出寻址信号end process;在Quartus II中仿真结果如图4.5所示:图4.5 计数地址仿真结果由于系统ROM寻址地址采用9位地址数,所以寻址计数器通过时钟 CLK产生寻址空间为512字节的地址。由以上仿真结果看出,寻址计数模块可以产生稳定有效的寻址地址。4.2.3 模360加法器设计模360加法器用来产生120的相移, 以形成三相相差为120的输出波形。由于寻址空间为512 字节,所以在此模块中地址每次加170,输出寻址地址产生1/3的相位
27、差,当输出寻址数大于512 时,须对寻址地址进行取模处理,即超出设定值作减512处理。系统模360 加法器图元模块如图4.6所示:图4.6 寻址地址移相模块地址移相模块核心代码如下所示: process(d)variable temp:std_logic_vector(7 downto 0);begintemp:=d+170;-相移120if(temp512)thendout=temp;-将移相后的地址输出elsedout=temp-512;-加法计满后,对地址进行取模end if;end process;该模块在Quartus II中的仿真结果下图4.7所示:图4.7 模360加法器仿真结果
28、由仿真结果可知,寻址地址在通过模360加法器模块后,地址向后移1/3 个寻址空间,仿真结果在理论值范围中。4.2.4 波形储存ROM设计波形ROM模块主要用于存储各种波形数据, 以便通过寻址计数器寻址输出并经D/ A转换来输出各种波形, 其中包括方波、三角波。在系统中,该模块的图元模块如图4.8所示:图4.8 波形存储模块在模块程序中,由于方波波形简单,变化缓慢,波形产生通过每计数半个寻址空间一次翻转,形成方波,周期为一个寻址空间计数时间。process(address,sel) beginif(sel=00)then-波形控制选择,输出方波if(address256)then-当地址计数至半
29、个寻址空间,波形数据值为data1);elsedata0);-剩余计数空间,波形数据值为0 end if;而三角波的产生程序,当检测到地址处于前半个周期时,地址每作一次计数,输出数据进行加同一个数操作,当地址处于后半个周期时,进行减同一个数操作。将一个寻址空间计数时间作为三角波的周期,程序采用前半个周期作加1操作,后半个周期作减1操作。三角波的逻辑发生程序如下:elsif(sel=01)then-波形选择控制,输出三角波if(address256)then-前半个周期进行加1 data=address(7 downto 0);elseaddresstemp=512-address;-后半个周期
30、作减1操作data=addresstemp(7 downto 0);-三角波波形数据输出end if;对ROM模块进行仿真,其仿真结果如下图4.9、图4.10所示:图4.9 方波存储ROM模块仿真结果图4.10 三角波存储ROM模块仿真结果由Quartus II中仿真结果可知,当方波寻址地址计数至一半时,输出数据从0跳变值255,而再经过半个寻址周期再从255跳至0,如此重复跳变;而选择三角波输出时,当每次地址加1的时候,输出八位波形数据开始计数,从0加到1,然后每来一个地址就加一次,直到增到255,等下一个地址到输出波形数据将从255减到254,然后每来一个地址就减一次,直到减到0,依次重复
31、,输出的波形数据经过DAC0832数模转换分别形成方波、三角波。4.2.5 LPM定制正弦波ROM模块由于采用逻辑单元实现正弦波的波形ROM比较复杂,需要输入正弦波形数据查找表,正弦波查找表取值样点较多,所以系统中采用LPM_ROM来定制正弦ROM模块。正弦ROM模块图元在系统中如图4.11所示:图4.11 LPM定制的正弦ROM模块在通过LPM定制正弦ROM模块之前,需要生产储存器中波形数据的初始化文件,所谓储存器的初始化文件就是可调出存于 RAM或ROM中的数据或程序文件代码。在EDA设计中,通过EDA设计的存储器中的代码文件必须有EDA软件在同一编译时自动调入,所以此类代码文件的类型,即
32、初始化文件格式须满足一定的要求,在 Quartus II中接受两种格式的初始化文件,(.mif)格式和(.hex)格式。生成MIF文件的方式有很多种,在此次设计中,正弦ROM初始化文件采用的是专用MIF文件生成器,MIF生成软件Mif Maker2010。打开软件后,先对所需的MIF文件对应的波形参数进行设置,选择“查看”后,在下拉菜单中选择“全局参数设置”,设置正弦波参数数据长度为512,地址位宽为8位,初始相位为0度,其参数设置如图4.12所示。在设置完参数后,选择“设定波形”,再选择“正弦波”,如图4.13所示,选择文件名“sin_rom.mif”存盘。图4.12 正弦波形参数设置图4.
33、13 正弦波采样波形在完成存储器初始化文件 sin_rom.mif生成后,需要开始通过 LPM对MIF 文件调用,生成正弦波波形数据存储ROM模块。在原理图编辑窗, 存盘名为SIM_ROM1 , 创建工程后, 单击左下的MegaWizard Plug-InManager管理器按钮,进入图 4.14的LPM模块调用编辑:图4.14 LPM模块调用在完成LPM_ROM模块命名后,设置ROM模块的参数设置(图4.15)和初始化文件的配置(图4.16):图4.15 LPM_ROM参数设置图4.16 加载初始化配置文件在LPM_ROM 模块定制是, 加入通过软件生成的初始化配置文件sin_rom.mif
34、文件,通过对正弦LPM_ROM模块的仿真,得到如图 4.17所示结果:图4.17 LPM_ROM仿真测试在LPM_ROM的仿真波形图中,随着CLK上升沿的出现,对应的波形数据输出与 MIF文件中的取样数据完全吻合。即完成了正弦波波形数据输出, LPM_ROM输出通过数模转换在示波器上显示正弦波波形。4.2.6 二选一选择输出模块本次设计中,由于正弦波形 ROM模块与方波、三角波波形 ROM模块分开设计,所以在波形数据输出时需要通过一个数据选择模块来选择输出波形数据,通过DAC0832数模转换,最后在示波器上显示波形,其图元如图 4.18所示:图4.18 二选一波形选择输出模块二选一数据选择输出
35、主要程序如下:process(sel)- 波形数据选择信号检测beginif(sel=10)then- 当波形选择“10”, 选择正弦波Q=data2;- 输出正弦ROM中的波形数据elseQ=data1;- 否则输出方波或者三角波波形数据end if;end process;最后通过软件仿真,模块仿真结果如图4.19所示:图4.19 波形数据选择模块仿真结果由仿真结果可以看出,当波形选择信号输入“ 10”选择正弦波输出时,二选一数据选择模块输出DATA2,即正弦波形ROM的数据,该模块测试正确。4.3各模块总体仿真在完成各子模块仿真后,创建顶层原理图文件,根据系统方案将各模块连接起来,寻址计
36、数模块在根据分频后的时钟信号产生寻址地址后,经过波形存储ROM模块,最后通过DAC数模转化外围电路,在示波器中显示波形。通过Quartus II对总体模块进行仿真,其仿真原理图如图4.20所示:图4.20波形发生器总模块仿真图对总模块编译仿真后,其仿真结果如图4.21、4.22、4.23所示:图4.21 方波波形数据输出仿真结果图4.22 正弦波波形数据输出仿真结果图4.23 三角波波形数据输出仿真结果通过仿真结果可以看出,波形数据特点以及相位变化 的仿真结果都符合要求,说明系统设计方案正确可行。第五章系统调试在完成软件部分的仿真设计后,并将外围数模转换电路的设计焊接工作完成,开始系统软硬件联
37、合调试。将ROM中存储的数据接入D/A模块后,将DAC输出端接上示波器,一开始示波器可以看到近似方波和锯齿波的波形,正弦波的波形少了1/4,由于第一次调试是利用EDA试验开发平台的DAC转换模块,所以问题出现在DAC外围电路的概率不大,然后就是软件部分,在核对完各模块的程序部分后,初步认为应该是存储器ROM的初始化文件参数没有设置好。在重新更改正弦波的波形采样参数后,接入系统中进行调试,但是效果并不很明显,出现的是方波和锯齿波,正弦波形依旧是缺少1/4左右,在试过几次更改正弦ROM调用的sin_rom.mif文件后,问题还是没有得到解决。然后,再把注意转到程序部分,检查后发现,由于系统采用的是
38、9位地址,但是寻址计数器模块中的寻址空间却只有360字节,没有将9位地址写满, 影响到后面的ROM寻址输出,后来将寻址计数中的寻址空间加大至512,这样就正好在9位地址计数计满时寻址空间达到最大值,再将ROM模块中的地址对应寻址计数器稍作修改,最后在示波器上观察到方波,三角波及正弦波的稳定波形。在示波器能够观察到稳定正确的波形后,便开始将另一组输出接入本次设计的DAC数模转换模块,再通过示波器的两路输入,对同一波形的不同相位进行观察比较, 但本次设计的数模转换模块并没有起到数模转换作用,因为示波器的第二路输入没有波形出现,调试出错。在检查完电路后,并没有漏焊或短接的焊接错误,DAC0832芯片
39、的接法也没有错误,一开始以为可能是方案不对,便将DAC0832外接的单运放UA741换成了双运放LM324,但仍旧没有波形输出,几次调试都无果,利用示波器检查DAC0832的输出,并没有错误,通过网络检查芯片的用法,又将UA741从原来的单电源工作改成了双电源工作,但是出来的波形也很不分辨率不高,波形不稳定。最后在检查连接时,原因在于使用的直流稳压电源没有将地共接在一起,导致波形波动太大,无法识别。在将线路重新连接检查后,外围数模转换成功实现了波形输出。通过示波器观察,两组相位波形如图5.1、5.2、5.3所示:图5.1 方波波形输出结果图5.2 三角波波形数据结果图5.3 正弦波波形数据结果
40、由于示波器限制,从波形图可以看出,两路波形相位相处240左右,寻址地址经过了两次移相处理,基本实现了移相功能。系统调试结束,本次设计基本实现三相多波形信号发生器的基本功能。图5.4是DAC数模转化模块的焊接成品图:图5.4 DAC0832数模转换电路第六章结论通过本次设计,基本实现了三相多波形信号发生器的产生,此次设计通过DDS技术与可编程逻辑器件CPLD相结合,运用Quartus II开发平台实现多种波形输出,包括方波、三角波、正弦波,并通过地址移相使得输出波形实现相位相差120。而且,由于CPLD 具有可编程重置特性, 因而可以方便地改变控制方式或更换波形数据,而且简单易行,易于系统升级,
41、同时具有很高的性价比。从开始准备,查找资料、确定方案、设计模块、硬件焊接、仿真调试到实现课题要求,经过几个月的时间,设计结合任波形发生器的产生原理及直接频率合成技术的理论,完成了三相多波形发生器的功能实现,归纳起来主要做了如下几方面的工作:1、基于 VHDL 硬件描述语言实现了系统中各个模块的所需功能,并逐个通过仿真;2、设计了 LPM_ROM 正弦定制 ROM 模块,实现了正弦波形数据存储;3、利用 DAC0832 实现了外围电路的数模转换功能;并能通过够稳定输出多种波形。本次设计虽然整体上基本实现了三相多波形的功能要求,但是仍有许多不足之处,由于 EDA 开发平台中芯片时钟检测出现问题,在
42、示波器中的分频倍数和仿真的分频倍数不一样,使得波形之间的相位变化不是很准确,并且,在功能上,系统没有加入调幅功能,波形幅度只能通过数模转换的外围电路调 节,在移相模块中,由于调试的时间有限,逻辑关系不是很严密,尚存有改进之处。通过本次毕业设计,加深了解了波形发生器的市场需求,以及可编程逻辑器件的电路设计,但在实际的情况中,应该考虑实际需要,多加改善设计方案,在实现信号发生器功能的同时考虑完善方案细节。参考文献1. Timothy M. Rowan, and Russel J. Kerkman, A new synchronous current regulatorandan analysis of current r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年护士职业资格(高级)临床护理技能备考试题及参考答案
- 2026年急诊病历书写规范试题及答案
- 2026年临床执业医师精神神经专项模拟试卷及答案
- 2026年煤矿培训考核模拟试题附参考答案详解(A卷)
- 2026年青海(公务员)行测考试真题试卷
- 2026年全国高压电工证考试练习题库(含答案)
- 2026年人教版高二数学下册第 2 单元测试卷 (含答案及解析)
- 一线调研第173期:中卫市精细化工产业发展现状、问题与建议
- 2026年校招:浙商银行真题及答案
- 2026年校招:中国广核真题及答案
- 初中音乐八年级下册《阳关三叠》教学设计
- 伦敦美甲行业调研分析报告
- 招标人主体责任履行指引
- 2025年自考《犯罪学13144》真题和答案
- 美发店分红权合同范本
- 药事法规和药学知识培训课件
- 《管理学基础(第3版)》高职全套教学课件
- 快速换型SMED教学课件
- 保安大门岗培训
- 石油化工安装工程概算指标说明(2019版)
- 雨季安全案例分享会
评论
0/150
提交评论