基于LabVIEW的CSDB總線數據測試技術
基于LabVIEW7.1的總線通信
用LabVIEW7.1編程來實現總線通信時,用戶不必對GPIB,RS-232,VXI等硬件有專門的了解,LabVIEW為用戶提供了標準的I/O接口函數庫,在Lab VIEW的Functions→All Functions→Instrument I/O中提供了GPIB、串口通信等各種函數模塊,為實現串口通信提供了便捷的實現方法。軟件流程如圖3所示。
圖3 串口通信軟件流程圖
軟件設計中的關鍵問題及解決方法
(1) 發(fā)送數據幀結構多樣化解決方法
通過對系統(tǒng)中不同部品的實際測試發(fā)現,由于其互聯情況不同,相應部品控制碼的幀結構也不盡相同,同步字后跟1~4個控制消息塊不等,而在自動化測試系統(tǒng)中要求此通信軟件具有通用性。為此,將發(fā)送程序中控制消息塊接口設為最大(4個),當程序檢測到某一接口有數據輸入時就發(fā)送此數據,若沒有,則以相等長度的延時替代。這樣,在保證所有數據幀周期相同的情況下,滿足了不同部品控制碼的不同要求。
(2) 接收數據多重校驗
數據接收程序中,LabVIEW要求設置接收數據緩沖長度,程序在接收此長度數據后才能進行后續(xù)處理。實際程序運行后發(fā)現,如緩沖長度僅為一幀(24×8bit),接收數據有可能誤接收。為避免此情況,將緩沖長度設置為一幀字長的4~6倍,在接收到數據后,再根據同步字、標號等多重匹配原則進行驗證后將數據取出,再將4~6組數據相比較,如相同,則認為數據可信,如不相同,則認為數據不可信。
結語
作CSDB總線數據測試時,可以方便通過界面改變需要發(fā)送的數據,接收的數據也可實時顯示出來,便于測試分析。把此程序封裝成一個子函數模塊,可應用于某航空無線電自動測試系統(tǒng)中,基于對CSDB總線的收發(fā)控制,成功實現了VIR-32導航接收機、VHF-22 甚高頻電臺等相關產品的自動測試。
評論