低频数字相位测量仪-Read
一、设计任务和技术要求
1.1 设计内容
设计制作一个低频数字相位测量仪,要求使用单片机和FPGA来共同实现,FPGA完成测量时间差,而单片机完成数据的读取、键盘控制和显示等功能。
1.2 设计要求
1)频率范围:20Hz~20kHz。
2)相位测量仪的输入阻抗:≧100kΩ。
3)允许两路输入正弦信号峰峰值可分别在1~5V变化。
4)相位测量绝对误差≦2°。
5)具有频率测量及数字显示功能。
6)相位差数字显示,分辨力为0.1°。
7)主芯片:Altera的FLEX10K10。
8)要求扩展键盘和显示接口电路,可以进行键盘控制以及显示等功能。
二、系统设计方案
2.1 方案论证
根据系统的设计要求,本系统可分为三大基本组成部分:
1.数据采集电路
数据采集电路主要是运用FPGA/CPLD采集两个同频待测正弦信号的频率和相位差所对应的时间差。
2.数据运算控制电路
数据运算控制电路主要是运用单片机读取FPGA/CPLD采集到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差。
3.数据显示电路
数据显示电路是通过功能键切换用LCD液晶模块显示出待测信号的频率和相位差。
4.整形电路
由于FPGA对脉冲信号比较敏感,而被测信号是周期相同、相位不同的两路正弦波信号,为了准确地测出两路正弦波信号的相位差及其频率,我们需要对输入波形进行整形,使正弦波变成方波信号,并输入FPGA进行处理。
整个系统的总体原理框图如图2.1所示。
AINS AIN
BINS BIN
图2.1系统原理框图
2.2程序设计框图
图2.2 程序设计流程图
三、硬件电路图的设计与分析
3.1 FPGA数据采集电路
图3.1 数据采集电路
FPGA数据采集电路的功能就是实现将待测正弦信号的周期、相位差变为19位的数字量。
根据系统的总体设计方案,FPGA数据采集电路的输入输出信号有:
CLK——系统工作时钟信号输入端;
A,B——两路被测信号输入端;
EN——单片机发出的传送数据使能信号;
RSEL——单片机发出的传送数据类型信号;
DATA[18..0]——FPGA到单片机的数据输出口。
FPGA数据采集电路测量正弦波信号频率的原理是:在正弦波信号整形后得到的方波信号的一个周期为T秒的数据采样信号进行计数,其计数结果乘以1/T,就是被测正弦波信号的频率,单位为Hz。
测量正弦波信号周期原理是:在正弦波信号整形后得到的方波信号的一个周期内对周期为T秒的数据采样信号进行计数,其计数结果乘以T秒,就是被测正弦波信号的周期,单位为秒。
测量两个同频正弦波信号的相位差,关键是要测出两个同频正弦波信号起点之间的时间差△t,若△t测出,则根据△φ=△t×360°/t即可求出相位差△φ,因此其测量原理与测量正弦波信号周期的原理相似。
本设计采用20MHz的高频晶体振荡源,由FPGA内部的分频模块对20MHz信号进行二分频,得到10MHz的数据采样信号,其采样周期为0.1us。
为了实现中低频测量精度的要求,我们可采用10MHz的信号来循环计数被测信号的周期和两个同频正弦波信号的相位差所对应的时间差值,时间单位为0.1us。也就是说,计数周期和相位差所对应的时间差值的精度是0.1us。利用被测信号来刷新采样计数,在20Hz时,刷新频率可以精确到10Hz,20kHz时达到10kHz,可以实现高频多测量,低频少测量的效果,时间计数精确可靠,为后面单片机的数据处理提供了稳定、可靠的数据源。
3.2 单片机数据运算控制
单片机数据运算控制电路的功能就是负责读取FPGA/CPLD采集到的数据,并根据这些数据计算待测正弦信号的频率及同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。
为了达到系统所要求的精度,在计算时为了保证不丢失数据,我们采用了扩大数据倍数,定点取数的方法。在计算频率?和相位差△φ时,?和△φ分别扩到和10倍,即?t, △φ=360×10×△t/t。然后定点取数值,在单片机完成的计算中,当t= Tmax=T20kHz, △t→Tmax时,数据位数→20位,因此采用了多字节乘法,保证了数据的计算准确。
单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和a、b信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块,实现频率和相位差的显示。
3.3 数据显示电路
整个系统硬
原创力文档

文档评论(0)