FPGA和单片机的频率监测系统实现

时间:2011-09-04

  本系统利用单片机和FPGA有效的结合起来共同实现等频率测量和IDDS技术,发挥各自的优点,使设计变得更加容易和灵活,并具有频率测量范围宽、产生的波形频率分辨率高及大等特点。

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

  系统方便灵活,测量和产生的波形分辨率高,能适应当代许多高测量和波形产生的要求,可以在各类测量系统和信号发生器中得到很好的利用,频率测量在电路实验、通讯设备、音频视频和科学研究中具有十分广泛的用途。

  1.DDS信号发生器的实现

  DDS同 DSP(数字信号处理)一样,是一项关键的数字化技术。DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。

  使用FPGA与单片机相结合的方式构成DDS信号发生器的部分,其中FPGA完成相位累加、波形地址查找及波形输出等功能,凌阳16位单片机实现频率控制字的输入和液晶显示部分。FPGA与单片机通过串行输入并行输出的方式进行通信。其总体设计框图如图1所示。

总体设计框图

  1.1 DDS产生原理

  图2是一个基本的DDFS结构框图。DDFS的优点在于只用较少的器件就能实现任意正弦信号的产生,可运用到SoC系统实际的测试模块中。以数控振荡器的方式,产生频率可控制的正弦波、方波、三角波,电路包括了基准时钟源、相位累加器、相位调制器、波形ROM查找表、D/A转换器和低通滤波器等。

基本的DDFS结构框图

  1.1.1 频率部分

  一个N位字长的二进制加法器的一端和一个固定时钟脉冲取样的N位相位寄存器相连,另一个输入端是外部输入的控制字M。前相位寄存器中的值和当前的M值相加,作为当前相位寄存器的输出。控制字M决定了相位增量,加法器不断的对相位增量进行线性累加。

  时钟信号都是总线数据传输的同步频率,他们通常需要在时钟信号的上升或下降沿进行数据采样,当然,这些功能芯片时钟芯片送给时钟信号,还需要经过倍频或分频运动老终满足相应总线数据传输的需要。

  设基准时钟信号为fclk,分频值为N,累加器位数为M,相位累加器步进值为L,根据公式:

公式

  设频率为20KHz,步进为20Hz,因此累加器位数至少为10位(210=1024>20000/20)。为了保证在频率下的波形在一个周期内至少有32个点,因此累加器至少有lO+5=15位。

  取晶振频率32.768MHz,可得

公式

  1.1.2 相位部分

  相位寄存器的输出通过相位调制器与相位控制字K相加,我们通过设置两路信号的K值,使两路信号有不同的相位偏移量,从而产生相位差△θ。设A路信号的控制字为K,B路信号的控制字为K’,考虑到FPGA的内部资源,取512个采样点,可得

公式

  通常我们只要改变控制字K就可以实现步进调整。

  1.2 DDS产生的软件设计

  1.2.1 FPGA软件设计

  FPGA负责接收由单片机送过来的频率字与相位控制字,同时将波形在ROM中的数据送给DA转换器进行DA转换,输出正弦波、方波、三角波三种波形,通过调节DA转换器的基准电压可调节输出的正弦波、方波、三角波三种波形的幅度,利用按键可以设置一定范围内的频率值和步进值。

  ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。

  1.2.2 单片机软件设计

  单片机软件设计主要是负责接收键盘置入的频率、步进值、选择波形并将其在液晶显示屏中显示和把各种控制信号和数据送到FPGA中。可设置任意频率、任意步进、波形切换等多种输出方式,在此基础上可扩展为任意信号发生器,具体程序流程图如图3:

单片机软件设计

  1.2.3 FPGA与单片机的通信

  本系统设计中,FPGA与凌阳单片机采用串行输入并行输出的方式进行通信。使用VHDL语言在EP2C20器件中利用D触发器和移位寄存器接收凌阳单片机发送过来的频率控制字和相位控制字,然后送入相位累加器。在FPGA与凌阳单片机通信中,单片机实行串行输入,不断地向FPGA送频率控制字和相位控制字,送给FPGA实现相位累加。

  2.等频率计的实现

  我们采用多周期同步测量法,即等测量法,通过对被测信号与闸门时间之间实现同步化,从而从根本上消除了在闸门时间内对被测信号进行计数时的 l量化误差,使测量大大提高。

  2.1 频率测量总体设计与方案

  随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理数据处理以及数字信号处理,DSP( Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。

  本系统主要是以凌阳单片机和FPGA为,多周期同步等测量频率计的结构用VHDL硬件描述语言对FPGA进行编程,实现频率、周期、脉冲宽度和占空比的测量。而单片机则作为控制部分实现了频率计的控制、扫描和显示,系统级框图如下图4:

  本设计频率测量方法的主要测量原理如图5所示,图中预置门控信号GATE是由单片机发出,GATE的时间宽度对测频影响较少,可以在较大的范围内选择,根据理论计算GATE的时间宽度Tc可以大于42.94s,一般可在l0~0.1s间选择,即在高频段时,闸门时间较短;低频时闸门时间较长。这样闸门时问宽度Tc依据被测频率的大小自动调整测频,从而实现量程的自动转换,扩大了测频的量程范围;

  2.2 测频输入级的设计

  由于输入的信号幅度不确定、波形不确定、边沿不够陡峭,FPGA只处理TTL电平的信号,因此我们必须对输入信号进行放大、整形处理。详细设计的电路图如图6所示。

  2.3 测频的软件设计

  2.3.1 FPGA软件设计

  此顶层设计图是通过VHDL硬件描述语言在QuartusII 5.1编程环境下实现对数字频率计测量的设计图,此设计与外部的凌阳16位单片机SPCE06lA以及输入电路部分、显示电路部分一起构成完整的一个等数字频率计的测量系统。

  2.3.2 凌阳单片机SPCE061A软件设计

  SPCE06lA单片机的是对整个系统起到一个控制作用,软件的设计主要是为了实现频率计对频率、周期、脉宽、占空比的测量的切换以及显示,并利用凌阳自带的语音播报功能实现频率测量的实时播报。

  3.系统的调试结果与分析

  DDS信号发生器的调试结果:通过键盘输入1HZ到4MHZ的正弦波、方波、三角波,设置三种波形的任意步进大小,系统可以产生正弦波、方波、三角波这三种波形,其频率分辨率可以达到O.Oll64153218269HZ,O.001%以上。等频率计的调试结果:该系统具有能够测量正弦波、方波、三角波三种波形的频率、周期、脉宽和占空比的值,频率的范围可达到0.1HZ~30MHZ,达到0.001%以上,同时语音能实时播报待测信号参数。

  4.结语

  采用基于FPGA和凌阳16位单片机的DDS信号发生器设计,不仅控制方便、电路易实现,而且稳定性好、频谱纯净、幅度恒定、失真小、分辨率高;等频率计的设计,具有测量高、范围宽;测量稳定性好,不随所测信号的变化而变化;使用凌阳16位单片机自带的语音播报功能,不需外加语音芯片,能实时播报测得的频率、周期、脉宽及占空比的大小。


  
上一篇:流媒体技术在IPTV系统的应用
下一篇:产品聚焦:工业网络

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料