基于CPLD多波形信号发生器设计说明.doc

上传人:知****量 文档编号:43130755 上传时间:2022-09-16 格式:DOC 页数:31 大小:14.20MB
返回 下载 相关 举报
基于CPLD多波形信号发生器设计说明.doc_第1页
第1页 / 共31页
基于CPLD多波形信号发生器设计说明.doc_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《基于CPLD多波形信号发生器设计说明.doc》由会员分享,可在线阅读,更多相关《基于CPLD多波形信号发生器设计说明.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第一章 绪论1.1 研究容与意义 高精度的信号源对通信系统、电子对抗以与各种电子测量技术十分重要。随着电子技术的发展,对信号源频率的准确度、稳定度,以与频谱纯度等方面要求越来越高。传统的信号发生器由于波形精度低,频率稳定性差等缺点,已经不能满足许多实际应用的需要。本系统设计的函数发生器是以可编程逻辑器件CPLD为核心,采用直接频率合成技术,通过数模转换电路,构成一个精度较高,波形稳定的函数信号发生器。较传统的频率合成技术相比,直接频率合成技术(Direct Digital Synthesis,简称DDS),具有频率分辨率高、频率转变速度快、输出相位连续、相位噪声低、可编程和全数字化、便于集成等

2、突出优点,使其得到越来越广泛的应用,成为众多电子系统中不可缺少的组成部分。在现代电子技术中,信号源在各种实验应用和实验测试处理中应用非常广泛作,为激励源,仿真各种测试信号。本文根据信号波形的产生特点,采用基于 CPLD/FPGA 的 VHDL 硬件描述语言,仿真实现了多波形发生器的设计。仿真结果输出较高精度、稳定的波形信号,可以满足测量或各种实际需要,方便、简易实用。1.2 国外研究概况传统的波形发生器多采用模拟电路或单片机或专用芯片,由于成本高或控制方式不灵活或波形种类少不能满足实际需求。目前市场上的数字信号发生器主要采用直接数字合成技术,这种波形发生器不仅可以产生可变频的载频信号、各种调制

3、信号,同时还能和计算机配合产生用户自定义的有限带宽的任意信号,可以为多领域的测试提供宽带宽、高分辨率的测试信号。从目前发展状况来看,国外数字信号发生器的研制和生产技术已经较为成熟。国市场上的波形发生器,其电路形式有采用运放与分立元件构成;也有采用单片集成的函数发生器,而在现代电子系统设计中, DDS技术发展迅速,由于其易于单片集成,积小,价格低,功耗小,因此其应用也越来越广泛。并且在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以与集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。1.3 本文主要容本文的设计主要基于可编程逻辑器件CP

4、LD设计多波形信号发生器,由VHDL编程实现,并通过外围数模转换电路,完成函数信号发生器的设计,最后对整个波形发生器进行调试仿真。第一章为对多波形信号发生器的研究容与发展的综合概述。第二章为系统设计平台介绍、系统设计方式与原理框图概述。第三章为硬件设计与外围电路方案介绍。第四章为系统的软件设计与各模块的具体功能介绍。第五章介绍了系统调试过程、解决问题与调试仿真结果。第六章是为本次设计作综合总结。第二章 系统概述2.1 系统设计平台介绍EDA(Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言

5、HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以与逻辑优化和仿真测试等项功能,直至实现既定性能的电子线路系统功能。本系统通过可编程逻辑器件CPLD设计,其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,工作可靠性好等,CPLD器件的设计可分为设计输入,设计实现和器件编程三个步骤与相应的功能仿真,时序仿真和器件功能测试三个验证过程。可编程逻辑器件CPLD设计流程如图2.1所示:图2.1 可编程逻辑器件设计流程图如图2.1所示,设计输入

6、可分为两种类型,图形输入和HDL文本输入,常用的有原理图输入和应用硬件描述语言设计输入,在下载之前,通过软件进行综合和仿真,这种设计方法可以节约设计周期,设计灵活性,成本低。由于其可编程特性,可以通过软件对系统功能进行修改,易于更改和开发。在硬件描述语言方面,本系统采用了VHDL硬件描述语言, VHDL全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language是EDA技术的重要组成部分,由美国国防部发起创建,由IEEE (The Institute of Electrical and Electronic

7、s Engineers)进一步发展并发布,是硬件描述语言的业界标准之一。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力。相比其他硬件描述语言,VHDL 的优势表现在以下几点:(1) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。(2) VHDL采用类似高级语言的语句格式完成对硬件行为的描述,具备更强的模块化能力,并拥有良好的可读性以与程序的移植性。(3) VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或

8、结构描述,也可以采用三者混合的混合级描述。本次设计是基于Quartus II软件设计的,Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以与AHDL(Altera Hardware Description Language)等多种设计输入形式,嵌自有的综合器以与仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。图2.2 Quartus II设计流程图图2.2上排所示的是Quartus II编译设计的主控界面,它显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件

9、汇编、时序参数提取以与编程下载几个步骤。图2.2下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。2.2 信号发生器设计方式介绍Direct Digital Synthesis(DDS)是20世纪60年代末出现的第三代频率合成技术。用DDS技术来设计制作一个基于CPLD的三相多波形函数发生器,并使它能输出正弦波、三角波、方波等波形信号源,三种波形的相位差为120。信号发生器中的CPLD芯片是DDS的控制与数据处理的核心,电路系统主要由数控分频、寻址计数器、模360加法器、波形数据储存ROM和外围DAC转换电路组成。波形数据产生器由数控分频、寻址计数器、正弦RO

10、M、方波三角波ROM构成。在时钟信号发生器作用下,根据输入数据不同产生不同的分频比,数控分频生成相应频率的时钟信号作为寻址计数器的输入时钟,产生对ROM进行寻址的地址,输出波形数据后,再由DAC电路数模转换处理后输出最终所需要的波形信号。本系统采用Quartus II开发平台,VHDL语言编程实现。方波和三角波波形ROM模块利用逻辑单元实现ROM设计,由于正弦查找表较为复杂,用逻辑单元实现数据较多,所以正弦ROM采用LPM_ROM定制,完成外围电路的焊接之后,通过Quartus II把编写完的程序烧录入CPLD芯片,再通过示波器对整个波形发生器进行调试,使其达到预期的效果。2.3 系统原理框图

11、介绍根据设计要求,多波形信号发生器由3部分组成,即时钟信号发生器、波形数据产生器和D/A转换电路。晶体振荡器产生稳定度很高的时钟信号,在时钟信号的作用下,波形数据产生器生成频率可变的波形数据数字信号,经数模转换电路最终输出所需波形信号。幅度的调节可通过改变D/A转换芯片电阻网络的基准电压实现。基于CPLD的波形数据产生器系统模块如图2.3所示。图2.3 波形数据系统框图图中DFR为数控分频器,根据仪器面板4位数字量开关产生的预置数据D输出不同频率的时钟,以改变输出信号的频率。XunZhi根据输入的始终产生计数地址,在时钟的作用下,ROM,SIN_ROM模块分别产生方波和三角波、正弦波的波形数据

12、,再通过m360模块将地址进行移相处理,可输出不同相位的波形,m21(数据选择器)在面板上的波形选择开关sel的控制下,选择输出不同的波形数据,送至D/A转换电路。D/A转换采用8位的DAC0832芯片。第三章 硬件与外围电路设计3.1 CPLD与芯片介绍CPLD复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。通过借助集成开发软件平台进行基本的设计,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD编

13、程技术采用电可擦除储存单元的E2PROM或Flash Memory技术,CPLD被编程后改变了电可擦除储存单元中的信息,掉电后可保存。由于部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。本次设计采用Altera公司的ACEX1K系列EP1K10TC100-3,其典型逻辑门数(包括逻辑门和RAM)为10000门,最大可用系统门数为56000门,逻辑单元(Logic elements)为576个,逻辑阵列模块(Logic array blocks)为36个,嵌入式阵列模块(Embedded array blocks)为3个,R

14、AM总容量为12288字节,EP1K10TC100-3具有100个管脚,除电源引脚、地线引脚、全局控制引脚和JTAG引脚外,共提供了66个可用I/O脚,这些引脚可以任意配置为输入、输出和双向方式,芯片的工作电压为+5V。通常情况下在硬件调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对FPGA进行配置。配置芯片在每次系统上电以后自动将配置文件加载到FPGA中形成电路。3.2 硬件总体方案介绍由于模拟电路复杂程度较高,而且在检查电路的时候会有很大的工作量,且可调性差。并且电路带来的高频干扰也会更大,影响波形效果。而单片机电路确定方案后不易更改硬件电路,可变性不高,功能修改完善不

15、方便,所以本次设计除了采用CPLD设计电路,由于其可编程特性,在设计调试时可以不断改变电路硬件的逻辑关系,而不必改变系统的硬件结构,缩短了设计周期,提高了设计效率。在完成模块程序编译仿真后,通过USB-Blaster编程器将系统配置文件下载入CPLD芯片,分别将数控分频输入、波形选择控制输入以与波形数据输出连接CPLD主控芯片。图3.1是本次设计的基本硬件框图:图3.1 系统基本硬件电路外部输入通过四位拨码开关控制分频倍数,可对频率进行调节,在通过两位拨码开关控制波形选择,系统时钟信号由开发箱上提供,八位波形数据输出接试验箱的DAC转换模块,由于示波器只有两路输入,所以需要再设计一个D/A转换

16、电路将两种相位的波形进行比较。3.3 CPLD与外围电路设计3.3.1 CPLD主控电路设计本次设计主控电路设计基于百科融创EDA教学开发平台,CPLD芯片为Altera公司的EP1K10TC100-3,共100个管脚,提供66个 可用I/O脚,系统包括控制输入与波形数据输出,共使用23个I/O脚,图3.2为CPLD主控芯片管脚分配图。图3.2 CPLD主控芯片I/O6、I/O7脚为波形控制开关,I/O9引脚为外部时钟输入口,I/O71、I/O70、I/O69、I/O68为数控分频外部控制端口,I/O20I/O23、I/O26I/O28、I/O30脚为初始相位八位波形数据输出端;I/O31I/

17、O34、I/O45I/O48为移向后的波形数据输出端,波形数据输出接DAC模块的八位数据输入,通过示波器观察输出波形信号。3.3.2 DAC数模转换模块设计由于从波形ROM中读出的波形数据还只是一个数字信号,要得到最后的输出信号必须经过数模转换器。因此在波形ROM输出之后要设计一个D/A转换电路。本次设计采用DAC0832来实现D/A转换,DAC0832是双列直插式8位D/A转换器,能完成数字量输入到模拟量(电流)输出的转换。由于其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。数模(D/A)转换电路的作用是把已经合成的波形幅值的数字量转换成模拟量,其速度和特性直接影

18、响整个系统的性能。D/A转换器件的首要特性要高速,其次是转换位数,本设计中选用8位的D/A芯片DAC0832。波形幅度量化序列经D/A转换后成为阶梯波。D/A的输出用电压形式表示一般应为:(式3.1)式中D为D/A的输入数据值,N为D/AC的位数,即通常所指的D/AC的分辨率,为输入D/A的参考电压。DAC0832对信号进行数模转换后,将数字信号恢复为模拟信号,再由UA741构成的放大电路进行放大处理,完善波形信号,使波形能够达到标准效果。外围DAC电路原理图如图3.3所示:图3.3 DAC0832外围电路设计在DAC外围电路中,UA741接+12V、-12V电源,DAC0832接5V电源,在

19、电源接口处接一电容,起滤除杂波作用,在信号输出加入了滤波电路,接入示波器,得到稳定的波形信号。第四章 软件程序设计程序部分基于Quartus II 通过VHDL语言实现。系统采用自顶向下设计原则,先完成各个子模块仿真设计,综合编译后,通过软件生成图元文件,再设计系统顶层原图,将各个模块连接,最后进行系统总体仿真。4.1 系统流程设计本次设计主要包括数控分频模块、寻址计数模块、360移相模块、波形ROM储存模块、波形选择模块等,系统总体设计流程图如下图4.1所示:图4.1 系统设计流程图波形ROM 模块针对不同的波形信号,通过不同的方式设计ROM模块,像三角波方波这样波形简单变化缓慢的波形,通过

20、逻辑单元实现ROM设计,而对于正弦波这样的波形,查找表比较复杂,波形数据较大,所以利用了LPM_ROM定制法设计正弦波的存储ROM,最后再通过波形选择输出波形数据。4.2 子模块的设计4.2.1 数控分频器数控分频器的功能是在输入端输入不同数据时,对输入时钟产生不同的分频比,输出不同频率的时钟,以改变输出信号的频率。本设计中利用并行预置数的减法计数器实现,他的工作原理是:减法计数器在并行预置数的基础上,在时钟的作用下进行减计数,当计数值为零时产生溢出信号,加载预置数据,并且将溢出信号作为分频器的输出信号,实现N分频信号输出。其分频系数N为 (式4.1)D为预置数的值。为了得到占空比为50%的矩

21、形时钟信号,将输出再进行二分频。由此,该分频器的总分频系数为2N。本设计中一个波形周期由64个时钟信号组成,则输出信号频率为: (式4.2)时钟频率为24 MHz。数控分频器模块如图4.2所示:图 4.2 数控分频器模块略去声明部分,数控分频器的核心程序如下所示:architecture one of kongzhi is signal full:std_logic; -定义部溢出标识 signal temp:std_logic_vector(1 downto 0);beginp1:process(clk) -N+1分频进程 variablet9:integer range 0 to 31;b

22、egin if (clkevent and clk=1)then -上升沿检测 if(cnt9=0)thencnt9:=d; -重新加载预置数Dfull=1; -计数值为零时,产生溢出信号elset9:=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; -翻转一次,由此实现二分频else temp=temp+1; -计数值加一end

23、if;end if;end process;fout=not temp(0); -选择二分频输出end 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_l

24、ogic_vector(8 downto 0);begin if (clkevent 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的输出波形。由

25、于寻址空间为512 字节,所以在此模块中地址每次加170,输出寻址地址产生1/3的相位差,当输出寻址数大于512 时,须对寻址地址进行取模处理,即超出设定值作减512处理。系统模360 加法器图元模块如图4.6所示:图4.6 寻址地址移相模块地址移相模块核心代码如下所示:process(d) variable temp:std_logic_vector(7 downto 0); begin temp:=d+170; -相移120if(temp512)thendout=temp; -将移相后的地址输出else dout=temp-512; -加法计满后,对地址进行取模end if;end pro

26、cess;该模块在Quartus II中的仿真结果下图4.7所示:图4.7 模360加法器仿真结果由仿真结果可知,寻址地址在通过模360加法器模块后,地址向后移1/3个寻址空间,仿真结果在理论值围中。4.2.4 波形储存ROM设计波形ROM模块主要用于存储各种波形数据, 以便通过寻址计数器寻址输出并经D/ A转换来输出各种波形, 其中包括方波、三角波。在系统中,该模块的图元模块如图4.8所示:图4.8 波形存储模块在模块程序中,由于方波波形简单,变化缓慢,波形产生通过每计数半个寻址空间一次翻转,形成方波,周期为一个寻址空间计数时间。process(address,sel)begin if(se

27、l=00)then -波形控制选择,输出方波 if(address256)then -当地址计数至半个寻址空间,波形数据值为data1);else data0); -剩余计数空间,波形数据值为0end if;而三角波的产生程序,当检测到地址处于前半个周期时,地址每作一次计数,输出数据进行加同一个数操作,当地址处于后半个周期时,进行减同一个数操作。将一个寻址空间计数时间作为三角波的周期,程序采用前半个周期作加1操作,后半个周期作减1操作。三角波的逻辑发生程序如下:elsif(sel=01)then -波形选择控制,输出三角波 if(address256)then -前半个周期进行加1 data=

28、address(7 downto 0);else addresstemp=512-address; -后半个周期作减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,然后每来一个地址就加

29、一次,直到增到255,等下一个地址到输出波形数据将从255减到254,然后每来一个地址就减一次,直到减到0,依次重复,输出的波形数据经过DAC0832数模转换分别形成方波、三角波。4.2.5 LPM定制正弦波ROM模块由于采用逻辑单元实现正弦波的波形ROM比较复杂,需要输入正弦波形数据查找表,正弦波查找表取值样点较多,所以系统中采用LPM_ROM来定制正弦ROM模块。正弦ROM模块图元在系统中如图4.11所示:图4.11 LPM定制的正弦ROM模块在通过LPM定制正弦ROM模块之前,需要生产储存器中波形数据的初始化文件,所谓储存器的初始化文件就是可调出存于RAM或ROM中的数据或程序文件代码。

30、在EDA设计中,通过EDA设计的存储器中的代码文件必须有EDA软件在同一编译时自动调入,所以此类代码文件的类型,即初始化文件格式须满足一定的要求,在Quartus II中接受两种格式的初始化文件,(.mif)格式和(.hex)格式。生成MIF文件的方式有很多种,在此次设计中,正弦ROM初始化文件采用的是专用MIF文件生成器,MIF生成软件Mif Maker 2010。打开软件后,先对所需的MIF文件对应的波形参数进行设置,选择“查看”后,在下拉菜单中选择“全局参数设置”,设置正弦波参数数据长度为512,地址位宽为8位,初始相位为0度,其参数设置如图4.12所示。在设置完参数后,选择“设定波形”

31、,再选择“正弦波”,如图4.13所示,选择文件名“sin_rom.mif”存盘。图4.12 正弦波形参数设置图4.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 加载初

32、始化配置文件在LPM_ROM模块定制是,加入通过软件生成的初始化配置文件sin_rom.mif文件,通过对正弦LPM_ROM模块的仿真,得到如图4.17所示结果:图4.17 LPM_ROM仿真测试在LPM_ROM的仿真波形图中,随着CLK上升沿的出现,对应的波形数据输出与MIF文件中的取样数据完全吻合。即完成了正弦波波形数据输出,LPM_ROM输出通过数模转换在示波器上显示正弦波波形。4.2.6 二选一选择输出模块本次设计中,由于正弦波形ROM模块与方波、三角波波形ROM模块分开设计,所以在波形数据输出时需要通过一个数据选择模块来选择输出波形数据,通过DAC0832数模转换,最后在示波器上显示

33、波形,其图元如图4.18所示:图4.18 二选一波形选择输出模块二选一数据选择输出主要程序如下: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各模块总体仿

34、真在完成各子模块仿真后,创建顶层原理图文件,根据系统方案将各模块连接起来,寻址计数模块在根据分频后的时钟信号产生寻址地址后,经过波形存储ROM模块,最后通过DAC数模转化外围电路,在示波器中显示波形。通过Quartus II对总体模块进行仿真,其仿真原理图如图4.20所示:图4.20波形发生器总模块仿真图对总模块编译仿真后,其仿真结果如图4.21、4.22、4.23所示:图4.21 方波波形数据输出仿真结果图4.22 正弦波波形数据输出仿真结果图4.23 三角波波形数据输出仿真结果通过仿真结果可以看出,波形数据特点以与相位变化 的仿真结果都符合要求,说明系统设计方案正确可行。第五章 系统调试在

35、完成软件部分的仿真设计后,并将外围数模转换电路的设计焊接工作完成,开始系统软硬件联合调试。将ROM中存储的数据接入D/A模块后,将DAC输出端接上示波器,一开始示波器可以看到近似方波和锯齿波的波形,正弦波的波形少了1/4,由于第一次调试是利用EDA试验开发平台的DAC转换模块,所以问题出现在DAC外围电路的概率不大,然后就是软件部分,在核对完各模块的程序部分后,初步认为应该是存储器ROM的初始化文件参数没有设置好。在重新更改正弦波的波形采样参数后,接入系统中进行调试,但是效果并不很明显,出现的是方波和锯齿波,正弦波形依旧是缺少1/4左右,在试过几次更改正弦ROM调用的sin_rom.mif文件

36、后,问题还是没有得到解决。然后,再把注意转到程序部分,检查后发现,由于系统采用的是9位地址,但是寻址计数器模块中的寻址空间却只有360字节,没有将9位地址写满,影响到后面的ROM寻址输出,后来将寻址计数中的寻址空间加大至512,这样就正好在9位地址计数计满时寻址空间达到最大值,再将ROM模块中的地址对应寻址计数器稍作修改,最后在示波器上观察到方波,三角波与正弦波的稳定波形。在示波器能够观察到稳定正确的波形后,便开始将另一组输出接入本次设计的DAC数模转换模块,再通过示波器的两路输入,对同一波形的不同相位进行观察比较, 但本次设计的数模转换模块并没有起到数模转换作用,因为示波器的第二路输入没有波

37、形出现,调试出错。在检查完电路后,并没有漏焊或短接的焊接错误,DAC0832芯片的接法也没有错误,一开始以为可能是方案不对,便将DAC0832外接的单运放UA741换成了双运放LM324,但仍旧没有波形输出,几次调试都无果,利用示波器检查DAC0832的输出,并没有错误,通过网络检查芯片的用法,又将UA741从原来的单电源工作改成了双电源工作,但是出来的波形也很不分辨率不高,波形不稳定。最后在检查连接时,原因在于使用的直流稳压电源没有将地共接在一起,导致波形波动太大,无法识别。在将线路重新连接检查后,外围数模转换成功实现了波形输出。通过示波器观察,两组相位波形如图5.1、5.2、5.3所示:图

38、5.1 方波波形输出结果图5.2 三角波波形数据结果图5.3 正弦波波形数据结果由于示波器限制,从波形图可以看出,两路波形相位相处240左右,寻址地址经过了两次移相处理,基本实现了移相功能。系统调试结束,本次设计基本实现三相多波形信号发生器的基本功能。图5.4是DAC数模转化模块的焊接成品图:图5.4 DAC0832数模转换电路第六章 结论通过本次设计,基本实现了三相多波形信号发生器的产生,此次设计通过DDS技术与可编程逻辑器件CPLD相结合,运用Quartus II开发平台实现多种波形输出,包括方波、三角波、正弦波,并通过地址移相使得输出波形实现相位相差120。而且,由于CPLD 具有可编程

39、重置特性, 因而可以方便地改变控制方式或更换波形数据,而且简单易行,易于系统升级,同时具有很高的性价比。从开始准备,查找资料、确定方案、设计模块、硬件焊接、仿真调试到实现课题要求,经过几个月的时间,设计结合任波形发生器的产生原理与直接频率合成技术的理论,完成了三相多波形发生器的功能实现,归纳起来主要做了如下几方面的工作:1、基于VHDL硬件描述语言实现了系统中各个模块的所需功能,并逐个通过仿真;2、设计了LPM_ROM正弦定制ROM模块,实现了正弦波形数据存储;3、利用DAC0832实现了外围电路的数模转换功能;并能通过够稳定输出多种波形。本次设计虽然整体上基本实现了三相多波形的功能要求,但是

40、仍有许多不足之处,由于EDA开发平台中芯片时钟检测出现问题,在示波器中的分频倍数和仿真的分频倍数不一样,使得波形之间的相位变化不是很准确,并且,在功能上,系统没有加入调幅功能,波形幅度只能通过数模转换的外围电路调节,在移相模块中,由于调试的时间有限,逻辑关系不是很严密,尚存有改进之处。通过本次毕业设计,加深了解了波形发生器的市场需求,以与可编程逻辑器件的电路设计,但在实际的情况中,应该考虑实际需要,多加改善设计方案,在实现信号发生器功能的同时考虑完善方案细节。参考文献1. Timothy M. Rowan, and Russel J. Kerkman, A new synchronous cu

41、rrent regulatorandan analysis of current regulated PWM invertersJ, IEEE Transactions on IA,Vol.22, No.4 July/August 2006, pp.678-6902. IEEE Standard VHDL Language Reference ManualM, June 1994.IEEE Std pp.1076-19933. Bob ZeidmanDesigning With FPGAs & CPLDs M.:航空航天大学, 20044.贾豫东、封吉平用FPGA实现任意波形发生器的两种方法J

42、.计算机测量与控制,2004,12(9):8958975 乔庐峰等VHDL数字电路设计教程M.:电子工业,20056.罗朝霞高书莉.CPLD/FPGA设计与应用M.:人民邮电,20077付慧生复杂可编程逻辑器件与应用设计M.:中国矿业大学,20038国洪,明山等可编程器件EDA技术与实践M.:机械工业,20049松、黄继业EDA技术实用教程(第四版)M :科学,201010洋EDA技术实用教程M :机械工业200511赜CPLD/FPGA与ASIC设计实践教程M :科学,200412秀娟、新华等EDA设计与仿真实践M :机械工业200413孔冬莲基于CPLD的函数信号发生器J 沙祥高等师专科学院学报 2006,(5).15-1814郭海青基于CPLD的多波形函数信号发生器设计J 现代电子技术2006,(17).70-7215 佳喜、仕CPLD的三相多波形函数发生器设计J 国外电子元器件2004,(6).23-2516延鹏、芝贤、徐宏宇、生波基于CPLD的多功能信号发生器设计J 航空工业学院学报2003,(20)47-4817丽、镇、厚军基于FPGA的多波形信号发生器J 专题技术研究2005,(35)4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁