一种基于FPGA和单片机的扫频仪设计与实现

发布时间:2010-11-9 20:25    发布者:techshare
关键词: FPGA , 单片机 , 扫频仪
一个网络的频率特性包括幅频特性和相频特性,在系统设计时,各个网络的频率特性对该系统的稳定性、工作频带、传输特性等都具有重要影响。实际操作中,扫频仪大大简化了测量操作,提高了工作效率,达到了测量过程快速、直观、准确、方便的目的,在生产、科研、教学上得到广泛运用。本设计采用数字频率合成技术产生扫频信号,以单片机FPGA为控制核心,通过A/D和D/A转换器等接口电路,实现扫频信号频率的步进调整、数字显示及被测网络幅频特性与相频特性参数的显示。

1 系统总体方案及设计框图

1.1 系统总体方案

将输出频率步进可调的正弦扫频信号源作为被测网络的激励Vi,可得被测网络的响应为V0。通过测量各频率点的幅度就可得到V0和Vi的有效值,两者之比就是该点的幅度频率响应;对V0和Vi进行过零比较、整形,再送到FPGA测量相位差,即可得到相频特性。

设激励信号Vi=x(n)=Acos(ω0n+f),稳态输出信号V0=y(n)。利用三角恒等式,可将输入表示为两个复指数函数之和:

,式中,

。对于输入为

,线性时不变系统稳态输出为

。根据线性性质可知,输入g(n)的响应v(n)为:

。同理,输入g*(n)的输出v*(n)是v(n)的复共轭。于是得到输出y(n)的表达式:





因此,输出信号和输入信号是频率相同的正弦波,仅有2点不同:1)振幅被

加权,即网络系统在ω=ω0的幅度函数值;2)输出信号的相位相当于输入有一个q(ω0)时延,即网络系统在ω=ω0的相位值。该方案幅度和相位测量的控制都通过FPGA实现,能够使测量结果精确。

1.2 系统总体设计框图

系统通过键盘扫描得到外界设置的扫频范围和频率步进,通过调用DDS控模块控制DAC904,输出扫频信号。由于信号在被测网络阻带内会有很大的衰减,故用程控放大处理经被测网络的扫频信号之后,利用AD637进行有效值采样,LM311进行整形。信号有效值经MAXl270进行AD转换后得到有效值的数字量,整形后的信号经测相模块处理得到相位差值。在FPGA中写入2个RAM存放被测信号的有效值和相位差值。完成一次扫频后通过波形显示模块将幅频、相频曲线显示在示波器上,并将特定频率点的幅度和相位差值在液晶显示器上进行显示。系统实现框图如图1所示。




2 系统功能部分设计

2.1 扫频信号的产生

直接数字合成(DDFS)信号源。它是一种完全数字化的方法:先将一个周期的正弦波(或者其他波形)的离散样点幅值的数字量预先存储于ROM或者RAM中,按一定的地址增量间隔读出,经D/A转换后成为不同频率的模拟正弦波信号波形,再经低通滤掉毛刺即可得到所需频率的输入信号。按此原理,DDS可以合成任意波形,且可以精确控制相位,频率也非常稳定。利用FPGA制作起来相当容易,且扫频步进实现简单。设FPGA内部的参考频率源的频率为fclk,采用计数容量为2N的相位累加器(N为相位累加器的位数),频率控制字为M,则DDS系统输出信号的频率fout=fclk/2N×M。频率分辨率为:△f=fclk/2N。

若选取晶振频率为40 MHz,频率控制字为24位,相位累加器的位数为31位,则输出频率范围为0.02 Hz~312 kHz,步进频率为40 MHz/231≈0.02 Hz。

系统采用高速14-bit电流输出型D/A转换器DAC904制作DDS扫频信号源。通过FPGA给其20 MHz的时钟信号以输出10 Hz~100 kHz的扫频信号。该器件制作成的PCB板中,很好地考虑了接地,使得输出信号在频率为1 MHz可以达到无明显失真。DAC904采用内部基准和双极性接法,输出信号幅值范围为0~5 V。其原理图如图2所示。





2.2 幅频特性测试方案

使用集成真有效值转换器AD637先检测出信号每个频率点的有效值,再经过A/D采样将得到的数据读到单片机中进行处理即可。该器件外接电路简单,工作频带很宽,与A/D转换器级联,可以对任何复杂波形的有效值、平均值、均方值、绝对值进行采样,测量误差小于±(0.2%读数+0.5 mV),可以达到很高的测量精度。

2.3 相频特性测试方案

采用计数法实现相位的测量。计数法的思想是将相位量转化为数字脉冲量,然后对数字脉冲进行测量而得到相位差。对转换后的数字脉冲量进行异或运算,产生脉宽为T0、周期为T的另一路方波,若高频计数时钟脉冲周期为TCP,则在一个周期T的时间内的计数数值为:





式中,φx为相位差的度数。

这种方法应用比较广泛,精度较高,电路形式简单,适合FPGA实现。

实际测量中,当两输入信号频率较高且相位差很小时,得到的脉冲很窄,这会造成较大误差。为了克服上述缺陷,引入等精度测量的思想(如图3),采用多周期同步计数法,利用触发器产生一个宽度为被测信号fa整数倍的闸门信号。利用计数器1测量出闸门信号内通过高频脉冲fm的个数N1,利用计数器2测量出相同时间内闸门信号、异或信号、高频脉冲三者相与后的脉冲数N2。因此,相位差值为△φ=N2/N1x36 0°。测量相位的同时,在FPGA内部引入一D触发器,用一路方波信号控制另一路方波,通过触发器输出的高低以判断信号相位差范围是大于180°还是小于180°。







2.4 系统显示电路设计

为了在示波器上显示曲线,需要通过2个D/A转换器向X、Y轴同步送入扫描信号和数据信号。X轴方向的DA转换器输出扫描信号为O~5 V的锯齿波信号,而数据信号为-5~5 V,反应了各个频率点上的信号幅值和相位,由另一片D/A转换器向Y轴方向输出。  

3 系统软件设计

系统软件设计由单片机和FPGA组成。整个系统以用户按键中断为主线,调用不同的处理函数,与FPGA中各个控制模块之间,以总线的进行数据的交换,实现了系统测量频率特性的功能。软件流程图见图4。





4 结束语

本扫频仪利用数字频率合成技术(DDS)产生扫频信号,通过14位D/A转换器DAC904产生了10 Hz~100 kHz的正弦扫频信号,作用于被测网络。网络的输出信号通过有效值采样电路,以及由比较器LM311配合FPGA内部实现的测相电路,完成了对被测网络频率特性的测量。
为对系统的性能进行测试,制作了一个中心频率为5 kHz。带宽为±50 Hz的阻容双T网络。测试结果表明,在网络的通带和阻带内,相频特性测量均达到了3°以内的测量精度,幅频特性的测量误差均小于50%。此外,该系统可以通过键盘输入扫频范围,通过示波器显示幅频、相频曲线,并可以在液晶显示器上显示该网络在特定频率点上的幅度、相位特性值。该系统操作简单,成本低廉,测量精确,具有很强的实用性。
本文地址:https://www.eechina.com/thread-37813-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表