閻 俊 費(fèi)月玲 付夢(mèng)雯
(西安電子工程研究所 西安 710100)
0 引言
近年來,LabVIEW以特有的“數(shù)據(jù)流”框圖式編程模式在測(cè)試測(cè)量領(lǐng)域應(yīng)用廣泛。目前,利用LabVIEW平臺(tái)開發(fā)較為復(fù)雜的實(shí)時(shí)多任務(wù)測(cè)試系統(tǒng)已成為一種新趨勢(shì)。文獻(xiàn)[1]基于LabVIEW平臺(tái)構(gòu)造復(fù)雜多任務(wù)并行應(yīng)用程序,提出了兩級(jí)隊(duì)列的解決方案,實(shí)現(xiàn)嚴(yán)格的任務(wù)定時(shí);文獻(xiàn)[2]設(shè)計(jì)了基于LabVIEW的試驗(yàn)臺(tái)測(cè)試系統(tǒng),實(shí)現(xiàn)對(duì)數(shù)據(jù)的調(diào)理、分析以及對(duì)數(shù)控轉(zhuǎn)臺(tái)綜合性能的檢測(cè)與評(píng)估,證實(shí)系統(tǒng)便捷性好,易于操作、精度高等;文獻(xiàn)[3]針對(duì)超高頻RFID讀寫器測(cè)試系統(tǒng),應(yīng)用LabVIEW控制待測(cè)對(duì)象和儀器,通過測(cè)試證實(shí)該軟件簡(jiǎn)化測(cè)試過程,同時(shí)減少測(cè)試人員,提高工作效率。
本文基于LabVIEW平臺(tái)開發(fā)了某探測(cè)組件軟件測(cè)試系統(tǒng),運(yùn)用圖形化的編程語(yǔ)言,實(shí)現(xiàn)了對(duì)USB-CANII[4]高性能CAN接口卡通過調(diào)用專用庫(kù)函數(shù)進(jìn)行二次編程,完成了輻射源方位碼測(cè)試終端數(shù)據(jù)的接收、查詢、存取以及參數(shù)控制。
1 探測(cè)組件構(gòu)成及原理
某毫米波探測(cè)組件測(cè)試系統(tǒng)構(gòu)成如圖1所示。其中,探測(cè)組件(虛線框部分)主要由毫米波檢波模塊的預(yù)警接收單元(接收模塊1~4,共8個(gè)接收通道)和包含A/D量化模塊、信號(hào)分選模塊、方位解算模塊等部分的信號(hào)處理單元兩大部分組成。信號(hào)源為測(cè)試系統(tǒng)提供毫米波信號(hào)。USBCANII接口卡在PC和探測(cè)組件之間建立通訊渠道,同時(shí)應(yīng)用CAN接口庫(kù)函數(shù)二次編程并進(jìn)行數(shù)據(jù)接收、查詢、存取以及控制參數(shù)的設(shè)定, 把現(xiàn)場(chǎng)數(shù)據(jù)通過USB接口上傳給PC終端,同時(shí)收集現(xiàn)場(chǎng)數(shù)據(jù)并通過USBCANII接口卡回傳給 CAN通訊總線。

圖1 毫米波探測(cè)組件測(cè)試系統(tǒng)構(gòu)成
1.1 測(cè)試原理
圖2為毫米波探測(cè)組件在實(shí)地測(cè)試中的工作原理。當(dāng)告警天線1~天線n截獲到目標(biāo)威脅信號(hào)(圖1信號(hào)源模擬)時(shí),毫米波探測(cè)組件中檢波模塊接收信號(hào)后對(duì)其進(jìn)行對(duì)數(shù)放大,將視頻信號(hào)輸出給信號(hào)處理單元。信號(hào)處理單元中的A/D模塊對(duì)視頻信號(hào)進(jìn)行采樣量化后得到8個(gè)通道信號(hào)幅度的量化值,在信號(hào)處理單元中進(jìn)行脈沖描述字的形成和信號(hào)分選,并通過方位解算模塊對(duì)相鄰波束輸出的幅度值進(jìn)行比較、計(jì)算,最終得到輻射源的方位碼。信號(hào)處理模塊將輻射源的方位碼通過USBCANII接口卡上傳給PC終端,完成整個(gè)毫米波探測(cè)組件的技術(shù)參數(shù)測(cè)試功能。

圖2 毫米波探測(cè)組件工作原理
1.2 USBCANII[4]接口庫(kù)函數(shù)結(jié)構(gòu)定義
USBCANII高性能CAN接口卡主要用于對(duì)ZLG-CAN系列板卡進(jìn)行軟件測(cè)試。集成2路CAN-bus接口的高性能PC-CAN接口卡,CAN通道集成獨(dú)立的電氣隔離保護(hù)電路。USBCANII使PC通過USB端口連接至CAN網(wǎng)絡(luò),構(gòu)成一個(gè)CAN-bus控制節(jié)點(diǎn)。
USBCANII[4]提供專用的接口庫(kù)函數(shù)并允許PC軟件平臺(tái)自行編程進(jìn)行數(shù)據(jù)收發(fā)、查詢及處理。庫(kù)函數(shù)調(diào)用使用流程如圖3所示。

圖3 接口庫(kù)函數(shù)使用流程[4]
2 軟件開發(fā)與設(shè)計(jì)
2.1 LabVIEW編程簡(jiǎn)介[5]
LabVIEW實(shí)驗(yàn)室虛擬儀器工作平臺(tái)是NI公司開發(fā)的一種基于結(jié)構(gòu)框圖或流程圖的編程語(yǔ)言,核心是“數(shù)據(jù)流”。用戶利用創(chuàng)建功能控件(VI)和調(diào)用子程序的方法編寫程序,前面板模擬真實(shí)儀器、程序框圖控制控件對(duì)象、圖標(biāo)/接線端口將LabVIEW程序定義成一個(gè)子程序,從而實(shí)現(xiàn)模塊化編程。
LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。內(nèi)置便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫(kù)函數(shù),可方便建立自己的虛擬儀器。
本文輻射源方位碼測(cè)試系統(tǒng)開發(fā)平臺(tái)基于LabVIEW編程語(yǔ)言,軟件功能實(shí)現(xiàn)如圖4所示。

圖4 軟件功能總體框圖
主體程序主要包括USBCANII接口卡功能參數(shù)設(shè)置和輻射源方位碼事件響應(yīng)兩部分。USBCANII接口卡對(duì)應(yīng)特定的設(shè)備索引號(hào)和CAN通道,打開設(shè)備索引和所需通道并設(shè)置CAN初始化參數(shù)。接口卡初始化結(jié)構(gòu)體VCI_INIT_CONFIG(圖5)定義了初始化CAN參數(shù)配置,并在圖4中VCI-Init Can庫(kù)函數(shù)被填充。啟動(dòng)CAN接口卡,設(shè)置要發(fā)送CAN幀的各項(xiàng)參數(shù)并發(fā)送數(shù)據(jù)。

圖5 接口卡初始化結(jié)構(gòu)體
2.2 CAN數(shù)據(jù)幀通訊
CAN數(shù)據(jù)幀采用的是短幀結(jié)構(gòu),每一幀數(shù)據(jù)的有效字節(jié)數(shù)為8個(gè)。CAN數(shù)據(jù)幀通訊主要包括CAN參數(shù)初始化、數(shù)據(jù)的發(fā)送以及數(shù)據(jù)的接收。參數(shù)初始化是CAN數(shù)據(jù)幀通訊的基礎(chǔ),未進(jìn)行初始化系統(tǒng)將無法工作。初始化是對(duì)CAN數(shù)據(jù)幀相關(guān)控制寄存器進(jìn)行設(shè)置,包括驗(yàn)證碼、屏蔽碼、濾波方式、波特率、收發(fā)模式等。初始化設(shè)置完成后,CAN數(shù)據(jù)幀進(jìn)入工作狀態(tài),進(jìn)行正常通訊工作。
發(fā)送CAN數(shù)據(jù)幀之前需要對(duì)幀參數(shù)進(jìn)行設(shè)置,包括發(fā)送格式、幀類型、幀格式、幀ID、數(shù)據(jù)等。發(fā)送數(shù)據(jù)程序?qū)?shù)據(jù)存儲(chǔ)區(qū)中待發(fā)送的數(shù)據(jù)取出,捆綁成CAN數(shù)據(jù)幀信息簇VCI_CAN_OBJ_T(圖6)。數(shù)據(jù)幀ID為幀頭,隨后將信息簇VCI_CAN_OBJ_T發(fā)送到CAN控制器的發(fā)送緩沖區(qū)。在接收到PC的發(fā)送請(qǐng)求后,CAN數(shù)據(jù)幀信息簇從CAN控制器發(fā)送到總線,完成數(shù)據(jù)發(fā)送過程。

圖6 CAN數(shù)據(jù)幀信息簇
接收CAN數(shù)據(jù)幀的線程是信息簇VCI_CAN_OBJ_R從CAN 總線到CAN 控制器接收緩沖區(qū)提取數(shù)據(jù)的過程。接收程序只需從接收緩沖區(qū)讀取信息,并將其存儲(chǔ)在數(shù)據(jù)存儲(chǔ)區(qū),完成數(shù)據(jù)接收過程。
2.3 程序結(jié)構(gòu)分析
創(chuàng)建輻射源方位碼TR(發(fā)-收)事件作為事件結(jié)構(gòu)的單獨(dú)分支,依據(jù)待測(cè)試的方位碼參數(shù)搭建LabVIEW程序框架。首先,調(diào)用庫(kù)函數(shù)VCI _Transmit(圖7)發(fā)送CAN數(shù)據(jù)幀,設(shè)置要發(fā)送CAN數(shù)據(jù)幀結(jié)構(gòu)體數(shù)組VCI_CAN_OBJ的Send以及幀的數(shù)量Len,函數(shù)返回實(shí)際發(fā)送成功的幀數(shù);其次,調(diào)用庫(kù)函數(shù)VCI _Receive(圖8)讀取CAN通道緩沖區(qū)數(shù)據(jù),函數(shù)返回實(shí)際讀取的幀數(shù);最后,對(duì)接收到的數(shù)據(jù)幀依據(jù)通訊協(xié)議二次編程,多列列表框作為最終輸出控件顯示滿足測(cè)試要求的輻射源方位碼。

圖7 VCI _ Transmit庫(kù)函數(shù)

圖8 VCI _ Receive庫(kù)函數(shù)
程序界面編寫基于事件結(jié)構(gòu)。創(chuàng)建While循環(huán)將事件結(jié)構(gòu)包含在循環(huán)體內(nèi),添加事件源,創(chuàng)建控件引用類事件分支和
用戶事件分支??丶妙惙种Щ?.2中CAN通訊的參數(shù)配置,圖9為通過
用戶事件實(shí)現(xiàn)在兩個(gè)不同線程之間的數(shù)據(jù)交換,對(duì)二次編程的
分支步驟分析如下。
圖9 創(chuàng)建
用戶事件框圖1)創(chuàng)建用戶事件。定義
簇(VCI_CAN_OBJ簇)作為輸入數(shù)據(jù),返回嚴(yán)格類型
事件引用句柄。2)注冊(cè)用戶事件。連接用戶事件輸出作為“注冊(cè)事件”函數(shù)的事件源,將事件注冊(cè)引用句柄輸出端連接至
用戶事件分支。3)產(chǎn)生、處理用戶事件。調(diào)用庫(kù)函數(shù)VCI _Transmit發(fā)送數(shù)據(jù)(程序線程如圖10所示),產(chǎn)生發(fā)送用戶事件;調(diào)用庫(kù)函數(shù)VCI _Receive接收數(shù)據(jù)(程序線程如圖11所示),產(chǎn)生接收用戶事件;
用戶事件分支響應(yīng)接收用戶事件,接收數(shù)據(jù)并顯示在多列列表框。
圖10 VCI _ Transmit發(fā)送程序線程

圖11 VCI _ Receive接收程序線程
4)取消注冊(cè)事件。取消注冊(cè)與
事件注冊(cè)引用句柄相關(guān)的所有事件。5)銷毀用戶事件。釋放
用戶事件引用。通過事件結(jié)構(gòu)中
用戶事件分支接收來自“產(chǎn)生用戶事件”函數(shù)傳遞的VCI_CAN_OBJ_RN簇?cái)?shù)據(jù),連接VCI_CAN_OBJ_RN簇?cái)?shù)組至“解除捆綁”函數(shù),將簇中各個(gè)元素按順序顯示。結(jié)合毫米波探測(cè)組件通訊協(xié)議,對(duì)接收到的數(shù)據(jù)依據(jù)通訊協(xié)議編程,通過多列列表框?qū)傩怨?jié)點(diǎn)設(shè)置屬性與方法,終端界面最終顯示滿足技術(shù)要求的輻射源方位碼。3 測(cè)試系統(tǒng)性能驗(yàn)證
根據(jù)圖1搭建測(cè)試系統(tǒng),信號(hào)源信號(hào)輸出端連接接收模塊1的第1通道作為接收通道。設(shè)置信號(hào)源輸出頻率32GHz、脈沖寬度10μs、脈沖重復(fù)周期(PRI)100μs;設(shè)置初始化CAN參數(shù)、發(fā)送CAN數(shù)據(jù)幀參數(shù);顯示控件多列列表框接收輻射源方位碼數(shù)據(jù),每一列分別代表輻射源方位碼參數(shù)項(xiàng)目名稱分類,行代表接收到每一幀的數(shù)據(jù)信息。輻射源方位碼自發(fā)自收測(cè)試終端接收到通道1的方位碼數(shù)據(jù)以多列列表框控件顯示如表1所示。
可見,接收到通道1的方位角DOA參數(shù)顯示22°,脈沖重復(fù)周期PRI參數(shù)為100μs,輸出功率PW為9.36dBm,1通道噪聲參數(shù)PA1的值隨著信號(hào)源輸出功率以1dB步進(jìn)量增大的同時(shí)也在隨之增大,直到達(dá)到飽和值后衰減,未測(cè)試通道噪聲參數(shù)PA2~PA8的值保持不變。
測(cè)試性能結(jié)果表明,基于LabVIEW平臺(tái)的輻射源方位碼自發(fā)自收測(cè)試終端程序開發(fā),結(jié)合產(chǎn)品技術(shù)條件要求驗(yàn)證了接收方位碼數(shù)據(jù)被用于產(chǎn)品測(cè)試項(xiàng)目的正確性,提高測(cè)試效率。

表1 輻射源方位碼
4 結(jié)束語(yǔ)
以往的ZLGCAN系列板卡測(cè)試終端大多數(shù)通過MFC在VC++環(huán)境下利用輔助軟件開發(fā)包編寫測(cè)試系統(tǒng)的測(cè)試程序。本文輻射源方位碼測(cè)試終端開發(fā)平臺(tái)基于LabVIEW編程語(yǔ)言,通過對(duì)毫米波探測(cè)組件的測(cè)試分析,獲得以下結(jié)論:
1)考慮LabVIEW推崇的“數(shù)據(jù)流”框圖式編程模式,驗(yàn)證了自定義事件和動(dòng)態(tài)注冊(cè)事件在處理復(fù)雜編程問題時(shí)極大地改善界面處理效率,減少CPU的占用率。說明了基于事件結(jié)構(gòu)與傳統(tǒng)設(shè)計(jì)模式相結(jié)合的設(shè)計(jì)思維,很大程度上簡(jiǎn)化了編程,提高了LabVIEW運(yùn)行效率。
2)USBCANII[1]高性能CAN接口卡調(diào)用專用的接口庫(kù)函數(shù)對(duì)ZLGCAN系列板卡進(jìn)行軟件測(cè)試,方便LabVIEW平臺(tái)針對(duì)毫米波探測(cè)組件自行開發(fā)二次編程并進(jìn)行數(shù)據(jù)收發(fā)、查詢及處理。
3)基于LabVIEW平臺(tái)的ZLGCAN系列板卡測(cè)試程序開發(fā),主體架構(gòu)較直觀,方便初學(xué)者快速掌握編程要點(diǎn),縮短軟件開發(fā)時(shí)間,提高測(cè)試效率。
国产传媒精品成人自拍|
樱花AV在线无码|
亚洲亚洲亚洲亚洲亚洲天堂|
久久综合激情的五月天|
日本边添边摸边做边爱喷水
|
国产乱精品女同自线免费|
亚洲av日韩av天堂久久|
婷婷四房色播|
日韩久久无码免费看A|
男女做那个视频网站国产|
国产人成无码视频在线观看|
亚洲精品无码高潮喷水在线|
日韩肥熟妇无码一区二区三区
|
337p日本欧洲亚洲大胆色噜噜|
精品av一区二区在线|
亚洲人成网77777色在线播放|
亚洲精品无码久久久久久|
精品中文字幕制服中文|
国产优质av一区二区三区|
午夜精品久久久久久久|
竹菊影视欧美日韩一区二区三区四区五区|
日本a在线天堂|
国产自拍一区在线视频|
无码中文亚洲av影音先锋|
国产精品亚洲五月天高清|
亚洲中文字幕有码av|
中文字幕一区二区精品视频|
性大毛片视频|
国产清品夜色一区二区三区不卡
|
亚洲va无码手机在线电影|
国产成人国产在线观看|
亚洲av区一区二区三区|
国产精品videossex国产高清|
美女扒开内裤让男生桶|
国产高跟丝袜在线诱惑|
国产精品主播在线一区二区|
无码人妻精品一区二区三区不卡|
国产一区二区三区爆白浆|
精品私密av一区二区三区|
乱子伦在线观看|
精品免费福利视频|