基于DDS技术三相正弦信号发生器的设计与实现

更新时间:2023-06-01 08:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于DDS技术三相正弦信号发生器的设计与实现

中 文 摘 要

本设计是基于EDA技术,在Quartus II开发平台上,采用自顶向下的设计方法设计,主芯片采用EP2C5T144C8。以在FPGA中嵌入的8051单片机软核为控制核心,设计完成了基于DDS技术三相正弦信号发生器的制作。

论文详细讨论了正弦信号和调制信号的产生、频率精确控制、三路移相输出、D/A转换与四阶巴特沃思低通滤波电路、电流电压转换电路、4*4键盘与lcd12864显示器等诸方面软硬件实现方法。嵌入的8051单片机软核负责界面显示、键盘扫描和频率与相位控制字的串行输出。

系统可输出三相正弦波和调制信号波。调制信号频率在100Hz~1kHz频率范围内可任意预置,正弦波频率在1Hz~30KHz范围内任意预置,两相间的相位差在0~359°任意预置。根据输入频率大小不同,分别有1Hz、10Hz和100Hz步进值,相位步进值为1°。

综合测试证明,频率精度达到0.06%,移相精度达到1度,在10kΩ负载电阻上的电压峰-峰值Vopp≥10V。

关键词:低频三相;FPGA;DDS;8051单片机软核;移相

The Design and Implementation of Three-phase Sinusoidal Signal

Generator Based on DDS Technology

Abstract

The design is based on EDA technology and development platform in the Quartus II with the use of top-down design method, the main chip is EP2C5T144C8. Embedded in the FPGA with 8051 soft-core for the control of the core, the design is completed the Three-phase Sinusoidal Signal Generator Based on DDS Technology. This article discusses in detail various aspects of hardware and software implementations, such as the creation of sinusoidal signal generator and FM signal, the precision control of frequency, the dual phase-shifted output, the circuit of D / A conversion and fourth-order Butterworth low-pass filter, the converter of current-voltage, 4 * 4 keyboard and lcd12864 displays and so on. The embedded 8051 microcontroller soft-core is responsible for interface display, keyboard scanning, and the serial output of the frequency control word and phase control word.

The system can output three-phase sine-wave and FM signal wave. The modulation frequency can be arbitrarily preset in 100Hz ~ 1kHz, The sine wave frequency can be arbitrarily preset in 1Hz ~ 30KHz, The phase difference between any two phases can be arbitrarily preset in 0 ~ 359 °. According to the different input frequency, there are 1Hz、10Hz and 100Hz step value, and the phase step value is 1 °. The comprehensive test shows that the accuracy of the frequency is 0.01%, the accuracy of phase moving is 1 degree, and the Vopp in the 10kΩ load resistor is ≥ 10V.

KEY WORD:Low-frequency and three-phase;FPGA;DDS;8051 microcontroller Soft-core;Phase moving

目录

第一章 前言 ..................................................................................................................................... 1

1.1 基于DDS三相正弦波设计目的及意义 ........................................................................... 1 1.2 DDS研究现状 .................................................................................................................... 1 1.3 系统设计内容 ................................................................................................................... 2 第二章 系统设计 ............................................................................................................................. 3 第三章 理论分析 ............................................................................................................................. 4

3.1 DDS基本原理 .................................................................................................................... 4 3.2 基于DDS的三相正弦波产生模块 ................................................................................... 5 3.3 调频信号产生模块 ........................................................................................................... 5 第四章 分析与计算 ......................................................................................................................... 7

4.1 DDS合成波频率 ................................................................................................................ 7 4.2 累加器位数的确定 ........................................................................................................... 7 4.3 频率控制字(FSW)位数 ................................................................................................. 8

4.3.1合成波最高频率f0的确定 ................................................................................... 8

4.3.2 FSW位数的确定.................................................................................................. 8 4.4 相位控制字(PSW)位数 ................................................................................................. 8 第五章 FPGA内部逻辑设计 ............................................................................................................ 9

5.1单片机软核模块设计 ........................................................................................................ 9

5.1.1 基本结构和功能 ................................................................................................... 9 5.1.2 8051软核系统构建及下载 ................................................................................ 10 5.1.3 8051软核软件测试 ............................................................................................ 11 5.2 三相正弦波产生模块设计 ............................................................................................. 12

5.2.1 ROM波形数据的获取 ....................................................................................... 12 5.2.1 模块顶层电路设计 ............................................................................................. 13 5.3 调频信号产生模块设计 ................................................................................................. 13 第六章 硬件电路设计 ................................................................................................................... 14

6.1 D/A转换电路 ................................................................................................................ 14 6.2 低通滤波电路 ................................................................................................................. 14 6.3 波形移位和电压放大电路 ............................................................................................. 15 第七章 单片机程序设计 ............................................................................................................... 16 第八章 系统测试 ........................................................................................................................... 17

8.1系统测试 .......................................................................................................................... 17

8.1.1 测试方法 ............................................................................................................. 17 8.1.2 系统测试结果 ..................................................................................................... 17 8.2 误差分析 ......................................................................................................................... 18 结束语 ............................................................................................................................................ 19 参考文献......................................................................................................................................... 19 致 谢 ............................................................................................................................................ 20 附录 ................................................................................................................................................ 21

第一章 前言

1.1 基于DDS三相正弦波设计目的及意义

在自动控制系统和测量领域中,三相正弦信号发生器是一种应用非常广泛的信号源。例如程控式电能表校验装置,其基本测量原理是:由功率源产生每个校验点信号,标准表与被校表同时对每个校验点信号进行电能测量,由标准表计算来得到被校表的误差值。

图1 程控式电能表校验装置原理框图

从上面的测量原理中可以看出,功率源产生的信号精度与稳定度,波形失真度和对工频的抑制能力等对校验结果有很大的影响。三相正弦信号源可以满足这一要求[1]。

一个良好的三相正弦信号源所输出的基准正弦信号的幅值和频率应高度稳定,且失真小,带负载能力强,三相对称度好。其还可广泛用于交流异步电机的变频驱动,如变频空调、变频冰箱和变频洗衣机的控制驱动,各类工业水泵、风机的变频驱动,各类不间断电源(UPS)以及其它一些需要三相正弦波形驱动的功率控制电路中。现在,利用直接频率合成(DDS)技术产生的波形信号能很好的满足这些要求。

1.2 DDS研究现状

1971年,美国学者J. Tierncy、C. M. Rader和B. Gold提出了以全数字技术、从相位概念出发直接合成所需波形的一种新的频率合成原理。随着技术和器件工艺水平的提高,一种新的频率合成技术——DDS(Direct Digital Synthesis)直接数字频率合成得到了飞速的发展[2]。

目前使用最广泛的一种DDS方式是利用高速存储器作查找表,然后通过高速DAC输出已经用数字形式存入的波形幅值。它在相对带宽、频率转换时间、相

位连续性、正交输出、高分辨力等方面具有显著的特性。

国内市场上可以得到的最新数据显示DDS的时钟速率可以达到1GHz,但是据资料显示,采用GaAs(砷化镓)的DDS部件其时钟速率可以达到1.6GHz。目前国内已有多家研究所和院校在此领域从事研究,但目前已经应用于整机的还未见报道。

美军已在许多系统中用其代替传统的VCO,产生高精度、高稳定度的频率源。

1.3 系统设计内容

系统需要完成基于DDS 技术低频可移相三相正弦信号发生器的设计与制作。需要实现以下功能:正弦波频率在1Hz~30KHz范围内任意预置,步进值1Hz;两相间的相位差在0~359°任意预置,步进值1°;频率精度达到0.1%,两相间的相位差精度达到1°;能输出载波频率约为10kHz的调频信号输出,要求调制信号频率在100Hz~1kHz频率范围内可变;在10kΩ负载电阻上的电压峰-峰值Vopp≥10V。

本论文详细讨论了正弦信号和调频信号的产生、频率精确控制、三路移相输出、D/A转换与四阶巴特沃思低通滤波电路、电流电压转换电路、4*4键盘与lcd12864显示器等诸方面软硬件实现方法。嵌入的8051单片机软核负责界面显示、键盘扫描和频率与相位控制字的串行输出。

设计以Cyclone II系列的EP2C5T144C8 FPGA为控制核心,先把欲产生信号波的波形数据存储在FPGA内定制的ROM中,由嵌入在FPGA里的51单片机发出频率控制字和相位控制字来控制输出波形的频率和相位。这里的控制字采用串行方式输出,可大大节约单片机的I/O口资源。

FPGA有丰富内部资源,可以将单片机和整个系统所需数字电路完全集成在芯片内部,可以提高系统的可靠性和集成度。所以利用FPGA 开发嵌入式系统并不会显著增加硬件成本,而且其设计周期短、灵活,适合用于小批量系统,具有广阔的市场价值。

为了实现上述设计要求,设计了图2所示的系统结构框图。系统基于EDA技术,主要由8051单片机软核、正弦波和调频波产生、数模转换、显示器、键盘、低通滤波电路、波形移位电路、电压放大电路等模块组成。

本设计在FPGA中嵌入了51单片机,实现了频率控制字和相位控制字的串行输出,同时负责键盘扫描,驱动显示器显示;调频信号产生模块用来产生频率在100Hz~1kHz频率范围内可变的调制信号;三相正弦波产生模块产生三路正弦信号输出,频率在1Hz~30KHz范围内任意预置,波形数据存储在定制的三个大小相同的ROM中,利用查表的方式输出波形;从FPGA中输出的三路离散信号通过D/A转换为连续的模拟信号,经过低通滤波器滤去高次谐波,使用移位电路将波形分成以X轴对称的上下两部分,最后经过电压放大电路使输出波形的电压峰峰值大于10V。

图2 系统整体结构框图

3.1 DDS基本原理

DDS的基本思路就是将要输出的波形数据取样、量化、编码,形成一个函数表,逐点存储在ROM里,然后在系统标准时钟下,按照一定的顺序从ROM里读出数据,再进行D/A变换和滤波后,得到一定频率的输出波形。其原理图如图3所示:

图3 DDS原理图

DDS合成信号波的过程如下:首先将正弦波的波形数据存入波形存储器ROM中,并给波形存储器和寄存器同一基准时钟fc,在此同一时钟的控制下频率寄存器输出的频率码K同相位控制器输出的数相加后形成一N位有效地址来查询波形存储器ROM中的值,并在时钟fc的控制下将对应的波形数据输出。当累加器经过k次循环相加后又回到初始值k,则波形存储器就会输出对应的一个正弦波周期内的波形数据,这样通过ROM可将相位值转换为与之对应的D位幅度码S (n),然后经D/A转换器变成阶梯波S (t),再经过低通滤波器平滑后,就可以得到合成的信号波形Y (t)。合成的信号波形形状取决于波形存储器ROM中存储的幅度码,而且相位控制字可控制输出波形的相位在0o~359o的范围内加减。因此,理论上将DDS可以产生任意波形[3]。

DDS技术是一种从相位概念出发把一系列数字形式的信号通过DAC 转换成模拟形式的信号的合成技术。DDS 系统中的参考时钟通常是一个高稳定性的晶体振荡器,用来作为系统时钟同步整个系统的各组成部分,这里使用的是FPGA开发板上的20MHz的晶振。

3.2 基于DDS的三相正弦波产生模块

本系统不仅要求输出三相正弦波,而且要求输出正弦波的频率与相位均可预置和步进,这就要求增加相位控制字和频率控制字,频率控制字和相位控制字均由单片机控制输出。

频率控制字(FSW - Frequency Setting Word)实际就是相位增量值,用来做相位累加器的累加值。相位累加器在每一个参考时钟脉冲fc输入时,把频率字累加一次,其输出相应地增加一个步长的相位增量,由于相位累加器的输出连接在波形存储器ROM地址线上,因此其输出的改变就相当于进行查表。这样就可把存储在波形存储器内的波形采样值经过查表查出,输出到D/A转换器。在系统时钟脉冲的作用下,相位累加器不停地累加,也即不停地查表,不停地把波形数据送到D/A转换器转换成模拟量输出,从而合成波形输出。低通滤波器则进一步平滑D/A转换器输出的近似所需波型的锯齿阶梯波,同时滤除不必要的杂波。同时由于相位累加器字长的限制,相位累加器累加到一定数值后,其输出将会溢出,产生的波形存储器的地址数值就会循环一次,意味着输出的波形完成了一个周期。所以改变频率控制字,就可以改变累加器的循环频率,在时钟频率不变的情况下就可以改变输出率。产生三相正弦波原理图如图4 所示,图中使用了三个大小相同的波形存储器ROM,存储三路正弦波形数据[3]。

图4 三相正弦波原理图

3.3 调频信号产生模块

设调制信号为U (t) U cos t U cos(2 f t),载波为

2 Upm(iTr) UcMcos(

P0

(kc k fcos(

i

2 k i

floor(')))),设相位累加器位数为xP0Z

(PO 2),系统时标为fr,调制信号为f ,分频系数为Z,则调制信号时钟

x'

frh

fr

,则相位累加器B累计次数i与相位累加器A累计次数j之间存在关系'Z

i

j floor('),故可得出调制信号为

Z

U (jTr) U cos(

2 k i

floor(')) P0Z

载波信号为 UC(iTr) UcMcos(2 ikc/P0),其中调制波频率控制字

k

f P0fP

,载波频率控制字kc c0。 frhfr

由此可得调频波频率控制字

k kc k fcos(

2 k i

floor(')) (k f为频偏控制字) P0Z

2

故DDS调频公式为 Upm(iTr) UcMcos(

P0DDS调频原理框图如图5所示[4]。

(kc k fcos(

i

2 k i

floor(')))) P0Z

图5 DDS调频原理图

第四章 分析与计算

4.1 DDS合成波频率

若累加寄存器的位数为N,频率控制字为FSW,时钟基准为fc,则合成波形的频率为

f0

1n

FSW f/2cn

[(2/PSW) (1/fc)]

其中1/fc为每输出一个波形数据所需时间,2n/PSW为一个完整的输出波形所含的波形数据数。

4.2 累加器位数的确定

累加器是DDS电路工作的最关键部分,累加器的工作速度决定了输出波形的

fc

频率精度,由 f fmin n知,累加器的位数决定了频率最小分辨率。

2

设计中基准时钟fc为DDS的工作频率,取fc=35MHz。为了使频率可实现1Hz的步进,即频率最小分辨率可达1Hz,fmin 1。易知2n=fc=35000000,可算得n=25.2,当取n=28时,累加器的最小分辨率fmin可达

35MHz/228 0.1304

连接时将低3位始终置1,则分辨率变为7×0.1304 0.913。因此确定累加器的位数为28位。

由上述分析可知,合成波频率为

f0=FSW×0.913

理想状态下应该是f0=FSW,这样出来的频率精度才是最高的。因此上式得到的输出波形与键盘输入波形还是有一定的误差。为此这里我又通过软件的方法来减小误差。方法是:在程序里先将输入的PSW除以0.913之后再将结果串出给三相波形产生模块。实验表明采用此方法可以精确到0.01%。

4.3 频率控制字(FSW)位数

4.3.1合成波最高频率f0的确定

根据Nyquist采样定理,每周期最少有两个采样点,便可以还原出数字信号的波形,所以最高输出频率为2fs。但实际中并不需要如此高的频率,并且随着采样点数的减少,对后面的抗混叠滤波提出了更高的要求,必然要增加模拟电路的硬件成本。一般我们每周期采样64个点。

前面已经讨论过DDS工作的基准时钟fc为35MHz,为保证每周期至少取到64个点,将输出的合成波最高频率f0设为350KHz,这样,当输出350KHz的波形时每周期可以取到点数为

N=(1/f0)/(1/fc)=100

这样能保证输出波形能较容易从混叠波中滤出。

因此当fc为35MHz时,从DDS出来的合成波频率可以达到350KHz。完全满足本设计要求的输出频率最高为30KHz的要求。 4.3.2 FSW位数的确定

前面由公式已经计算出: f=fmin 0.913,所以当输出频率f0为30KHz的波形时频率控制字FSW由下式得出

FSW=f0/ f 32894.743>215=32768

实际设计时可以取频率控制字的位数为16位。

4.4 相位控制字(PSW)位数

移相最大精度由波形表地址精度有关,其算法有下面公式给出:

Δφ=360°/2n

两相正弦波相位之差是靠键盘预置和步进的方法来实现的,移相最大精度与

波形表地址精度有关。本系统波形表地址为8位,波形数据存储器ROM中存储了28个数据,则相位精度为1.4°,即输出的相位φ=PSW×1.4°。

这与题目步进1°的要求有0.4°的误差,此误差可以通过增加波形数据数来消除,但这会增加硬件开销。这里我通过软件的方法来减小此误差,方法与减小合成波频率f0误差一样,将键盘输入的PSW除以1.4°之后再将结果串出。这样步进可以精确到1°。

第五章 FPGA内部逻辑设计

FPGA内部结构框图在第二章图2 中已经给出,从图中可知其内部由8051单片机软核、三相正弦波产生和调制信号产生等三个模块组成。

5.1单片机软核模块设计

5.1.1 基本结构和功能

特殊功能寄存器

ALUUART串行口

中断控制器

定时器/计数器

数据RAM端口程序存储器端口

I/O端口

图6 8051引脚图 图7 8051原理图元件

8051可接64KB外部存储器,可接256字节内部数据RAM,含两个16位定时/计数器,全双工串口,含节省功耗工作模式,中断响应结构等等。结构模块框图和原理图元件分别如图6和7所示。

与普通8051不同之处主要有:

1、8051是以网表文件的方式存在的,只有通过编译综合,并载入FPGA中才以硬件的方式工作,而普通8051总是以硬件方式存在的;

2、8051无内部ROM和RAM,所有程序ROM和内部RAM都必须外接。 3、以软核方式存在能进行硬件修改和编辑;能对其进行仿真和嵌入式逻辑分析仪实现实时时序测试;能根据设计者的意愿将CPU、RAM、ROM、硬件功能模块和接口模块等实现于同一片FPGA中(即SOC)。

4、与普通8051不同,8051的4个I/O口是分开的。例如P1口,其输入端P1I和输出端P1O是分开的,如果需要使用P1口的双向口功能,必须外接一些电路才能实现。本设计中使用的4*4键盘就必须用到双向口。图8所示的是单片机中的一个端口构成的双向口(P1口)电路连接方法。

图8 8051单片机I/O口设置成双向口的电路

5.1.2 8051软核系统构建及下载

8051核实用系统的最基本构建顶层原理图如附录2所示,主要由4个部件构成:

1、8051核。由VQM原码表述:CPU_Core.vqm,可以直接调用。该元件可以与其他不同语言表述的元件一同综合与编译。

2、嵌入式锁相环PLL50。本此设计锁相环的频率设置为35MHz。 3、程序ROM,LPM_ROM。设置的ROM容量是4K字节,对于一般的应用足够了。此ROM可以加载HEX格式文件作为单片机的程序代码。这里HEX程序代码由KEIL程序编译器生成(图中已加载了1.HEX)。

4、数据RAM,LPM_RAM。设置的LPM_RAM容量是256字节。高128字节须用间接寻址方式访问。

按照附录2的原理图连接,运行。运行成功之后将SOF文件下载到硬件当中即可。图9是8051单片机的下载界面。

图9 8051单片机的下载界面

5.1.3 8051软核软件测试

向软核中下载程序代码有两种方法,如下:

1、Quartus II打开的工程,在工程管理窗,双击图左侧rom4KB,在右侧出现该元件文件,其初始化文件路径指示在1.HEX上,如图10。下载SOF文件后可以测试程序的功能了。

图10 ROM初始化文件路径

2、利用In-System Memory Content Editor下载。在单片机程序编译环境KEIL2中修改程序main. c,编译,并用“Tools”菜单中的工具:In-System Memory Content Editor,下载编译代码:1.hex,如图11。再观察软硬件的工作情况。8051的软件调试也可以使用In-System Memory Content Editor来完成[5-6]。

图11 利用In-System Memory Content Editor下载程序HEX代码

5.2 三相正弦波产生模块设计

5.2.1 ROM波形数据的获取

利用Quartus II中的Mega Wizard Plug-In Manager可以方便的生成任意大小和接口的ROM,关键是如何将波形表初始化到其中去。

获取正弦波形数据的方法有好几种,这里我将介绍一种用Excel来生成波形

数据的方法。如下所述:

在一个周期内ωt的取值范围为0~2π,对应y=f(x)形式,即0≤ x<2π,则

y sinx (0≤x<2π)

ROM地址范围的大小取决于所要求的数据表精度,地址范围越大数据表越精确,但需要的存储空间越大。在Excel表格中可以用下拉单元格的方式迅速生成地址,本设计中生成256个数据的数据表,地址范围0~255,即波形表中每种波形每周期取256点。首先在A1和B1两格中输入0和2,然后选中此两格,用下拉菜单的方法向后拖动,直到拖到最后一格刚好生成256个数据为止。然后在A2格输出公式“=sin((A1/256)*2* 3.1415926 ) ”,再利用下拉单元格的方式,得到各个地址单元所对应得正弦函数值。以上得到的正弦函数表往往不能被D/A转换器直接利用,需要将其值映射到D/A转换器所能接受的数据空间内。设计中所用D/A转换器为8位,其数据空间是0~255,可以在C1格输入公式“=127.5*(1+B1)”来映射数据,映射后的数据为小数,还须对其取整,即在A3格中输入公式“=INT(C1)”。最后,为使数据表能直接用于Quartus II程序中还须添加文本。添加语法文本可输入“=A1”、“=&D1”,再用下拉单元格方法,得到完整的数据表。已生成的带有语法文本的函数表,经复制后可以直接粘贴到用户程序中。ROM表中的数据如图12所示[3]。

图12 ROM中的波形数据

5.2.1 模块顶层电路设计

采用FPGA设计可以方便的输出三路正弦波信号,而不必增加外围硬件电路。其顶层原理图见附录3所示。

原理图中从左到右各分别是串转并、8位的相位累加器和28位的频率累加器、寄存器和波形ROM等模块组成,VHDL程序见附录10所示。相位控制字和频率控制字均采用串行方式从单片机中输出,然后通过串转并模块将数据并行的送给累加器,单片机C语言程序见附录9所示。

5.3 调频信号产生模块设计

附录4 给出了DDS 调频信号发生器核心单元的FPGA 电路设计图。加法器为8 位,调制信号波形存储器为256×8BIT,载波信号波形存储器为256×8BIT,系统时钟为20MHz;

设计性能参数:载波频率可达10KHz,为确保波形不失真,一周期至少取8 点,调制频率范围100~1K。外部电路输入有8位的调制信号频率控制字FSW,调制信号系统时钟FM_CLK,是将20MHz的频率2048分频得到。载波信号系统时钟是将20MHz的频率64分频得到。频率控制字FSW经累加器输出累加相位DOUT[7..0]作为调制信号查找表的地址,波形数据q[7..0]、dataa[3..0]和B[7..0]经过数值变换后输出调频控制字K[7..0]。K[7..0]经累加器B输出累加相位DIN[7..0]作为调频信号查找表的地址,波形数据q[7..0]经外部DAC 转换和低通滤波得到

10KHz调频信号波形。其中,在两个累加器后相连的寄存器有助于消除毛刺的影响,进一步确保系统的稳定性和可靠性。

第六章 硬件电路设计

第一路波形的整体硬件电路原理图在附录5给出,其它两路硬件电路图和第一路相同。硬件电路结构框图在第二章图2 中已经给出,从图中可知硬件电路是由D/A转换电路、低通滤波电路、波形移位电路和电压放大电路等四个模块组成。

6.1 D/A转换电路

数模转换器采用DAC0832,数模转换电路连接图如下图13所示。输出的模拟量与输入的数字量(DN-1*2N-1+……+D0*20)成正比,这就实现了从数字量到模拟量的转换。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,只能是256个可能值中的一个。

图13 D/A转换电路

从ROM里输出的波形数据直接送给D/A转换器处理,将信号模拟化。由于要求输出量是电压,而DAC0832输出的是电流量,所以还必须外接一个运算放大器将电流转换成电压,这里选用OP07集成运放,此运放具有极低的输入失调电压、极低的失调电压温漂能长期稳定工作等特点。其带宽为63MHz,完全满足本系统的需要。

6.2 低通滤波电路

从D/A出来的阶梯波需要经过滤波器平滑后才可以得到我们想要的波形。其电路图原理如图14所示。图中所示为巴特沃思低通滤波电路,其在通频带内

外都有平稳的幅频特性,滤波输出的信号总会在第一个周期略微有些失真,但往后的幅频特性就非常的好。

为了减少运放对滤波电路的负载效益,同时便于调整,我们选择两个二阶巴特沃思低通滤波器串联的方法,构成一个四阶巴特沃思低通滤波器。电路中各参数可通过差表式软件Filterlab生成,并稍加修改即可。滤波器选用运放OP37构成。

图14 两阶巴特沃思滤波电路

6.3 波形移位和电压放大电路

DDS合成输出的波形的幅值全都大于零,因此要设计波形移位电路将幅值为零的点全部移到X坐标轴上,波形移位原理如下图15所示。

波形移位的核心部分是一电压跟随器,电压跟随器的输出V01 (Vin Vp),所以输出的V01就相当于在输入Vin的基础上下移了Vp,而Vp又受可变电阻器Rw1的控制,通过调节Rw1理论上可将Vin的波形向Y轴负方向下移0~12V。

由于FPGA 的I/O 输出电压只有3.3V,所以波形移位模块输出波形的峰峰值最大仅有3.3V。因此要想使输出的电压峰峰值在10k的电阻上不小于20V,就要加一电压放大电路。放大模块的核心器件为集成运放OP37,由《模拟电路》知识知,Vout Vin Rw2/R3,Rw2/R3的范围是0~10,因此通过调节Rw2可以使输出波形的峰峰值在0~10倍的V01间变化,即输出信号的峰峰值最小可到0V,最大可达33V,这足以满足系统的要求。本设计中将输出信号的电压峰峰值调为17V。另外,此放大电路为反相比例放大类型,由于理想运放的输出电阻Ro趋近于零,所以输出电阻Ro也趋近于零,则输出电压基本上不会受负载的影响[7]。

图15 波形移位和电压放大电路原理图

第七章 单片机程序设计

嵌在FPGA中的8051单片机主要控制频率控制字与相位控制字的传送、键盘扫描和人机界面的显示,系统时钟是35M,由PLL锁相环提供。源程序见附录9。通过实物验证,此程序很好的完成了以上所述的要求,在减小频率和相位误差上也起到了很好的效果,具有友好的人机界面显示。程序流程图如图16所示。

图16 主程序流程图

初始化后lcd12864会显示“欢迎使用”字样,输出波形频率和两相相位差分别为2KHz和0度。在4*4键盘上输入相应的按键时会进入频率模式或相位模式,当进入频率和相位模式时在lcd上分别有“输入频率:”和“输入相位:”的字样提示。在完成输入或步进操作后必须按下“确定”键才会将数据送给累加器,只要按下“确定”键之前按下“退出”键就可以取消当前对数值的修改。

第八章 系统测试

8.1系统测试

8.1.1 测试方法

系统上电之后,按下复位键(在FPGA板上对应的是PIN57),若lcd界面显示“欢迎使用”且在示波器上输出的波形频率和相位分别为2KHz和0度,则说明系统工作正常。

按下键盘上的“调频”键,进入调频模式,lcd上会显示“输入频率:”。频率最大允许输入5位,输入完毕后必须按下“确定”键输出波形才会改变。按下“调频”键后,直接按下“+”或“-”键即可对频率值进行步进操作。

按下键盘上的“调相”键,进入调相模式,lcd上会显示“输入相位:”。相位最大允许输入3位,输入完毕后必须按下“确定”键输出波形才会改变。按下“调相”键后,直接按下“+”或“-”键即可对相位差进行步进操作。 8.1.2 系统测试结果

表3 第二路波形频率测试

表4 第三路波形频率测试

从以上三个表格可知,系统能够输出的频率可达到35KHz,输出端接10k电阻时波形峰峰值可达17.3V,频率误差都在0.06%左右。

表5所示为两相间相位差测试结果。从表中可知,在0度和360度时相位误差为0,其它情况下差误差在1.5%左右。移相90度和45度的波形可见附录7、8所示。

表5 两相间相位差测试

8.2 误差分析

本系统存在的误差主要有频率步进误差、频率预置误差、相位步进误差和相位预置误差。

频率步进与预置误差:本系统频率控制字为16位,累加器输出为28位,由理

本文来源:https://www.bwwdw.com/article/h1c1.html

Top