微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于SOPC的任意波形发生器设计

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

时间:08-19 来源:互联网 点击:
目前波形合成技术主要有两种通用的方法,一种是使用专用的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函数设计程序,用户就可以根据自己的需要在图上任意画出波形,描述的点越多,则输出的波形越接近真实波形;如果描述的数据点少,则有可能改变波形形状及趋势。绘图法中使用鼠标取点的方法主要是避免用鼠标直接画波形时的不灵活性和不好控制性。  

如果波形可以数学描述,就可以采用公式波这种方法。在GUI界面中,设置了公式波的公式输入文本编辑框,只需要在文本编辑框中输入公式,根据它已有的条件就可以产生信号波形。在本设计中,由于输入的公式是用户自定义的,用户可以使用多种算法或者运用MATLAB自带的函数库。在MATLAB的界面设计中,文本编辑框里输入文本后,MATLAB会把输入的文本默认成字符串,当想对这些输入在文本编辑框里的公式进行计算时,MATLAB无法识别,在这里使用eval函数对字符串进行处理。eval函数将符号表达式转化为数值表达式,这样就能使MATLAB执行该公式,公式法产生的波形更精确。  

使用绘图法编辑波形,只需点击“任意波形”按钮,然后按照提示在坐标轴内点击鼠标右键取点画出所要波形的大概形状,再点击鼠标左键就可以产生用户想要的波形;当使用公式法编辑波形,只需按提示在编辑框中写入所要产生的波形公式,点击“公式波”按钮,系统就会立刻对输入公式进行计算,并向硬件传送改变波形类型的字符,然后再把数据发送到硬件上。  

4 实验结果  

该系统所有实验结果均由RIGOL 公司DS5022M 数字存储示波器采样所得。  

图4所示为采用公式法输入的GUI 界面和产生的相应1kHz 任意波形,输入公式为Sin(2*pi*x)+sin(4*pi*x),其中变量x的范围为0到1。  


  
图4 公式法输入的GUI 界面和产生的任意波形  

图5所示为采用绘图法输入的GUI界面和产生的相应50kHz任意波形。  


  
图5 绘图法输入的GUI界面和产生的任意波形  

从上面的实验结果可以看到,该系统不仅可以产生方波、正弦波、三角波、锯齿波等常见波形,还可以实现真正意义上的任意波形。系统频率误差小于1%,且具有很高的频率调制精度,实验结果符合各项设计指标。  

5 总 结  

该系统采用DDS 技术,通过基于NIOS Ⅱ的SOPC 系统实现了任意波形发生器。DDS技术在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能;而基于NIOS Ⅱ的SOPC 系统可以根据用户需要自由定制CPU 及其外设,其灵活性和通用性使其成为未来系统设计的一大趋势。  

该设计完成了任意波形发生器的软硬件设计和调试,实验结果表明,该波形发生器基本达到了设计要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top