




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校代码: 11059 学 号:0805070240 Hefei University 毕业论文(设计)BACHELOR DISSERTATION论文题目: 基于DDS技术三相正弦信号发生器的设计与实现学位类别: 工学学士 学科专业: 电子信息工程 作者姓名: 导师姓名: 完成时间: 2010年5月27日 基于DDS技术三相正弦信号发生器的设计与实现中 文 摘 要本设计是基于EDA技术,在Quartus II开发平台上,采用自顶向下的设计方法设计,主芯片采用EP2C5T144C8。以在FPGA中嵌入的8051单片机软核为控制核心,设计完成了基于DDS技术三相正弦信号发生器的制作。论文详细讨论了正弦信号和调制信号的产生、频率精确控制、三路移相输出、D/A转换与四阶巴特沃思低通滤波电路、电流电压转换电路、4*4键盘与lcd12864显示器等诸方面软硬件实现方法。嵌入的8051单片机软核负责界面显示、键盘扫描和频率与相位控制字的串行输出。系统可输出三相正弦波和调制信号波。调制信号频率在100Hz1kHz频率范围内可任意预置,正弦波频率在1Hz30KHz范围内任意预置,两相间的相位差在0359任意预置。根据输入频率大小不同,分别有1Hz、10Hz和100Hz步进值,相位步进值为1。综合测试证明,频率精度达到0.06%,移相精度达到1度,在10k负载电阻上的电压峰-峰值Vopp10V。关键词:低频三相;FPGA;DDS;8051单片机软核;移相The Design and Implementation of Three-phase Sinusoidal Signal Generator Based on DDS TechnologyAbstractThe 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目录第一章 前言11.1 基于DDS三相正弦波设计目的及意义11.2 DDS研究现状11.3 系统设计内容2第二章 系统设计3第三章 理论分析43.1 DDS基本原理43.2 基于DDS的三相正弦波产生模块53.3 调频信号产生模块5第四章 分析与计算74.1 DDS合成波频率74.2 累加器位数的确定74.3 频率控制字(FSW)位数84.3.1合成波最高频率的确定84.3.2 FSW位数的确定84.4 相位控制字(PSW)位数8第五章 FPGA内部逻辑设计95.1单片机软核模块设计95.1.1 基本结构和功能95.1.2 8051软核系统构建及下载105.1.3 8051软核软件测试115.2 三相正弦波产生模块设计125.2.1 ROM波形数据的获取125.2.1 模块顶层电路设计135.3 调频信号产生模块设计13第六章 硬件电路设计146.1 D/A转换电路146.2 低通滤波电路146.3 波形移位和电压放大电路15第七章 单片机程序设计16第八章 系统测试178.1系统测试178.1.1 测试方法178.1.2 系统测试结果178.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 技术低频可移相三相正弦信号发生器的设计与制作。需要实现以下功能:正弦波频率在1Hz30KHz范围内任意预置,步进值1Hz;两相间的相位差在0359任意预置,步进值1;频率精度达到0.1%,两相间的相位差精度达到1;能输出载波频率约为10kHz的调频信号输出,要求调制信号频率在100Hz1kHz频率范围内可变;在10k负载电阻上的电压峰-峰值Vopp10V。本论文详细讨论了正弦信号和调频信号的产生、频率精确控制、三路移相输出、D/A转换与四阶巴特沃思低通滤波电路、电流电压转换电路、4*4键盘与lcd12864显示器等诸方面软硬件实现方法。嵌入的8051单片机软核负责界面显示、键盘扫描和频率与相位控制字的串行输出。设计以Cyclone II系列的EP2C5T144C8 FPGA为控制核心,先把欲产生信号波的波形数据存储在FPGA内定制的ROM中,由嵌入在FPGA里的51单片机发出频率控制字和相位控制字来控制输出波形的频率和相位。这里的控制字采用串行方式输出,可大大节约单片机的I/O口资源。FPGA有丰富内部资源,可以将单片机和整个系统所需数字电路完全集成在芯片内部,可以提高系统的可靠性和集成度。所以利用FPGA 开发嵌入式系统并不会显著增加硬件成本,而且其设计周期短、灵活,适合用于小批量系统,具有广阔的市场价值。第二章 系统设计为了实现上述设计要求,设计了图2所示的系统结构框图。系统基于EDA技术,主要由8051单片机软核、正弦波和调频波产生、数模转换、显示器、键盘、低通滤波电路、波形移位电路、电压放大电路等模块组成。输出 FPGA显示模块键盘模块调频信号产生模块FSWPSW三相正弦波产生模块(DDS)D/A低通滤波器8051单片机软核波形移位电压放大图2 系统整体结构框图本设计在FPGA中嵌入了51单片机,实现了频率控制字和相位控制字的串行输出,同时负责键盘扫描,驱动显示器显示;调频信号产生模块用来产生频率在100Hz1kHz频率范围内可变的调制信号;三相正弦波产生模块产生三路正弦信号输出,频率在1Hz30KHz范围内任意预置,波形数据存储在定制的三个大小相同的ROM中,利用查表的方式输出波形;从FPGA中输出的三路离散信号通过D/A转换为连续的模拟信号,经过低通滤波器滤去高次谐波,使用移位电路将波形分成以X轴对称的上下两部分,最后经过电压放大电路使输出波形的电压峰峰值大于10V。第三章 理论分析3.1 DDS基本原理DDS的基本思路就是将要输出的波形数据取样、量化、编码,形成一个函数表,逐点存储在ROM里,然后在系统标准时钟下,按照一定的顺序从ROM里读出数据,再进行D/A变换和滤波后,得到一定频率的输出波形。其原理图如图3所示:图3 DDS原理图DDS合成信号波的过程如下:首先将正弦波的波形数据存入波形存储器ROM中,并给波形存储器和寄存器同一基准时钟,在此同一时钟的控制下频率寄存器输出的频率码K同相位控制器输出的数相加后形成一N位有效地址来查询波形存储器ROM中的值,并在时钟的控制下将对应的波形数据输出。当累加器经过k次循环相加后又回到初始值k,则波形存储器就会输出对应的一个正弦波周期内的波形数据,这样通过ROM可将相位值转换为与之对应的D位幅度码S (n),然后经D/A转换器变成阶梯波S (t),再经过低通滤波器平滑后,就可以得到合成的信号波形Y (t)。合成的信号波形形状取决于波形存储器ROM中存储的幅度码,而且相位控制字可控制输出波形的相位在0o359o的范围内加减。因此,理论上将DDS可以产生任意波形3。DDS技术是一种从相位概念出发把一系列数字形式的信号通过DAC 转换成模拟形式的信号的合成技术。DDS 系统中的参考时钟通常是一个高稳定性的晶体振荡器,用来作为系统时钟同步整个系统的各组成部分,这里使用的是FPGA开发板上的20MHz的晶振。3.2 基于DDS的三相正弦波产生模块本系统不仅要求输出三相正弦波,而且要求输出正弦波的频率与相位均可预置和步进,这就要求增加相位控制字和频率控制字,频率控制字和相位控制字均由单片机控制输出。频率控制字(FSW - Frequency Setting Word)实际就是相位增量值,用来做相位累加器的累加值。相位累加器在每一个参考时钟脉冲输入时,把频率字累加一次,其输出相应地增加一个步长的相位增量,由于相位累加器的输出连接在波形存储器ROM地址线上,因此其输出的改变就相当于进行查表。这样就可把存储在波形存储器内的波形采样值经过查表查出,输出到D/A转换器。在系统时钟脉冲的作用下,相位累加器不停地累加,也即不停地查表,不停地把波形数据送到D/A转换器转换成模拟量输出,从而合成波形输出。低通滤波器则进一步平滑D/A转换器输出的近似所需波型的锯齿阶梯波,同时滤除不必要的杂波。同时由于相位累加器字长的限制,相位累加器累加到一定数值后,其输出将会溢出,产生的波形存储器的地址数值就会循环一次,意味着输出的波形完成了一个周期。所以改变频率控制字,就可以改变累加器的循环频率,在时钟频率不变的情况下就可以改变输出率。产生三相正弦波原理图如图4 所示,图中使用了三个大小相同的波形存储器ROM,存储三路正弦波形数据3。移相波输出基准波2输出基准波1输出PSWWFSW累加器加法器波形表ROM3波形表ROM2波形表ROM1D/AD/AD/A低通滤波器低通滤波器低通滤波器正弦波产生模块图4 三相正弦波原理图3.3 调频信号产生模块设调制信号为,载波为,设相位累加器位数为x(),系统时标为,调制信号为,分频系数为,则调制信号时钟,则相位累加器B累计次数i与相位累加器A累计次数j之间存在关系,故可得出调制信号为载波信号为 ,其中调制波频率控制字,载波频率控制字。由此可得调频波频率控制字 (为频偏控制字)故DDS调频公式为 DDS调频原理框图如图5所示4。频率控制字相位累加器A波形存储器A频偏控制字频率控制字加法器数值变换相位累加器B波形存储器B幅度调节D/AFr图5 DDS调频原理图第四章 分析与计算4.1 DDS合成波频率若累加寄存器的位数为N,频率控制字为FSW,时钟基准为,则合成波形的频率为其中1/为每输出一个波形数据所需时间,2n/PSW为一个完整的输出波形所含的波形数据数。4.2 累加器位数的确定累加器是DDS电路工作的最关键部分,累加器的工作速度决定了输出波形的频率精度,由知,累加器的位数决定了频率最小分辨率。设计中基准时钟为DDS的工作频率,取=35MHz。为了使频率可实现1Hz的步进,即频率最小分辨率可达1Hz,。易知2n=35000000,可算得n=25.2,当取n=28时,累加器的最小分辨率可达35MHz/2280.1304连接时将低3位始终置1,则分辨率变为70.13040.913。因此确定累加器的位数为28位。由上述分析可知,合成波频率为=FSW0.913理想状态下应该是=FSW,这样出来的频率精度才是最高的。因此上式得到的输出波形与键盘输入波形还是有一定的误差。为此这里我又通过软件的方法来减小误差。方法是:在程序里先将输入的PSW除以0.913之后再将结果串出给三相波形产生模块。实验表明采用此方法可以精确到0.01%。4.3 频率控制字(FSW)位数4.3.1合成波最高频率的确定 根据Nyquist采样定理,每周期最少有两个采样点,便可以还原出数字信号的波形,所以最高输出频率为2。但实际中并不需要如此高的频率,并且随着采样点数的减少,对后面的抗混叠滤波提出了更高的要求,必然要增加模拟电路的硬件成本。一般我们每周期采样64个点。前面已经讨论过DDS工作的基准时钟为35MHz,为保证每周期至少取到64个点,将输出的合成波最高频率设为350KHz,这样,当输出350KHz的波形时每周期可以取到点数为N=(1/)/(1/)=100这样能保证输出波形能较容易从混叠波中滤出。因此当为35MHz时,从DDS出来的合成波频率可以达到350KHz。完全满足本设计要求的输出频率最高为30KHz的要求。4.3.2 FSW位数的确定前面由公式已经计算出:=0.913,所以当输出频率为30KHz的波形时频率控制字FSW由下式得出FSW=/32894.743=32768实际设计时可以取频率控制字的位数为16位。4.4 相位控制字(PSW)位数移相最大精度由波形表地址精度有关,其算法有下面公式给出:=360/2n两相正弦波相位之差是靠键盘预置和步进的方法来实现的,移相最大精度与波形表地址精度有关。本系统波形表地址为8位,波形数据存储器ROM中存储了28个数据,则相位精度为1.4,即输出的相位=PSW1.4。这与题目步进1的要求有0.4的误差,此误差可以通过增加波形数据数来消除,但这会增加硬件开销。这里我通过软件的方法来减小此误差,方法与减小合成波频率误差一样,将键盘输入的PSW除以1.4之后再将结果串出。这样步进可以精确到1。第五章 FPGA内部逻辑设计FPGA内部结构框图在第二章图2 中已经给出,从图中可知其内部由8051单片机软核、三相正弦波产生和调制信号产生等三个模块组成。5.1单片机软核模块设计5.1.1 基本结构和功能图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的取值范围为02,对应y=f(x)形式,即0 x2,则 (0x2)ROM地址范围的大小取决于所要求的数据表精度,地址范围越大数据表越精确,但需要的存储空间越大。在Excel表格中可以用下拉单元格的方式迅速生成地址,本设计中生成256个数据的数据表,地址范围0255,即波形表中每种波形每周期取256点。首先在A1和B1两格中输入0和2,然后选中此两格,用下拉菜单的方法向后拖动,直到拖到最后一格刚好生成256个数据为止。然后在A2格输出公式“=sin(A1/256)*2* 3.1415926 ) ”,再利用下拉单元格的方式,得到各个地址单元所对应得正弦函数值。以上得到的正弦函数表往往不能被D/A转换器直接利用,需要将其值映射到D/A转换器所能接受的数据空间内。设计中所用D/A转换器为8位,其数据空间是0255,可以在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 位,调制信号波形存储器为2568BIT,载波信号波形存储器为2568BIT,系统时钟为20MHz;设计性能参数:载波频率可达10KHz,为确保波形不失真,一周期至少取8 点,调制频率范围1001K。外部电路输入有8位的调制信号频率控制字FSW,调制信号系统时钟FM_CLK,是将20MHz的频率2048分频得到。载波信号系统时钟是将20MHz的频率64分频得到。频率控制字FSW经累加器输出累加相位DOUT7.0作为调制信号查找表的地址,波形数据q7.0、dataa3.0和B7.0经过数值变换后输出调频控制字K7.0。K7.0经累加器B输出累加相位DIN7.0作为调频信号查找表的地址,波形数据q7.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所示。波形移位的核心部分是一电压跟随器,电压跟随器的输出,所以输出的就相当于在输入的基础上下移了,而又受可变电阻器Rw1的控制,通过调节Rw1理论上可将的波形向Y轴负方向下移012V。由于FPGA 的I/O 输出电压只有3.3V,所以波形移位模块输出波形的峰峰值最大仅有3.3V。因此要想使输出的电压峰峰值在10k的电阻上不小于20V,就要加一电压放大电路。放大模块的核心器件为集成运放OP37,由模拟电路知识知,的范围是010,因此通过调节可以使输出波形的峰峰值在010倍的间变化,即输出信号的峰峰值最小可到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 系统测试结果表2 第一路波形频率测试第一路波形输出测量次数设置频率(Hz)实际输出频率(Hz)误差(%)输出端接10k电阻时波形峰峰值(V)11010.2214.32100100.020.0217.032.1K2.09872K0.06017.2420K19.9881K0.05915.1530K29.9812K0.0639.0635K34.9783K0.0626.4表3 第二路波形频率测试第二路波形输出测量次数设置频率(Hz)实际输出频率(Hz)误差(%)输出端接10k电阻时波形峰峰值(V)11010.3314.22100100.010.0117.232.1K2.09872K0.06017.2420K19.9879K0.05915530K29.9814K0.0639.2635K34.9781K0.0626.4表4 第三路波形频率测试第三路波形输出测量次数设置频率(Hz)实际输出频率(Hz)误差(%)输出端接10k电阻时波形峰峰值(V)11010.1114.02100100.00017.332.1K2.09871K0.05917.2420K19.9879K0.05915530K29.9811K0.0637.8635K34.9779K0.0625.9从以上三个表格可知,系统能够输出的频率可达到35KHz,输出端接10k电阻时波形峰峰值可达17.3V,频率误差都在0.06%左右。表5所示为两相间相位差测试结果。从表中可知,在0度和360度时相位误差为0,其它情况下差误差在1.5%左右。移相90度和45度的波形可见附录7、8所示。表5 两相间相位差测试测量次数设置相位差值(度)实际相位差值(度)误差(%)1000245442.2390892.241371351.552001981636036008.2 误差分析本系统存在的误差主要有频率步进误差、频率预置误差、相位步进误差和相位预置误差。频率步进与预置误差:本系统频率控制字为16位,累加器输出为28位,由理论分析与计算知,步进一步频率增加或减少0.913度,与步进1度的要求有0.087度的误差。输出的频率的误差为FSW0.087。相位步进和相位预置误差:系统相位控制位为8位,由理论分析与计算可知,步进一次,两项波形的相角差增加或减少1.4度,这与步进1度的要求有0.4度误差。输出的相位的误差为PSW0.4故从理论上分析就已经存在一定误差。由于我在C程序里将频率和相位控制字做了处理再串行输出,使得误差有所减小。结束语经过两个月的努力,设计并制作了低频三相正弦信号发生器。系统可输三相正弦波,频率范围1Hz30kHz,并且可输出载波频率约为10kHz,调制信号频率在100Hz1kHz范围内可变。三相波形输出频率可预置和步进,两相正弦波相位之差也可实现预置和步进的功能。综合测试表明,本系统满足赛题所有的要求。采用FPGA 来设计DDS 系统具有很高的性价比,将单片机嵌入到FPGA中也使系统变的更加简洁、稳定。参考文献1 基于数字波形合成的三相正弦信号源设计与理论研究D,论文编码 189784,2-3;2 戴 柠.陈一饶. DDS 信号源的研制J. 仪器仪表学报.1996,17(1):24-28;3 基于FPGA的双路可移相任意波形发生器J,李航、曲永志、雷霆,武汉理工大学自动化学院,2-5;4 基于FPGA 的DDS 调频信号的研究与实现J,石伟,宋跃,李琳,湖南科技大学,中图分类号:TP274;TM935,3-4;5 8051中文资料Z,杭州康芯电子有限公司;6 EDA/SOPC技术实验讲义Z,杭州康芯电子有限公司,12-14;7 全国大学生电子设计竞赛试题精选M,陈永真 等编著,电子工业出版社;致 谢岁月如歌,光阴似箭,回首求学历程,对那些引导我、帮助我、激励我的人,我心中充满了感激。在论文完成过程之中,除了我自己四年多来的潜心学习和研究之外,也凝聚了指导老师的心血。所以在这里,我要对我的指导老师谭敏老师表示我最由衷的感谢,感谢谭敏老师在我攻读学士学位中对我所付出的一切心血。在本次论文设计过程中,谭敏老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计。谭敏老师身上的责任和热情深深地感染了我,并让我为之动容。她作为老师,点拨迷津,让人如沐春风;作为长辈,关怀备至,让人感念至深。老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。 四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。我不会辜负老师对我的教诲,我将勇往直前,继续努力奋斗,也希望我的老师永远身体健康、永远年轻、永远幸福!郭登五2010年5月26日于 合肥学院附录附录1:正弦信号与调制信号产生顶层原理图附录2:8051核实用系统的最基本构建顶层原理图附录3:三相正弦波产生模块附录4:调频信号产生模块附录5:硬件电路原理图附录6:整体实物图附录7:移相180度波形附录8:移相90度波形附录9:单片机源程序#include #include #include #define uint unsigned int#define uchar unsigned charsbit F_CLK=P20;sbit F_EN=P21;sbit F_cx_data=P22;sbit P_CLK=P24;sbit P_EN=P25;sbit P_cx_data=P23;uint F_DATA;uint P_DATA;uchar F_dispbuf5;uchar P_dispbuf3;void FSW_mode();void PHASE_mode();void F_chuan_chu(uint FSW);void P_chuan_chu(uint PHASE);void display_pl();void display_phase();void main() bit flag=1; uchar temp1=0,i=0; Lcd_Init(); DisplayString(2,0,欢迎使用! ); P_chuan_chu(0);F_chuan_chu(2000);/初始化的频率和相位 while(1) temp1=KeyScan(); if(temp1=12) /频率控制字 flag=1;clear_lcd(1);FSW_mode(); else if(temp1=13) /相位控制字 flag=0;clear_lcd(1);PHASE_mode(); void FSW_mode() uchar temp2=0,i,flag;uint temp;for(i=0;i5;i+) F_dispbufi=0;i=0;clear_lcd(0);DisplayString(0,0,输入频率: );while(1) temp2=KeyScan(); if(temp210&i5) F_dispbufi=temp2;flag=1; switch(i) case 0:Lcd_WriteCmd(0x90);Lcd_WriteData(F_dispbuf0+0x30);break; case 1:Lcd_WriteData(F_dispbuf1+0x30);break; case 2:Lcd_WriteData(F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论