网络特性虚拟分析仪

2006-05-07 15:49:44来源: 电子技术应用

随着计算机技术、电子设计自动化(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写入不同的波形,可产生任意波形。另外,还可采集外部波形,加入测频和触发模块,具有示波器的完整功能。所以该仪器兼有多种功能,可和为扫频仪、信号源及数字存储示波器。其设计思想新颖,手段先进,性价比较高,充分体现了虚拟世界的无穷魅力。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/measure/200605/1929.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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