摘 要:軍用激光靶系統是進行現代化軍事訓練的重要器械.本文根據部隊模擬射擊訓練的需求,設計了基于單片機和紅外接收管陣列的激光靶.其中,采用CAN總線將多個激光靶與監控計算機連成通訊網絡,構成了激光靶網絡訓練系統。
關鍵詞:激光靶,模擬訓練,CAN總線
1 引 言
在軍隊的訓練項目中,野戰的射擊姿勢訓練是一個重要的部分。要求學員對在復雜環境中突然出現的目標,能夠根據距離遠近和目標大小等特點迅速作出判斷,并采用正確姿勢擊中目標。這樣的項目若進行實彈訓練,則對環境要求高,比較難以找到封閉的訓練場地;進行小組配合訓練時,人員危險較大;而且,需要人工統計打靶結果,不利于橫縱向比較和訓練效果分析。
為此,本文設計了基于紅外接收管和激光發射器的激光靶模擬訓練系統。在這個系統中,以靶面上安裝紅外光敏接收元件的光電靶代替傳統的靶子,將紅外激發射光器安裝在步槍頭部,激光發射開關安裝在槍機上,扳動槍機則發射一次激光脈沖代替子彈,此激光脈沖擊中光電靶時將被靶上由單片機構成的檢測器檢測到,單片機計算出擊中的行列坐標,通過CAN現場總線發送到監控計算機,在計算機上顯示打靶成績,并對訓練結果進行統計和管理,從而構成了完整的模擬射擊訓練系統。
2 系統功能與硬件設計
激光模擬訓練系統主要由監控計算機或筆記本電腦、通訊模塊和光電靶3大部分構成,其中計算機放置在訓練場地起點或中心,由訓練的指揮人員操作和控制;光電靶已經按與實際尺寸的70%比例縮小,光電靶按訓練要求在訓練場地隨機布置,距射擊者行進路線前方或兩側40至100米范圍內,裝在傳統的起倒靶支架上,由起倒靶支架控制。系統構成如圖1所示。
計算機為主控制單元,監測著100m范圍內的射擊情況,采用通訊總線與光電靶上的智能單元進行通訊。其中的應用程序由VB編寫,因為VB作為一種可視化編程語言具有簡單易學、功能強大等特點,可以在短時間內開發出易于操作、界面友好的應用程序,而且VB有專用的通訊控件,可以可靠的實現通訊功能。
通訊模塊負責幫助計算機進行CAN總線的通訊。
光電靶由通訊板和檢測板2大部分組成。由于實際訓練中要求目標的大小和形狀都有不同,就使得靶子的形狀不一致,因此設計了幾種標準形狀的檢測板,根據每個光電靶子外形的不同進行拼裝,以滿足訓練的需要,最大的一塊光電靶需要由4塊形狀不同的檢測板組成。
檢測板結構示意圖如圖2所示,檢測板上正面每隔2cm放置一個光電二極管,若光電二極管被擊中則導通,單片機檢測到被擊中點坐標后,通過485串行總線發送到通訊板,由通訊板負責統一將整個光電靶的擊中信息和工作情況傳送給通訊模塊。
每塊個光電靶都由多個檢測板構成,為了提高系統效率,加入一塊通訊板,負責整理本光電靶信息,統一與上位機進行數據交換。通訊板主要就是統計并計算本靶的打中點坐標送到上位機,接受上位機的消息后傳給檢測板,使得同一靶子中多塊檢測板同步動作;其次還有故障檢測的功能。通訊板與檢測板之間要求通訊即時、可靠,用485串行總線進行工作。這樣的結構使單個光電靶工作相對獨立,方便以后系統節點的擴展。通訊板的結構示意圖如圖3所示。
3 系統的軟件設計
3.1 CAN總線的通訊設計
3.1.1 CAN 總線簡介
控制器局部網(CAN——Controller Area Network)是一種現場總線,它是一種有效支持分布式控制或實時控制的串行通信網絡。它以半雙工的方式工作,同一時間內只能有一個節點發送信息,多個節點接受信息,可以實現全分布式多機系統,提高數據在網絡中傳輸的可靠性。在各種現場總線中,它以其結構簡單、應用靈活方便而在工業控制和車輛中得到廣泛應用。
CAN總線的信息存取采用廣播式的存取工作方式,信息可以在任何時候由任何節點發送到空閑的總線上,每個節點的CAN總線借口必須接受總線上出現的所有信息,因此各接點都設置由一個接收寄存器,接收寄存器首先將信息接收,然后根據接收信息的標示符決定是否讀取信息包中的數據,即判定是否使用這一信息。CAN總線協議的一個最大特點就是廢除了傳統的地址編碼,代之以對通信數據塊進行編碼。CAN總線面向數據而不是面向節點,采用這種方法的優點是可使網絡內的節點個數在理論上不受限制,假如和減少設備不影響系統的工作。因此,基于CAN總線的射擊模擬訓練系統可以根據實際要求增加或減少光電靶的數量。
CAN總線每幀收發數據的長度最多為8個字節,因而不存在占用總線時間過長的問題,可以保證通信的實時性,通信速率最高可達1Mb/s(通信距離40m時),通信距離最遠可達10km(傳輸速率為5kb/s).通信介質可以是雙絞線、同軸電纜或光導纖維。
3.1.2 CAN總線通訊的實現
在本系統中,采用PHILIPS公司的SJA1000芯片,通過對SJA1000的位定時寄存器進行設置來實現不同通信波特率的要求,CAN總線的通信撥特率與通信距離有密切的關系,距離越短,允許的波特率越高,反之亦然。系統采用多主方式工作,其任意節點任意時刻都可向總線發送信息,各節點通過ACR、AMR進行報文濾波。
監控計算機可以對各光電靶進行以下2種操作:查詢光電靶工作是否正常;回信確認已經收到光電靶的檢測數據。監控計算機每隔固定時間就進行一次查詢光電靶工作是否正常的操作,確保光電靶在線并且工作正常。當監控計算機收到光電靶的擊中信息后,向光電靶回信確認已經收到檢測數據,然后光電靶的通信板刪除擊中點坐標,避免通信過程中數據丟失的情況,確保通信的可靠性。
光電靶需要向監控計算機發送以下3種內容的數據:本靶的板子工作均正常且未被擊中;打中信號與擊中點橫縱坐標;出錯信號和出錯板的板號。程序流程圖如圖4所示。

在CAN的技術規范中,規定了CAN在數據鏈路層和物理層上的標準,用戶在設計通信軟件時,必須線根據需求設計合適的CAN總線通信協議,才能完成準確可靠的傳輸。在本系統中,根據需要制訂通訊協議如下:
addr+cmnd+data…+data+chkxor;
其中:addr——發送方的地址編碼;
cmnd——命令碼;
data——數據;
chkxor——異或校驗碼;
在本系統中,數據區只有發送方地址編碼,沒有接收方地址編碼,這是由本系統的特點決定的。各光電靶只需要與監控計算機通訊,相互之間沒有聯系,所以監控計算機接收總線上的所有信息,其他各節點通過各自驗收濾波器過濾無用信息。
3.2 系統檢測與485通訊部分軟件設計
光電靶上的通訊板與檢測板通過485總線以主從方式通訊,通訊板為主機,檢測板為從機,二者以查詢方式聯系。通訊板與檢測板通訊框圖如圖5所示。
系統初始化完畢后,通訊板首先查詢一塊檢測板的狀態,檢測板受到查詢信息后,將擊中點坐標送回通訊板,若沒有被擊中,則回應信號,表示自己工作正常且沒有被擊中。通訊板收到檢測板回應信號后,先分析信息類型,如果回應信號表明檢測板工作正常且沒有被擊中,則通訊板直接查詢下一檢測板。如果回應信號為擊中點坐標,則通訊板此基礎上查詢其他檢測板,統一計算打中區域的中心點坐標并送到上位機。若通訊板在發出查詢信號100ms后仍沒有收到這塊檢測板的回應,表示這塊檢測板工作出現錯誤,通訊板查詢下一塊檢測板。
若一塊檢測板連續3次沒有回應通訊板的查詢信號,則通訊板向上位機發送信息說明這塊檢測板工作錯誤。
4 結束語
軍用射擊模擬訓練系統已在實際訓練中投入運行,運行結果表明本系統操作簡單,實時性高,測量點準確,運行可靠,得到很好的訓練效果,應用前景廣泛。
參考文獻
[1] 鄔明寬.CAN總線原理和應用系統設計 [M].北京:北京航空航天大學出版社,1996;
[2] 胡漢才.單片機原理及其接口技術 北京:清華大學出版社,1996;
[3] 王桂榮,錢劍敏.CAN總線和基于CAN總線的高層協議,計算機測量與控制,2003.11。
[4] 韓兆福、王平、陳遵銀、葛銀茂 單片機在射擊軍械綜合檢測系統中的應用,計算機自動測量與控制,2000年04期.