低频数字式相位差测量仪论文.docx
《低频数字式相位差测量仪论文.docx》由会员分享,可在线阅读,更多相关《低频数字式相位差测量仪论文.docx(54页珍藏版)》请在冰豆网上搜索。
![低频数字式相位差测量仪论文.docx](https://file1.bdocx.com/fileroot1/2023-1/22/0f374ce3-d6aa-4057-8b6a-a578e6b78dce/0f374ce3-d6aa-4057-8b6a-a578e6b78dce1.gif)
低频数字式相位差测量仪论文
低频数字式相位测量仪
指导老师:
1.系统性能指标
1.1设计要求
设计一基于现场可编程门阵列(FPGA)的低频数字式相位测量仪。
该测量仪包括数字式移相信号发生器和相位测量仪两部分,分别完成移相信号的发生及其频率、相位差的预置及数字显示、发生信号的移相以及移相后信号相位差和频率的测量与显示几个功能。
其中数字式移相信号发生器可以产生预置频率的正弦信号,也可产生预置相位差的两路同频正弦信号,并能显示预置频率或相位差值;相位测量仪能测量移相信号的频率、相位差的测量和显示。
两个部分均采用基于FPGA的数字技术实现,使得该系统具有抗干扰能力强,可靠性好等优点。
1.1.1、性能指标:
(1)相位测量仪
a.频率范围:
20Hz~20kHz。
b.相位测量仪输入阻抗≥100k
。
c.两路输入正弦信号峰-峰值在1V~5V范围。
d.相位测量绝对误差≤2°。
e.具有频率测量及数字显示功能。
f.相位差数字显示:
相位读数为0o~359.9o,
分辨力为0.1°。
(2)移相网络
a.输入信号频率:
100Hz、1kHz、10kHz。
b.连续相移范围:
-45°~+45°。
c.A'、B'输出的正弦信号峰-峰值可分别在0.3V~5V范围内变化。
(1)数字式移相信号发生器
a.频率范围:
20Hz~20kHz,频率步进为20Hz,输出频率可预置。
b.A、B输出正弦信号峰-峰值在0.3V~5V范围。
c.相位差范围为0~359°,相位差步进为1°,相位差值可预置。
d.数字显示预置的频率、相位差值。
(2)在保持相位测量仪测量误差和频率范围不变的条件下,扩展相位测量仪输入正弦电压峰-峰值至0.3V~5V范围。
(3)用数字移相信号发生器校验相位测量仪,自选几个频点、相位差值和不同幅度进行校验。
图如下:
2.设计思路
本系统是由两部分组成:
第一部分:
测量部分
基于单片机系统控AT89S52制下通过FPGA测量自制模拟移项网络产生的两路移项信号经波形整形后的的信号,送回单片机计算测量数据通过液晶显示测量结果。
第二部分:
数字移相信号发生器
基于AT89S52单片机系统控制下由FPGA输出数字移项信号序列,经DA后输出移项信号。
该模拟电路主要采用高、低通电路的临界截止点来产生极值相位的偏移。
当高、低通电路的截止频率等于输入信号频率时,根据其幅频特性,信号波形所产生的相位分别为45°和-45°,恰好满足要求的连续相移范围-45°~45°的调节。
由于高、低通电路在截止点时会产生幅度的衰减,故电路在后级加了放大电路,且采用了电压串联负反馈的方式提高了输入阻抗并降低了输出阻抗,电路最后还设计有调幅装置,能够很好地满足A、B输出的正弦信号峰—峰值可分别在0.3V—5V范围内变化。
综上所述,该移相网络能够满足所有要求,且电路设计简单、易行,故我们直接采用了这种方式来产生模拟的相移输出
3.系统结构图
3.1系统总体方案
该相位测量系统主要是采用由PIC单片机做为主控制器下,由EP1K30FPGA系统完成对两路信号相位差和频率的测量后,将数据传送至单片机,经数据处理后在液晶显示屏上显示输出.
3.2系统基本框图
图1测相测频系统设计框图
图2数字移相信号发生器框图
4.各模块方案论证与比较
1主控MCU的选择
方案一:
采用PIC单片机做为控制核心,PIC单片机具有精简指令系统,指令执行效率高,抗干能力强,性能稳定等特点,但是PIC单片机不好在线调试,而且运用不熟。
方案二:
采用凌阳16位单片机SPCE061A,该单片机学习方便,有现成的程序学习调试,具有中断源丰富,指令周期可以调,最高频率可达49.192MHz,语言人性化,而且C语言和汇编语言容易混编,此外还有优质的语言处理、AD、DA等功能,操作方便,在线调试简单,但考虑到其性价比较低,而且其好多功能用不上,资源浪费。
方案三:
采用单片机和FPGA作为低频数字相位测量仪的核心部分。
用AT89S52进行数据控制、处理,送到显示器显示,硬件结构简单,软件采用汇编语言实现,程序简单可读写性强,效率高。
与传统的电路相比,具有处理速度快、稳定性高、性价比高的优点。
进行数据处理相当容易,且精度很高,因此系统采用此方案。
2模拟移相网络
方案一:
采用C串联、RL串联、RC串联,LC串联电路在非谐振状态状态下均可作为模拟移相网络,但以上电路在调试是幅度难以控制,
方案二:
采用两级运放加RC电路构成模拟移相网络,可实现-180度至180度连续相移,调试方便。
3波形整形电路
方案一:
选用AT89C2051自带的一个模拟比较器。
但是添加FPGA与单片机的通信及控制端,影响到了FPGA工作的时序。
系统工作变得很复杂。
方案二:
采用LF353及LM311两块集成电路芯片整形将待测信号整形为方波信号。
该电路简单,整形效果好,调试方便,无需控制端时理想的选择。
4频测测相原理及方案选择
测频方法可分为:
模拟法和数字法
模拟法:
直读法,比较法
直读法采用电桥或谐振网络构成无源测量网络,比较直观,但模拟系统显然不适于本系统的测量,数字处理及显示。
比较法是将待测信号在示波器上显示,和信号发生器输出的标准信号加以比较实现测量频率的目的。
可见模拟法不适于系统功能的实现,故不予采用。
数字计数法:
采用电子计数器记录一定时间内信号的周期,从而实现了测频。
测频部分
方案一:
利用FPGA实现等精度测量,FPGA在单片机和被测信号的共同控制下对输入的被测方波信号的整数倍周期进行计数,计数值和被测信号的周期数回读到单片机,进行处理,显示。
该方案精度高,反应快,避免了传统器件测量精度随着测量频率的降低而降低的缺陷,是理想的方案选择。
方案二:
采用单片机进行计数式测量。
是较为传统的测量方法,使利用单片机对一定时间内的脉冲数计数从而计算出频率的测量方法,但其测量精度随着测量频率的增大降低,故不予采用。
测相部分
方案一:
将整形后的两路信号通过异或逻辑输出相差脉宽信号,直接利用单片机测出相差和周期。
此方案硬件原理上难以保证测量精度。
方案二:
采用相差-电压测量法。
即通过数字鉴相器,如异或门鉴相电路输出相差脉冲,经过低通滤波器滤出直流成分(含相位信息)。
此方案解决了模拟鉴相的频带限制,但测相精度不高。
方案三:
采用相差-时间测量法。
通过测量鉴相器输出反映两路信号的相位差及周期的脉冲信号。
此方案的相位精度高且便于控制,因此选用方案三。
5高速DA模块
系统要求数字移相信号发生器的输出范围是20Hz至20kHz之间,我们用FPGA产生最少32点的数字移相序列,故要求的DA速率不应低于1500ns。
方案一:
采用DAC0832实现,DAC0832是8位的DAC转换芯片,有3种控制方式,所以控制时候,其所需的IO口有11位,精度也不是很高。
方案二:
AD7520是兼容TTL和COMS电平的十位DA,转换精度相对较高,控制方式只有一种,故其所占用的IO口资源只有10个,而其转换速率是1us,完全能够满足题目的要求。
故采用此方案。
设计采用两路AD7520经DA变换后输出两路数字移相信号。
6显示模块
方案一:
采用液晶显示模块显示。
液晶显示内容丰富,信息容量的。
显示效果好,其亮度、对比度低,但也能满足系统的要求。
方案二:
采用MAX7219串行显示芯片驱动数码管显示。
MAX7219是一款高性价比较高的显示驱动芯片,它采用的是串行数据传输,大大地节省了单片机I/O口资源,其内部有多种显示模式可供选择,但其显示信息两有限,故不于采用。
7键盘模块
方案一:
采用传统的4*4键盘用于人机控制界面和测试调节。
4*4键盘的编程较为复杂,占用IO端口较多,故没有采用。
方案二:
采用由二极管和按键构成的简单3*5译码键盘。
该方案十分方便易行,仅占用四个IO口,编程更为简单,本系统中我们采用该方案。
5.测量原理
1系统设计
1.1总体设计
⑴系统框图 如图2-1-1所示。
系统内部三个单元的具体设计框图如下:
⑵模块说明
①移相网络:
利用高、低通电路的临界截止产生连续相移调节范围为-45°—45°的模拟相位输出,通过放大电路及调幅装置实现幅度0.3V—5V连续可调。
②数字式移相信号发生器:
通过DDFS产生高精度频率的信号波形,用单片机进行F—T转换,通过延时实现数字式相位的准确输出。
③相位测量仪:
由FPGA程序中的两个计数器分别对所测信号的相位差、周期进行计数,然后将数据送至单片机进行处理并送液晶显示。
2、各模块设计及参数计算
⑴移相网络设计及R、C参数设定
题目要求连续相移范围;-45°~45°,根据高、低通电路的幅频特性,高通电路中存在:
我们在高通电路中采用0.22u的固定电容和阻值分别为100Ω、1K
和10K的精密电位器;而在低通电路中我们采用1.11u的固定电容和
阻值分别为100Ω、200Ω和2K的精密电位器,精确地达到了题目的
要求。
为使A、B输出的正弦信号峰—峰值可分别在0.3V—5V范围内
变化,可得移相网络中的后级放大只需放大两倍即可。
根据电压串联负反馈
的放大公式,图1-1中应取R3=R4=1K,便可达到要求。
⑵相位测量仪设计
由于信号波形的幅度不同以及比较器LM311固有的自身参数决定了相位测
量在+180°或0°、360°等几个特殊点附近均存在相位“模糊区”。
由LM311.pdf的参考文献可知,LM311所构成的过零比较器在输入低频交流信号时有:
VIN(min)=0.4Vpeakfor1%phasedistortion,经计算可得过零比较的误差输入△u<=10mV,取△u=10mV时,根据公式:
(其中A为峰峰值的1/2),可得输入为0.3V—5V以及1V—5V时的相位测量绝对误差的最大值分别为3.59°和0.917°,可见基本部分:
实现峰—峰值可在1V—5V范围内变化时相位测量绝对误差小于等于2°是满足的,并不需处理模糊零点问题,但为了达到扩展部分的精度要求,我们必须将小信号部分放大,在设计中我们采取了前级放大5倍,充分满足了扩展部分的要求。
此外,在放大电路之前我们还装配了电压跟随器,满足了基本部分中相位测量仪的输入阻抗大于等于100KΩ。
本系统所设计的测量周期和相位差的计数器为FPGA内部的两个32位计数器,而且采用了对周期、相位差的等精度测量,其测量误差直接取决与FPGA的晶振的频率及其稳定性。
而本系统所采用的晶振为32.768M的晶振,在最大程度上减小了系统误差。
⑶数字式移相信号发生器设计
本单元利用FPGA中的DDFS来产生高精度频率的波形,波形数据存放在
FLASHMEMERY中,通过FPGA进行读取并送置高速DAC产生波形。
单片机控制双路信号产生的时间间隔以实现相位的产生,其实现方法是:
利用DDFS产生方法中的对FLASHMEMERY读取方法将数据读至FPGA的内置RAM中,并读取出用户所设置的相位差来设置两路信号产生的时间差,其计算公式为:
设To为两路信号产生的时间差,T为信号的周期,a为用户所设置的相位差,然后根据电路的频率信号计算出一个结果一在FPGA内产生一个可变模计数器的模值从而实现了设置相位的产生。
由于在系统设计是在FPGA内设置了一个32位的可变模计数器,所以理论上相位差的精确度为360°/2;而从另一个角度来看,其分辨率又由晶振的频率来决定,本系统采用的为12M晶振,而所需的产生的信号频率为20KHz,所以相位差的分辨率为360°/(12M/20K);综上,分辨率应该为上述两项的大值,所以应取后者,基本满足要求。
(4)软件系统
本系统的软件系统很大,单片机部分全部采用AT89S52写,而FPGA则用VHDL语言编写。
由于仿真机对AT89S52持的灵活性,单片机采用先仿真机模拟调试,后下载到单片机来调试。
而对于FPGA来说,由于其自身的断电即擦除的特点,并且上电自动下载只会使系统更复杂,所以采用实验箱调试成为理想的选择。
采取的是在上到下的调试方法,即单独调试好每一个模块,然后在连接成一个完整的系统调试。
6.系统的硬件设计与实现
6.1系统硬件的基本组成部分
本系统分为模拟移相信号发生部分,信号整形部分,测频测相部分,主控MCU部分,测量显示部分。
数字移相信号发生器包括:
MCU控制部分,FPGA数字序列发生部分,高速DA部分,显示及按键部分。
各部分紧密连接构成了一套完善的测量及信号系统。
原理分析与硬件电路图
低频相位测量系统包括相位测量仪、数字式移相信号发生器和移相网络三个模块,由于三个模块相对独立,以下分别对其进行原理分析与电路设计。
1相位差测量模块
(1)原理分析
输入两路同频率的正弦波信号,其波形表达式分别为:
其中
、
为电压瞬时值,
、
为电压的幅值,
为角频率,
、
为初始相角,当两路信号的频率相同时,相角差
是一个与时间无关的常数
将此两路正弦波信号经过放大整形成两路占空比为50%的正方波信号f1、f2,经过异或门输出一个脉冲序列A,与晶振产生的基准脉冲波B进行与操作得到调制后的波形C,在一定的时间范围内对B、C中脉冲的个数进行
计数得
、
,则其相位差计算公式为
,采用多个周期计数取平均值的方式以提高测相精度。
系统框图如图2-1-2所示:
(2)原理电路
①前级放大整形电路:
两列正弦波信号经过一级电压跟随器以提高测量仪的输入阻抗,选用高精度、低漂移型运放TLE2074使输入阻抗达到兆欧数量级,由LM311构成的迟滞回环比较器可以有效的避免在过零点时信号的干扰和抖动所引起的电压跳变,最后通过一级单门限电压比较器输出两路TTL电平信号,经异或门得到方波的脉冲序列。
该前级放大整形电路的基本原理图如下:
②相位差测量电路
通过理论分析,基准频率越高,记得的窄脉冲个数越多,相位差的测量也越精确,但是受到8254极限工作频率的影响,最终选取8.000MHz的晶振,由单片机I/O口控制两片8254分别对两路脉冲进行计数,将8254内含的两路计数器进行级联以提高计数位数,对32位的计数结果进行浮点运算使得相位差测量的分辨率达到0.1º,其原理图如图2-1-4所示:
③相位极性判别电路
在图2-1-4所示的相位测量电路中,只
能给出相位差的大小,无法判断波形的超前
或者滞后,因此将波形整形电路的两路输出
方波送入D触发器中进行相位极性判别,当
超前
时,Q端输出高电平,反之输出低电平,极性判别的原理图如右图2-1-5所示。
2数字式移相信号发生器模块
(1)原理分析
要实现数字移相,首先要生成两路正弦波信号,在目前的波形生成方案中,最常用的就是数字式直接频率合成技术(DDS),DDS的工作原理是基于相位与幅度的对应关系,通过改变频率控制字来改变相位累加器的相位累加速度,然后在固定时钟的控制下取样,取样得到的相位值通过相幅转换得到的相位值所对应的幅度序列,通过数模转换以及低通滤波之后输出正弦波信号。
基本框图如下:
相位增量
时钟 地址总线 正弦波输出
图2-2-1 DDS工作原理
相幅转换的方式选用查表法,根据题目的要求,输出的两列波形具有相位差,用以相位测量仪的输入,将正弦波的量化数据存储于两片
之中,通过控制读取存储器数据的地址差,从而改变输出波形的相位差,每个周期取样360个点,相位差步进为1º。
琐相环倍频的基频为900Hz,输出正弦信号的频率范围为5Hz~23KHz,实际频率步进值为2.5Hz。
为了防止输出信号产生相移,D/A的输出尽量避免滤波电路,只是在小信号输出时接了一个低通滤波器,原理框图如下所示:
图2-2-2 数字式移相信号发生器系统框图
(2)原理电路
选用2k的
存储器2817对正弦波信号的量化数据进行存储,由晶振电路产生基准频率的方波作为锁相环的基准时钟,配合可编程计数器8254进行倍频处理,改变倍频的比例来改变输出波形的频率,同时倍频之后的信号控制计数器74HC4040进行循环计数,将计数器的输出作为存储器读取的地址,改变数据读取的地址即可改变输出波形的相位。
通过改变AD7524的基准电压
幅值来改变输出波形的峰-峰值大小。
因两路正弦波产生的原理相同,仅仅是数据读取的起始地址不同,以下给出一路波形生成电路,另一路硬件电路与此相同。
图2-2-3 倍频电路
图2-2-4 移相信号发生电路
(3)移相网络模块
由赛题的要求,在三种不同的输入频率下,要求实现-45º~+45º的连续移相,且幅值可调,利用题中给出的移相网络方案,对元件的参数进行理论分析与计算,采用阻容式移相电路,由其矢量图可以知,当电阻、电容的等效阻抗相等时,移相范围可以满足90º要求,即
,
=2
f。
当频率f变化时,经理论
计算结合Pispice仿真,得到R、C的具体参数如下:
f=100Hz,R=160kΩ、C=10nF;
f=1KHz,R=16kΩ、C=10nF;
f=10KHz,R=1.6kΩ、C=10nF;
图2-3-1移相电路矢量图
通过改变R3、R4的阻值来改变输出信号的幅值,电路原理如下图所示:
图2-3-2 移相网络
6.2主要单元电路的设计
6.2.1MCU部分原理图
图3AT89S52原理图
MCUPCB图
6.2.2模拟移项网络原理图
模拟移相网络是采用图4移相网络采用三级串联产生,通过调节电位器是各部分移相适当的相位从而实现从-180度至+180度的移相。
图四移相网络原理图
移相网络PCB图
6.2.3波形整形原理图:
图五波形整形电路原理图
波形整形电路PCB图
6.2.4键盘模块原理图:
键盘模块是由按键很二极管如图所示构成的简单3*5译码键盘。
该方案十分方便易行,仅占用四个IO口,编程更为简单。
图六键盘模块PCB图
6.2.5高速DA原理图:
图七高速DA原理图
高速DAPCB图
外部电路总PCB图:
系统总原理图如下:
系统总PCB图如下:
7.系统的软件设计与实现
1系统软件介绍:
软件部分采用模块化程序设计的方法,由主控制程序、液晶显示部分子程序、键盘服务子程序、语音提示部分子程序组成。
我们选用凌阳公司推出SPCE061A型16位单片机微控制器,它带有高寻址能力的32K字闪存FLASH以及2K静态RAM,具有32位可编程的多功能I/O端口,中断处理能力强,适合于实时、高速的应用领域,尤其是其指令系统中提出了具有较高运算速度的16×16位乘法运算指令和内积运算指令,为其应用增添了DSP功能,可以进行数字信号处理,因此我们的系统很便利的加入了语音模块。
在其编译环境下可以内嵌C高级语言,C函数与汇编函数可以很方便的相互调用,所以编程效率高而且可靠。
2程序流程图
相位测试模块流程图如图3-1-1所示:
图3-1-1相位测试模块流程图
数字移相信号产生部分流程图如图3-1-2所示:
图3-1-2 数字移相信号产生流程图
3FPGA设计RTL图
图十FPGA系统RTL图
2.元件仿真
波形整形电路,采用LF353及LM311两块集成电路芯片整形将待测信号整形为方波信号。
该电路简单,整形效果好,调试方便,无需控制端时理想的选择。
LF353放大电路图
LF353放大电路仿真波形图
波形整形电路图如下:
波形整形电路仿真波形如下图
整形电路与相频响应仿真图:
整形电路实测仿真图如下:
8.附件:
元件清单与程序
元件清单
中文名
封装
型号
功能
数量
单片机芯片
DIP40
AT89S52
控制核心
1
稳压芯片
TO-220
7805
电路稳压
1
晶阵12M
XTAL0.1
12MHZ
振荡
1
译码器
DIP16
74HC138
译码
1
非门
DIP14
CD40106
信号整形
1
锁相环
DIP16
CD4061
锁定频率
3
异或门
DIP14
CD4001
信号整形
2
运放
DIP8
LF353
信号整形
5
比较器
LM306
信号整形
1
DA转换芯片
DIP8
AD7250
DA转换
2
单排插针40
12
电容470uF-25V
RB.2/.4
470uF
滤波
2
电阻
AXIAL0.4
1K
控制扫描频率
4
电阻
AXIAL0.4
10K
控制扫描频率
1
电阻
AXIAL0.4
100K
控制扫描频率
1
电阻
AXIAL0.4
4.7K
控制扫描频率
2
电阻
AXIAL0.4
2K
控制扫描频率
4
电阻
AXIAL0.4
1M
控制扫描频率
1
电容
RB.2/.4
470uF
滤波
4
芯片插座
DIP14
DIP14
放芯片
1
电容
RB.2/.4
50uF
控制扫描频率
1
稳压芯片
TO-220
LM7815
稳定电压
2
电阻
AXIAL0.4
470
限流
8
小按键
按键
18
六角按键
按键
1
DIP40插槽
固定
1
LED灯
显示
10
电源接口
1
可调电阻103
扫描频率
5
74HC14
移相
2
LM311
整形
2
DIP14插槽
固定
2
电容
22PF
整形
4
电容104
整形
6
蜂鸣器
鸣声
1
三极管9014
限流
1
液晶1602
显示
1
稳压二极管
5.1V
稳压
6
附件:
程序
//*该程序实现相位和频率的测量显示。
*/
#include//标准头文件
//*配置位*/
_FOSC(CSW_FSCM_OFF&XT_PLL4);//4倍频晶振,Failsafe时钟关闭
_FWDT(WDT_OFF);//关闭看门狗定时器
_FBORPOR(PBOR_OFF&MCLR_EN);//掉电复位禁止,MCLR复位使能。
_FGS(CODE_PROT_OFF);//代码保护禁止
#defineFcy6000000//7370000//6M//7.37MHz外部晶振带4倍频,指令周期为7.37MIPs
//************端口设置*******************//
#defineIO_data0x03ff
#defineIO_setTRISD
#definedata_inPORTD//LATD//
//#definedata_IOinPORTD
#definecq_bzPORTAbits.RA12
#definestartPORTDbits.RD8
#defineeendPORTDbits.RD9
#definecl