欢迎来到天天文库
浏览记录
ID:27511904
大小:52.50 KB
页数:4页
时间:2018-12-04
《基于cpld的三相多波形函数发生器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于CPLD的三相多波形函数发生器设计摘要:介绍了基于可编程逻辑器件CPLD和直接数字频率合成技术(DDS)的三相多波形函数发生器的基本原理,并在此基础上给出了基于CPLD的各模块设计方法及其VHDL源程序。1 引言直接数字频率合成DirectDigitalSynthesis,DDS是20世纪60年代末出现的第三代频率合成技术。该技术从相位概念出发,以Nyquist时域采样定理为基础,在时域中进行频率合成。DDS频率转换速度快,频率分辨率高,并在频率转换时可保持相位的连续,因而易于实现多种调制功能。DDS是全数字化技术,其幅度、相位、频率均可实现程控,并可通过更
2、换波形数据灵活实现任意波形。此外,DDS易于单片集成,体积小,价格低,功耗小,因此DDS技术近年来得到了飞速发展,其应用也越来越广泛。基于CPLD和DDS技术的函数发生器可以实现信号波形的多样化,而且方便可靠,简单经济,系统易于扩展,同时可大大提高输出信号的带宽。2 系统原理2.1CPLD内部设计CPLD的内部结构框图如图1所示,图中,首先由控制寄存器将外部控制器(如单片机)送入的数据转换为频率和幅度控制字;然后再由分频器根据频率控制字进行分频并将输出作为寻址计数器的时钟;寻址计数器的寻址空间为360字节,可对ROM中的查找表进行寻址;而通过模360加法器可以产生1
3、20°的相位差。2.2CPLD的外围电路图2所示是CPLD的外围电路连接图。图中,CPLD幅度控制字经D/A转换输出后,可作为查找表输出DAC的参考电压,该参考电压可通过改变幅度控制字来进行改变,从而改变输出信号的幅度。3 CPLD各模块的设计3.1控制寄存器的设计控制寄存器设计主要是将外部控制器输入的数据转换为频率和幅度控制字。其程序代码如下:--////////////调库////////////--entitycontrollerisport(clk:instd_logic;datain:instd_logic;ad:outstd_logic_vector(1
4、6downto0);freq:outstd_logic_vector(16downto0));end;architecturedataflowofcontrollerissignalout1:std_logic_vector(16downto0);begins2p:process(clk,datain)variabletemp:std_logic_vector(16downto0);beginifclk'eventandclk=‘1’thentemp:=temp(15downto0)&datain;endif;out1<=temp;endprocesss2p;mu
5、x:process(out1(16))beginifout1(16)=‘1’thenad<=out1(15downto0);--1号寄存器为幅度控制字elsefreq<=out1(15downto0);--0号寄存器为频率控制字endif;endprocessmux;end;图33.2分频比可变的分频器模块设计该设计主要是根据频率控制字决定分频倍数,从而输出与频率控制字相对应的频率时钟,此模块的输出可作为寻址计数器的时钟。具体代码如下:
此文档下载收益归作者所有