基于FPGA的高精度相位测量仪的设计_第1页
基于FPGA的高精度相位测量仪的设计_第2页
基于FPGA的高精度相位测量仪的设计_第3页
基于FPGA的高精度相位测量仪的设计_第4页
基于FPGA的高精度相位测量仪的设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于FPGA的高精度相位测量仪的设计 引言随着集成电路的发展,利用大规模集成电路来完成各种高速、高精度电子仪器的设计已经成为一种行之有效的方法。采用这种技术制成的电子仪器电路结构简单、性能可靠、测量精确且易于调试。本文采用Altera CycloneII系列FPGA器件EP2C5,设计了高精度相位测量仪。测量相位差所需的信号源在FPGA内部运用DDS原理生成,然后通过高速时钟脉冲计算两路正弦波过零点之间的距离,最后通过一定的运算电路得到最终相位值,测相精度为1°。 图1 相位测量仪硬件结构图图2 基于DDS的数字移相信号发生模块框图图3 控制模块顶层原理框图图4 相位测量模块原理框图

2、系统硬件设计该基于FPGA的相位测量仪,硬件组成包括FPGA、高速DAC以及电压比较器等部分。其系统硬件结构如图1所示。该测量仪由按键来预置正弦波的频率及相位。通过FPGA内部的控制模块来计算并产生正弦波所需的频率控制字和相位控制字,然后将控制字输入DDS模块以产生波形数据输出,经10位高速DAC THS5651输出两路正弦波。在测相位差时,将图1中移相正弦波输出分为两路,其中一路直接经电压比较器LM311整形后输入测相模块;另外一路先通过被测电路,然后再经电压比较器整形后输入测相模块,从而得到正弦波经被测电路后产生的相移。基于FPGA的硬件电路设计DDS移相信号源设计DDS的基本原理是利用采

3、样定理,通过查表法产生波形,本系统的移相信号发生模块如图2所示。图2中,加法器与寄存器级联构成相位累加器。通过时钟脉冲触发相位累加器,从而将频率控制字不断累加。相位累加器产生一次溢出,就完成一次周期性的动作,这个周期就是DDS合成信号的一个频率周期。用相位累加器输出的数据作为波形存储器的相位取样地址,把存储在波形存储器内的波形抽样值经查找表查出,从而完成相位到幅值的转换。然后将波形存储器的输出送到DAC,通过DAC将数字量形式的波形幅值转换成合成频率的模拟波形。图2中FWORD是10位频率控制字;PWORD是10位相移控制字,用来控制正弦信号输出的相移量;SINROM用来存放正弦波数据,有10

4、位数据线和10位地址线。其中数据文件是MIF文件(数据深度1024,数据类型为10进制数),可由Matlab生成,存放数据的单元采用定制ROM的方法生成;POUT和FOUT都为10位输出,分别和两个高速DAC THS5651相连。控制模块的生成在产生波形的过程中,DDS模块所需的频率和相位控制字由在FPGA内部编写的控制模块来给定。控制模块的顶层原理框图如图3所示。图3中,B1、C10、D100、P1K分别为频率步进输入端;Re为复位端;PW1、PW10分别为1 10南辔徊浇淙搿渲衒bcout为频率控制字计算模块,完成由频率步进值到二进制频率控制字的转换。cout360为相位输入计算模块,由相

5、位输入端的脉冲输入计算出实际的移相值(0麀359 )。add_data_rom是存放相位控制字的ROM,其数据文件是MIF文件,内部360个地址值分别对应0麀359南辔 ,每个地址中的数据为每个相位值对应的正弦波ROM的地址值。由于正弦波ROM将一个波形分成了1024个点,则0麀359南辔恢刀杂薙INROM中的360个点。考虑到1024/360=2.84非整,为了减小移相误差,提高移相精度,本设计中采用分段处理的方法,将360个地址分成60组。第15、30、45、60组的6个地址中点与点之间的距离都为3;其余各组前5点之间的点距为3,第5点与第6点之间的点距为2。相位测量模块设计原理本系统的相

6、位测量采用由高速时钟脉冲测量两路波形过零点之间距离的方法。相位测量模块原理框图如图4所示。图4中,A、B为两路方波输入,CLK为50MHz时钟输入,dfd2块为下降沿触发的2分频模块。A、B经2分频的目的是使测相范围由0麀180蟮 0麀360OR为异或门,其输出信号的脉宽为(b-a)。clxw为一高速计数器,通过25MHz的高频时钟来计算(b-a)的长度。fb360模块为倍乘模块,主要完成(b-a)×360的运算。bpsc模块为分频模块,将25MHz的时钟信号进行(b-a)×360倍的分频,使其输出信号脉宽为Tclk×(b-a)×360(Tclk为25M

7、Hz的时钟周期)。xwc为相位差计数模块,通过A相输入脉冲,计算Tclk×(b-a) ×360的长度,然后完成(b-a)×360/a的计算,进而得出相位差值输出,同时该模块还将测得的相位差值送到数码管显示。在对该模块进行仿真时,人为设定了频率为10KHz,相位差为72。系统验证调试在整个系统的验证中,由外部按键通过控制模块来设定波形的频率和相位值,并通过将DDS模块的输出端FOUT和POUT外接10位DAC THS5651来产生波形。通过在示波器观察两路波形发现,波形比较稳定,频率与设定值一致。此外,为了测量DDS模块产生的移相是否正确,还人为的通过相位输入端设定相移值,并将参考波形输出端和移相输出端输出的波形经整形后,用测相模块测量两路波形的相位差,通过硬件调试发现测得的相位差与设定的相位差完全一致,从而证明了该系统是精确、稳定的。结语本系统选用Altera公司的quartusII4.1作为硬件开发平台,并采用VHDL语言进行电路设计。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论