• 欢迎来到 - 我就爱电子网 - http://www.592dz.com !
您的位置:> 我就爱电子网电子文章EDA/PLD基于FPGA的三相函数信号发生器设计 -- 正文
正文

基于FPGA的三相函数信号发生器设计

[10-21 14:24:02]   来源:http://www.592dz.com  EDA/PLD   阅读:9325

 

概要:0 MHz、幅度0.1~10 V,分辨率为1°,频率和幅度的调节均可程控的三相函数信号发生器。系统还具有输出灵活、易于系统升级等优点。1 函数信号发生器的原理基于DDS原理,频率控制字M和相位控制字P分别控制DDS输出波形的频率和相位。相位累加器是整个波形产生的核心,它有一个累加器和一个N位相位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加,如图1所示。相位寄存器的输出与相位控制字相加,其结果作为波形查找表的地址。波形查找表由ROM构成,内部存有一个完整周期的波形的数字幅度信息,每个查找的地址对应波形中0°~360°范围的一个相位点。查找表输入的地址信息映射达成波形幅度信号,同时输出到数模转换器的输入段,DAC输出的模拟信号经过程控滤波器,可得到一个频谱纯净的波形。相位寄存器每经过2N/M个fc时钟周期后回到初始装状态,相应地波形查表经过一个循环回到初始位置,DDS输出一个波形。输出的波形周期为Tout=(2N/M)Tc,频率为DDS的最小分辨率为fmin=fc/2N,当M=2N-l(即一个周期内只取两个点)时,DDS最高的基波合成频率为foutmax=fc/2,根据取样定理,这在理论上是可行的,考虑到失真度的问题,取i(i>2)个点,则最高频率为当M=2N-3时,fou

基于FPGA的三相函数信号发生器设计,http://www.592dz.com

     摘要:基于FPGA的三相函数信号发生器以DDS为核心,在Altera公司CycloneⅡ系列EP2C8T144C8上实现正弦波、方波、三角波和锯齿波信号的产生,利用单片机PICl8F4550控制波形的频率及相位差。同时单片机通过DAC0832控制波形数据转换DAC902参考电压实现在波形幅度的控制,D/A输出的波形经过放大、滤波后输出。波形参数的输入输出通过触摸屏和液晶屏实现,测试结果显示该系统具有较高的精度和稳定性。

  模拟函数信号发生器输出波形易受输入波形的影响,难以实现移相控制,移相角度随所接负载和时间等因素的影响而产生漂移,频率、幅度的调节均依赖电位器实现,因此精度难以保证,也很难达到满意的效果。基于FPGA的数字式三相信号发生器,精度较高,移相控制方便,实现频率为1 Hz~10 MHz、幅度0.1~10 V,分辨率为1°,频率和幅度的调节均可程控的三相函数信号发生器。系统还具有输出灵活、易于系统升级等优点。

  1 函数信号发生器的原理

  基于DDS原理,频率控制字M和相位控制字P分别控制DDS输出波形的频率和相位。相位累加器是整个波形产生的核心,它有一个累加器和一个N位相位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加,如图1所示。相位寄存器的输出与相位控制字相加,其结果作为波形查找表的地址。波形查找表由ROM构成,内部存有一个完整周期的波形的数字幅度信息,每个查找的地址对应波形中0°~360°范围的一个相位点。查找表输入的地址信息映射达成波形幅度信号,同时输出到数模转换器的输入段,DAC输出的模拟信号经过程控滤波器,可得到一个频谱纯净的波形。


  相位寄存器每经过2N/M个fc时钟周期后回到初始装状态,相应地波形查表经过一个循环回到初始位置,DDS输出一个波形。输出的波形周期为Tout=(2N/M)Tc,频率为


  DDS的最小分辨率为fmin=fc/2N,当M=2N-l(即一个周期内只取两个点)时,DDS最高的基波合成频率为foutmax=fc/2,根据取样定理,这在理论上是可行的,考虑到失真度的问题,取i(i>2)个点,则最高频率为当M=2N-3时,foutmax=fc/i。

  2 系统总体设计

  系统由单片机控制模块、FPGA波形产生模块、数模转换模块、滤波输出模块、触摸屏输入和液晶显示模块组成,单片机控制FPGA产生输入频率和相位差的三相正弦波、方波、三角波和锯齿波,经过D/A转换后滤波输出,三相波形的幅度也由单片机通过改变D/A的参考电压控制。具体系统框图,如图2所示。


  FPGA部分具体框图,如图3所示,基于DDS原理,主要由相位累加器、正弦波ROM查找表、方波发生器、三角波发生器、锯齿波发生器和波形选择模块组成。根据单片机设置相移值调整三相波形的相位差,波形选择也由单片机控制。


  2.1 分频模块设计

  为了对波形频率精确控制,不同频率段需要不同的输入频率。项目设计中采用50 MHz外部有源晶振,利用FPGA内部锁相环将频率锁定在40.96 MHz,然后该频率进行10 MHz,100 MHz,1 000 MHz,10 000 MHz,如图4所示,这样就得到了5个不同的频率区间,最后通过5选1数据选择器由单片机选择所需要的时钟频率。时钟频率与输出波形频率之间具体关系,如表l所示。




  2.2 波形产生模块设计

  2.2.1 正弦波

  正弦波的数据需要转换为*.mif文件后存放到ROM中,mif文件有固定格式规定了每个字的位宽WIDTH、总字数DEPTH、地址进制基数ADDR-ESS_RADIX和数据进制基数DATA_RADIX。在Matlab环境中编程计算出正弦波数据,然后生成mif文件。

  EP2C8T144C8拥有较充裕的存储空间。因此,设计中为了提高精度在ROM中存放4 096个正弦数据,频率控制字、相位控制字由单片机控制产生,经过相位累加器组成地址发生器,产生的地址连到ROM的地址线上进行查表得到波形数据。

  2.2.2 方波

  方波算法比较容易实现。由于其只有高低电平两种状态。因此,只需要在一个周期的时间中间位置翻转电平即可。由于相位累加器的值是线形累加的,地址address的值也是线形累加的,对所给地址值address进行判断,当地址值的最高位为O时,便将波形幅值各字位赋值1,否则赋值0。就可以实现最简单的占空比50%的方波。

[1] [2]  下一页


标签:EDA/PLDeda技术大全,eda技术实用教程EDA/PLD
《基于FPGA的三相函数信号发生器设计》相关文章