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