基于SOPC的任意波形发生器设计

2015-03-16 12:01:27   来源:eechina   

关键字: SoPC  波形发生器

目前波形合成技术主要有两种通用的方法,一种是使用专用的DDS 芯片,一种是基于CPLD/FPGA的解决方案。虽然专用DDS芯片的功能也比较多,但控制方式却是固定的,控制不灵活,而利用FPGA 则可以根据需要利用Verilog/VHDL 语言来实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。  

1 DDS技术及其原理  

任意波形发生器目前主要有两种实现方法:一种是传统的任意波形发生器,但是由于采用的是模拟和模数混合的方法,限制了其频率稳定度,并且系统比较复杂;另一种是基于直接数字频率合成(DDS)技术的任意波形发生器,采用这种技术的AWG具有很高的频率分辨率和快速的输出频率转换能力,并且输出频率范围宽。  

DDS技术是一种先进的频率合成技术,其优点是易于程控、相位连续、输出频率稳定度高、分辨率高等。DDS 技术的实现依赖于高速、高性能的数字器件,可编程逻辑器件以其速度高、规模大、可编程以及有强大EDA软件支持等特性,十分适合实现DDS技术。基于以上的原因,该系统采用第2种实现方法。DDS原理框图如图1所示。  

\
  
图1 DDS原理框图  

2 系统总体设计  

该系统实现的主要功能是:输出频率相同,幅值相同,具有可调相位差的两路任意波形,同时可实现输出波形过零切换(当波形参数发生改变时,系统总是在零相位时改变输出波形,这样可得到平滑的波形输出),该系统还可以通过PC 端软件产生数据,并通过USB接口下载到FPGA中从而生成任意波形。同时,波形的频率和幅度均可调节,输出频率范围为0.1Hz~1MHz,频率分辨率为0.1Hz,输出电压范围为0~10V。系统的整体设计如图2所示。  

\
  
图2 系统原理框图  

3 PC端软件软件设计  

该系统可以根据用户的需要设定不同的波形,为了使用户更容易的得到自己想要的信号波形,在这里设计了两个可以产生任意波形的方法。一种方法是绘图法,用户可以自己画出想得到的波形的图形,但是用这种方法产生出来的信号精度不高,适用于对产生的信号要求不高的用户,其优点是简单方便。另一种方法是公式法,根据用户输入的公式或者函数语句产生波形信号,这种方法比较科学,精度较高。由于MATLAB软件具有强大的数据计算、仿真、绘图等功能,所以该用户界面是用MATLAB软件编程。用户的软件界面如图3所示。  

\
  
图3 用户软件界面  

在绘图法中,主要用到MATLAB中的两个函数:ginput(鼠标输入图形)和spline(三次样条多项式拟合)。结合这两个函数,交互式创建二维曲线。首先,利用ginput函数在figure图上选择一系列点[x,y],这样就可得到一些分散的数据点,为了从这些分散的数据点中找到其内在的规律性,然后通过这些点进行样条平滑,就要运用到spline函数来产生一系列点来逼近这些已知点。结合ginput和spline函数设计程序,用户就可以根据自己的需要在图上任意画出波形,描述的点越多,则输出的波形越接近真实波形;如果描述的数据点少,则有可能改变波形形状及趋势。绘图法中使用鼠标取点的方法主要是避免用鼠标直接画波形时的不灵活性和不好控制性。  
[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0316/article_11040.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文