徐 襲 石 敏
(1.91388部隊(duì)93分隊(duì) 湛江 524022)(2.水聲對(duì)抗技術(shù)重點(diǎn)實(shí)驗(yàn)室 湛江 524022)
在水下目標(biāo)模擬技術(shù)應(yīng)用中,無(wú)人水下航行器(Unmanned Underwater Vehicle,UUV)作為一種良好的特征模擬設(shè)備,通過(guò)加載部分裝置即可逼真模擬部分水下運(yùn)動(dòng)物體的目標(biāo)特性。由于水下環(huán)境的復(fù)雜性及UUV自身特點(diǎn),要實(shí)現(xiàn)較好的特征模擬功能,對(duì)其自身控制系統(tǒng)的可靠性與實(shí)時(shí)性要求較高,系統(tǒng)需完成大信息量、高實(shí)時(shí)性的數(shù)據(jù)傳輸與交換,方能實(shí)現(xiàn)UUV的精準(zhǔn)、高效控制與特征模擬。網(wǎng)絡(luò)控制系統(tǒng)(Network Control Systems,NCS)是近年來(lái)發(fā)展起來(lái)的新型控制方法,可用于解決UUV的復(fù)雜控制問(wèn)題。網(wǎng)絡(luò)控制的核心在于控制通信網(wǎng)絡(luò)協(xié)議與結(jié)構(gòu),根據(jù)UUV控制系統(tǒng)構(gòu)架,CAN(Controller Area Network,CAN)網(wǎng)絡(luò)作為一種可靠的工業(yè)應(yīng)用總線網(wǎng)絡(luò),完全可以滿(mǎn)足 UUV控制系統(tǒng)網(wǎng)絡(luò)通信的要求[1~2]。本文在CAN網(wǎng)絡(luò)通信原理的基礎(chǔ)上,研究分析UUV控制系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)及通信協(xié)議,設(shè)計(jì)UUV控制系統(tǒng)的CAN網(wǎng)絡(luò)通信編碼方式,并利用CANoe總線仿真工具,對(duì)設(shè)計(jì)的CAN總線網(wǎng)絡(luò)進(jìn)行了仿真驗(yàn)證。
CAN即控制器局域網(wǎng),是由德國(guó)BOSCH公司提出,目前已經(jīng)形成國(guó)際標(biāo)準(zhǔn),主要用于汽車(chē)內(nèi)部測(cè)量與執(zhí)行部件之間的數(shù)據(jù)通信。由于其高可靠性及獨(dú)特的設(shè)計(jì),其應(yīng)用范圍越來(lái)越廣,不再局限于汽車(chē)工業(yè),已在機(jī)械制造、海洋船舶、機(jī)器人及傳感器等領(lǐng)域得到快速發(fā)展與應(yīng)用。其主要特點(diǎn)可概括如下[3]:
1)通信方式靈活。CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)其他節(jié)點(diǎn)發(fā)送信息,不分主從;
2)采用非破壞性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)的退出發(fā)送,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可不受影響的繼續(xù)傳輸數(shù)據(jù),節(jié)省了總線沖突仲裁時(shí)間,不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓情況;
3)CAN只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù),無(wú)需專(zhuān)門(mén)的調(diào)度;
4)CAN的直接通信距離最遠(yuǎn)可達(dá)10kM(傳輸速率5Kb/s以下),通信速率最高可達(dá)1Mb/s;
5)CAN上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動(dòng)電路,目前可達(dá)110個(gè),報(bào)文標(biāo)識(shí)符可達(dá)2032種(CAN2.0A),擴(kuò)展標(biāo)準(zhǔn)的報(bào)文標(biāo)識(shí)符幾乎不受限制;
6)CAN的通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活。
結(jié)合UUV控制系統(tǒng)的網(wǎng)絡(luò)需求,CAN總線所具備的以上特點(diǎn)完全可以滿(mǎn)足其控制系統(tǒng)需求。
UUV控制系統(tǒng)由于控制量多,控制要求高,傳統(tǒng)的集中控制系統(tǒng)通信方式已滿(mǎn)足不了其要求。UUV在水下工作時(shí),各部分裝置發(fā)揮效能,確保其正常工作,如由慣性導(dǎo)航系統(tǒng)進(jìn)行水下導(dǎo)航,水面狀態(tài)由全球定位系統(tǒng)(Global Positioning System,GPS)進(jìn)行位置校正[4]。應(yīng)用 CAN 總線的UUV控制系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)如圖1所示:
圖1 UUV控制系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
系統(tǒng)由自動(dòng)駕駛儀、電推系統(tǒng)、舵機(jī)控制系統(tǒng)、避碰系統(tǒng)、水聲通信系統(tǒng)等組成,其中自動(dòng)駕駛儀作為主機(jī),完成整個(gè)CAN總線網(wǎng)絡(luò)信息系統(tǒng)的數(shù)據(jù)傳輸與管理,控制UUV的工作狀態(tài),系統(tǒng)其它功能部分作為CAN網(wǎng)絡(luò)節(jié)點(diǎn)可發(fā)送數(shù)據(jù)或接收傳輸給自己的數(shù)據(jù),使各部件間的內(nèi)部信息能通信互聯(lián),實(shí)現(xiàn)對(duì)UUV的控制需求[5~6]。
UUV控制網(wǎng)絡(luò)采用CAN總線通訊協(xié)議。按照信息量需求,可選擇采用CAN2.0B協(xié)議,其傳輸數(shù)據(jù)幀支持29位擴(kuò)展報(bào)文標(biāo)志符。根據(jù)UUV不同部件其不同功能實(shí)現(xiàn)需求,可將其大致分為四部分來(lái)描述要傳遞的控制信息,分別是優(yōu)先級(jí)部分、接收節(jié)點(diǎn)標(biāo)志部分、發(fā)送節(jié)點(diǎn)標(biāo)志部分、模式/數(shù)據(jù)標(biāo)志位部分、報(bào)文編號(hào)部分和數(shù)據(jù)編號(hào)部分,具體設(shè)置時(shí)應(yīng)根據(jù)系統(tǒng)的需要和擴(kuò)展要求設(shè)置,某典型數(shù)據(jù)幀設(shè)置如表1。
表1 某UUV控制系統(tǒng)CAN典型數(shù)據(jù)幀設(shè)置
各節(jié)點(diǎn)對(duì)接收到的報(bào)文,按照預(yù)先定義,進(jìn)行區(qū)分和處理。報(bào)文數(shù)據(jù)科采用二進(jìn)制格式,除特殊定義外,符合相應(yīng)的標(biāo)準(zhǔn)即可。
UUV控制系統(tǒng)要實(shí)現(xiàn)實(shí)時(shí)高效的控制,除了設(shè)計(jì)好相應(yīng)的CAN通信數(shù)據(jù)幀格式外,還需考慮UUV內(nèi)部實(shí)際物理傳輸?shù)男枨?。與大型船舶相比較,UUV內(nèi)部傳輸布線空間位置不同,傳輸?shù)臄?shù)據(jù)量大小不同,物理傳輸距離長(zhǎng)短不同,電磁環(huán)境影響程度不同,要實(shí)現(xiàn)高速率、可靠的控制系統(tǒng),必須合理的選擇相應(yīng)的傳輸介質(zhì),設(shè)定合理的傳輸速率等網(wǎng)絡(luò)要素。選擇合適的波特率,使得系統(tǒng)可以依靠CAN總線控制器自身的仲裁和錯(cuò)誤處理機(jī)制,達(dá)到最大程度上的抑制外界干擾的目的,提高CAN總線系統(tǒng)的可靠性。典型的UUV控制系統(tǒng)CAN網(wǎng)絡(luò)傳輸參數(shù)的典型數(shù)據(jù)如表2所示。
表2 某UUV控制系統(tǒng)CAN典型參數(shù)設(shè)置
按照UUV系統(tǒng)要求,對(duì)通信傳輸參數(shù)進(jìn)行選擇和設(shè)置,構(gòu)建CAN網(wǎng)絡(luò)通信,參數(shù)設(shè)置的正確與否,需要進(jìn)行分析和驗(yàn)證,以便應(yīng)用于實(shí)際的系統(tǒng)中具備可靠性。
為保證UUV控制系統(tǒng)CAN網(wǎng)絡(luò)協(xié)議相關(guān)參數(shù)設(shè)置的正確性,可采用總線應(yīng)用開(kāi)發(fā)軟件CANoe對(duì)所構(gòu)建的CAN通信網(wǎng)絡(luò)進(jìn)行虛擬節(jié)點(diǎn)的數(shù)字仿真。若仿真效果較好,可在虛擬仿真的基礎(chǔ)上,加入實(shí)際部件節(jié)點(diǎn)硬件,進(jìn)行半實(shí)物仿真驗(yàn)證[7]。
圖2 CANoe模擬仿真軟件界面
對(duì)UUV控制系統(tǒng)CAN網(wǎng)絡(luò)進(jìn)行仿真使用CANoe軟件即可完成,該軟件是德國(guó)Vector公司開(kāi)發(fā)的CAN總線應(yīng)用系統(tǒng)開(kāi)發(fā)軟件??捎蒝ector的CAN總線接口硬件,實(shí)現(xiàn)虛擬總線與真實(shí)物理總線的連接。
使用CANoe進(jìn)行CAN總線的全數(shù)字仿真,也可進(jìn)行物理節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相結(jié)合的半實(shí)物仿真,可對(duì)真實(shí)物理總線的通信進(jìn)行實(shí)時(shí)監(jiān)控[8]。利用 CANoe構(gòu)建仿真系統(tǒng)及半實(shí)物仿真,仿真系統(tǒng)構(gòu)建軟件界面如圖2所示。
主要根據(jù)UUV控制系統(tǒng)的CAN通信設(shè)計(jì)的數(shù)據(jù)幀及參數(shù),對(duì)CANdb數(shù)據(jù)庫(kù)進(jìn)行設(shè)置,逐一對(duì)總線系統(tǒng)節(jié)點(diǎn)、傳輸數(shù)據(jù)幀、數(shù)據(jù)場(chǎng)和環(huán)境變量配置,然后進(jìn)行仿真配置,主要設(shè)置系統(tǒng)設(shè)計(jì)波特率、采樣點(diǎn)和濾波參數(shù)等,最后進(jìn)行CAPL語(yǔ)言編程,編制相關(guān)的節(jié)點(diǎn)傳輸機(jī)制和模式,完成后,即可進(jìn)行仿真測(cè)試,驗(yàn)證方案的可行性。
對(duì)UUV控制系統(tǒng)的CAN總線通信設(shè)計(jì)方案的測(cè)試,首先啟動(dòng)仿真環(huán)境,通過(guò)統(tǒng)計(jì)窗口觀察總線上的數(shù)據(jù)幀的發(fā)送和接收情況,窗口界面如圖3所示。
圖3 CANoe仿真系統(tǒng)數(shù)據(jù)統(tǒng)計(jì)與分析窗口
CAN總線通信測(cè)試,依據(jù)數(shù)據(jù)統(tǒng)計(jì)窗口相關(guān)顯示內(nèi)容,注意以下幾方面[9~0]:
1)系統(tǒng)作為CAN節(jié)點(diǎn)的信息發(fā)送接收功能是否完成;
2)CAN總線平均總線負(fù)載率(Bus Load)和總線峰值負(fù)載率(Peak Load)是否滿(mǎn)足設(shè)計(jì)要求;
3)各節(jié)點(diǎn)的工作流程是否合理、完善??偩€的負(fù)荷與各節(jié)點(diǎn)工作流程密切相關(guān),可以通過(guò)調(diào)整工作流程達(dá)到減輕CAN總線負(fù)荷的目的;
4)CAN總線上的數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性是否滿(mǎn)足要求。
針對(duì)以上測(cè)試要素,測(cè)試時(shí)若滿(mǎn)足不了相應(yīng)的UUV控制系統(tǒng)通信工作要求,可以及時(shí)在軟件中調(diào)整,再次進(jìn)行仿真測(cè)試驗(yàn)證;若該系統(tǒng)CAN通信測(cè)試結(jié)果滿(mǎn)足要求,可轉(zhuǎn)入到對(duì)該網(wǎng)絡(luò)的半實(shí)物仿真中,即用物理節(jié)點(diǎn)代替計(jì)算機(jī)虛擬節(jié)點(diǎn),進(jìn)一步驗(yàn)證UUV控制系統(tǒng)CAN網(wǎng)絡(luò)通信設(shè)計(jì)的可行性,半實(shí)物仿真示意圖如圖4所示。
圖4 CANoe半實(shí)物仿真示意圖
通過(guò)前述典型協(xié)議分析和設(shè)計(jì),利用CANoe仿真,可驗(yàn)證UUV控制系統(tǒng)CAN網(wǎng)絡(luò)傳輸設(shè)計(jì)的正確性,其控制網(wǎng)絡(luò)測(cè)試網(wǎng)絡(luò)負(fù)載小于25%,無(wú)錯(cuò)誤幀及丟幀現(xiàn)象出現(xiàn)[13]。
運(yùn)行良好的控制系統(tǒng)是保證UUV準(zhǔn)確模擬水下運(yùn)動(dòng)物體目標(biāo)特性的前提,本文采用CAN總線對(duì)UUV控制系統(tǒng)通信網(wǎng)絡(luò)進(jìn)行設(shè)計(jì)和分析,討論了CAN網(wǎng)絡(luò)數(shù)據(jù)幀在系統(tǒng)中的具體應(yīng)用設(shè)計(jì)和傳輸參數(shù)設(shè)置,并使用CANoe仿真軟件對(duì)所設(shè)計(jì)的UUV控制系統(tǒng)CAN網(wǎng)絡(luò)進(jìn)行了仿真,通過(guò)仿真驗(yàn)證了UUV控制系統(tǒng)CAN網(wǎng)絡(luò)通信設(shè)計(jì)的正確性,該方法應(yīng)用于UUV控制系統(tǒng)通信網(wǎng)絡(luò)設(shè)計(jì),將有效提高UUV系統(tǒng)控制特性和特征模擬性能。
[1]鄔寬明.CAN總線原理與應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002:18-32.
[2]史久根.CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004:25-32.
[3]王曉燕,裴亮,付曉.基于CAN總線的浮標(biāo)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(5):20-21.
[4]張立川,徐德民,劉明雍.無(wú)人水下航行器網(wǎng)絡(luò)控制器設(shè)計(jì)[J].船舶工程,2010,32(5):30-32.
[5]劉衛(wèi)東,高立娥,徐建寧,等.基于CAN總線的自主水下航行器內(nèi)部通信與仿真[J].系統(tǒng)仿真學(xué)報(bào),2007,19(6):1320-1322.
[6]張穎,張有志,方敏,等.基于CAN總線多主節(jié)點(diǎn)結(jié)構(gòu)的自治水下機(jī)器人通信系統(tǒng)[J].上海海事大學(xué)學(xué)報(bào),2010,31(1):39-42.
[7]楊立,嚴(yán)衛(wèi)生,高劍,等.一種基于CANoe的CAN總線系統(tǒng)開(kāi)發(fā)方法[J].測(cè)控技術(shù),2007,26(4):66-67.
[8]任維彬,宋小慶,陳克偉.基于CANoe的戰(zhàn)車(chē)綜合電子系統(tǒng)任務(wù)信息流測(cè)試與分析[J].裝甲兵工程學(xué)院學(xué)報(bào),2012,26(1):72-77.
[9]肖龍龍,程謀森,張為華.運(yùn)載器控制系統(tǒng)CAN總線數(shù)據(jù)傳輸仿真與評(píng)估研究[J].2009,29(2):256-260.
[10]黎善斌.基于網(wǎng)絡(luò)控制系統(tǒng)的CAN實(shí)時(shí)性能研究[J].化工自動(dòng)化及儀表,2003,30(4):1-6.
[11]盧珺,程遠(yuǎn)勝.單片機(jī)系統(tǒng)中CAN總線位移傳感器的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2011(9).
[12]郝佳,吳杰長(zhǎng),郭朝有.CAN總線通信過(guò)程的Stateflow建模與仿真[J].計(jì)算機(jī)與數(shù)字工程,2011(9).
[13]荊楠,王林,安佰岳.基于CAN總線網(wǎng)絡(luò)控制系統(tǒng)中的時(shí)延分析及對(duì)策[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(20):4599-4602.