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