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