1、低频数字式相位测量仪设计报告摘要本系统以单片机和 FPGA 为核心,辅以必要的模拟电路,构成了一个基于具有高速处理能力的 FPGA 的低频数字式相位测量仪。该系统由相位测量仪、数字式移相信号发生器以及移相网络组成;移相网络能够产生-4545相位差的两路信号;相位测量仪能够测量出具有 0359的两路信号的相位差;而数字式移相信号发生器能够产生出相位差为 0359的且具有数字设置步进为 1的两路输出信号。经过实验测试,以上功能均可以准确实现。一、方案设计与论证1、移相网络设计方案本设计的核心问题是信号的模拟移相程控问题,其中包括波形相位以及波形幅度的程控。在设计过程中,我们首先考虑了赛题中提供的方
2、案。如图 1-1所示:该模拟电路主要采用高、低通电路的临界截止点来产生极值相位的偏移。当高、低通电路的截止频率等于输入信号频率时,根据其幅频特性,信号波形所产生的相位分别为 45和-45,恰好满足赛题要求的连续相移范围-4545的调节。由于高、低通电路在截止点时会产生幅度的衰减,故电路在后级加了放大电路,且采用了电压串联负反馈的方式提高了输入阻抗并降低了输出阻抗,电路最后还设计有调幅装置,能够很好地满足 A、B 输出的正弦信号峰峰值可分别在 0.3V5V 范围内变化。综上所述,该移相网络能够满足赛题的所有要求,且电路设计简单、易行,故我们直接采用了这种方式来产生模拟的相移输出。2、数字式移相信
3、号发生器设计方案本单元设计的关键在于两个波形相位差的准确定位,在设计中我们综合考虑了两种实现方案:方案一:采点式相位确定。利用相位范围 0 360设定每个波形含有360 个点,即每一点都对应一度,以保证相位的精确定位。但当输入波形频率较高时,FPGA 中的 DDFS 对该波形的采点数将降低,该方法也不再适合;此外360 个点的波形很难利用 DDFS 的地址线准确产生,由于 DDFS 在运行时地址是不断向下扫描的,其多余地址中的零数据也将同样会被显示输出,使得波形不再准确。方案二:FT 转换相位定位。由于我们采用了直接数字式频率合成器DDFS 生成输入波形,故其频率是高精度的,经单片机进行频率与
4、周期的转换后,再通图 1-1V2V1V过公式:t=(D360)T(其中,t 为延时,D 为相位差角度,T 为波形周期)可以得出准确的延时。利用此延时来控制两个波形输入的时间间隔即可实现相位的精确定位。因此采用此种方案。3、相位测量仪设计方案方案一:混频分像监相电路。相位检测系统在测相过程中,都会遇到模糊问题。一般在+180或 0、360等几个特殊点附近均存在相位“模糊区” 。而混频分相监相系统采用双监相器(正弦和余弦监相器) ,获取有关相位信息,相位信息经 A/D 变换(模拟信号转换成数字信号) ,送往微处理机进行信号数据处理;同时,把测得的相位值送显示装置显示。在测量过程中,微处理机不断地对
5、检测系统进行自动校准测试,消除了温漂带来的不稳定性(即系统误差) ,提高了系统测量精度。校准/测试转换、8、75MHz/0、625MHz 选频转换均由微处理机控制继电器自动转换。其电路原理框图见 1-3-1:该方法具有测量精度高,可以是相位检测精度达到(0.30.5),相位分辨率为 0.1,且最高工作频率较低,但是设计到混频和高精度放大,使得调试变得异常复杂,在短时间内不太容易实现。方案二:检相器可以利用正弦波形的正半周和负半周的对称特性。利用这一特性,正弦信号之间的相差可以在小于 1/4 信号周期的时间内被检测出来。其中,双极性锯齿波的频率是参考信号的两倍。它的中心点与参考信号的零点对齐。通
6、过其幅度对应于输入正弦信号在半周期内的过零点的变化可以线性地反映相位变化,并通过采样保持电路把锯齿波在该点的幅值转换成支流电压图 1-3-1输出。其整体框图见 1-3-2。从实质上说,该方案为一个相位电压转换电路,是将相位差近似的转换成电压信号,需要用极精密的芯片和调试方法来达到较高的精度,而且其转换出来的连续电压信号很难适合本题的数字化问题。应该说该方案比较适合做芯片的开发以适应其他的需求。方案三:基于具有高速处理能力的 FPGA 的相位差测量电路。该方案用单片机控制高速的 FPGA 来采样两信号的相位差和信号的频率,以取来的大数据来满足对相位差的极高分辨率。采集的数据送单片机进行处理,以送
7、至液晶或其他的显示装置以显示。当然,如前所述,任何的相位检测电路都存在相位模糊问题,为此,本系统对输入的信号进行了放大整形处理,以达到减小相位模糊的目的。该方案具有思路相对清晰,有高速的 FPGA 进行高速数据采集作为后盾,并以低漂的比较器和运放作支持,在辅以具有很强控制能力的单片机,所以,采取此方案成为目前阶段顺理成章的事情。二、系统设计1、总体设计 系统框图 如图 2-1-1 所示。移相网络产生模拟式相位输出如图 2-1-1-A数字式移相信号发生器产生数字式相位输出如图 2-1-1-B相位测量仪测量、显示相位值大小如图 2-1-1-C图 1-3-2系统内部三个单元的具体设计框图如下:单片机
8、液晶显示键盘控制JIJISKONGZHIU 限幅 DAC幅度控制FPGA波形、相位输出控制变速 DAC路输出FLASH MEMERY存储器变速 DAC路输出内置RAM存储器图 2-1-1高通电路产生 =45相位波形输出低通电路产生 =-45相位波形输出相位控制输出调节范围-45-45信号源原信号跟随输出 后级放大调节幅度并输出移相波形图 2-1-1-A 模块说明移相网络:利用高、低通电路的临界截止产生连续相移调节范围为-4545的模拟相位输出,通过放大电路及调幅装置实现幅度 0.3V5V 连续可调。数字式移相信号发生器:通过 DDFS 产生高精度频率的信号波形,用单片机进行 FT 转换,通过延
9、时实现数字式相位的准确输出。相位测量仪:由 FPGA 程序中的两个计数器分别对所测信号的相位差、周期进行计数,然后将数据送至单片机进行处理并送液晶显示。2、各模块设计及参数计算移相网络设计及 R、C 参数设定 题目要求连续相移范围;-4545,根据高、低通电路的幅频特性,高通电路中存在:, ,2*)(1|fLfAufLarctn90RC21同样在低通电路中存在:图 2-1-1-B单片机控制电路FPGA测量相位时序控制器内置 D 触发器内置 D 触发器A 路B 路计数器液晶显示相位测量值输出图 2-1-1-C模糊零点处理前置放大+比较器, ,2*)(1|fHAufHarctnRC21可见当 f=
10、fL=fH 时,高、低通电路均处于临界截止态,此时两信号幅度均衰减为原信号幅值的 ,且相位分别为 45和-45。2由于赛题要求输入信号频率为;100Hz、1KHz 和 10KHz,所以R、C 选择应分别满足时间常数值 s、 s、 s,31059.410592.51092.故我们在高通电路中采用 0.22u 的固定电容和阻值分别为 100、1K和 10K 的精密电位器;而在低通电路中我们采用 1.11u 的固定电容和阻值分别为 100、200 和 2K 的精密电位器,精确地达到了题目的要求。为使 A、B 输出的正弦信号峰峰值可分别在 0.3V5V 范围内变化,根据以下公式: 、 、 ,45sin
11、1wtV45sin2wtVwtVsin21可得移相网络中的后级放大只需放大两倍即可。根据电压串联负反馈的放大公式: ,图 1-1 中应取 R3=R4=1K,便可达到要求。UiRo3相位测量仪设计由于信号波形的幅度不同以及比较器 LM339 固有的自身参数决定了相位测量在+180或 0、360等几个特殊点附近均存在相位“模糊区” 。由 LM339.pdf 的参考文献可知,LM339 所构成的过零比较器在输入低频交流信号时有:Vin(min)=0.4V peak for 1% phase distortion,经计算可得过零比较的误差输入u=10mV,取u=10mV 时,根据公式: (其中 A01
12、.4sintA为峰峰值的 1/2) ,可得输入为 0.3V5V 以及 1V5V 时的相位测量绝对误差的最大值分别为 3.59和 0.917,可见赛题中的基本部分:实现峰峰值可在1V5V 范围内变化时相位测量绝对误差小于等于 2是满足的,并不需处理模糊零点问题,但为了达到扩展部分的精度要求,我们必须将小信号部分放大,在设计中我们采取了前级放大 5 倍,充分满足了赛题扩展部分的要求。此外,在放大电路之前我们还装配了电压跟随器,满足了基本部分中相位测量仪的输入阻抗大于等于 100K。 本系统所设计的测量周期和相位差的计数器为 FPGA 内部的两个 32 位计数器,而且采用了对周期、相位差的等精度测量
13、,其测量误差直接取决与 FPGA的晶振的频率及其稳定性。而本系统所采用的晶振为 32.768M 的晶振,在最大程度上减小了系统误差。数字式移相信号发生器设计本单元利用 FPGA 中的 DDFS 来产生高精度频率的波形,波形数据存放在FLASH MEMERY 中,通过 FPGA 进行读取并送置高速 DAC 产生波形。单片机控制双路信号产生的时间间隔以实现相位的产生,其实现方法是:利用 DDFS产生方法中的对 FLASH MEMERY 读取方法将数据读至 FPGA 的内置 RAM 中,并读取出用户所设置的相位差来设置两路信号产生的时间差,其计算公式为:设 To 为两路信号产生的时间差,T 为信号的
14、周期,a 为用户所设置的相位差,则2o然后根据电路的频率信号计算出一个结果一在 FPGA 内产生一个可变模计数器的模值从而实现了设置相位的产生。由于在系统设计是在 FPGA 内设置了一个 32 位的可变模计数器,所以理论上相位差的精确度为 360/2 ;而从另一个角度来看,其分辨率又由晶振的32频率来决定,本系统采用的为 50M 晶振,而所需的产生的信号频率为 20KHz,所以相位差的分辨率为 360/(50M/20K);综上,分辨率应该为上述两项的大值,所以应取后者,基本满足题目要求。软件系统本系统的软件系统很大,单片机部分全部采用 C51 编写,而 FPGA 则用VHDL 语言编写。由于仿
15、真机对 C51 支持的灵活性,单片机采用先仿真机模拟调试,后下载到单片机来调试。而对于 FPGA 来说,由于其自身的断电即擦除的特点,并且上电自动下载只会使系统更复杂,所以采用实验箱调试成为理想的选择。采取的是在上到下的调试方法,即单独调试好每一个模块,然后在连接成一个完整的系统调试。I、相位测量仪软件流程图 如图 2-3-1 所示。单片机初始化发命令使 FPGA 测频测相开串行口中断串行口接收到命令否?单片机进行数据处理YNII、数字相位发生器软件流程图 如图 2-3-2 所示。送液晶显示单片机内部清零图 2-3-1单片机系统自检接收到产生相位差信号的频率、相位差的设置否?发命令启动 FPG
16、A内部的 DDFS送液晶显示波形等待按键Y NNY图 2-3-2而对于 FPGA 来说,由于其自身的特点即其不同于其他处理芯片是采用并行运行的截然不同的硬件设计,各模块相对比较独立,可以同时运行,所以它内部只有功能模块,在此就不在赘述。系统设计图 如图 2-4 所示。三、调 试根据方案设计的要求,调式过程共分三大部分:硬件调试、软件调试和软硬件联调。电路按模块调试,各模块逐个调试通过后再联调。模拟电路应先调通,然后再与单片机和 FPGA 进行通信。图 2-41、硬件调试移相网络的调试 调试时使用数字示波器来分析输出波形的相位是否在题目要求的范围内变化,通过测试可以确定电阻的实际阻值并易于找出硬
17、件电路中故障。模拟放大电路的调试 调试时使用双踪示波器观察输入输出信号的波形,通过对理论计算与测量结果的分析,便于找出硬件的故障。数字相位差产生器的硬件调试 由于所选用期间均采用可编程期间设计(包括 D/A,FlashMemory,液晶显示屏等等),所以不可避免的要利用软件去调试硬件:首先编写小测试程序,然后一个一个的调试,逐一击破。然后在此基础上逐步联调,将硬件问题逐一解决。当然,此系统中也有没有必须用软件调试的硬件,比如巴特沃滋滤波器,相比之下它要简单得多。2、软件调试本系统的软件系统很大,其中 FPGA 采用 VHDL 来编写,并通过 EDA 实验箱进行下载调试电路;而单片机采用 C51
18、 来编写,并利用仿真机进行调试,在调试过程中采取的是自上到下的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统调试。3、软硬联调该系统的软件和硬件之间的联系很紧密,在调试时难免要用软件辅助以调硬件,而最后的软件又必须建立在合格的硬件电路的基础上。因此,此环节为整个设计制作过程中最难的一环。由于该题目从本质上来说是三个系统,又因为数字相位差发生器为该题的发挥部分,而且是最难的一部分,所以放在了最后调试。在前两个系统的调试过程中,由于电脑、仿真机、硬件电路、软件系统等等存在的一系列问题,调试难度很大进展很缓慢,以至于没有足够的时间来调试相对更具有意义的数字相位差发生器。四、指标测试1、
19、测量仪器信号发生器:MOTECH FG-506数字示波器:TeKtronix TDS 3014双踪示波器:OSCILLOSCOPE GOS-620电压源: MOTECH LPS-305万用表: UT53 MULTIMETER2、指标测试基本部分指标测试:输入频率 显示周期 输入时间差 测量相差 实际相差 绝对误差10.089KHz 98.4us 5.6us 21.9 20.48 1.4210.089KH 98.4us 9.8us 323.4 -35.85 0.7510.089KH 98.4us 3.6us 346.8 -13.17 0.0310.089KH 98.4us 0us 0 0.03
20、0.0310.089KH 98.4us 4.0us 13.1 14.6 1.51.00KHz 996us 91us 31.0 32.8 1.81.00KHz 996us 120us 41.7 43.3 1.671.00KHz 996us 58us 19.1 20.9 1.81.00KHz 996us 39.9us 346.7 -14.4 1.11.00KHz 996us 83us 331.9 -30 1.9100.69Hz 9.88ms 1.2ms 316.6 -43.7 0.3100.69Hz 9.88ms 0.6ms 22.0 21.86 0.14100.69Hz 9.88ms 0.8ms
21、 28.0 29.1 1.1100.69Hz 9.88ms 1.2ms 44.3 43.7 0.6由上述随机测量数据可得,系统产生的最大绝对误差为 1.9,平均测量绝对误差为 1.01,可见测量相位误差小于等于 2,能够满足赛题的要求。五、结 论我们设计的系统完成了题目的基本功能、基本指标,而且在精度上有较大提高;而由于时间仓促,没能将数字相位差发生器调试出来,也为我等三人的此次竞赛之行留下些许遗憾。或许遗憾本身就是一种生活吧!六、参考文献孙涵芳、徐爱卿编著:MCS 51 系列单片机原理及应用,北京航空航天大学出版社。赵一军、胡 戒编著:单片微机接口技术,人民邮电出版社。冯清澄、陈 放编著:CA1031 相位计方案。