微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > FPGA与单片机实现低频数字式相位测量仪

FPGA与单片机实现低频数字式相位测量仪

时间:08-08 来源:互联网 点击:

边沿不够陡峭造成的。要解决此问题,一是选取具有较大压摆率的器件,二是在比较器的后端加一级微分电路来提升脉冲信号的边沿。

4)中低频测量精度的影响与消除采用20 MHz数据采样信号来循环计数被测信号的周期及相位差对应的时间差,精度达到0.05 μs,20位数字量的单位是0.05μs。利用被测信号刷新采样计数,实现高频多测量,低频少测量,时间计数精确可靠,这样,FPGA可以为MCU提供稳定的数据。

3 系统硬件电路的设计

3.1 前端信号调理电路的设计

施密特触发器(迟滞比较器)虽然可以很好地消除比较器过零引起的抖动,但是其输出信号和输入信号存在相位差,如果两路被测信号的幅度基本相等且两个施密特触发器的门限电平又很接近,则施密特触发器引入的相位误差对测量系统误差几乎无影响。

采用LM339内部有4个独立的电压比较器,该电压比较器的特点是:失调电压小,典型值为2 mV;电源电压范围宽,双电源电压为±1~±18 V;对比较信号源的内阻限制较宽。同相和反相输入端电压差别大于10 mV就能确保输出能从一种状态可靠地转换到另一种状态,输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻。在跳变电压值附近的干扰不超过回差AU,输出电压的值就将是稳定的。正反馈可以加快比较器的响应速度。由于迟滞比较器加的正反馈很强,远比电路中的寄生耦合强得多,所以可免除由于电路寄生耦合而产生的自激振荡。通过调节电位器,使两个施密特触发器的门限电平基本相等,保证输入电路对相位差测量不带来误差。电路如图2所示。

3.2 系统测量电路设计

以单片机为核心设计相位仪,如其晶振为24 MHz,单片机C/T的计数误差为1个机器周期为±0.5 μs,则绝对误差为360°x0.5 μs/50μs=3.6°,所以,当被测信号频率很高时很难满足测量要求。

本设计采用AVR单片机与FPGA相结合的方案,FPGA实现数据采集,将所测信号的频率和相位差所对应时间差转换为二进制数据传给单片机;单片机从FPGA获取数据,经过运算、转换等数据处理,将被测信号的频率和相位差在LCD上显示。

 系统电原理图如图3所示。MCU采用ATMEL公司的AVR单片机ATmega128,具有先进的RISC结构,大多数指令在一个时钟周期内完成,有32个8位通用工作寄存器及外设控制寄存器,克服了一般单片机单一累加器数据处理带来的瓶颈。有128 KB的系统内可编程Flash,4 KB的EEPROM以及4 KB的内部SRAM,遵循JTAG标准的边界扫描功能,支持扩展的片内调试,可通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程。

FPGA采用Altem Cyclone系列的EP1C3T100,配置芯片为EPCS1,VHDL功能程序经过全编译会生成.sof和.pof文件,配置的下载为Byte-Blaster II,[Mode]项选择“JTAG”为把.sof文件配置到FPGA芯片EP1C3T100中,用于调试;[Mode]项选择“Active Serial Programming”为把.pof文件下载到配置芯片EPCS1中,系统重新上电时正常运行。

LCD采用HTM12864,为128x64串行数据传送液晶显示器,背光灯通过光耦受到控制。

ATmega128和EP1C3T100设计各自的JTAG接口。图3绘出了ATmega128和EP1C3T100的接口D0~D19、EN、Dsel、LCN;ATmega128与HTM12864的接口RET、D/C、SCLK、DATA;EP1C3T100的输入信号FAin和FBin,66 MHz外部有源晶振,配置芯片EPCS1。4 系统软件的设计

4.1 FPGA数据采集VHDL程序设计

FPGA数据采集的VHDL程序设计是在Altera QuartuslI开发软件平台及实验开发系统上完成的。程序设计采用自顶向下(up-to-down)的设计方法。FPGA系统的模块构成如图4所示。采样信号发生模块完成时钟信号源的分频工作,得到CLK=20 MHz;待测信号采样模块在控制信号产生模块的周期闸门信号Tk和时间清零信号Tcr的作用下,输出待测信号周期和相位差数据;测量数据提取模块在鉴相信号JXc和计数提取信号Lad的作用下,并在输出使能信号EN和数据类型信号Dsel控制下分别输出周期和相位差数据,交MCU运算处理显示。

FPGA在单片机输出使能信号EN和数据类型信号Dsel控制下,输出所测信号的频率和相位差所对应的二进制数据仿真波形如图5所示。VHDL程序经过编译调试生成.pof文件下载到配置芯片EPCS1中实现所设计的功能。

4.2 ATmega128运算控制程序设计

AVR单片机ATmega128从FPGA分别读取频率和相位差的20位数字量,由于FPGA在20 MHz数据采集信号作用下对待测信号周期和两同频信号的相位差所对应的时间差计数,因此20位数字量的单位是0.05μs,单片机对这些数字量进行计算,可以得到待测信号的频率和

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top