| 网络特性虚拟分析仪 |
| 类别:测试仪表 |
|         作者:西安电子科技大学电子工程学院(710071)杨守军      孙肖子 任爱锋           来源:《电子技术应用》      摘要:介绍一种扫频仪——兼有任意波形发生器和数字存储示波功能的虚拟仪器。可网时显示幅频特性、相频特性,还可显示采集的波形。在设计技术上,采用FPGA、EDA技术和VC++6.0Windows编程技术。                关键词:完EDA      ISP FPGA VHDL VC++ DLL      随着计算机技术、电子设计自动化(EDA)技术和在系统可编程技术(ISP)的广泛应用,使得虚拟仪器的设计列为灵活、测试更为方便,从而使虚拟世界更为丰富多彩。      虚拟仪器的设计包括硬件和软件部分。本系统的框图如图1所示。      1 系统硬件      由图1可看出硬件部分主要包括:EPP口、DDS(直接数字频率合成)、信号调理、鉴相及数据采集等模块。      1.1 EPP口      因为EPP(增强型并行端口)比SPP(标准并行接口)传输速率高,最高可达2Mbytes/s,所以本项目选用它以提高系统速率。实现时,用VHDL编写简单的接口译码电路。      1.2 DDS      本系统利用DDS技术合成精度高、频率稳定度好和控制方便的优点来产生扫频信号。其基本原理如图2所示。      设相位累加器的位数为n,累加器的输入控制字为F_word,系统时钟频率为Fclk,则输出信号S_out的频率Fout为:      Fout=(Fclk×F_word)/2 n      因此,通过计算机给DDS的累加器发同的频率控制字就可得到不同的频率。该频率的精度主要由相位累加器的位数n决定(注:Fout与波形存贮器RAM的深度没有关系,存储器容量只改变一个周期内的数据点数,因而地址宽度m只影响波形的精度)。本系统取n=32,m=15。所以,频率分辨率为Fclk/2      32,一个周期内最多有2 15个数据点。下面给出相位累加器的VHDL源程序:      ENTITY dds_adder IS      PORT(      clr :in std_logic;      clk :in std_logic;      f_word :in std_logic_vector(31 downto 0);      addr_end :in std_logic_vector(31 downto 0);      address :out std_logic_vector(14 downto 0);      );      END dds_adder;      ARCHITECTURE behav OF dds_adder IS      SIGNAL mid_address:std_logic_vector(31 downto      0);      BEGIN      PROCESS (clk,clr,f_word,addr_end)      BEGIN      IF(clr='0') THEN      IF(mid_address=addr_end)      --CHECK ONE CIRCLE'S END      THEN      mid_address<="0000000000      00000000";      ELSE mid_address<=mid_address + f_word;      --PHASE ADDER      END IF;      END IF;      END PROCESS;      Address<=mid_address(31 downto 17);      --OUTPUT 15 HIGH BITS      BND behav;      由程序可看出f_word为频率控制字,addr_end为一个周期的结束地址,这两个输入都是32位的,而输入address为位累加器的中间信号mid_address的高15位。Address直接寻址波形存储器。      1.3 鉴相部分      鉴相部分原理如图3所示。扫频信号S1和S1经过被测网络的输出信号S2,首先分别经过比较器形成占空比相同的方波I1和I2。接着以I1为参考,两者通过数字鉴相器,得到高电平宽度受S1和S2相位差调制的方波P0。图3(b)和图3(c)分别给出了I2滞后I1和I2超前I1的两种情况。      最后通过积分电路得到平均电平Peven,送到A/D转换器进行转换。这里用R-S触发器来进行数字鉴相,鉴相范围-π~π。      1.4 数据采集      通过A/D转换电路,先后把S2经过调理的信号波形和载有相位差信息的直流平均电平采集下来,存入RAM中,最后计算机统一读取。这部分中,关键是采集RAM地址发生器的设计。采集RAM地址发生器的VHDL源程序如下:      LIBRARY IEEE;      USE IEEE.STD_LOGIC_1164.ALL;      USE IEEE.STD_LOGIC_UNSIGNEC.ALL;      ENTITY c_15 IS      PORT (      clk :in std_logic;      en :in std_logic;      clr :in std_logic;      co :out std_locig;      addr :out integer range 0 to 32767      );      END c_15;      ARCHITECTURE behav OF c_15 IS      SIGNAL mid: integer range 0 to 32767;      BEGIN      PROCESS(clk)      BEGIN      IF(clr='0')THEN      mid<=0;      co<='0';      ELSE      IF(clk'event and clk='1') THEN      IF (en='1') THEN      mid<=mid+1;      ELSE null;      END IF;      IF(mid=32767) THEN      co<='1';      ELSE co<='0';      END IF;      END IF;      END IF;      END PROCESS;      Addr<=mid;      END behav;      计算机读采集RAM地址发生器基本和上面一样,只不过时钟clk由EPP口通信信号译码得到(采集地址发生器的时钟clk用的是A/D转换器的时钟)。另外,采集地址发生器不用co信号(地址写满标志信号,由计算机读取判断。若为高电平,则采集RAM已写满,计算机可以读取数据)。      1.5 信号调理      信号调理部分主要是对模拟信号进行滤波、隔离、推动,调节信号的直流偏移及信号的程控衰减和放大。      系统硬件的数字部分用一片Altera公司的FPGA芯片Flex10K10,运用FPGA的现场可重构技术,使虚拟仪器的智能化和自动化得以实现。其开发平台为Altera公司的Muxplus      Ⅱ。各模块的设计主要用VHDL硬件硬件语言来编写,使得设计更为灵活、方便,尤其在控制逻辑的实现方面更显示其优点。      2 系统软件      Microsoft公司的VC++ 6.0有MFC(Microsoft      Foundation Classes)支持,因此可实现强大功能,编程效率高,运行速度快。本项目利用上述优点,运用DLL(动态链接库)技术进行编程。软件框图如图4所示。软件主要分为控制、数据处理、图形显示三大模块。      2.1 控制模块      控制主要是设置DDS的频率控制字,波形RAM数据的写入,采集数据的读取以及控制硬件部分的通路选择,设置信号调理的衰减和放大器。      2.2 数据处理模块      要得到网络的频率特性,就要处理采集过来的波形数据(采集过来的数据包括经过被测网络的波形数据和相位差平均电平的相位数据)。这里利用软件的“起泡算法”来得到波形峰值,计算衰减量和放大量,得到网络的幅度频率特性。相位频率特性直接由相位数据得到。      2.3 图形显示模块      调用MFC的CpaintDC类现图函数进行现图。CpaintDC类中有丰富的画图函数,包括画线(可选择线的形式、颜色)、画点等基本函数。本项目中主要由三个图形显示模块:波形显示、振幅频率特性曲线显示(线性、对数坐标)、相位频率特性曲线显示(线性、对数坐标)。      软件设计中,采集数据的处理、外部FPGA的配置和三个显示模块分别做成了DLL(动态链接库)函数,被主执行程序动态调用。      通过以上分析可知,系统中有信号产生通道和数据采集通道。对滤形存储器RAM写入不同的波形,可产生任意波形。另外,还可采集外部波形,加入测频和触发模块,具有示波器的完整功能。所以该仪器兼有多种功能,可和为扫频仪、信号源及数字存储示波器。其设计思想新颖,手段先进,性价比较高,充分体现了虚拟世界的无穷魅力。                          |
- 石化仪器仪表系列讲..
- 2008-1-24
- 浅谈影响仪器仪表差..
- 2008-1-24
- 新一代温度仪表自动..
- 2008-1-14
- 国外仪器仪表的发展..
- 2008-1-14
- 电子测量仪器的分类..
- 2008-1-2
- LAN/LXI在仪..
- 2008-1-2
- 虚拟仪器技术的飞跃
- 2007-12-24
- 流量测量方法和流量..
- 2007-12-20
- 如何正确选购温湿度..
- 2007-12-17
- 变频技术小知识
- 2007-10-27
- LS变频器基本参数..
- 2007-9-19
- 现场仪表系统常见故..
- 2007-9-19
- 智能仪表在低压监控..
- 2007-9-14
- 经济高效的单芯片以..
- 2007-8-7
- Wi-Fi的迅猛增..
- 2007-8-9
- 电子标签与商业应用
- 2007-8-9
- 耐压测试中接触检测..
- 2007-7-29
- 利用Fluke 8..
- 2007-8-9
- 用Labwindo..
- 2007-7-29
- 用频谱分析法测量数..
- 2007-7-29



