datasheet

基于89C55和FPGA的最小系统频率特性测试仪

2016-08-06来源: elecfans关键字:89C55  FPGA  最小系统  频率特性测试仪
  频率特性是一个系统(或元件)对不同频率输入信号的响应特性,是一个网络最重要的特性之一。幅频特性和相频特性综合称为频率特性。测量频率的方法有点频法和扫频法。传统的模拟式扫频仪价格昂贵、体积庞大,不能直接得到相频特性,给使用带来诸多不便。为此,设计了数字扫频式频率特性测试仪

  1 方案论证与选择

  1.1 方案的选择

  1.1.1 信号发生模块

  方案1:采用模拟分立元件或单片压控函数发生器。可同时产生正弦波、方波、三角波,但由于元件分散性太大,产生的频率稳定度较差、精度低、波形差,不能实现任意波形输出。

  方案2:采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成的结构复杂,并且它也无法实现任意波形输出。

  方案3:采用锁相式频率合成器。锁相式频率合成是将一个高稳定度和高精度的标准频率经过加减乘除的运算产生同样稳定度和精确度的大量离散频率的技术,它在一定程度上解决了既要频率稳定精确,又要频率在较大范围可变的矛盾。但由于锁相环本身是一个惰性环节,锁定时间长,故频率转换时间长,频率受限。更重要的弱点是,不能实现任意波形的功能。

  方案4:采用直接数字频率合成器(DDFS)。DDFS技术以Nyquist时域采样定理为基础,在时域中进行频率合成,它可以快速改变频率,并且通过更换波形数据可以实现任意波形功能。DDFS相对带宽高,输出相位连续,频率、相位和幅度均可以实现程控。充分利用FPGA内部资源,在其内设置所有逻辑电路实现DDS合成,理论上可达MHz,100 kHz的频段要求很容易实现,而且省去大部分硬件,只需D/A转换输出,避免硬件电路的分部影响。

  为尽量减轻硬件负担,充分利用数字资源,在满足应用要求的基础上,选择方案4,在FPGA内部实现频率合成。

  1.1.2 被测网络

  方案1:直接利用阻容双T网络。可以通过改变电容电阻的参数改变中心频率,但其传递函数形式已经固定,带宽大概是中心频率的4倍,Q值固定为0.25,陷波效果较差。

  方案2;采用改进双T网络,网络输出经过射级跟随器反馈回网络,可以限制带宽,容易实现应用要求。为此选择方案2。

  1.2 系统总体实现方框图

  系统方框图如图1。

  

 

  2 理论分析与计算

  2.1 DDS原理分析

  DDS是一种应用数字技术产生信号波形的方法,主要组成:相位累加器、波形存储器、D/A转换器和低通滤波器。基本工作原理是:在参考时钟信号的控制下,通过由频率控制字K控制的相位累加器输出相位码,将存储于波形存储器中的波形量化采样数据值按一定的规律读出,经D/A转换和低通滤波后输出波形。其FPGA内部实现框图如图2所示。

  

 

  通过DDS技术实现频率合成前需要确定DDS的主要性能参数:

  设参考频率源频率为fclk,采用计数容量为2N的相位累加器(N为相位累加器的位数),频率控制字为M,则DDS系统输出信号的频率为fout=fclk/2N×M,频率分辨率为△f=fclk/2N。若选取晶振频率为40 MHz,频率控制字为24位,相位累加器的位数为31位,此时的DDS模块逻辑框图如图3所示,这样的理论输出频率范围为0.02 Hz~312 kHz,步进约为0.02 Hz(40 MHz/231)。

  

 

  2.2 双T网络

  双T网络可看作由一个T型低通网络和一个T型高通网络组成。低通网络如图3所示。将其中的电阻、电容全转换成阻抗表示。传递函数H(jω)为:

  

 

  

 

  2.3 相位测量

  此模块采用多周期同步计数法。对输入信号周期进行填充式脉冲计数,具体做法为:利用D触发器产生一个宽度为整数个被测信号周期的同步闸门信号,将同步闸门信号和时钟脉冲信号相与后送入计数器1进行记数,计数值为N1;将同步闸门信号、鉴相脉冲和时钟脉冲三者相与后送入记数器2进行记数,计数值为N2,相位差为φx=(N2/N1)×180。这样可使量化误差大大减小,测量精度得到提高,如图5所示。

  闸门的设置、脉冲间的运算、计数等问题在FPGA内部实现可增加系统的灵活性和测量精确度,并可减轻硬件方面的工作量。

  3 主要功能电路的设计

  3.1 DDS信号发生模块

  AD9851模块处理单片机送的频率控制字,输出地址值给ROM 1P模块,ROM 1P模块中存储正弦波表,输出幅度值给DA。具体在FPGA内实现如图6所示。

  

 

  3.2 真有效值测量电路

  采用典型真有效值一电流转换芯片AD637,其外围元件少,频带宽。对于有效值为200mV的信号,600 kHz;对于有效值为1 V的信号,-3 dB带宽是8 MHz,其后接12位高速低功耗串口模/数转换芯片ADS7818。为简化电路,并保持电路参数的对称性,仅采用一个ADS7818,通过电磁继电器,由单片机控制,在两路信号间周期性切换进行测幅。

  3.3 放大整形及相位测量模块

  由于经过双T网络输出的信号幅度衰减很大,而信号经过过零比较器的传输时间为

  

f.jpg

 

  ,式中,G0为过零检测器的直流增益;fP1是第一个响应极点;f为信号频率;VP是信号幅值。由该式可以看出,幅度与相移成反比,所以在经过比较器前要加一级放大,采用的是可变增益放大芯片AD603构成的自动增益控制电路,当输入信号峰一峰值在400 mV~7 V,频率在6 MHz以下,输出信号稳定平坦。在此次应用的实际电路中,将有效值从200 mV~3.5 V,频率从30 Hz~3 MHz的输入信号无失真的都放大到1.72 V。由于DDS输出电压为1.72 V,所以只需放大处理经过网络后的信号。另外,由于前级为双T网络中的射随,故不需做阻抗匹配。AGC(自动增益控制)电路如图7所示。

  输出信号经过由LM311构成的零点附近的滞回比较器整形后给FPGA,进行相位测量。经过放大整形后的两路信号先经过一级极性判别电路,通过读取D触发器的输出电平来判断从双T网络输出的信号相位相对于原信号相位超前还是滞后,VOUT输出为高电平时超前,反之为滞后。同时将两个信号送入异或门,得到脉冲信号,测量脉冲信号的宽度,再通过计算就可以得到相位差。当脉冲的宽度很小时,为达到设计要求,标准脉冲的频率要求很高。设计时使用的是40 MHz的晶振,所以得到相位差的表达式为度。

  3.4 示波器显示模块

  将幅频相频信息加至y轴,频率锯齿波加至x轴。D/A转换采用12位串口电压输出型可程控偏压的数/模转换芯片TLV5638。

  4 测试数据与分析

  4.1 测试数据结果

  测试数据结果如表1所示。

  

 

  4.2 数据分析

  经过测量,双T网络的幅频及相频特性曲线如图8所示。在幅频特性曲线中,横坐标代表频率,一格代表1 kHz;纵坐标代表增益,一格代表0.5倍。在相频特性曲线中,横坐标代表频率,一格代表1 kHz;纵坐标代表相位,一格代表5°。

  

 

  4.3 误差分析

  4.3.1 相位测量误差分析

  (1)计数误差。计数器总会存在±1的误差,这个误差是方案本身存在的,无法消除,采用改进的计数方案虽无法消除误差,但可减小误差的影响。

  (2)前级处理引入的误差。采用计数法测相前需要对输入的两路信号进行限幅放大、电平转换等处理,由于难以保证处理两路信号的电路线形度完全一致,因此会引入误差。另外在电平转换时,比较器会影响转换的方波上升沿或下降沿不稳定,影响计数结果。

  (3)两信号相异或后,用计数法测相位差,其标准时钟信号由晶振产生,采用40 MHz晶振,其晶振频率稳定度也会影响测量结果。

  (4)相差测量精度还可以提高。如果相位差精度要达到0.1°,正弦波表数据应该至少储存360×10个点,但这里只储存了1 024个点。

  (5)扫频DDS部分还可以提高扫频精度。可以提高FPGA内部时钟频率来提高扫频精度,扫频参考时钟采用10 MHz,因为D/A转换部分是采用转换速度为100 ns的DAC0800,因此完全可以进一步提高参考时钟的频率,DAC0800转换速度完全可以达到。

  4.3.2 幅度测量误差分析

  幅度测量是采用真有效值检波,AD637芯片本身在检测有效值时存在固定偏差,但对前后信号产生的偏差一致,而且可以通过软件对测量结果进行校准。

  5 总结分析与结论

  实验表明,DDS信号发生部分扫频范围100 Hz~100 kHz,频率步进10 Hz。用户可以通过按键选择定点测量或特定频率段扫频测量,并能通过LCD显示预置频率、网络前后信号幅值、相位差及其极性,还可在示波器上显示幅频特性和相频特性曲线。此外,可以方便地实现定点测量及特定频率段测量,能够很好地帮助理解频率特性,且其可扩展性好,设计出来的产品体积小,易携带,适合教学等领域的应用。

关键字:89C55  FPGA  最小系统  频率特性测试仪

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2016080628255.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于单片机带温度补偿的超声波测距仪设计
下一篇:电动自行车控制器测试仪的设计与实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Autotalks和大唐完成C-V2X芯片组级互操作性评估

Autotalks和大唐已于6月底在北京完成了对C-V2X直接通信相应解决方案的芯片组级互操作性评估,以验证其解决方案并得出结论,它们的功能符合3GPP Rel.14 标准。Autotalks和大唐的原始测试是根据最新的CCSA(中国通信标准协会)草案制定的标准正在考虑世界上第一个。该测试具有开创性,展示了Autotalks公司独立的直接通信(PC5)解决方案的准备情况,使他们在中国部署C-V2X成为可能。“在与中国领先的汽车制造商进行多次成功的现场测试后不久,大唐实现了这个重要的里程碑,显示了我们的C-V2X技术在大规模部署方面的成熟,”Autotalks的亚太区业务开发和营销副总裁Ram Shallom说
发表于 2019-07-19

新版USB Type-C新规范出炉,可直接支持HDMI输出

 USB Type-C接口有可能成为未来多数笔记本电脑、智能手机的唯一数据接口,但这些仅支持USB接口的设备仍必须与那些非USB接口的设备进行交互,比如显示器、电视机等。因此,设计人员需要考虑如何在单个连接器中实现USB和其他高速接口的转换,其中涉及到切换引脚功能、提供诸如ESD的外部瞬变保护以及维护信号质量等问题。USB Type-C标准通过定义备用模式(Alt Mode)来满足这些需求,这种方法能够动态地更改引脚的功能,从而支持非USB的数据传输协议。 本文对各类标准进行了介绍,有了这些标准,USB Type-C才能连接到HDMI或其他非USB形式的数据接口。本文中还包含将HDMI备用模式增加到USB
发表于 2019-07-19
新版USB Type-C新规范出炉,可直接支持HDMI输出

ETC在国内不温不火发展4年,终于迎来了高光时刻?

ETC支付使用率约45%,而随着车联网和智慧交通的不断发展,未来ETC的地位很有可能受到一定的打击。  这还得从ETC的原理说起。ETC,其英文全称是Electronic Toll Collection System,翻译过来就是电子不停车收费系统,ETC的实现离不开三大要素:车载电子标签(OBU)、路侧单元(RSU)和专用短程通信技术(DSRC)。当车辆驶近收费站时,OBU与RSU通过DSRC进行通讯,利用计算机联网与银行进行后台处理,从而达到车辆不停车即可完成交费的目的。 而DSRC,笔者在《DSRC之殇,车联网真的要向C-V2X一边倒了吗?》这篇文章中曾盘点过这项技术,就车联网应用而言,它并不
发表于 2019-07-17
ETC在国内不温不火发展4年,终于迎来了高光时刻?

STM32开发笔记11: 在Keil中使用C++进行程序设计

单片机型号:STM32F030R8    希望在Keil中使用C++进行程序设计,开始时,总是报错,经过仔细分析,原因时Keil在默认情况下不支持C++进行程序设计。本文将介绍在Keil中使用C++进行程序设计的方法。    1、在Keil中使用C++进行程序设计,首先需要系统支持,如下图所示。      2、建立类,需要2个文件,cpp和hpp,在hpp中对类进行描述,在cpp中完成函数实现。      依循上述方法就可以使用C++进行程序设计了。
发表于 2019-07-17
STM32开发笔记11: 在Keil中使用C++进行程序设计

STM32开发笔记73: C++中子类调用父类同名函数的处理方法

单片机型号:STM32L053R8T61、问题父类有1方法:Enable_RS485,如下所示:class CUart{public: uint8_t u8_UartNumber; //端口号1-8 uint32_t u32_BaudRate; //波特率 uint8_t u8_Parity; //效验位 CC0 C0; //485控制引脚C0 CC1 C1; //485控制引脚C1 UART_HandleTypeDef hUART; uint8_t u8_UartReceiveBuffer[1];public: CUart(uint8_t
发表于 2019-07-13

浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)

引子STM32的硬件I2C很多人都对它望而却步。因为很多电工都说,STM32 硬件 I2C有BUG、不稳定、死机等等……最后都使用GPIO模拟I2C。的确,模拟I2C好用。但是在我看来在一个72M的Cortex-M3的MCU上这样做非常不妥。一般来说I2C是一种慢速总线,就算工作在400kHz的快速模式上,I2C传送每个字节仍需要至少23us——还没有计算地址、起始信号和结束信号的发送。如果使用GPIO模拟的I2C,这23us的CPU时间都在空转中浪费了,而这23us已经可以做不少的事情了,所以在STM32上I2C还是使用硬件为佳——虽然它多多少少有点缺陷。这篇文章不是给完全没有接触过STM32 硬件I2C的新手看的,看这
发表于 2019-07-13
浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved