基于CAN總線的模擬射擊訓(xùn)練系統(tǒng)設(shè)計(jì)
監(jiān)控計(jì)算機(jī)可以對(duì)各光電靶進(jìn)行以下2種操作:查詢光電靶工作是否正常;回信確認(rèn)已經(jīng)收到光電靶的檢測(cè)數(shù)據(jù)。監(jiān)控計(jì)算機(jī)每隔固定時(shí)間就進(jìn)行一次查詢光電靶工作是否正常的操作,確保光電靶在線并且工作正常。當(dāng)監(jiān)控計(jì)算機(jī)收到光電靶的擊中信息后,向光電靶回信確認(rèn)已經(jīng)收到檢測(cè)數(shù)據(jù),然后光電靶的通信板刪除擊中點(diǎn)坐標(biāo)控制工程網(wǎng)版權(quán)所有,避免通信過(guò)程中數(shù)據(jù)丟失的情況,確保通信的可靠性。
光電靶需要向監(jiān)控計(jì)算機(jī)發(fā)送以下3種內(nèi)容的數(shù)據(jù):本靶的板子工作均正常且未被擊中;打中信號(hào)與擊中點(diǎn)橫縱坐標(biāo);出錯(cuò)信號(hào)和出錯(cuò)板的板號(hào)。程序流程圖如圖4所示。
在CAN的技術(shù)規(guī)范中,規(guī)定了CAN在數(shù)據(jù)鏈路層和物理層上的標(biāo)準(zhǔn),用戶在設(shè)計(jì)通信軟件時(shí),必須線根據(jù)需求設(shè)計(jì)合適的CAN總線通信協(xié)議,才能完成準(zhǔn)確可靠的傳輸。在本系統(tǒng)中,根據(jù)需要制訂通訊協(xié)議如下:
addr+cmnd+data…+data+chkxor;
其中:addr――發(fā)送方的地址編碼;
cmnd――命令碼;
data――數(shù)據(jù);
chkxor――異或校驗(yàn)碼;
在本系統(tǒng)中,數(shù)據(jù)區(qū)只有發(fā)送方地址編碼,沒(méi)有接收方地址編碼,這是由本系統(tǒng)的特點(diǎn)決定的。各光電靶只需要與監(jiān)控計(jì)算機(jī)通訊,相互之間沒(méi)有聯(lián)系,所以監(jiān)控計(jì)算機(jī)接收總線上的所有信息,其他各節(jié)點(diǎn)通過(guò)各自驗(yàn)收濾波器過(guò)濾無(wú)用信息。
3.2 系統(tǒng)檢測(cè)與485通訊部分軟件設(shè)計(jì)
光電靶上的通訊板與檢測(cè)板通過(guò)485總線以主從方式通訊,通訊板為主機(jī),檢測(cè)板為從機(jī),二者以查詢方式聯(lián)系。通訊板與檢測(cè)板通訊框圖如圖5所示。
系統(tǒng)初始化完畢后
,通訊板首先查詢一塊檢測(cè)板的狀態(tài),檢測(cè)板受到查詢信息后,將擊中點(diǎn)坐標(biāo)送回通訊板,若沒(méi)有被擊中,則回應(yīng)信號(hào),表示自己工作正常且沒(méi)有被擊中。通訊板收到檢測(cè)板回應(yīng)信號(hào)后,先分析信息類型,如果回應(yīng)信號(hào)表明檢測(cè)板工作正常且沒(méi)有被擊中,則通訊板直接查詢下一檢測(cè)板。如果回應(yīng)信號(hào)為擊中點(diǎn)坐標(biāo),則通訊板此基礎(chǔ)上查詢其他檢測(cè)板,統(tǒng)一計(jì)算打中區(qū)域的中心點(diǎn)坐標(biāo)并送到上位機(jī)。若通訊板在發(fā)出查詢信號(hào)100ms后仍沒(méi)有收到這塊檢測(cè)板的回應(yīng),表示這塊檢測(cè)板工作出現(xiàn)錯(cuò)誤,通訊板查詢下一塊檢測(cè)板。
若一塊檢測(cè)板連續(xù)3次沒(méi)有回應(yīng)通訊板的查詢信號(hào),則通訊板向上位機(jī)發(fā)送信息說(shuō)明這塊檢測(cè)板工作錯(cuò)誤。
4 結(jié)束語(yǔ)
軍用射擊模擬訓(xùn)練系統(tǒng)已在實(shí)際訓(xùn)練中投入運(yùn)行,運(yùn)行結(jié)果表明本系統(tǒng)操作簡(jiǎn)單,實(shí)時(shí)性高,測(cè)量點(diǎn)準(zhǔn)確,運(yùn)行可靠,得到很好的訓(xùn)練效果,應(yīng)用前景廣泛。
評(píng)論