一种简易频率相位计的设计与实现作者赵阳06005313时间6.docx
《一种简易频率相位计的设计与实现作者赵阳06005313时间6.docx》由会员分享,可在线阅读,更多相关《一种简易频率相位计的设计与实现作者赵阳06005313时间6.docx(12页珍藏版)》请在冰豆网上搜索。
一种简易频率相位计的设计与实现作者赵阳06005313时间6
一种简易频率相位计的设计与实现
作者:
赵阳06005313
时间:
2007年6月5日
关键字:
前级整形自动量程FPGA频率计
摘要:
本系统是一个基于PFGA设计的简易频率计,分两部分组成:
前级整形和后级数字处理。
使用自动量程的方法实现宽频带频率的测量。
第一章需求分析
1.1需求分析
第二章方案分析
2.1前级波形整形
2.2后级波形的数字处理
2.3频率的测量
2.4相位差的测量
2.5人机接口
第三章系统原理
3.1系统框图
3.2前级波形整形
3.3频率的测量
3.4相位差的测量
3.5人机接口
第四章附录
第一章需求分析
1.1需求分析
题目要求设计一个频率计,功能:
测量信号的频率,测量信号相位差,灵敏度可调节,指标:
频率测量范围0.1Hz~1MHz,精度0.01%,相位测量范围0~360,精度0.01%,信号幅度0.1~10V。
首先因为要测量相位差,所以需要有两路波形输入,因为所测量的波形不确定,可能有正弦波,方波,三角波,及不规则波,而后级处理需要数字信号,所以需要在前级把信号处理成TTL电平信号。
而后级测量频率,所以需要进行计数等处理,并能够有相应的输出。
由于需要对频率计的相位差灵敏度进行调节,所以还需要有相应的人机接口。
第二章方案分析
2.1前级波形整形
前级波形整形主要是要将原来的非TTL方波整形成可以让后级处理电路方便识别的信号,可以有一下方法实现:
方案一:
模拟整形,使用比较器对波形进行过零比较,整形成xv的方波,方波的低电平为0v左右,高电平为xv(取决于后面的处理电路高电平)。
用的比较多的就是使用过零比较器来实现,模拟整形的好处在与速度比较块,而且不需要编写软件即可实现,缺点是不太稳定,易受干扰。
同时在比较器选用时还应考虑是使用运放实现还是使用集成比较器,运放的灵敏度相对来说比较高,但是带宽不高,估计比较难以符合条件,集成运放虽然灵敏度不高,但是最高频率相对比较高,比如常用的LM311,反应时间达到了200ns,足以应付这里的1MHz波形的过零比较使用,同时LM311的输入电压绝对值大于10V,满足需求。
方案二:
数字整形,先使用A/D转换芯片将波形转换成数字量,输入到后级的芯片(单片机或者FPGA),然后再将这个量与所设的阈值进行比较,整形成一个方波信号,送入下一级进行处理。
数字处理的好处就在于比较精确,而且比较稳定,缺点在于A/D芯片的输入电平范围有限,一般在0-5v范围内,而且一般波形需要先加入一个直流分量将波形的最小值上拉到0v以上,但可以考虑先将原始波形去掉直流分量后在输出,并在输出口与地之间接一个Vz为3.3v的单向稳压二极管,然后再将这个输出量上拉1V左右,就将波形整形成了一个稍小于1V到4.3V的波形,再将这个波形经过AD转换后与1v的AD转换值进行比较,输出一个方波信号,这个方波信号的频率必然也等于原来波形的频率。
方案选择:
以上两种方案各有所长,并各有所短,但是都可以达到目的,相比价而言,方案二实现比较烦琐,而方案一在频率小于1M实现效果应该还是可以的,所以选择方案一。
2.2后级波形的数字处理
后级数字处理部分主要有:
FPGA处理,单片机处理,DSP处理,以及不怎么常见的F/V转换输出,用模拟表头显示。
这几种方案的特点主要如下:
方案一:
单片机处理,由于编程开发简单,电路简单,相关开发资料丰富,技术成熟,以及还算不错的数学运算能力和还算可以的数字信号处理能力,单片机用来完成频率测量显然有一定的优势,加之现在单片机很多都集成有内置的计数器,定时器,AD转换功能,比如比较常用的avr单片机中的mega系列,应该基本具有测量1MHz以下的频率的能力,加之它可以很方便的实现人机接口界面,简单的外围电路等等优点都使它具有相当的优势来胜任后级信号处理的任务。
但是它也拥有比较致命的弱点,就是单片机系统是一个串行系统,要进行两路信号的处理,特别是相位差的测量就显得有些力不从心,当然这个缺点并不是没有补救的措施的,就是由于两路信号频率相等,所以只需要测一路信号就行了,同时在前后级之间使用异或运算将两路信号合成为相位差信号,再送如单片机测量,具体方法会在下一节介绍。
方案二:
DSP处理,DSP就是数字信号处理的意思,专门的DSP处理器对于处理这种简单信号可以说是小事一桩,相比较普通单片机他拥有先进的哈佛结构,管道式设计,面向寄存器和累加器的设计思路,以及同一时钟周期内执行多个操作的功能,能比较快速的完成诸如乘除法运算,但是他的开发相对来说要复杂一些,目前向我们还不能很好的掌握它来完成任务。
方案三:
FPGA处理,使用VHDL编程,开发起来还算比较简单,同时由于FPGA内部本质还是硬件数字电路,所以可以达到相当高的系统频率,意味着就可以处理相当高频率的信号,比起前两者,它的开发更加自由,我们可以设计出更加贴合我们需求的后级处理系统。
他更重要的一点就在于由于它的内部完全可以实现并行处理,可以同时处理多路信号,特别适合与相位差的测量。
但是它的人机接口界面比较难实现,同时诸如乘除法运算比较麻烦。
方案四:
F/V转换后用模拟表头输出,在一些场合下,这种方法是需要的,并且对于本系统这种方案是可行的,选用比较常用的F/V芯片,ADI公司的AD650芯片,它的满刻度频率为1M,恰好满足需要,但是它的精度不够高,还要受到电压表头精度的影响,系统的稳定度没法和前面的方案比。
方案选择:
综合前面四套方案,我们发现单片机开发相对最容易,但是也存在比较大的缺点,DSP显然是大材小用,而且不易开发,F/V转换法精度不能满足需要,而且受影响的因素比较多,相比较而且FPGA就比较合适,他可以并行处理,速度较快等等,而它所谓的缺点由于现在技术的发展基本上已经是不再是问题了,人机接口界面,比如显示,按键等均有成熟的算法可以方便实现,乘除法可以使用专用乘除法器来实现,向我们现在常用的飓风II系列FPGA内部就集成了18个专用乘法器,一定能胜任我们的我们想要的乘除功能,所以考虑选择FPGA来实现后级的数字处理任务。
2.3频率的测量
在这个系统中,频率的测量是一个重要的功能,题目所给的要求是:
频率测量范围0.1Hz~1MHz,精度0.01%,可以看得出来这里要求的频率范围还是比较宽的,目前比较常用的测宽带频率主要有,直接测频率法,直接测周期法和测周期加测频率法,它们大致如下:
方案一:
直接测频率法,将整形后的方波输入到FPGA中,以方波的上升沿启动计数时钟的GATE开始计数,等计满一个单位时间,计数器GATE关闭,将计数值传给FPGA的其它部分进行处理,这种方法误差在于GATE关闭时,并非一定是整数个波形,而计数器计到的只能是整数个波形,所以有不大于一个波的误差存在,如果是高频信号,这个误差几乎可以忽略,但是如果是低频信号,就可能会导致误差较大,但是这种方法的优点在于测出来的数据不用经过计算就可以用来输出到显示部分。
方案二:
测周期法,这种方法是将整形后的方波输入到FPGA后,方波的第一个上升沿启动计时器,下一个上升沿关闭计时器,这种方法的精度取决于信号周期和计时器最小单位,如果计时器最小单位足够小,可以得到比较精确的数据,与上面的方法相反,这种方法适合于测量低频信号的频率,而且测出来的数据还需要取倒数才能得到频率。
方案三:
测周期加测频率法,针对上面两种方案的各自特点,将两种方法结合起来使用,高频时测量信号的频率,低频是测量信号的周期,他的优点不言而喻,缺点也很明显,首先怎么确定分界点,测出来的数据可能不连贯,但是这确实是一种比较好的方法了。
方案四:
自动量程,波形累加测周期法,这种方法是我自己原创的一种方法,受方案三的启发,对方案二的一个改进,具体是这样子的,它的核心是一个若干位的10进制计数器和一个状态机,将频率分成若干档,比如以100倍为一档,方波输入到FPGA以后,先测一个周期的时间长度,方法同方案二,如果时间不在0.1s-10s范围内,则将这个信号送入10进制计数器,测其100个周期的累积时间,如果在0.1s-10s内,将测其10000个周期的累加时间,如此用状态机控制循环。
最终得到一个大约在0.1s-10s的时间,将这个时间除以计数个数就可以得到比较精准的周期了,再将这个周期取倒数就可以得到比较精准的频率了。
这样做比较容易实现,而且数据的精度可以保证恒定。
方案五:
专用芯片,测频电路采用ICM7226B型单片8位10MHz通用频率计数器,配置少量外围元件即可准确测量频率和周期,它还能测量频率比、时间间隔及累计数。
该频率计数器电路具有自校准功能。
测量范围是0MHz~10MHz,最高分辨率可达0.0001Hz。
方案选择:
本着精确和自己动手的原则,当然是选择方案四。
2.4相位差的测量
在这个系统中,相位差的测量是另一个重要的功能,相位差的测量在锁相环中是一个重要的步骤之一,由于无线通讯技术的发展,相位差的测量技术也是日趋成熟,数字方法和模拟方法都很齐备,部分现在流行的测法是零示法,对数变换法,FFT,DFT法,以及改进的窗口DFT法,基于数字正交变换的相位差测量方法等等,具体如下:
方案一:
零示法,通过将两路方波波形异或,其相同部分成为低电平,不同部分合成为高电平,然后用FPGA测量这个脉冲的宽度再和波形周期进行比对,优点是很简单,缺点是如果这个脉宽很小就没法精确测量。
方案二:
方案一的改进,在方案一的基础上,将脉宽进行积分(积分的脉冲与频率有关),再通过ad转换成数字量显示出来,结合修正过的经验公式,即可得出比较准确的相位差,这种方案的好处在于可以满足高频的信号的相位差的测量,缺点是经验公式很难确定,精度仍然不够。
方案三:
对数放大法,对数放大器能将宽范围的输入电压信号变成窄范围的分贝刻度输出,对数放大器的输出电压为UOUT=USLPlg(UIN/UZ),USLP为增益斜坡电压,UIN为输入电压。
UZ为参考电压,lg(UIN/UZ)为2个输入电压的分贝比。
测量增益时,分别用UINA和UINB来代替UIN、UZ,AD8302的输出就变成UMAG=USLPlg(UINA/UINB),UINA和UINB为2路输入电压,UMAG为增益输出电压,与信号电平的差值相对应。
相位差输出电压的表达式为UPHS=Uφ[φ(UINA)-φ(UINB)](3)式中,Uφ为相位差斜坡电压,单位是mV/度;φ为每个信号的相位,单位是度。
相位检波器具有180°的相位差范围。
该相位差范围既可以是0°~+180°(以90°为中心),也可以是0°~-180°(以-90°为中心),比较典型的使用这种处理方法的芯片是ADI公司的AD8302,只要将两路信号输入,就可以得到一个随相位差变化的电压信号。
用AD处理输入到FPGA就可以了。
这种方法的优点是原理简单,因为有专门芯片实现也很简单,但是还是要AD转换。
方案三:
DFT法,即离散的傅立叶变换,就是将信号由原来的时域分析改成在频域分析,从而使分析更为方便,但是这种方法对时钟的要求很高,容易出现,否则其精度受频谱泄漏和栅栏效应影响。
而且转换速度不够。
方案四:
窗口DFT法,很多地方和方案三相似,不同的是数字化测量相位差,必须先对信号有限化,把无限长的信号限定为有限长,这相当于在时域乘一个窗函数。
时域相乘,则频域相当于参与相乘的两个信号各自频谱的周期卷积。
特点是不需要测量信号频率,不需要对信号实行整周期采样,因而微机实现简单。
同时,测量两周期信号中某一频率分量的相位差,只须对两信号各做一次DFT,计算量较小。
而且速度比较块。
但是算法还是比较麻烦。
方案选择:
根据实现难度和精准度的双重标准衡量,觉得使用AD8302比较合适,外围再加一个AD转换器就可以完成测量。
2.5人机接口
方案一:
数码管显示所测数据,按键接受输入,这是很多频率计的做法,优点是显示快捷,而且比较容易实现。
缺点是信息量比较小。
方案二:
LCD+键盘,显示的信息量大,只是刷新速度慢,可以做出比较人性化的界面。
方案选择:
由于系统对刷新速度不是要求很高,而且要显示的信息量比较大,所以应当选择方案二。
第三章系统原理
3.1系统框图
系统分为前级整形,后级处理两部分,其中后级又分为测频和测相位差。
3.2前级波形整形
电路图:
使用比较器LM311,现将信号转化成过零的方波信号,然后经过齐纳二极管的稳压作用,将方波信号转换成高电平为3.3V的低电平大约为0.6V的方波信号,经过1N4007加以整流,转换成高电平为3.3V,低电平为0.3V的方波信号。
输出波形如下:
由上面的仿真波形图可以看出该套电路的到的方波信号可以满足要求。
3.3频率的测量
根据前面的分析,使用自动量程,波形累加测周期法,在FPGA里实现,框架图如下:
其内部的核心就会一个10进制的计数器和一个状态机。
系统首先会测输入波形的一个周期的周期时间,如果在0.1S到10S之间,就停止状态机,送除法器得到频率,如果小于0.1S,则状态机到下一个状态,输入信号被100分频,在测分频后的信号的周期,如果在0.1S到10S之间,就停止状态机,送除法器得到频率,如果小于0.1S,则状态机到下一个状态,如此循环。
3.4相位差的测量
使用AD8302+AD7865(14位A/D转换芯片)。
由于AD8302的输出电平测量相位差的范围是0°~180°,对应的输出电压变化范围是0V~1.8V,输出电压灵敏度为10mV/度,测量误差小于0.5°。
当相位差Δφ=0°时,输出电压为1.8V;当Δφ=180°时,输出电压为30mV,输出电流为8mA。
同时根据AD8302的相位差响应特性曲线在0°~-180°和在
0°~+180°时的斜率不同,即可判定2个被测信号的相位差为正或者为负。
AD7865是一款相当不错的14位AD转换芯片,14位的转换精度确保了得到的相位差的精度。
同时此系统灵敏度可调,主要可以调节FPGA从AD转换器接收到的数据精度。
具体电路如下:
(AD8302的接法)
以上是AD7865和FPGA的接法
3.5人机接口
使用12864LCD+4*4键盘控制,由FPGA控制,具体说明略。
第四章总结
该系统的原理方面不是很难,但是由于频率要求和精度要求,所以有一定的难度,但是由于测频是信号处理中重要的一部分,所以成熟的方法很多,创新比较难,上面设计的这个系统在精度方面应该能基本满足题目要求。
但是由于前级比较器的局限,很难再有提高。
所以应该进一步在这个地方改进。
参考文献:
1周期信号相位差的高精度数字测量(窗口DFT)江亚群何怡刚
湖南大学电气与信息工程学院2006.11
2AD8302datasheetADI公司
3AD7865datasheetADI公司
4LM311datasheet飞利浦公司
5.AD8302幅相测量芯片的原理与应用宋长宝竺小松解放军电子工程学院2005