您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于单片机和FPGA的扫频仪设计 正文
基于单片机和FPGA的扫频仪设计

基于单片机和FPGA的扫频仪设计

点击数:7628 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   DSP/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实现。



www.55dianzi.com   实际测量中,当两输入信号频率较高且相位差很小时,得到的脉冲很窄,这会造成较大误差。为了克服上述缺陷,引入等精度测量的思想(如图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%。此外,该系统可以通过键盘输入扫频范围,通过示波器显示幅频、相频曲线,并可以在液晶显示器上显示该网络在特定频率点上的幅度、相位特性值。该系统操作简单,成本低廉,测量精确,具有很强的实用性。




本文关键字:单片机  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术