您的位置:
首页
>>
管理中心
>>
行业资讯
>>修改新闻资讯信息
资讯类型:
行业要闻
企业动态
新品速递
解决方案
交流培训
嘉宾访谈
产业纵横
人物聚焦
展会动态
会展报告
本站动态
标 题:
*
页面广告:
不显示
显示
副 标 题:
关 键 字:
多个关键字请用“
/
”分隔,如:西门子/重大新闻
内容描述:
DDS(DiFeet Digital Frequency Synthesis)即直接数字式频率合成,是从相位概念出发直接合成所需波形的一种频率合成技术。与传统信号源所采用的用模拟方式生成信号不同,它是将先进的数字信号处理理论与方法引入信号合成领域。DDS技术在精确度、灵活度等方面都超过模拟信号发生器。并且DDS可实现相位连续变化,且具有良好频谱的信号,这是传统方法无法实现的。FPGA的迅速发展为D
新闻来源:
链 接:
责任编辑:
标题图片:
无
当编辑区有插入图片时,将自动填充此下拉框
*
所属类别:
(不超过20项)
电源产品分类
:
UPS电源
稳压电源
EPS电源
变频电源
净化电源
特种电源
发电机组
开关电源(AC/DC)
逆变电源(DC/AC)
模块电源(DC/DC)
电源应用分类
:
通信电源
电力电源
车载电源
军工电源
航空航天电源
工控电源
PC电源
LED电源
电镀电源
焊接电源
加热电源
医疗电源
家电电源
便携式电源
充电机(器)
励磁电源
电源配套分类
:
功率器件
防雷浪涌
测试仪器
电磁兼容
电源IC
电池/蓄电池
电池检测
变压器
传感器
轴流风机
电子元件
连接器及端子
散热器
电解电容
PCB/辅助材料
新能源分类
:
太阳能(光伏发电)
风能发电
潮汐发电
水利发电
燃料电池
其他类
:
其他
静态页面:
生成静态页面
*
内 容:
<P><FONT style="COLOR: #000000"> DDS(DiFeet Digital Frequency Synthesis)即直接数字式频率合成,是从相位概念出发直接合成所需波形的一种频率合成技术。与传统信号源所采用的用模拟方式生成信号不同,它是将先进的数字信号处理理论与方法引入信号合成领域。DDS技术在精确度、灵活度等方面都超过模拟信号发生器。并且DDS可实现相位连续变化,且具有良好频谱的信号,这是传统方法无法实现的。</FONT></P> <P> <FONT style="COLOR: #000000"><FONT style="COLOR: #000000">FPGA</FONT>的迅速发展为DDS提供了更加优良的技术手段,它具有处理速度快、可靠性高等特点。SOPC(System On Programmable Chip,片上可编程系统)是一种灵活、高效的SOC解决方案。它以<FONT style="COLOR: #000000">IP</FONT> Core为基础,将处理器、存储器、IO口等系统设计需要的功能模块集成到一个FPGA器件上,构建成一个可编程的片上系统,具有灵活的设计方式。本设计综合以上软硬件可编程协同设计技术,使得DDS电路在灵活性,可行性,精确性等方面得到很大提高。</FONT></P> <P> <FONT style="COLOR: #000000"><STRONG>1 DDS的基本原理</STRONG></FONT></P> <P><FONT style="COLOR: #000000"> DDS信号发生器是由:频率控制字、相位累加器、ROM表、D/A转换器以及模拟低通<FONT style="COLOR: #000000">滤波器</FONT>LPF组成,原理框图如图1所示。</FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/3958539888415885597.jpg"></FONT></P> <P><FONT style="COLOR: #000000"> 首先对波形的一个周期进行连续采样,通过计算得到每一点对应的幅度值,然后以二进制格式存放在数据文件中。在时钟脉冲fclk驱动下,每个时钟周期内频率控制字与相位累加器累加一次,产生ROM查找表的地址值,随后通过查表变换,地址值被转化为信号波形的数字幅度序列,即可得到幅度上离散的波形,再由数模<FONT style="COLOR: #000000">变换器</FONT>(D/A)将表示波形幅度的数字序列转化为模拟量。最后经由LPF将D/A输出的阶梯状波形平滑为所需的连续波形。理论上,采样点数越多,生成波形精确度越高。</FONT></P> <P><FONT style="COLOR: #000000"> <STRONG>2 基于FPGA的DDS设计</STRONG></FONT></P> <P><FONT style="COLOR: #000000"> 本设计在Altera的EP2C35F672C8芯片的基础上,在SOPCBuilder和OuartusⅡ开发环境下,利用SOPC技术,在FPGA中集成Altera的嵌入式软核处理器NiosⅡ和其他外设,将硬件系统与软件集成在单一可编程芯片中,从而实现片上的系统级设计。系统框图如图2所示,由DDS基本单元(由频率控制字,相位累加器,ROM,DAC,LPF构成),FPGA外部硬件资源(拨扭开关SWTCH、键盘KEY、LCD12864)和NiosⅡ处理器系统等构成了基本电路。四位拨扭开关选择输出波形,键盘控制输出波形信号频率,LCD12864显示波形信号参数,各硬件模块之间的协调工作通过NiosⅡ微处理器在图形化开发环境NiosⅡIDE下用C语言来编程实现控制。</FONT></P> <P><FONT style="COLOR: #000000"><!--分页 --></FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/6619062543360086877.jpg"></FONT></P> <P><FONT style="COLOR: #000000"> <STRONG>3 各模块设计</STRONG></FONT></P> <P><FONT style="COLOR: #000000"> 3.1 波形数据存储方式</FONT></P> <P><FONT style="COLOR: #000000"> 通过对DDS基本原理的分析得知只需更换波形存储器中的波形采样数据,就可以得到所需波形的信号。波形数据存储方式包括顺序存储方式和间隔存储方式,本设计采用顺序存储方式将方波,三角波,正弦波,锯齿波4种波形采样数据全部依次存储在一个查找表里,数据分布情况如表1所示。通过改变寻址首地址,并在该波形数据存储地址范围内循环寻址,从而实现对所需信号波形的输出。具体实现方法在累加控制模块中有介绍。{$page$}</FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/17211667271458922107.jpg"></FONT></P> <P><FONT style="COLOR: #000000"> DDS模块中的波形数据存储器是用QuartusⅡ中的MegaWizard Plug_In Manager工具添加的LPM_ROM IP核,此存储器ROM是用波形存储文件.mif进行初始化,波形数据可以用matlab等工具生成,用matlab生成4种波形的波表数据程序如下:<BR> </FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/18239984249375371023.jpg"></FONT></P> <P><FONT style="COLOR: #000000"><!--分页 --></FONT></P><FONT style="COLOR: #000000"> </FONT> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/4869324225259932062.jpg"></FONT></P> <P align=left><FONT style="COLOR: #000000"> 由以上代码生成的.mif文件即可存E盘目录下找到,将.mif文件加载到ROM中,实现对ROM的初始化。</FONT></P> <P align=left><FONT style="COLOR: #000000"> 3.2 累加控制模块</FONT></P> <P align=left><FONT style="COLOR: #000000"> 累加控制模块如图3所示,为了实现波形选择性输出,本设计在累加控制部分增加了选择器,即图3的sel模块,作为系统寻址地址的高两位,实现对波形查找表的范围选择功能。累加器Altaccumulate0的输出做为累加控制模块的低32位的输出,实现在指定范围内对查找表进行寻址。此设计方法相当于做了一个多路数据选择器。四位拨扭开关作为sel模块的输入控制,将寻址地址转换成所需波形首地址,即可实现对波形选择的控制。Adder模块将sel和Altaccumulate0模块输出进行位拼接运算。其部分代码如下:</FONT></P> <P align=left><FONT style="COLOR: #000000"> always@(posedge clk)</FONT></P> <P align=left><FONT style="COLOR: #000000"> begin</FONT></P> <P align=left><FONT style="COLOR: #000000"> addr<={q,32’b0}+{2’b0,result};</FONT></P> <P align=left><FONT style="COLOR: #000000"> end</FONT></P> <P align=left><FONT style="COLOR: #000000"> 设计中为了节省ROM的容量而采用相位截断的方法,取累加器输出的高十位作为ROM的寻址地址来进行查表。</FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG style="WIDTH: 491px; HEIGHT: 214px" alt="" src="http://www.cps800.com/uploadfile/20121016/6134585644078545387.jpg" width=560 height=232></FONT></P> <P align=left><FONT style="COLOR: #000000"> 3.3 LCD 12864口核设计</FONT></P> <P align=left><FONT style="COLOR: #000000"> 对于Altera SOPC Builder未提供的一些外设接口模块,用户可以通过自定义逻辑方法在SOPC设计中添加自己开发的IP核,通过Avalon的读写时序对各个设备进行操作。本设计通过构建IP核来直接控制NiosⅡ和LCD12864的接口,按照指定的时序将波形参数显示在LCD上。在SOPC Builder中自己定义component,并把液晶显示模块看成外部存储器,直接做成Avalon总线Slave设备,IP核设计包含软件部分和硬件部分,需要写HDL模块,定义控制状态、数据寄存器和控制位,描述组件与Avalon总线的接口以及组件与液晶屏的接口。系统编辑器从文件中读取I/O信号和参数信息。其次对LCD模块进行初始化,由于SOPC Builder中的LCD12864控制模块已经考虑了LCD的读写时序,所以使用NIOSⅡ IDE进行LCD驱动和控制时只需对LCD进行初始化。</FONT></P> <P align=left><FONT style="COLOR: #000000"> 3.4 NiosⅡ嵌入式处理器系统</FONT></P> <P align=left><FONT style="COLOR: #000000"> NiosⅡ是Altera针对其FPGA设计的嵌入式软核处理器,它与其他IP核可构成SOPC系统的主要部分。它具有灵活的自定义指令集和自定义硬件加速单元,以及图形化开发环境NiosⅡIDE。经由SOPC Builder生成NiosⅡ嵌入式处理器系统,其CPU模块框图如图4所示。{$page$}</FONT></P> <P align=center><FONT style="COLOR: #000000"><IMG alt="" src="http://www.cps800.com/uploadfile/20121016/13855575340083321950.jpg"></FONT></P> <P> <FONT style="COLOR: #000000">利用NIOSⅡIDE开发工具完成所有软件开发任务,系统接收拨扭开关扫描模块发来的4位扫描码,根据扫描码数值的不同进入不同的子程序,然后再通过FPGA的键盘扫描模块向NIOSⅡ处理器发送键盘扫描码,软核处理器根据接收到的扫描码产生相应的信号数据以及控制信号,并通过PIO传送给FPGA中的DDS模块,实现频率控制字的变化,即输出频率可调,并将信号数据显示在LCD上。同时DAC器件将DDS产生的8位信号数据进行数模转换,从而产生频率可调的方波、三角波、正弦波、锯齿波。</FONT></P> <P><FONT style="COLOR: #000000"> <STRONG> 4 结束语</STRONG></FONT></P> <P><FONT style="COLOR: #000000"> 该信号源能够很好地满足对不同波形、不同频率的信号的需求,具有很强的实用性,并且可以方便地通过液晶显示器直观地观察到波形信号的参数信息。由FPGA实现的DDS信号发生器不仅可实现频率可调波形变换且具有频率切换快,信号的质量和精度高于模拟方式的特点。<SPAN style="FONT-FAMILY: Webdings"><</SPAN></FONT></P>