總參謀部第六十研究所 管文輝 樊長(zhǎng)虹
基于CAN總線的智能組合靶標(biāo)
總參謀部第六十研究所 管文輝 樊長(zhǎng)虹
本文在研究CAN協(xié)議的原理和應(yīng)用技術(shù)的基礎(chǔ)上,提出了一種基于CAN總線應(yīng)用協(xié)議的智能組合靶標(biāo)設(shè)計(jì)。文中通過(guò)分析CAN協(xié)議的結(jié)構(gòu)特點(diǎn)和組合靶標(biāo)的應(yīng)用需求提出了具體應(yīng)用層協(xié)議和控制策略,有效解決了多靶標(biāo)組合應(yīng)用的控制難題。
智能組合靶標(biāo);CAN總線;應(yīng)用層協(xié)議;控制策略
目前我軍小口徑武器實(shí)彈射擊訓(xùn)練中所使用的靶標(biāo)都是采用單獨(dú)動(dòng)作、統(tǒng)一控制這樣的模式。隨著實(shí)戰(zhàn)化訓(xùn)練的要求不斷提高,例如靶標(biāo)智能化程度不夠高,訓(xùn)練科目不靈活,靶標(biāo)布設(shè)受山地等復(fù)雜地形等因素的影響等不足逐步顯現(xiàn)出來(lái)。這就要求靶標(biāo)之間也能夠進(jìn)行信息共享與數(shù)據(jù)傳遞,需要一種易于在野外環(huán)境下實(shí)現(xiàn)數(shù)據(jù)可靠傳遞的通信方式。
CAN總線是一種支持分布式控制和和實(shí)時(shí)控制的串行通信總線。由于其在性能、可靠性、抗干擾性方面的突出優(yōu)勢(shì)以及傳輸高速率的特點(diǎn)使之特別適合于在野外環(huán)境下進(jìn)行設(shè)備之間的通信。因此采用CAN總線來(lái)構(gòu)建靶標(biāo)設(shè)備之間的通信網(wǎng)絡(luò)可有效的實(shí)現(xiàn)靶標(biāo)間信息共享和數(shù)據(jù)傳遞。本文設(shè)計(jì)了一種基于CAN總線電路實(shí)現(xiàn)同類別設(shè)備間通信的靶標(biāo)設(shè)備,并在硬件基礎(chǔ)上提出了對(duì)應(yīng)的CAN應(yīng)用層協(xié)議和控制策略。
圖1 系統(tǒng)組成圖
智能組合靶標(biāo)由兩臺(tái)或以上具有CAN總線接口的靶標(biāo)組成,靶標(biāo)之間通過(guò)CAN通信線纜進(jìn)行連接。根據(jù)系統(tǒng)應(yīng)用要求,在組合應(yīng)用模式下多臺(tái)同型靶標(biāo)可組合成一個(gè)大型目標(biāo),不同型靶標(biāo)也可通過(guò)CAN總線進(jìn)行設(shè)備間通信。如圖1所示四臺(tái)單兵起倒靶標(biāo)攜帶正面坦克靶板,組合成為一個(gè)坦克目標(biāo)。根據(jù)系統(tǒng)要求,收到電臺(tái)控制命令后各靶標(biāo)必須同時(shí)執(zhí)行起靶動(dòng)作,當(dāng)任意一個(gè)靶標(biāo)被命中后所有靶標(biāo)必須一齊倒靶。為保證動(dòng)作的一致性,各臺(tái)靶標(biāo)之間起倒靶動(dòng)作時(shí)間差不超過(guò)0.3秒。
由于靶標(biāo)控制電路核心處理器內(nèi)部自帶了兩路CAN控制器,所以外圍電路只需增加CAN收發(fā)器就可以進(jìn)行CAN總線通信。在硬件電路上使用CTM8251T作為收發(fā)器,這是一款帶隔離的通用CAN收發(fā)芯片,內(nèi)部集成了TVS管,可以防止總線上出現(xiàn)的瞬間高壓,速率最高可達(dá)1M Bit/s,至少可連接110個(gè)節(jié)點(diǎn)。
在此網(wǎng)絡(luò)中有一臺(tái)靶標(biāo)是主機(jī),其余為從機(jī),由靶標(biāo)自動(dòng)檢測(cè)連接本機(jī)通信線纜的航空插頭,根據(jù)判斷航空插頭的短路跳線,靶標(biāo)自動(dòng)進(jìn)入主機(jī)或從機(jī)通信模式。由于每臺(tái)靶標(biāo)內(nèi)均有電臺(tái)與控制中心進(jìn)行通信,作為主機(jī)的靶標(biāo)接收控制中心發(fā)來(lái)的控制命令并將其轉(zhuǎn)換為CAN協(xié)議發(fā)送至從機(jī),從而實(shí)現(xiàn)對(duì)從機(jī)的控制。如自檢發(fā)現(xiàn)本機(jī)為從機(jī)則靶標(biāo)自動(dòng)屏蔽電臺(tái)通信命令,只接收主機(jī)從CAN總線發(fā)來(lái)的控制命令。
圖2 電路組成框圖
應(yīng)用協(xié)議采用CAN2.0B的29 bit標(biāo)識(shí)符的擴(kuò)展幀格式,它包括通信內(nèi)容、標(biāo)識(shí)符編碼、數(shù)據(jù)編碼3個(gè)部分。
在通信內(nèi)容部分協(xié)議中規(guī)定了該總線網(wǎng)絡(luò)中主機(jī)和所有從機(jī)的通信內(nèi)容,包括了同種類型靶標(biāo)間組合應(yīng)用和不同靶標(biāo)類型間組合應(yīng)用所需要的控制命令、控制參數(shù)、狀態(tài)信息等。協(xié)議設(shè)計(jì)時(shí)還充分的考慮了系統(tǒng)擴(kuò)展的需求。
當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送報(bào)文時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)退出發(fā)送,只有最高優(yōu)先級(jí)的節(jié)點(diǎn)能夠發(fā)送數(shù)據(jù),有效避免了總線沖突,縮短了總線沖突仲裁時(shí)間。本協(xié)議的29位標(biāo)識(shí)符分為7個(gè)部分。
優(yōu)先級(jí):2位,用于指示報(bào)文的優(yōu)先級(jí)。CAN中有4個(gè)優(yōu)先級(jí),0~3,0為最高級(jí),3為最低級(jí)。實(shí)時(shí)控制命令優(yōu)先級(jí)最高為O,而配置參數(shù)、狀態(tài)信息等非實(shí)時(shí)信息,依照功能的不同定義其優(yōu)先級(jí)為1~3。
功能碼:4位,用于指示報(bào)文實(shí)現(xiàn)的功能。目前分別為起靶、倒靶、觸發(fā)火工品、查詢、復(fù)位、狀態(tài)上傳等6種類型功能。接收節(jié)點(diǎn)根據(jù)功能碼進(jìn)行相應(yīng)的處理。
目標(biāo)地址:10位,共可區(qū)分1024個(gè)靶標(biāo)設(shè)備。當(dāng)目標(biāo)地址為1023時(shí)即該消息為廣播消息。源地址:10位,共可區(qū)分1024個(gè)靶標(biāo)設(shè)備。應(yīng)答位:1位,用于指示該消息是否需要應(yīng)答。
CAN總線的數(shù)據(jù)傳輸采用短幀結(jié)構(gòu),每幀數(shù)據(jù)最多8個(gè)字節(jié)。在靶標(biāo)進(jìn)行同步起倒靶控制時(shí),這些字節(jié)可以定義各靶標(biāo)同步的時(shí)間差。在靶標(biāo)外接火工品觸發(fā)單元時(shí),這些字節(jié)可以定義火工品的種類和觸發(fā)延時(shí)時(shí)間。在回傳靶標(biāo)狀態(tài)信息時(shí),可以上傳靶標(biāo)的命中成績(jī),也可以分時(shí)上傳靶標(biāo)的經(jīng)緯度坐標(biāo)和天文時(shí)間。
以組合靶標(biāo)的起倒靶控制為例,設(shè)計(jì)要求4臺(tái)起倒靶在組合應(yīng)用時(shí),為保證同步性,各靶標(biāo)間需同時(shí)起靶倒靶,同步起靶倒靶的時(shí)間差不大于0.3秒。運(yùn)行期間任意一靶標(biāo)被命中,所有靶標(biāo)一起倒靶。為保證功能的實(shí)現(xiàn),通信控制策略分為組網(wǎng)初始化、協(xié)同自學(xué)習(xí)、起倒靶控制、命中控制等四個(gè)步驟。
在組網(wǎng)初始化和協(xié)同自學(xué)習(xí)過(guò)程中,各靶標(biāo)開(kāi)機(jī)后先確定自己是主機(jī)還是從機(jī)。同時(shí)還要進(jìn)行一次自檢運(yùn)行即起靶、倒靶動(dòng)作,以統(tǒng)計(jì)本機(jī)的起靶、倒靶時(shí)間。從機(jī)將本機(jī)編號(hào)、起倒靶時(shí)間、電池電量等信息周期性上傳給主機(jī)。主機(jī)統(tǒng)計(jì)了各從機(jī)狀態(tài)信息并結(jié)合本機(jī)狀態(tài)后確認(rèn)是否適合進(jìn)行靶標(biāo)組合應(yīng)用。如狀態(tài)符合要求,則對(duì)對(duì)每臺(tái)靶標(biāo)的起倒靶時(shí)間和對(duì)應(yīng)編號(hào)進(jìn)行從小到大重新排列,再計(jì)算出每臺(tái)靶標(biāo)起倒靶的先后次序和延時(shí)時(shí)間,將此數(shù)據(jù)存入二維控制數(shù)組中等待調(diào)用,其控制流程圖如圖3所示。完成自學(xué)習(xí)后靶標(biāo)即等待控制命令。由于組合應(yīng)用的各靶標(biāo)是隨機(jī)抽選的,使用過(guò)程中有可能替換新的靶機(jī)。這就要求在網(wǎng)絡(luò)中需要主機(jī)及時(shí)判斷是否有從機(jī)退出網(wǎng)絡(luò),同時(shí)是否加入了新的從機(jī)。其實(shí)現(xiàn)的具體方式是:所有從機(jī)接入網(wǎng)絡(luò)后即定時(shí)上傳本機(jī)狀態(tài)數(shù)據(jù)。主機(jī)端周期性的對(duì)其進(jìn)行刷新,如發(fā)現(xiàn)新的從機(jī)號(hào)上傳則在控制數(shù)組中建立新的數(shù)據(jù)單元,如某一從機(jī)數(shù)據(jù)連續(xù)超過(guò)五個(gè)查詢周期沒(méi)有數(shù)據(jù)加以更新,則認(rèn)為該從機(jī)已退出網(wǎng)絡(luò),即從數(shù)組中刪除該從機(jī)數(shù)據(jù)。
圖3 系統(tǒng)初始化流程圖
當(dāng)主機(jī)接收到起靶命令后,主機(jī)即按計(jì)算好的次序和各靶標(biāo)的運(yùn)行速度,結(jié)合主機(jī)自身的起靶時(shí)間,依次向各從機(jī)發(fā)送起靶命令,起靶到位后各從機(jī)更新本機(jī)的運(yùn)行數(shù)據(jù)并周期性上傳主機(jī)。完成起靶動(dòng)作后各靶機(jī)進(jìn)入命中檢測(cè)狀態(tài),當(dāng)任一靶機(jī)被命中即發(fā)生即時(shí)消息給主機(jī),主機(jī)按照控制命令設(shè)定的命中倒靶發(fā)數(shù)進(jìn)行統(tǒng)計(jì)。當(dāng)匯總的命中數(shù)據(jù)達(dá)到命中倒靶發(fā)數(shù)時(shí)主機(jī)按照各靶標(biāo)倒靶的運(yùn)行速度和先后次序發(fā)數(shù)倒靶命令給各從機(jī)。從機(jī)依次倒靶完成一次控制。根據(jù)控制命令的需要還可在系統(tǒng)中外接聲光發(fā)煙設(shè)備,同樣通過(guò)CAN總線在倒靶后發(fā)送命令點(diǎn)發(fā)煙罐,指示命中效果。
圖5 各靶標(biāo)到位時(shí)差實(shí)測(cè)圖
圖4 運(yùn)行控制及命中采集流程圖
在實(shí)際調(diào)試過(guò)程中靶標(biāo)能夠按照規(guī)定的要求進(jìn)行組網(wǎng)連接,在10ms的時(shí)間內(nèi)即可完成四臺(tái)靶標(biāo)的組網(wǎng)控制。實(shí)測(cè)數(shù)據(jù)顯示起倒靶過(guò)程中各靶標(biāo)運(yùn)行時(shí)間差在50ms~80ms之間,如圖5所示最快到位靶標(biāo)與最慢到位靶標(biāo)的時(shí)間差為60ms,滿足設(shè)計(jì)指標(biāo)0.3s的要求。
本設(shè)計(jì)通過(guò)對(duì)CAN總線通信協(xié)議的分析,結(jié)合靶標(biāo)組合應(yīng)用的特點(diǎn),提出了一種有效解決多靶標(biāo)組合應(yīng)用的方法,并在設(shè)計(jì)中得以實(shí)現(xiàn)。通過(guò)CAN總線技術(shù)的應(yīng)用,使得智能靶標(biāo)不僅在組合應(yīng)用中顯示了良好的適應(yīng)性,同時(shí)還可以與移動(dòng)靶標(biāo)同步使用,可以與武器發(fā)射模擬器材配合使用,使得靶標(biāo)的應(yīng)用范圍不斷拓寬,假想敵特性模擬更加逼真,為我軍訓(xùn)練器材的網(wǎng)絡(luò)化、智能化發(fā)展進(jìn)行了一次有益的嘗試。
[1]周立功.iCAN現(xiàn)場(chǎng)總線原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007,4.
[2]王幫繼,劉慶想,李相強(qiáng),張健穹.CAN總線應(yīng)用層協(xié)議的應(yīng)用與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(20)14-16.