《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 網絡特性虛擬分析儀

網絡特性虛擬分析儀

2008-12-31
作者:楊守軍 孫肖子 任愛鋒

  摘? 要: 介紹一種掃頻儀——兼有任意波形發生器和數字存儲示波器功能的虛擬儀器。可同時顯示幅頻特性、相頻特性,還可顯示采集的波形。在設計技術上,采用FPGA、EDA技術和VC++6.0 Windows編程技術。

  關鍵詞: EDA? ISP? FPGA? VHDL? VC++? DLL

?

  隨著計算機技術、電子設計自動化(EDA)技術和在系統可編程技術(ISP)的廣泛應用,使得虛擬儀器的設計更為靈活、調試更為方便,從而使虛擬世界更為豐富多彩。

  虛擬儀器的設計包括硬件和軟件部分。本系統的框圖如圖1所示。

?

?

1 系統硬件

  由圖1可看出硬件部分主要包括:EPP口、DDS(直接數字頻率合成)、信號調理" title="信號調理">信號調理、鑒相及數據采集等模塊。

1.1? EPP口

  因為EPP(增強型并行端口)比SPP(標準并行接口)傳輸速率高,最高可達2MBytes/s,所以本項目選用它以提高系統速率。實現時,用VHDL編寫簡單的接口譯碼電路。

1.2? DDS

  本系統利用DDS技術合成精度高、頻率穩定度好和控制方便的優點來產生掃頻信號。其基本原理如圖2所示。

?

?

  設相位累加器" title="相位累加器">相位累加器的位數為n,累加器的輸入控制字" title="控制字">控制字為F_word,系統時鐘頻率為Fclk,則輸出信號S_out的頻率Fout為:

  

  因此,通過計算機給DDS的累加器發不同的頻率控制字就可得到不同的頻率。該頻率的精度主要由相位累加器的位數n決定(注:Fout與波形存貯器RAM 的深度沒有關系,存儲器容量只改變一個周期內的數據點數,因而地址寬度m只影響波形的精度)。本系統取n=32,m=15。所以,頻率分辨率為Fclk/232,一個周期內最多有215個數據點。下面給出相位累加器的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???????

???????????????????? mid_address<=″0000000000000000000000

?????????????????????????????????????????????????????????????? 0000000000″;?

???????????????????? --INITIALIZE DDS

????????????? ELSE

????????????? IF(clk'event and clk='1')THEN

???????????????????? IF(mid_address=addr_end)

??????????????????????????? --CHECK ONE CIRCLE'S END

???????????????????? THEN

??????????????????????????? mid_address<=″000000000000000000

???????????????????????????????????????????????? 00000000000000″;

??????????????????????????? ELSE? mid_address<=mid_address + f_word;

?????????????????????????????????? --PHASE ADDER

???????????????????? END IF;

????????????? END IF;

?????? ?END IF;

END PROCESS;

address<=mid_address(31 downto 17);??

????????????? --OUTPUT 15 HIGH BITS

END behav;

  由程序可看出f_word為頻率控制字,addr_end為一個周期的結束地址,這兩個輸入都是32位的,而輸出address為相位累加器的中間信號mid_address的高15 位。address直接尋址波形存儲器。

1.3 鑒相部分

  鑒相部分原理如圖3所示。掃頻信號S1和S1經過被測網絡的輸出信號S2,首先分別經過比較器形成占空比相同的方波I1和I2。接著以I1為參考,兩者通過數字鑒相器,得到高電平寬度受S1和S2相位差調制的方波Po。圖3(b)和圖3(c)分別給出了I2滯后I1和I2超前I1的兩種情況。

?

?????? 最后通過積分電路得到平均電平Peven,送到A/D" title="A/D">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_logic;

  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 II。各模塊的設計主要用VHDL硬件描述語言來編寫,使得設計更為靈活、方便,尤其在控制邏輯的實現方面更顯示其優點。

2 系統軟件

  Microsoft公司的VC++ 6.0有MFC(Microsoft? Foundation Classes)支持,因此可實現強大功能,編程效率高,運行速度快。本項目利用上述優點,運用DLL(動態鏈接庫)技術進行編程。軟件框圖如圖4所示。軟件主要分為控制、數據處理、圖形顯示三大模塊。

?

?

2.1 控制模塊

  控制主要是設置DDS的頻率控制字,波形RAM數據的寫入,采集數據的讀取以及控制硬件部分的通路選擇,設置信號調理的衰減和放大量。

2.2 數據處理模塊

  要得到網絡的頻率特性" title="頻率特性">頻率特性,就要處理采集過來的波形數據(采集過來的數據包括經過被測網絡的波形數據和相位差平均電平的相位數據)。這里利用軟件的“起泡算法”來得到波形峰值,計算衰減量和放大量,得到網絡的幅度頻率特性。相位頻率特性直接由相位數據得到。

2.3 圖形顯示模塊

  調用MFC 的CPaintDC類的畫圖函數進行畫圖。CPaintDC類中有豐富的畫圖函數,包括畫線(可選擇線的形式、顏色)、畫點等基本函數。本項目中主要由三個圖形顯示模塊:波形顯示、振幅頻率特性曲線顯示(線性、對數坐標)、相位頻率特性曲線顯示(線性、對數坐標)。

  軟件設計中,采集數據的處理、外部FPGA的配置和三個顯示模塊分別做成了DLL(動態鏈接庫)函數,被主執行程序動態調用。

  通過以上分析可知,系統中有信號產生通道和數據采集通道。對波形存儲器RAM寫入不同的波形,可產生任意波形。另外,還可采集外部波形,加入測頻和觸發模塊,具有示波器的完整功能。所以該儀器兼有多種功能,可作為掃頻儀、信號源及數字存儲示波器。其設計思想新穎,手段先進,性價比較高,充分體現了虛擬世界的無窮魅力。

?

參考文獻

1 張厥盛.鎖相技術.西安:西安電子科技大學出版社,1996.6

2 Robert D.Thompson. MFC開發人員參考手冊.北京:機械工業出版社,1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精品午夜在线播放a | 中国国产一级毛片视频 | 一级片aaa | 国产精品久久久久久久久久一区 | 爆操波多野结衣 | ririai99在线视频观看 | www在线视频在线播放 | 成人日韩视频 | 特级毛片ww特级毛片w免费版 | 国产色丁香久久综合 | 最新免费黄色网址 | 一卡二卡3卡四卡网站精品国 | 九九国产精品视频 | 男女日批在线观看 | 一级特黄女人生活片 | 韩国理伦片在线理伦韩国 | 国产日韩欧美一区 | 天天躁日日躁成人字幕aⅴ 天天在线欧美精品免费看 天天影视涩香欲综合网 | 亚洲大香伊人蕉在人依线 | 国产不卡高清 | 曰鲁夜鲁鲁狠狠综合 | 毛片网站在线 | 国产日韩精品欧美一区喷水 | 狠狠婷| 欧美成人se01短视频在线看 | 亚洲欧美日韩在线2020 | 欧美日韩免费播放一区二区 | 成年网在线观看免费观看网址 | 看真人视频一一级毛片 | 日韩在线视精品在亚洲 | 国产最猛性xxxxxx69交 | 色偷偷亚洲第一成人综合网址 | 成在线人视频免费视频 | 555夜色666夜色精品站 | 在线观看视频亚洲 | 国产精品欧美激情第一页 | 美女黄18| 在线观看一区二区精品视频 | 亚洲国产成人久久综合碰 | 午夜剧场免费看 | 亚洲福利在线观看 |