📄 低频数字式相位测量仪(程序清单).txt
字号:
2 单元电路设计
2.1 相位测量仪
功能:测量并显示A、B输入信号间的相位差及频率。
所需器件:采用运放TL082,比较器LM393,Xinlinx公司生产的Spartan2E系列xc2s100e-6pq208芯片和数码管。
2.1.1 原理方框图
比较器
比较器
FPGA
测量控制器
频率显示
相位差显示
运放
运放
B
A
图2.1.1 相位测量仪原理方框图
图2.1.1为相位测量仪原理方框图。首先将同频信号A、B经运算放大器放大后,输入到过零比较器中。经过零比较器后的信号转变为方波信号,输入到FPGA芯片中。通过VHDL语言编程、下载到FPGA芯片并烧制,实现了测频、测相及频率和相位差显示的功能。
2.1.2 相位测量原理
被测信号A、B经过零比较器,在信号的正极性阶段产生脉冲A′和B′,整形后形成门控信号Ug,其中A′开启主门,B′关闭主门。在门控时间内,时标信号通过主门进行计数显示,可以得到被测相位的值。它的工作波形如图示。设门控信号的开启时间为tφ,计数值为N,则:
式(2-1-1)
式中To­为时标信号的周期。由式(2-1-1)得被测相位差:
式(2-1-2)
若取fo=360Hz,则每个计数脉冲表示 1o,满足相位测量绝对 误差≤2o的要求。相位测量原理图如图2.1.2示。
图2.1.2相位测量原理图
2.1.3 频率测量原理
在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间τ与预置闸门时间τ1并不严格相等,但差值不超过被测信号的一个周期。测量原理方框图如图2.1.3示。设在一次实际闸门时间τ中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率为:
(式2-1-3)
图2.1.3等精度频率测量法原理
2.1.4 电路图分析
因比较器输出电压很小,在输出端接一上拉电阻可提高输出电压;为保护芯片不会因电流过大而烧坏,在芯片输入端接一限流电阻。电路图如图2.1.4示。
2.2数字式移相信号发生器
所谓移相是指两种同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为是相位的移动。两路信号的相位不同,便存在相位差,简称相差。若我们将一个信号周期看作是3600,则相差的范围就在0°~360°。
2.2.1 数字移相原理
随电子技术的发展而兴起的数字移相技术,这是目前移相技术的潮流。
数字移相原理简述如下:先将任意波形信号数字化,并形成一张数据表存入FPGA芯片中,此后可通过两片D/A转换芯片在FPGA的控制下连续地循环输出该数据表,就可获得两路任意波形信号,当两片D/A转换芯片所获得的数据序列完全相同时,则转换所得到的两路任意波形信号无相位差,称为同相。当两片D/A转换芯片所获得的数据序列不同时,则转换所得到的两路任意波形信号就存在着相位差。由于数据表中数据的总个数一定,因此相位差的值只与数据地址的偏移量有关。这种处理方式的实质是:将数据地址的偏移量映射为信号间的相位值。方框图如下:
任意波形输入
FPGA
A/D
D/A
相位差⊿φ
图2.2.1 数字移相原理框图
本设计中数字式移相信号发生器可自行产生两路同频正弦波信号。由于正弦波函数表早已编辑好并存储于ROM中,因此可通过软件编程实现ROM地址中的数据按不同数据序列的循环输出的功能,并经D/A转换后得到两路移相正弦波。
2.2.2正弦波信号发生
2.2.2.1 正弦波的合成
对一个幅度为1的正弦波的一个周期进行1024点采样,用Matlab计算得到每一点对应的幅度值,然后量化成8位二进制数据存放在ROM中,理论上,采样的点数及量化的位数越多,合成的波形精确度越高,但是,DAC7520的位数为10位,量化等级最高为1024,其量化误差已能达到要求,对于查正弦表的舍入误差也可忽略,故不再细分。这里采用360个采样点,是为了调频时能得到较好的波形。依次取出ROM中的数据,即可得到幅度上是阶梯型的正弦波。再经过D/A转换,便可得到连续的正弦波。
2.2.2.2 频率调节的实现
直接数字频率合成(Direct Digital Frequency
Synthesis,即DDFS,一般简称DDS)是从相位概念出发直接合成所需要波形的一种新的频率合成技术。
由于采用DDS技术,在ROM中存有波形一个周期的n个等间隔归一化采样数据,改变对ROM的扫描频率,从而改变对ROM中数据的读取速度,即可合成不同频率的波形,存储器中存入过量的采样值,使得采样点数较少时,依然能够得到较好的波形输出,从而得到较高的频率输出。否则,采样点数太少会使产生的波形严重失真。输出波形的频率可由式
(2-2-1)计算:
式(2-2-1)
其中,fosc为晶振频率,k为分频系数,360为采样点数,则:
式(2-2-2)
在实现方法上,现有的晶振为50MHz,若通过按键预置频率f=1KHz,则f0取1KHz。由式(2-2-2)可得分频系数k=138.88,进行四舍五入得:k=139。
不同的分频系数,对应不同的存储幅值ROM的扫描频率fs,从而改变了对ROM中数据的读取速度⊿t
。已知一个周期采样点数N为720个,设输出波形的周期为T,则:
式(2-2-3)
因此频率调节的全过程可总结为:
改变预置频率f → 分频系数k改变 → 对ROM的扫描频率fs改变 → 读取ROM数据的速度⊿t改变 → 输出波形周期T改变 →
输出波形频率f0改变。
图2.2.2 数字式移相信号发生器电路图
2.2.2.3 幅度控制、双D/A设计
双D/A转换是实现幅度可调的关键。D/AC输出电压VDAC作为幅度控制的D/AC的参考电压输入,依据: 式(2-2-4)
其中:K为一常系数,N为D/AC的输入数据。本系统采用的是高精度D/A转换器DAC7520,电流建立时间为1.0μs,幅度控制用10位D/A控制,最大峰-峰值为5V。
2.2.2.4 滤波、显示设计
采用无源低通滤波器,滤除信号中的干扰信号。数码管显示幅度、频率、相位差。
2.2.2.5 电路图 如图2.2.2示。
3软件设计
3.1 开发软件及编程语言简介
系统采用硬件描述语言VHDL按模块化方式进行设计,并将各模块集成于FPGA芯片中,然后通过Xilinx ISE 4.2软件开发平台和ModelSim
Xilinx Edition 5.3d
XE仿真工具,对设计文件自动地完成逻辑编译、逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对FPGA芯片进行编程,实现系统的设计要求。
采用VHDL(Very High Speed Integrated Circuit Hardware Descriptipon
Language)超高速集成电路硬件描述语言设计复杂数字电路的方法具有很多优点,VHDL语言的设计技术齐全、方法灵活、支持广泛。
VHDL语言的系统硬件描述能力很强,具有多层次描述系统硬件功能的能力,可以从系统级到门级电路,而且高层次的行为描述可以与低层次的RTL描述混合使用。VHDL在描述数字系统时,可以使用前后一致的语义和语法跨越多层次,并且使用跨越多个级别的混合描述模拟该系统。因此,可以对高层次行为描述的子系统及低层次详细实现子系统所组成的系统进行模拟。
3.2 软件实现方法
3.2.1 等精度频率测量的实现
等精度测频的实现方法可简化为图3.2.1所示的框图。CNT1和CNT2是两个可控计数器,标准频率(fs)信号从CNT1的时钟输入端CLK输入;经整形后的被测信号(fx)从CNT2的时钟输入端CLK输入。每个计数器中的CEN输入端为时钟使能端控制时钟输入。当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时,被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。等精度测频实现方法原理图如图3.2.1示。
图3.2.1 等精度测频实现方法的原理
3.2.2程序流程图
图3.2.2 数字式移相信号发生器程序流程图
首先通过开关选择调频、调相、调幅功能,然后相应的进行置数或调节。调相和调频通过拨盘码进行频率和相位的预置。调幅通过两个按键进行连续的增幅和减幅.最后将相应的数据送入数码管显示。数字式移相信号发生器程序流程图如图3.2.2。
相位测量仪模块程序流程图如图3.2.3示。首先判断两路输入信号的上升沿,如果上升沿到达则计数器开始计数,否则继续等待。在计数过程中继续判断第二路输入信号的上升沿是否到达,如果到达则将计数结果保存并且继续计数,直到第一路信号的下降沿到来后停止计数。
3.3 程序清单及仿真
系统采用模块化设计,数字式移相信号发生器的软件设计分为:一个顶层映射总模块和幅频控制、数据ROM、译码、显示四个子模块。相位测量仪程序清单与各模块的功能说明详见附录。
开 始
信号输入
是否为上升沿
开始计数
等待
Y
N
第二个上升沿到来
N
Y
存储、计数
是否为下降沿
停止计数
并显示
Y
N
图3.2.3相位测量仪模块程序流程图
图3.3.1 数字移相器顶层映射原理图
通过Xilinx的ISE4.2软件仿真将各子模块映射为原理图,然后用数据线连接。如图3.3.1示。
4 系统测试
4.1测试仪器:
(1)FPGA实验仪:DP-FPGA,广州致远电子有限公司;
(2)双信道数字示波器:绿扬YB4365,100MHz,江苏扬中电子仪器厂;
(3)低频信号发生器:GFG-8216A;
(4)数字万用表:
(5)稳压电源:
(6)WD-5 PC机(P1.5G,256M内存)
4.2 指标测试
测试表中凡以“#”标志代替的,均测不到数据。
测量幅值:先将数字式移相信号发生器输出接示波器,然后将数字式移相信号发生器的拨动开关拨到置幅档,调节按钮S1,S2,增加或减小幅值。
测试方法:低频信号发生器产生频率可调的正弦波,输入到相位测量仪的输入端A和B,调节低频信号发生器改变输出信号的频率,可通过数码管显示测量仪的实测频率。
(1)相位测量仪输出频率测试 测试数据如表4.2.1。
表4.2.1相位测量仪输出频率测试表
被测量实际输入值测量值误差(%)
频率
(Hz)20#
1001010.01
5005000
100010060.006
10K10.05K0.005
20K20.05K0.0025
(2)数字式移相信号发生器输出波形测试
表4.2.2 数字式移相信号发生器输出频率测试表
被测量预置值实测值误差(%)
相位差(o)
(f=1KHz)000
4545.360.008
125124.52-0.00384
215214.12-0.00409
359356.68-0.0065
频率(Hz)20200
1001000
100010020.002
10K9.24K-0.0076
20K17.30K-0.135
幅值(V)
(f=1KHz)0.30.298-0.0067
1.51.5000
2.52.5020.0080
3.53.5040.00114
5.05.0000
(3)数字式移相信号发生器与相位测量仪联调的测试
将数字式移相信号发生器两路信号的输出接到相位测量仪的两输入端,进行数字式移相信号发生器与相位测量仪联调。
测量相位差:先将数字式移相信号发生器的A B两输出端与相位测量仪的A
B两输入端连接,然后设置拨码盘,按下置数开关,相位测量仪的数码管显示频率,接着拨拨动开关,调到置相档,设置拨码盘,按下置数开关,相位测量仪的两数码管显示相位差和频率。测试数据如表4.2.3。
表4.2.3 数字式移相信号发生器输出频率测试表
数字式移相信号发生器相位测量仪误 差
相位差(o)01.8
4545.80.0178
125125.80.0064
215215.80.0037
359359.80.0022
频率(Hz)20##
1001000
500498-0.004
1000993-0.007
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -