基于GPIB總線(xiàn)的無(wú)線(xiàn)電頻譜監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)

相關(guān)專(zhuān)題: 無(wú)線(xiàn) 5G

隨著通信技術(shù)的發(fā)展,無(wú)線(xiàn)電資源作為公共資源的一種,需要國(guó)家有關(guān)部門(mén)對(duì)其進(jìn)行有效的分配和監(jiān)控。設(shè)計(jì)界面友好、運(yùn)行穩(wěn)定、實(shí)時(shí)反應(yīng)迅速的監(jiān)測(cè)軟件是對(duì)無(wú)線(xiàn)電資源進(jìn)行有效配置的重要環(huán)節(jié),也是國(guó)家和公眾信息安全保障的重要環(huán)節(jié)。本文以Rohde-Schwarz公司的ESVN40作為頻譜監(jiān)測(cè)接收機(jī)來(lái)進(jìn)行無(wú)線(xiàn)電監(jiān)測(cè)軟件的設(shè)計(jì)。

1  系統(tǒng)的工作原理及組成

1.1 工作原理

系統(tǒng)以工控機(jī)、監(jiān)測(cè)接收機(jī)及天線(xiàn)系統(tǒng)為主組建無(wú)線(xiàn)電監(jiān)測(cè)軟件系統(tǒng)。監(jiān)測(cè)接收機(jī)通過(guò)其上的天線(xiàn)接口來(lái)采集無(wú)線(xiàn)電信號(hào),然后通過(guò)監(jiān)測(cè)機(jī)自帶的通用接口總線(xiàn)(General-Purpose Interface Bus,GPIB),由安裝在工控機(jī)上的PCI插槽中的PCI-GPIB卡傳輸?shù)焦た貦C(jī),最后由工控機(jī)實(shí)現(xiàn)對(duì)采集到的信號(hào)樣本的顯示、分析和保存等操作功能。

1.2 系統(tǒng)的硬件組成

無(wú)線(xiàn)電信號(hào)監(jiān)測(cè)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)由工控機(jī)、PCI-GPIB卡、GPIB接口電纜、ESVN40測(cè)試接收機(jī)和帶有天線(xiàn)選擇轉(zhuǎn)換器的9k~3 000MHz的多模天線(xiàn)系統(tǒng)組成。

1.3 ESVN40測(cè)試接收機(jī)的特點(diǎn)

ESVN40作為功能較為強(qiáng)大的場(chǎng)強(qiáng)監(jiān)測(cè)及掃描接收機(jī),覆蓋了9k~2.75GHz的頻率范圍,可以完成以下的無(wú)線(xiàn)電監(jiān)測(cè)任務(wù):(1)單頻點(diǎn)的ITU(International Telecommunication Union)測(cè)量,包括電平、調(diào)制深度、頻率偏移、相位偏移及頻率補(bǔ)償量的測(cè)量。(2)單頻點(diǎn)的頻譜分析。(3)頻段的掃描。該方式支持多種掃描方式,以滿(mǎn)足用戶(hù)對(duì)掃描速度和返回?cái)?shù)據(jù)的要求。在與主控機(jī)的通信方式上ESVN40采用GPIB總線(xiàn)方式與主控機(jī)進(jìn)行控制信息和數(shù)據(jù)信息的交換,其控制較靈活。同時(shí)GPIB卡的接口方式使得主控機(jī)對(duì)遠(yuǎn)程設(shè)備的控制變得較為容易。

1.4 GPIB接口方式的優(yōu)越性

GPIB工業(yè)總線(xiàn)是NI公司的產(chǎn)品。它在軟件方面提供了完全的兼容性,為用戶(hù)軟件的升級(jí)節(jié)約了成本,提高了開(kāi)發(fā)效率。GPIB系統(tǒng)的特點(diǎn)如下。

(1)GPIB板卡軟件的成熟性。NI公司提供了具有良好兼容性能的API函數(shù)。NI提供的每一代驅(qū)動(dòng)軟件都保持與現(xiàn)有的NI-488應(yīng)用底層的兼容性。無(wú)論開(kāi)發(fā)者是使用NI-488.2的函數(shù),還是使用LabVIEW或LabWindows/CVI(C for Virtual Instruments)等應(yīng)用開(kāi)發(fā)環(huán)境,NI-488.2軟件結(jié)構(gòu)都能提供一種穩(wěn)定的GPIB控制。同時(shí)NI-488.2軟件也在不斷地更新,以取得最優(yōu)的性能。

(2)系統(tǒng)的可擴(kuò)充性。如果要在該軟件的基礎(chǔ)上增加測(cè)向的功能,利用GPIB作為一種標(biāo)準(zhǔn)總線(xiàn)形式,則只要加入帶有GPIB接口的儀器,便可以將該系統(tǒng)擴(kuò)展為一個(gè)功能較完備的監(jiān)測(cè)系統(tǒng)。

1.5 軟件系統(tǒng)的設(shè)計(jì)

本系統(tǒng)軟件在結(jié)構(gòu)上采用了模塊化的設(shè)計(jì)思想。同時(shí)為了提高系統(tǒng)的實(shí)時(shí)速度,充分利用了Windows軟件設(shè)計(jì)的多線(xiàn)程技術(shù),采用Windows的消息環(huán)來(lái)完成多個(gè)線(xiàn)程之間的信息交流。系統(tǒng)應(yīng)用了2個(gè)線(xiàn)程:(1)底層取數(shù)據(jù)線(xiàn)程,其流程如圖2所示。它用于實(shí)時(shí)地通過(guò)GPIB卡與ESVN40進(jìn)行控制與數(shù)據(jù)的采集。(2)上層用戶(hù)界面線(xiàn)程,其流程如圖3所示。它用于用戶(hù)界面的顯示,響應(yīng)用戶(hù)的測(cè)量任務(wù),對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行顯示、分析和保存等操作。這樣,可以使2個(gè)線(xiàn)程并行,從而提高整個(gè)軟件系統(tǒng)的實(shí)時(shí)響應(yīng)速度。取數(shù)據(jù)線(xiàn)程,采用VC++開(kāi)發(fā),這主要是考慮到C++語(yǔ)言易于實(shí)現(xiàn)對(duì)硬件的控制;而用戶(hù)界面處理的線(xiàn)程主要用Delphi來(lái)完成,主要是考慮到Delphi語(yǔ)言對(duì)界面的設(shè)計(jì)非常便利和靈活,可以大大提高開(kāi)發(fā)效率。

二個(gè)線(xiàn)程的工作機(jī)理:在用戶(hù)程序初始化的過(guò)程中,創(chuàng)建以上的2個(gè)線(xiàn)程,同時(shí)它們都處于等待的狀態(tài)。當(dāng)用戶(hù)在程序界面開(kāi)始各種測(cè)量任務(wù)時(shí),由界面線(xiàn)程以消息的形式發(fā)給下層取數(shù)線(xiàn)程,各種任務(wù)號(hào)在消息參數(shù)中進(jìn)行傳遞。下層取數(shù)線(xiàn)程在接到任務(wù)消息后,根據(jù)具體的任務(wù),通過(guò)GPIB卡把任務(wù)翻譯為ESVN40的命令字符串傳送給接收機(jī),同時(shí)對(duì)測(cè)量參數(shù)進(jìn)行有針對(duì)性的設(shè)置,然后通過(guò)具體的命令啟動(dòng)儀器來(lái)完成測(cè)量任務(wù)。當(dāng)監(jiān)測(cè)到儀器把相應(yīng)的數(shù)據(jù)準(zhǔn)備好,且狀態(tài)寄存器標(biāo)識(shí)為有效后,通過(guò)GPIB卡讀入測(cè)量數(shù)據(jù)。讀數(shù)線(xiàn)程將讀到的數(shù)據(jù)進(jìn)行解析,然后放入某個(gè)內(nèi)存區(qū)中并以消息的形式通知用戶(hù)界面線(xiàn)程數(shù)據(jù)已經(jīng)準(zhǔn)備好,而數(shù)據(jù)塊的地址包含在消息參數(shù)中。用這種方式發(fā)送儀器控制命令和讀取儀器的測(cè)量結(jié)果,用戶(hù)界面線(xiàn)程負(fù)責(zé)完成相應(yīng)的測(cè)量結(jié)果的顯示、分析及保存。2條線(xiàn)程的處理在時(shí)間上完全分開(kāi),從而儀器在實(shí)時(shí)信號(hào)分析的時(shí)候,幾乎是在連續(xù)地進(jìn)行采樣,這樣大大提高了整個(gè)系統(tǒng)的實(shí)時(shí)響應(yīng)性能。

2 軟件設(shè)計(jì)中擴(kuò)展性問(wèn)題的解決方案

在該系統(tǒng)中,為了加強(qiáng)系統(tǒng)的功能,就要對(duì)系統(tǒng)進(jìn)行擴(kuò)展,但是儀器與控制計(jì)算機(jī)不一定都采用GPIB接口。為了提高底層取數(shù)線(xiàn)程的可擴(kuò)展性,底層充分利用C++中類(lèi)的思想進(jìn)行設(shè)計(jì),為此可以創(chuàng)建一個(gè)通信接口類(lèi)ICommDevice作為通信接口。接口方法如下:

(1)打開(kāi)一個(gè)通信接口。

(2)向該通信接口寫(xiě)一個(gè)字符串。

(3)從該通信接口讀一個(gè)字節(jié)。

(4)從該通信接口讀一個(gè)字符串。

(5)關(guān)閉已打開(kāi)的通信接口。

在系統(tǒng)中,GPIB卡作為該通信接口類(lèi)的子類(lèi),其實(shí)現(xiàn)以上方法的關(guān)鍵代碼和具體方法的功能如下:

①在打開(kāi)GPIB卡的方法中,主要完成對(duì)GPIB卡的初始化,同時(shí)獲得ESVN40和GPIB卡的控制句柄。

BOOL CGPIB∷Open(int BdIndx,int pad,int sad,int tmo,int eot,int eos)

{    if (m_bOpened==TRUE)

return TRUE;

m_ctrl=ibfind(″GPIB0″);//獲得GPIB卡的控制句柄

if (m_ctrl<0)

return FALSE;

ibconfig(m_ctrl,IbcAUTOPOLL,0);//禁止AutoPoll

eot=1;

eos=0x0C0A;

m_dev=ibdev(BdIndx,pad,sad,tmo,1,eos);

//獲得ESVN40的控制句柄

if (ibsta & ERR)

{ sprintf(ErrString,″打開(kāi)GPIB卡出錯(cuò)!錯(cuò)誤號(hào):ibsta=

0x%x iberr=%dn″,ibsta,iberr);

this->SetError(ErrString);

return FALSE;

}

ibbna(m_dev,″GPIB0″);  //將ESVN40分配給GPIB卡

setGPIBEos(0x0C0A);

m_bOpened=TRUE;

return m_bOpened;

}

 

   來(lái)源:維庫(kù)開(kāi)發(fā)網(wǎng)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線(xiàn)接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息