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