《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 網(wǎng)絡(luò)特性虛擬分析儀

網(wǎng)絡(luò)特性虛擬分析儀

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

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

  關(guān)鍵詞: EDA? ISP? FPGA? VHDL? VC++? DLL

?

  隨著計(jì)算機(jī)技術(shù)、電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)和在系統(tǒng)可編程技術(shù)(ISP)的廣泛應(yīng)用,,使得虛擬儀器的設(shè)計(jì)更為靈活,、調(diào)試更為方便,從而使虛擬世界更為豐富多彩,。

  虛擬儀器的設(shè)計(jì)包括硬件和軟件部分,。本系統(tǒng)的框圖如圖1所示。

?

?

1 系統(tǒng)硬件

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

1.1? EPP口

  因?yàn)镋PP(增強(qiáng)型并行端口)比SPP(標(biāo)準(zhǔn)并行接口)傳輸速率高,,最高可達(dá)2MBytes/s,所以本項(xiàng)目選用它以提高系統(tǒng)速率。實(shí)現(xiàn)時(shí),,用VHDL編寫簡(jiǎn)單的接口譯碼電路,。

1.2? DDS

  本系統(tǒng)利用DDS技術(shù)合成精度高、頻率穩(wěn)定度好和控制方便的優(yōu)點(diǎn)來產(chǎn)生掃頻信號(hào),。其基本原理如圖2所示,。

?

?

  設(shè)相位累加器" title="相位累加器">相位累加器的位數(shù)為n,累加器的輸入控制字" title="控制字">控制字為F_word,,系統(tǒng)時(shí)鐘頻率為Fclk,,則輸出信號(hào)S_out的頻率Fout為:

  

  因此,通過計(jì)算機(jī)給DDS的累加器發(fā)不同的頻率控制字就可得到不同的頻率,。該頻率的精度主要由相位累加器的位數(shù)n決定(注:Fout與波形存貯器RAM 的深度沒有關(guān)系,,存儲(chǔ)器容量只改變一個(gè)周期內(nèi)的數(shù)據(jù)點(diǎn)數(shù),因而地址寬度m只影響波形的精度),。本系統(tǒng)取n=32,,m=15。所以,,頻率分辨率為Fclk/232,,一個(gè)周期內(nèi)最多有215個(gè)數(shù)據(jù)點(diǎn)。下面給出相位累加器的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為一個(gè)周期的結(jié)束地址,,這兩個(gè)輸入都是32位的,而輸出address為相位累加器的中間信號(hào)mid_address的高15 位,。address直接尋址波形存儲(chǔ)器,。

1.3 鑒相部分

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

?

?????? 最后通過積分電路得到平均電平Peven,,送到A/D" title="A/D">A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,。這里用R-S觸發(fā)器來進(jìn)行數(shù)字鑒相,鑒相范圍是-π~π,。

1.4 數(shù)據(jù)采集

  通過A/D轉(zhuǎn)換電路,,先后把S2經(jīng)過調(diào)理的信號(hào)波形和載有相位差信息的直流平均電平采集下來,存入RAM中,,最后計(jì)算機(jī)統(tǒng)一讀取,。這部分中,關(guān)鍵是采集RAM地址發(fā)生器的設(shè)計(jì),。采集RAM地址發(fā)生器的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;

  計(jì)算機(jī)讀采集RAM地址發(fā)生器基本和上面一樣,,只不過時(shí)鐘clk由EPP口通信信號(hào)譯碼得到(采集地址發(fā)生器的時(shí)鐘clk用的是A/D轉(zhuǎn)換器的時(shí)鐘),。另外,采集地址發(fā)生器不用co信號(hào)(地址寫滿標(biāo)志信號(hào),,由計(jì)算機(jī)讀取判斷,。若為高電平,則采集RAM已寫滿,,計(jì)算機(jī)可以讀取數(shù)據(jù)),。

1.5 信號(hào)調(diào)理

  信號(hào)調(diào)理部分主要是對(duì)模擬信號(hào)進(jìn)行濾波、隔離,、推動(dòng),,調(diào)節(jié)信號(hào)的直流偏移及信號(hào)的程控衰減和放大。

  系統(tǒng)硬件的數(shù)字部分用一片Altera 公司的FPGA芯片F(xiàn)lex10K10,,運(yùn)用FPGA的現(xiàn)場(chǎng)可重構(gòu)技術(shù),,使虛擬儀器的智能化和自動(dòng)化得以實(shí)現(xiàn)。其開發(fā)平臺(tái)為Altera公司的Muxplus II,。各模塊的設(shè)計(jì)主要用VHDL硬件描述語言來編寫,,使得設(shè)計(jì)更為靈活、方便,,尤其在控制邏輯的實(shí)現(xiàn)方面更顯示其優(yōu)點(diǎn),。

2 系統(tǒng)軟件

  Microsoft公司的VC++ 6.0有MFC(Microsoft? Foundation Classes)支持,因此可實(shí)現(xiàn)強(qiáng)大功能,,編程效率高,,運(yùn)行速度快。本項(xiàng)目利用上述優(yōu)點(diǎn),,運(yùn)用DLL(動(dòng)態(tài)鏈接庫)技術(shù)進(jìn)行編程,。軟件框圖如圖4所示。軟件主要分為控制,、數(shù)據(jù)處理,、圖形顯示三大模塊。

?

?

2.1 控制模塊

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

2.2 數(shù)據(jù)處理模塊

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

2.3 圖形顯示模塊

  調(diào)用MFC 的CPaintDC類的畫圖函數(shù)進(jìn)行畫圖,。CPaintDC類中有豐富的畫圖函數(shù),,包括畫線(可選擇線的形式、顏色),、畫點(diǎn)等基本函數(shù),。本項(xiàng)目中主要由三個(gè)圖形顯示模塊:波形顯示、振幅頻率特性曲線顯示(線性,、對(duì)數(shù)坐標(biāo)),、相位頻率特性曲線顯示(線性、對(duì)數(shù)坐標(biāo)),。

  軟件設(shè)計(jì)中,,采集數(shù)據(jù)的處理、外部FPGA的配置和三個(gè)顯示模塊分別做成了DLL(動(dòng)態(tài)鏈接庫)函數(shù),,被主執(zhí)行程序動(dòng)態(tài)調(diào)用,。

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

?

參考文獻(xiàn)

1 張厥盛.鎖相技術(shù).西安:西安電子科技大學(xué)出版社,,1996.6

2 Robert D.Thompson. MFC開發(fā)人員參考手冊(cè).北京:機(jī)械工業(yè)出版社,,1998

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]