《基于CPLD的三相多波形函数发生器.doc》由会员分享,可在线阅读,更多相关《基于CPLD的三相多波形函数发生器.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于CPLD的三相多波形函数发生器The Design of Three Phase MultiSignal Generator Based on CPLD摘 要直接数字频率合成(Direct Digital Synthesis,DDS)是20世纪60年代末出现的第三代频率合成技术,该技术从相位概念出发,以时域采样定理为基础,在时域中进行频率合成,它以可编程逻辑器件(CPLD)作为控制及数据处理的核心,可将波形数据用D/A转换器快速恢复。基于CPLD和DDS技术的函数发生器可以实现信号波形的多样化,同时大大提高输出信号的带宽。整个设计采用MAX+ plus II开发平台,VHDL编程实现,基于
2、可编程逻辑器件CPLD设计多波形信号发生器。用VHDL编程实现,其设计过程简单,极易修改,可移植性强。系统以CPLD为核心,采用直接数字合成技术,辅以必要的模拟电路,构成一个波形稳定,精度较高的函数信号发生器。系统的特色在于除晶体振荡器和A/D转换外,全部集成在一片CPLD芯片上,使系统大大简化。它可输出频率、幅度可调的正弦波、三角波、方波。另外由于CPLD具有可编程重置特性,因而可以方便地更换波形数据,且简单易行,带来极大方便。 关键词:信号发生器设计;三相;VHDL;CPLD;MAX+ plus IIABSTRACTDirect digital frequency synthesize(D
3、DFS) is a recently and rapidly developed technology which features high frequency resolutionThis paper briefly introduces the basic principle of DDS. The basic principle and performance of CPLD chipThen it mainly describes how to use CPLD chip to design a function generator of high accuracyThe princ
4、iple of three-phase multi-signal generator based on CPLD and DDS technology is introducedBased on these,the modules of CPLD design are givenThe multi-wave signal generator is designed based on program-mable logical component CPLDThe VHDL programming realization and the MAX+ plus II development platf
5、orm. Besides the crystal oscillator and the A/D transformation,the entire system completely integrates on the CPLD chipThe multi-wave signal generator may output the sine-wave,the triangle-wave,the square-waveThen downloaded under the situation which the entire system hardware connects do not change
6、,and finally output the special profile which user needsThe multi-wave signal generator generates wave which the conventional function signal generators cant makeMoreover because of the programmable reset feature of the CPLD,the generator can change the wave data conveniently and practice easilyThe
7、whole design realizes by the VHDL programmerIts design process has simple feature,easy modification and high transportationKeywords:Signal Generator Design;Three-phase;VHDL;CPLD;MAX+ plus II目 录1 引 言12基于CPLD的三相多波形函数发生器设计32.1 波形发生器系统的设计方法及其技术指标32.1.1设计方式概述32.1.2 三相函数多波形发生器技术指标52.1.3三相波形发生器设计方法概述52.2 设
8、计方案62.2.1 三相函数发生器设计原理62.2.2 多波形发生器的各个波形模块设计方式简介92.3 调试部分122.3.1 CPLD在使用中遇到的问题122.3.2 控制电路的调试132.3.3 DAC电路的调试132.3.4 程序的调试132.3.5 硬件电路的调试13结 论15参考文献16附录1 三相多波形函数发生器各模块的程序17附录2 元件介绍231 DAC0832232 LM324243 PM7128SLC84-15芯片25附录3电路原理图26附录4 英文资料及译文271英文资料272英文译文36致 谢431 引 言现代电子技术的核心技术是EDA(Electronic Desig
9、n Automation)。EDA技术就是依赖强大的电子计算机在EDA开发平台上,对硬件描述语言HDL(Hardware Description Language)系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。EDA使得电子技术领域各学科的界限更加模糊,更加护为包容:模拟与数字、软件与硬件、系统与器件、行为与结构、ASIC(Application Specific Integr
10、ated Circuit,专用集成电路)与FPGA(Field Programmable Gate Array)等。EDA技术在21世纪得到的很大进步,例如更大规模的FPGA和CPLD(Complex Programmable Logic Device)器件的不断推出;软硬件IP核(Intellectual Property)在电子行业的产业领域、技术领域和设计应用领域得到进一步的确认;系统级、行为验证级硬件描述语言(System C)的出现,使复杂电子系统和验证趋于简单。硬件描述语言VHDL全名是VHSIC(Very High Speed Integrated Circuit) Hardwa
11、re Description Language是EDA技术的重要组成部分,由美国国防部发起创建,由IEEE (The Institute of Electrical and Electronics Engineers)进一步发展并发布,是硬件描述语言的业界标准之一。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,VHDL支持各种模式的设计方法:自顶向下与自顶向上或混合方法,在面对当今电子产品生命周期缩短,需要多次重
12、新设计以融入最新技术、改变工艺等方面,VHDL具有良好的适应性。向器件作编程或适配习惯上叫做下载,这要通过下载软件平台或者下载电缆实现。这是设计过程中的重要步骤,可以利用MAX+PLUS软件在计算机上完成设计并下载到目标器件中。EDA工具软件大致可以分为5个模块:设计输入编辑器,仿真器,HDL综合器,适配器,下载器等。Direct Digital Synthesis(DDS)是20世纪60年代末出现的第三代频率合成技术。该技术从相位概念出发,以时域采样定理为基础,在时域中进行频率合成,它以可编程逻辑器件(CPLD)作为控制及数据处理的核心,将存于Flash ROM的波形数据用D/A转换器快速恢
13、复。DDS频率转换速度快,频率分辨率高,并在频率转换时可保持相位的连续,因而易于实现多种调制功能。DDS是全数字化技术,其幅度、相位、频率均可实现程控,并可通过更换波形数据灵活实现任意波形。此外,DDS易于单片集成,体积小,价格低,功耗小,因此DDS技术近年来得到了飞速发展,其应用也越来越广泛。基于CPLD和DDS技术的函数发生器可以实现信号波形的多样化,而且方便可靠,简单经济,系统易于扩展,同时可大大提高输出信号的带宽。CPLD为连续式互连结构,器件引脚到内部逻辑单元,以及各逻辑单元之间,是通过全局互连总线中的多路选择器或交叉矩阵选通构成信号通路。其主要特点是内部时间延时与器件逻辑结构等无关
14、,各模块之间提供了具有固定时延的快速互连通道,因此可以预测时间延时,容易消除竞争冒险等现象,便于各种逻辑电路设计。 本文的DDS系统以CPLD为核心,采用直接数字合成技术,辅以必要的模拟电路,构成一个波形稳定,精度较高的函数信号发生器。本系统的特色在于CPLD中集成了大部分电路,使系统大大简化,除输出所需的正弦波、方波、三角波,还可进行波形存储,三种波形之间的相位差均为120,是三相的CPLD系统。DDS的理论依据是奈奎斯特抽样定理。根据该定理,对于一个周期正弦波连续信号,可以沿其相位轴方向,以等量的相位间隔对其进行相位/幅度抽样,得到一个周期性的正弦信号的离散相位的幅度序列,并且对模拟幅度进
15、行量化,量化后的幅值采用相应的二进制数据编码。这样就把一个周期的正弦波连续信号转换成为一系列离散的二进制数字量,然后通过一定的手段固化在只读存储器ROM 中,每个存储单元的地址即是相位取样地址,存储单元的内容是已经量化了的正弦波幅值。这样的一个只读存储器就构成了一个与2周期内相位取样相对应的正弦函数表,因它存储的是一个周期的正弦波波形幅值,因此又称其为正弦波形存储器。此时,正弦波形信号的相位与时间成线性关系。根据这一基本关系,在一定频率的时钟信号作用下,通过一个线性的计数时序发生器所产生的取样地址对已得到的正弦波波形存储器进行扫描,进而周期性地读取波形存储器中的数据,其输出通过数模转换器及低通
16、滤波器就可以合成一个完整的、具有一定频率的正弦波信号。DDS电路一般包括系统时钟、相位累加器、相位调制器、ROM 查找表、D/A转换器和低通滤波器(LPF)。基于CPLD和DDS技术的函数发生器可以实现信号波形的多样化,而且方便可靠,简单经济,系统易于扩展,同时可大大提高输出信号的带宽。2基于CPLD的三相多波形函数发生器设计2.1 波形发生器系统的设计方法及其技术指标2.1.1设计方式概述在电子工程设计与测试中,常常需要一些具有特殊要求的信号,要求其波形产生多,频率方便可调。通常的信号产生器难以满足要求,市场上出售的任意信号产生器价格昂贵。在老师指导下,结合实际要求,我设计了一种基于CPLD
17、的三相多波形函数发生器,能输出正弦波、三角波、方波等波形信号,波形信号之间的相位差均为120。复杂可编程逻辑器件CPLD器件可以代替许多分立元器件,从而大大降低了电路板的复杂程度。对于CPLD器件的设计一般可以分为设计输入、设计实现和器件编程三个设计步骤以及相应的功能仿真、时序仿真和器件测试三个设计验证过程。设计输入有多种方式,目前最常用的有电路图和硬件描述语言两种,对于简单的设计,可采用原理图的方式设计,对于复杂的设计可使用原理图或硬件描述语言(Verilog, AHDL, VHDL语言),或者两者混用,采用层次化设计方法,分模块层次地进行描述。原理图设计方法主要是按照数字系统的功能采用具体
18、的逻辑器件组合来实现的把这些由具体器件实现逻辑功能的电路图输入到软件当中。这种设计方法比较直观。 硬件描述语言设计方法主要把数字系统的逻辑功能用硬件语言来描述,采用VHDL语言描述的数字系统大致有三种;其一称为行为描述,它用几个包含着若干顺序语句的进程描述输入与输出之间的转换关系;其二是数据流描述,用一系列的并发信号赋值语句描述输入与输出之间的关系;其三为结构描述方式,是通过元件之间的互联关系描述输出电路的结构。无论是原理图输入还是描述语言输入都各有其优点,原理图设计适合于对器件比较熟悉,元件之间的互联清楚,并且需要的设计比较简单的情况,而对于器件不熟悉,设计复杂的情况来说,使用硬件描述语言要
19、方便一些。设计实现:设计实现是指从设计输入文件到熔丝图文件(CPLD)的编译过程。在该过程中,编译软件自动地对设计文件进行综合、优化,并针对所选中的器件进行映射、布局、布线、产生相应的熔丝图或位流数据文件,在此过程中,由于编译软件给系统管脚的分配是比较杂乱的,为了电路板布线的方便,用户可以对输入/输出管脚进行管脚锁定。器件编程:器件编程就是将熔丝图文件或位流数据文件下载到相应的CPLD器件中,并与CPLD器件的管脚相对应,所用的软件是ALTARE公司提供的CPLDDN4,这是ALTARE公司CPLD系列的专用下载软件。设计校验:对应于设计输入、设计实现和器件编程,设计验证分为了功能仿真、时序仿
20、真、器件测试三个部分。功能仿真验证设计的逻辑功能,在设计输入过程中,对部分功能或整个设计均可进行仿真;时序仿真是在设计实现以后,针对器件的布局、布线方案进行时延仿真,分析定时关系:器件测试是在器件编程后,通过实验或借助测试工具,测试器件最终的功能和性能指标。在设计中系统的接口电路、信号源的大多数逻辑控制都在CPLD中实现。在该流程中仿真是重点。仿真又可分为功能仿真(前仿真)与时序仿真(后仿真)。根据电路设计编制仿真文件,在文件被综合前进行仿真,可验证电路功能;在保证电路已实现设计的功能后,进行综合并对综合的结果进行时序仿真,可验证电路的时序是否满足要求。当电路的前仿真与后仿真都满足要求,则电路
21、的设计是成功的。然后设置器件类型并进行引脚锁定,再对文件进行适合于所加配置的逻辑综合;通过后即完成设计。最后结合系统中的其它部分进行连调,如发现问题可修改设计。本设计中使用了ALTERA公司提供的配套软件MAX+PLUSII进行文件的输入、编译和下载。MAX+PLUSII的软件设计主要由设计输入、项目编译、项目校验和器件编程等四部分构成。设计输入功能仿真编译实现时序仿真编程下载调试结束图2.1-1 CPLD设计流程图设计输入MUS+PLUS文本编辑器MUS+PLUS图形编辑器项目编译编译器网表提取器数据库建库器适配综合器器件编程MUS+PLUS编程器项目校验MUS+PLUS时间分析器MUS+P
22、LUS图2.1-2 MUS+PLUS设计的主要组成部分2.1.2 三相函数多波形发生器技术指标三种波形之间的相位差均为120,可以同时输出,具有三相的功能。对以下三种波形的频率均要求:产生的频率都可以预置;输出的信号幅值能在100mv3V的范围内调整。对正弦波信号的要求为:信号频率范围:20Hz-20kHz之间可调,步长为10Hz;非线性失真系数3%。对方波信号的要求是:信号频率范围:20Hz-20kHz;上升和下降时间1s;对三角波信号的要求为:信号频率范围:20Hz-20kHz之间可调。2.1.3三相波形发生器设计方法概述Direct Digital Synthesis(DDS)是20世纪
23、60年代末出现的第三代频率合成技术。用DDS技术来设计制作一个基于CPLD的三相多波形函数发生器,并使它能输出正弦波、三角波、方波等波形信号源,三种波形的相位差为120。波形发生器中的CPLD芯片是DDS的控制及数据处理的核心,电路系统主要由时钟信号发生器、波形数据产生器和A/D转换电路组成。波形数据产生器由数控分频器、三角波产生模块、正弦波产生模块、方波产生模块等构成。在时钟信号发生器作用下,波形数据产生器生成频率可变的波形数据数字信号,由 A/D转换电路放大处理后输出最终所需要的波形信号。 各个模块的实现主要采用MAX+ plus II开发平台,由VHDL编程实现。先完成外围电路的焊接之后
24、,用CPLD的专属下载软件把编写完的程序烧录入CPLD芯片,再对整个波形发生器进行调试,使其达到预期的效果。 2.2 设计方案2.2.1 三相函数发生器设计原理DDS制作的三相波形发生器主要由标准参考频率源、相位累加器、波形存储器、数模转换器、低通平滑滤波器构成。在时钟脉冲的控制下,频率控制字K由相位累加器得到相应的相码,相码寻址波形存储器进行相码幅码变换输出不同的幅度编码,再经过数模变换器得到相应的阶梯波,最后经低通滤波器对阶梯波进行平滑,即得到由频率控制字决定的连续变化的输出波形。其中,参考频率源一般是一个高稳定的晶体振荡器,其输出信号用于DDS中各部件同步工作。因此,DDS输出的合成信号
25、的频率稳定度与晶体振荡器是一样的。DDS系统核心是N位相位累加器。相位累加器的结构一般N位字长的二进制加法器与一个由时钟触发的N位二进制相位累加寄存器级联构成,加法器的一个输入端与相位寄存器的输出端相连,另一个输入端是外部的频率控制字K。在每一个参考时钟脉冲输入时,把频率字累加一次,并把相加后的结果送至累加寄存器的数据输出端。由于相位累加器的输出连接在波形存储器的地址线上。因此其输出的改变就相当于进行查表。系统中的参考时钟通常是一个高稳定性的晶体振动器,用来作为系统时钟同步整个系统的各组成部分。在系统时钟脉冲的作用下,相位累加器不停地累加也即不停地查表,不停地把波形重新合成出来,当相位累加器累
26、加满时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS合成信号的一个频率周期,累加器的溢出频率就是DDS输出的信号频率。滤波器则进一步平滑D/A转换器输出的近似所需波形的锯齿阶梯波同时滤出不必要的杂波。频率控制字累加器相位寄存器相位控制字加法器D/A转换时钟源波形查找表LP频率输出 图2.2-1 DDS的原理图频率控制字KN位加法器N位相位寄存器输出序列NNf图2.2-2 相位累加器的结构示意图若频率控制字设为M,相位累加器为N位,参考时钟频率f,则输出频率为Mf/2(a=N)。DDS的输出频率下限对应于频率控制字M=0的情形,即输出频率为f。=0。根据Nyquist采样定理,DDS
27、的输出上限频率为时钟频率的一半,即f。=f。但由于实际输出低通滤波器的非理想特性,可实现的频率上限为-2/5fo。即若参考频率为 ,DDS的输出频率范围是02/5fc。由于DDS的模块化结构,其输出波形由波形查找表中的数据来决定,因此,只需改变查找表中的数据,即可以方便地利用DDS产生出正弦波之外的其他波形,如余弦波、方波、三角波。锯齿波甚至调频、调相波以及带限的噪声信号。三相分时复用原理:分时复用的原理是各路信号只占用同一信道的不同时间间隙进行信号传输。具体到本电路就是利用对正弦表寻址的高速度,使一个正弦表在不同时间段查寻不同相的正弦波的幅值,以达到减少正弦表所占用的CPLD资源的目的。电路
28、的具体实现:三路在相位上互差120。的地址数据并行输入通过一个三选一的选择器来进行选择,选择器的控制端接三进制的计数器。如,计数器为0时,输出的是A相的地址。计数器为1时,输出的是B相的地址计数器为2时,输出的是C相的地址。因此只要使输入的三相地址周期性变化,就实现了并行输入的三相地址数据在时间上形成了连续,也就实现了三相地址数据的合成。这样就可以利用一个正弦表来得到三相的正弦值,把正弦表减少到没有采样分时复用时的1/3。数据的分离:通过分时复用,使得通过查寻一个正弦表得到在相位上互差的三相正弦波的幅值,但是由于输入的三相地址在时间上是连续的,即对ROM表寻址的地址只有一路,因此,虽然得到了三
29、相正弦波的幅值,可是他们是按ADDRESS中各相之间的关系混合在一起的,因此,必需对所得到的幅值进行分离。才能得到三相正弦波。由波形ADDRESS中各相地址的相互关系可知,分离数据只要把分时复用的合成部分反接即可。参数选择:相位累加器的字长决定了频率分辨率设计中取N=16。由于CPLD中硬件资源(主要是存储器EAB容量)所限,需对相位累加器输出的16位相位进行截断,这里取16位相位的前l0位进入相位,幅度转换电路,即A=10,输出数字幅度序列定位10位(D=10)。同步寄存器频率字输入相位累加器累加寄存器相位字输入同步寄存器正弦ROM查找表相位调制器系统时钟D/ALPF波形输出图2.2-3 正
30、弦波波形数据产生模块这样确定的基本参数如下:(1)时钟频率和输出带宽根据已知的外部时钟源的频率f=12MHz那么本系统最高输出频率位2/5fo=4.8 MHz。(2)频率范围由于要求输出的信号频率范围比较大因此在12MHz时钟源引入CPLD后,在相位累加器之前增加了一个时钟分频器,可实现10、100、1000、10000次分频。根据输出信号的频率和精度要求,选择不同的分频比将50MHz时钟频率降低,再作位相位累加器和波形产生电路的参考时钟。相位/幅度变换用CPLD实现相位/幅度变换电路是设计的一个难点。根据DDS原理,将不同波形的量化数据存储于波形查找表中,即可完成多波形发生的功能。ROM 的
31、功能在本方案选用的Altera公司生产的CPLD芯片中实现,因此在实际设计中,要充分考虑表格数据的优化问题。根据上面的参数选择,取相位累加器字长M=16,截取前10位有效位,输出幅度序列定位l0位。这样直接实现正弦波形存储需要210xl0bitROM。正弦查找表可调用Maxplux2软件中的“lpm_rom”宏模块实现。CPLD器件选择ALTERA公司的EPM7128S84-15。它有128个宏单元、2500个等效逻辑门、15ns的速度、PLCC84封装形式。除电源引脚、地线引脚、全局控制引脚和JTAG引脚外,共提供了64个可用I/O脚,这些引脚可以任意配置为输入、输出和双向方式。该器件的特点
32、如下:l 是 一 种高性能的CM0SE EPROM器件。l 器 件 可通过JTAG接口实现在线编程。l 内 置 JTAG BST电路。l 可 编 程宏单元触发器具有专用清除、置位、时钟和时钟使能控制。l 可 配 置的扩展乘积项分配,允许向每个宏单元提供多达32个乘积项。EPM7128S器件是通过4个引脚的JTAG接口进行在线编程(ISP)的。ISP允许快速、有效地在设计开发过程中重复编程。JTAG(Joint Test Action Group)是欧洲的JETAG组织提出的边界扫描标准,即IEEE1149. 1标准。该标准提供了板级和芯片级的测试,所有JTAG测试功能仅需一条四线或五线的接口及
33、相应的软件即能完成,利用JTAG能测试电路板的连接情况以及电路板的正确性。JTAG的接口信号为:l TCK (Test Clock):用于控制状态机及传递数据。l TMS( Test Mode Select):选择边界扫描模式,控制状态机测试操作。l DI ( Test Data Input):在TCK的一升沿,接受串行数据。l TDO( Test Data Output):在TCK的下降沿,输出串行数据。 我们采用的是并口下载电缆ByteBlaster,它可以对MAX7000S系列进行在线编程。该下载电缆具有以下几个部分:与PC机并行口相连的25针插头、与PCB板插座相连的10针插头以及25
34、针到10针的变换电路。可用于实现波形相位、幅度变换查找表(ROM)结构。DDS主要分为相位累加器、相位/幅度转换单元(含ROM)、数模变换器以及低通滤波等几个部分。相位累加器和相位/幅度转换单元用CPLD实现,再将输出外接至DAC器件,最后通过低通滤波器即可得到所需波形。图2.2-4 CPLD的外围电路连接图2.2.2 多波形发生器的各个波形模块设计方式简介数控分频器:数控分频器的功能是在输入端输入不同数据时,对输入时钟产生不同的分频比,输出不同频率的时钟,以改变输出信号的频率。设计时利用并行预置数的减法计数器实现,他的工作原理是:减法计数器在并行预置数的基础上,在时钟的作用下进行减计数,当计
35、数值为零时产生溢出信号,加载预置数据,并且将溢出信号作为分频器的输出信号,实现分频信号输出。其分频系数N为预置数的值。为了得到占空比为50 的矩形时钟信号,将输出再进行二分频。由此,该分频器的总分频系数为2N。三角波波形数据产生模块:该模块可设计一个可逆计数器实现。设计时设置一变量作为工作状态标志,在此变量为全0时,当检测到时钟的上升沿时进行加同一个数操作,为全1时,进行减同一个数操作。由于A/D转换采用8位的DAC0832芯片,且设64个时钟为一个三角波周期,则输出Q每次加8/减8。正弦波波形数据产生模块:用加法计数器和译码电路完成。首先对幅度为1的正弦波的一个周期分为64个采样点,根据正弦
36、波的函数关系计算得到每一点对应的幅度值,然后量化为8位二进制数据,最大值为255,最小值为0,以此得到正弦波波表。加法计数器生成译码电路的64个输入值,译码电路查波表输出。无论是相位累加器波形合成法还是基于RAM查询的波形合成法,都可以表示为合成信号的幅度与时间或是相位的关系,信号的幅度坐标存放在波形存储器中,通过地址发生器读取波形数据,完成数字波形。方波波形数据产生模块:设计一个比较器,经过低通滤波器后的正弦波通过它后才能产生方波。通过交替送出全0和全1,并给以32个时钟延时实现,64个时钟为一个周期。数据选择器:用CASE语句设计完成。在CORTROL的控制下选择输出一种波形数据输出,同时
37、完成两种波形的线性组合。波形组合是将波形每一时刻的数值相加,为了不超出DAC0832的输出范围,做相应的除2操作。首先由控制寄存器将外部控制器送入的数据转换为频率和幅度控制字;然后再由分频器根据频率控制字进行分频并将输出作为寻址计数器的时钟;寻址计数器的寻址空间为360字节,可对ROM中的查找表进行寻址;而通过模360加法器可以产生120的相位差。控制寄存器的设计:控制寄存器设计主要是将外部控制器输入的数据转换为频率和幅度控制字。分频比可变的分频器模块设计:该设计主要是根据频率控制字决定分频倍数,从而输出与频率控制字相对应的频率时钟,此模块的输出可作为寻址计数器的时钟。寻址计数器:主要用于产生
38、对ROM寻址输出波形数据的寻址信号,寻址空间为360字节。 模360加法器设计:此模块用来产生120的相移,以形成三相相差为120的输出波形。由于寻址空间为360字节,故在输出寻址数大于360时,须对360取模。查找表ROM设计:此模块主要用于存储各种波形数据,以便通过寻址计数器寻址输出并经D/ A转换来输出各种波形,其中包括正弦波、三角波、方波。CPLD幅度控制字经D/A转换输出后,可作为查找表输出DAC的参考电压,该参考电压可通过改变幅度控制字来进行改变,从而改变输出信号的幅度。图2.2-5 CPLD的内部结构设计框图A/D转换采用了8位的DAC0832芯片。波形的产生是采用直接数字频率合
39、成技术DDFS按照不同频率要求以频率控制字n为步进对相位增量进行累加,以累加相位值作为地址码读取存放于ROM内的波形数据,经D/A转换和幅度控制,再滤波即可得到波形。输出波形频率与寻址脉冲频率成正比,因此改变脉冲频率就可以改变输出波形频率。D/A转换电路的电路连接图主要由DAC0832和 LM324构成,附加了一些电容和电阻增加了其稳定性,它先通过DAC0832信号对信号进行数模转换,恢复为模拟信号后再由LM324构成的放大电路进行放大处理,使波形发生器达到预期的效果。图2.2-6 DAC0832外围连接图逻辑时序仿真:利用MAX+PLUX进行系统仿真。在时序波形中,clk为系统的时钟,这里设
40、定仿真的时钟为200ns(晶振为12Mhz);freqin为频率字输入,它可以在1-1024取任意值,这里取freqin=l(即相位累加增量=360 /1024=0.35), 则f。 = 4.88kHz;pha-seina、phaseinb、phaseinc分别为三相互差120的相位字的输入, 取值分别为:phaseina=0、phaseinb=341、phaseinc=683;romadddr_a、romadddr_b、ro-madddr c分别为三相分时复用电路中的A相、B相和C相的相位值(三相互差),romadddr_abc为合成一路后的相位值。为了便于在同一波形中可以同时看清输出数据中
41、的各项,对仿真波形进行截取,为约35us-86US时的时序波形,ddsout_abc为查得 E弦表所得的三相混合数据,ddsout_a、ddsout_b、ddsout_c分别为数据分离后A相、B相和C相的相位对应的幅度值,由三相正弦波幅度之间的相互关系和变化趋势得知输出的数据是正确的。由于DDS技术是从相位概念出发,根据确定的相位的有效字长组合,会产生相位截断误差。本设计的相位误差计算:每相正弦信号输出延时了2个系统时钟周期,即At=2Tc。因此相位误差为:=2*f。*T,则=0.7。(这里设频率字M=1,字长N=10)。整个系统除晶体振荡器和A/D转换外,全部集成在一片CPLD芯片上。它可输
42、出三相频率、幅度可调的正弦波、三角波、方波。任意波形模块可由用户自行编辑所需波形数据,下载到CPLD芯片上,在不改变整个系统硬件连接的情况下,输出用户所需的波形。另外由于CPLD具有可编程重置特性,因而可以方便地更换波形数据,且简单易行,带来极大方便。图2.2-7 波形仿真图2.3 调试部分2.3.1 CPLD在使用中遇到的问题CPLD芯片提供了很多个电源引脚,为了减少芯片内部的干扰,尽量在每个电源引脚处加一个退藕电容,一般一个芯片周围不少于6个电容。CPLD如果不能下载,可能有多种问题,先检查芯片的各个接地脚和电源脚是否全部连接正确,然后看四个JTAG引脚是否连接正确,可在下载时观测四个引脚
43、上的信号。对于不使用的全局变量,最好连接到地线。在编译的时候可能会出现所用的门数不多,但是编译通不过的情况,可以把逻辑综合的选项重新设置一下。在逻辑综合的时候最好选择设计环境中对于特定的芯片所提供的综合条件,以免造成不必要的麻烦。2.3.2 控制电路的调试对控制电路进行时序仿真,在仿真图中几乎总会出现我们所不需要的毛刺,这些毛刺有时会给系统带来致命的影响,我们必须采取措施消除这样的毛刺。由于毛刺一般出现在信号发生电平转换的时刻,也即输出信号的建立时间内,而在输出信号的保持时间内不大会出现。因此,若带有毛刺的信号持续时间较长,我们可在输出信号的持续时间内用一定宽度的高电平脉冲选通一个与门来获得该
44、信号,此时毛刺自然已被消除。高电平脉冲可由软件控制锁存器来得到。若带有毛刺的信号保持时间较短,可利用D触发器的D输入端对毛刺不敏感的特点,在输出信号的保持时间内用触发器读取输出信号,此时毛刺自然也已被消除,触发器的时钟沿可由软件控制地址译码器来得到。另外 ,在某些情况下,需要对信号进行一定的延时,以完成特定的功能。利用D触发器可在时钟的控制下对信号进行比较精确的延时,这种方法的最小延时是半个时钟周期。延时也是消除毛刺的手段之一。2.3.3 DAC电路的调试DAC电路将RAM查找表输出的离散的数字信号变换为连续的模拟信号。所选的芯片为DAC0832,它的分辨率为12bits,建立时间为1us,差
45、分电流输出。输出电流在2-20mA内可调。由于电流无法直接测量,所以在DAC0832的输出端和地之间接有一个20欧的电阻,可将输出的电流转换为电压来测,过程如下:首先向DAC输入全1的数据,测得输出端11脚的电压为0.4V;12脚为0.04 V;再向DAC输入全0的数据,测得输出端管11脚的电压为0.04 V;12脚为0.4V;说明DAC电路工作正常。2.3.4 程序的调试设计中使用了ALTERA公司提供的配套软件MAX+PLUSII进行文件的输入、编译和下载。MAX+PLUSII的软件设计主要由设计输入、项目编译、项目校验和器件编程等四部分构成。 MAX+PLUSIIFileNEW Text
46、 Editor File/.gdf /.scf输入程序 保存、编译 调试程序 编译、仿真、运行 调试完成后用并口下载线下载程序至CPLD芯片 完成烧入程序后硬件电路的调试 修改、调试程序 完成设计。2.3.5 硬件电路的调试在硬件电路调试中,要注意焊接的艺术和元件的布局,让整体显得美观。不能出现漏焊、错焊等现象。在烧录入程序之后,对电路进行测试,看电路是否能达到预期的功能。如果不能,则要进行程序的调试,并检测电路连接、元件使用等方面的问题,努力排除故障,让系统功能实现。结 论论文中基于CPLD的波形信号发生器方面进行了设计,建立了包含三角波、正弦波、方波等三类信号的波形库,为波形的选择提供了较
47、好的操作平台;把DDS技术与CPLD技术相结合来设计三相波形发生器,使三种信号的输出相位差均为120。对电路数字部分完成了分步功能仿真和波形仿真,努力改善数字波形发生器的基带信号带宽,实现电路的集成化,采用双RAM双通道使设计出的数字波形发生器有更大的适用范围。本设计能应用到教学和科研试验中。在分析了DDS及CPLD技术的基础上,设计了一种基于CPLD的三相数字波形发生器。利用CPLD开发工具对电路进行了设计和仿真,从分离器件到系统分布,每一步都经过了严格的波形仿真验证,以确保功能正常。本文结合任意波形发生器的发展状况,对直接数字波形合成技术的理论、设计方法、电路实现以及信号的调理电路进行了深入的研究,归纳起来主要做了如下几方面的工作:1、采用CPLD自行设计了直接数字合成技术芯片,通过了实验验证;2、设计了内调幅电路;3、设计调试信号调理电路;4、编写了实验机主程序,波形数据输出程序。从整体上看来,仪器所实现的指标基本上满足课题要