呂志剛 曹曉霖
(中國(guó)船舶重工集團(tuán)公司第七一○研究所 宜昌 443003)
?
自主水下航行器內(nèi)部通訊總線設(shè)計(jì)*
呂志剛 曹曉霖
(中國(guó)船舶重工集團(tuán)公司第七一○研究所 宜昌 443003)
設(shè)計(jì)了基于CAN、RS422/232通信協(xié)議的AUV內(nèi)部通訊總線系統(tǒng),系統(tǒng)使用的中央控制單元通信板具有模塊化、可配置性強(qiáng)等特點(diǎn),滿足AUV系統(tǒng)對(duì)其內(nèi)部通訊總線的開放性要求;自主水下航行器由若干個(gè)執(zhí)行機(jī)構(gòu)組成,對(duì)應(yīng)于不同的CAN總線節(jié)點(diǎn),用CAN總線構(gòu)成分布式控制系統(tǒng)取代集中式控制系統(tǒng),從而實(shí)現(xiàn)實(shí)時(shí)通信,試驗(yàn)結(jié)果表明,該總線結(jié)構(gòu)可使AUV系統(tǒng)的通信電纜得到有效精簡(jiǎn),并使AUV系統(tǒng)獲得較好的通信性能。
控制器局域網(wǎng); 自主水下機(jī)器人; 分布式控制; 網(wǎng)絡(luò)通信
Class Number TB556
自主水下航行器(Autonomous Underwater Vehicle,AUV)是一類無(wú)人控制、自帶能源、自主導(dǎo)航與控制、自動(dòng)力推進(jìn)和自主作業(yè)的水下機(jī)器人,主要應(yīng)用于海底圖像采集、海洋環(huán)境監(jiān)測(cè)、海洋資源探測(cè)與開發(fā)、水下救援和打撈等方面,也是一種有效的水中兵器,代表未來(lái)水下機(jī)器人技術(shù)的發(fā)展方向。
水下機(jī)器人控制系統(tǒng)一般分為集中式控制系統(tǒng)和分布式控制系統(tǒng),集中式控制系統(tǒng)過(guò)分依賴中央控制單元,整個(gè)控制系統(tǒng)可靠性低;分布式控制系統(tǒng)在使用范圍、可擴(kuò)展性、控制速度、系統(tǒng)模塊化、可維護(hù)性等方面具有明顯優(yōu)勢(shì)[1~2],有利于系統(tǒng)的拆卸、裝配和調(diào)試,系統(tǒng)的開放性、可靠性和魯棒性也有所增強(qiáng)。目前AUV底層通信一般采用集中式控制,其通信協(xié)議完全依賴軟件的支持,系統(tǒng)通信軟件負(fù)擔(dān)較重;并且在沒(méi)有可靠的總線競(jìng)爭(zhēng)仲裁與幀重發(fā)機(jī)制的情況下,數(shù)據(jù)丟失率與總線數(shù)據(jù)的流通量成正比,有時(shí)甚至?xí)?dǎo)致整個(gè)通信網(wǎng)絡(luò)的癱瘓。
AUV由大量傳感器和執(zhí)行機(jī)構(gòu)組成,它們與中央控制單元的通訊接口協(xié)議多種多樣,這就要求AUV內(nèi)部總線通訊協(xié)議具有很好的開放性,可以滿足不同的通訊接口協(xié)議的使用要求,甚至便于接入帶有不可預(yù)見(jiàn)通訊協(xié)議的傳感器設(shè)備。
2.1 總體架構(gòu)
整個(gè)總線系統(tǒng)由中央控制單元、電源測(cè)控裝置、電源管理系統(tǒng)、傳感器和各執(zhí)行機(jī)構(gòu)控制器等節(jié)點(diǎn)組成。各分布式控制節(jié)點(diǎn)通過(guò)CAN、RS422/232通信總線與中央控制單元進(jìn)行連接,并通過(guò)自身的總線通信模塊與其進(jìn)行數(shù)據(jù)傳輸,中央控制單元是整個(gè)AUV內(nèi)部通訊的核心部件,負(fù)責(zé)與各傳感器、執(zhí)行機(jī)構(gòu)控制器和其它部件進(jìn)行狀態(tài)的查詢和指令的下達(dá),并對(duì)總線系統(tǒng)進(jìn)行監(jiān)控,當(dāng)總線系統(tǒng)上發(fā)生系統(tǒng)性的故障時(shí)對(duì)故障進(jìn)行判別并做出相應(yīng)的應(yīng)急處理。
從控制軟件的角度來(lái)看,可將AUV控制系統(tǒng)分為現(xiàn)場(chǎng)控制級(jí)、協(xié)調(diào)控制級(jí)和組織控制級(jí)[3],分層控制可降低AUV系統(tǒng)控制的復(fù)雜性,并大大提高了各節(jié)點(diǎn)控制軟件的獨(dú)立性,使得AUV系統(tǒng)各控制節(jié)點(diǎn)的軟件具有很好的模塊性,便于AUV系統(tǒng)中各節(jié)點(diǎn)的調(diào)試、裝配和維修。
2.2 CAN通訊協(xié)議的采用
網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要有總線網(wǎng)、網(wǎng)狀網(wǎng)、樹型網(wǎng)、環(huán)型網(wǎng)等[6~7]。這幾種拓?fù)浣Y(jié)構(gòu)各有優(yōu)缺點(diǎn),具體說(shuō)明如表1所示。
控制器局域網(wǎng)(CAN)是一種多主方式的串行通訊總線,能有效地支持具有很高安全等級(jí)的分布式實(shí)時(shí)控制,其傳輸速度最高可達(dá)1Mbits/s,并且CAN通信具有公開的技術(shù)規(guī)范,滿足不同設(shè)備之間的兼容性需求;CAN通信的整個(gè)協(xié)議均由一塊芯片以及軟件來(lái)運(yùn)行,類似于一個(gè)增強(qiáng)的多信道UART,所有錯(cuò)誤檢測(cè)傳送和接收技術(shù)都能夠用CAN控制芯片的硬件來(lái)執(zhí)行。
AUV內(nèi)部通訊總線的工作環(huán)境與汽車內(nèi)部通訊總線之間具有很多相似之處,比如機(jī)械震蕩、強(qiáng)電磁干擾等。CAN通信總線在汽車行業(yè)和機(jī)器人內(nèi)部通訊系統(tǒng)中已得到廣泛的應(yīng)用,因此在我們的AUV系統(tǒng)內(nèi)部通訊總線設(shè)計(jì)中采用CAN通訊協(xié)議。
2.3 控制系統(tǒng)硬件設(shè)計(jì)
某型AUV系統(tǒng)設(shè)計(jì)中大部分執(zhí)行機(jī)構(gòu)控制器的核心控制芯片均采用了微芯公司dsPIC30F6014A單片機(jī),該芯片混合了高速運(yùn)算能力和MCU高性能控制特性于一體,提供了許多外設(shè),包括:16位比較/PWM輸出功能、數(shù)據(jù)轉(zhuǎn)換接口(DCI)、UART模塊、兩個(gè)CAN總線模塊、3線SPI模塊、16位捕捉輸入功能、12位模數(shù)轉(zhuǎn)換器等,其功能組成模塊示意圖見(jiàn)圖1所示[4]。總控制節(jié)點(diǎn)硬件結(jié)構(gòu)通過(guò)PC104板中集成的CAN通信接口連接到CAN總線網(wǎng)絡(luò)中,總控制節(jié)點(diǎn)通過(guò)調(diào)用隨PC104主板卡提供的CAN模塊驅(qū)動(dòng)涵數(shù),來(lái)實(shí)現(xiàn)CAN通信的管理和監(jiān)控。
圖1 主控制器功能組成模塊
dsPIC30F6014A芯片內(nèi)集成了CAN控制器,但要完成數(shù)據(jù)幀的收發(fā)功能還需外加MCP2551[5]CAN驅(qū)動(dòng)芯片。為了增強(qiáng)AUV內(nèi)部通訊抗電磁干擾能力,在dsPIC30F6014A的CTX和CRX引腳與MCP2551驅(qū)動(dòng)器之間增加高速光電耦合器6N137,圖2是執(zhí)行機(jī)構(gòu)控制節(jié)點(diǎn)的硬件原理框圖,圖中的控制芯片dsPIC30F6014A除實(shí)現(xiàn)CAN通訊外,還控制執(zhí)行機(jī)構(gòu)動(dòng)作及查詢其相關(guān)狀態(tài)。
圖2 執(zhí)行機(jī)構(gòu)控制節(jié)點(diǎn)硬件結(jié)構(gòu)圖
2.4 CAN通訊協(xié)議
CAN通信的數(shù)據(jù)傳輸屬于數(shù)據(jù)流的串行通信方式,通過(guò)串行總線將各個(gè)CAN通信節(jié)點(diǎn)連接[8]。本系統(tǒng)的CAN總線通信采用主從模式,由主節(jié)點(diǎn)即總控制節(jié)點(diǎn):中央控制單元;從節(jié)點(diǎn)即執(zhí)行機(jī)構(gòu)控制器:由電源測(cè)控裝置、電源管理系統(tǒng)及各執(zhí)行機(jī)構(gòu)控制器等組成。由于設(shè)備較多,為了提高通信的可靠性,降低總線的通信負(fù)載,采用兩條總線進(jìn)行通信。中央控制單元與各設(shè)備的總線拓?fù)浣Y(jié)構(gòu)如圖3、圖4所示。
圖3 CAN總線1電氣網(wǎng)絡(luò)圖
圖4 CAN總線2電氣網(wǎng)絡(luò)圖
對(duì)于CAN總線各系統(tǒng)的地址即為CAN總線各系統(tǒng)節(jié)點(diǎn)的ID號(hào)。由于CAN總線通信中的各個(gè)節(jié)點(diǎn)ID號(hào)不僅代表該節(jié)點(diǎn)地址,同時(shí)還代表該節(jié)點(diǎn)的通信優(yōu)先級(jí),基于該特點(diǎn)并結(jié)合運(yùn)載平臺(tái)各CAN通信節(jié)點(diǎn)的重要性和通信的頻繁性,采取高通信低優(yōu)先級(jí),低通信高優(yōu)先級(jí)原則,在對(duì)ID號(hào)進(jìn)行地址分配時(shí)將總控制節(jié)點(diǎn)的ID號(hào)分配最高優(yōu)先級(jí)??偪刂乒?jié)點(diǎn)與各分控制節(jié)點(diǎn)的通訊協(xié)議如表2所示。
表2 總節(jié)點(diǎn)與各分節(jié)點(diǎn)的CAN通訊協(xié)議
為了保證AUV系統(tǒng)中CAN總線通訊的快速性、可靠性和正確性,總控制節(jié)點(diǎn)與各分控制節(jié)點(diǎn)的通訊數(shù)據(jù)格式必要滿足如下四個(gè)方面的要求: 1) CAN通訊總線上只發(fā)送和接收標(biāo)準(zhǔn)幀且為數(shù)據(jù)幀,即各系統(tǒng)節(jié)點(diǎn)的ID號(hào)均為11位的數(shù)據(jù)幀; 2) CAN通訊總線上發(fā)送的數(shù)據(jù)幀分為三種類型:動(dòng)作指令幀、查詢幀、狀態(tài)反饋幀。動(dòng)作指令幀是用于總節(jié)點(diǎn)向各分節(jié)點(diǎn)下達(dá)動(dòng)作指令的數(shù)據(jù)幀[9];查詢幀是用于總節(jié)點(diǎn)向各分節(jié)點(diǎn)下達(dá)查詢各系統(tǒng)當(dāng)前狀態(tài)的數(shù)據(jù)幀[10];狀態(tài)反饋幀用于各分節(jié)點(diǎn)向總節(jié)點(diǎn)反饋當(dāng)前工作狀態(tài)的數(shù)據(jù)幀; 3) 總節(jié)點(diǎn)不論發(fā)送動(dòng)作指令幀還是查詢幀,各分節(jié)點(diǎn)都要反饋當(dāng)前的狀態(tài); 4) 本通訊總線采用主從方式通信結(jié)構(gòu),即在總節(jié)點(diǎn)不發(fā)送動(dòng)作指令幀或者查詢指令前,各分節(jié)點(diǎn)不自動(dòng)發(fā)送狀態(tài)反饋幀。
2.5 CAN通訊軟件設(shè)計(jì)
系統(tǒng)中各個(gè)分控制節(jié)點(diǎn)通過(guò)CAN通訊總線接收命令和反饋當(dāng)前狀態(tài),實(shí)現(xiàn)與總控制節(jié)點(diǎn)通信,從而實(shí)現(xiàn)相應(yīng)的功能和狀態(tài)的反饋,各份節(jié)點(diǎn)的軟件設(shè)計(jì)是基于MPLAB_C30軟件編譯器編寫的,程序主要由CAN初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和指令執(zhí)行四部分組成。
各分節(jié)點(diǎn)的軟件設(shè)計(jì)采用中斷方式進(jìn)行數(shù)據(jù)的接收,總線上各分控制節(jié)點(diǎn)接收總線上傳給本節(jié)點(diǎn)的數(shù)據(jù)時(shí),首先觸發(fā)CAN接收中斷,在中斷中對(duì)接收數(shù)據(jù)進(jìn)行身份檢驗(yàn),對(duì)于符合傳輸協(xié)議的數(shù)據(jù)進(jìn)行接收,否則不予接收。對(duì)于通過(guò)的數(shù)據(jù)進(jìn)行進(jìn)一步的區(qū)分,首先判斷該指令的類別(查詢指令、動(dòng)作指令和與目前狀態(tài)不相符合指令),然后按照相應(yīng)的軟件流程繼續(xù)執(zhí)行,各分控制節(jié)點(diǎn)軟件指行流程圖如圖5所示。
圖5 軟件執(zhí)行流程圖
基于CAN總線通訊的分布式控制技術(shù)滿足設(shè)計(jì)者在產(chǎn)品設(shè)計(jì)和使用過(guò)程可以自行制定高層通信協(xié)議的要求,為設(shè)計(jì)過(guò)程中的硬件配置和調(diào)試帶來(lái)方便,同時(shí)方便的連接方式和良好的可擴(kuò)展性使得AUV設(shè)計(jì)時(shí)能夠按艙段進(jìn)行功能劃分。另外,CAN總線能夠按照通訊信息的重要程度由高至低的優(yōu)先級(jí)進(jìn)行劃分,保證了CAN總線運(yùn)行的可靠性和快速性。
經(jīng)試驗(yàn)證明系統(tǒng)通過(guò)總控制節(jié)點(diǎn)的模塊化、可配置性設(shè)計(jì)滿足了AUV系統(tǒng)對(duì)其內(nèi)部通訊總線的開放性要求。并且總控制節(jié)點(diǎn)內(nèi)部的容錯(cuò)處理能力以及總控制節(jié)點(diǎn)內(nèi)部應(yīng)急處理模塊的設(shè)計(jì)增強(qiáng)了AUV系統(tǒng)的可靠性和容錯(cuò)能力,為避免AUV在試驗(yàn)過(guò)程復(fù)雜工作環(huán)境下的丟失,提供有力的保障措施。
總之,基于CAN總線的分布式控制技術(shù)的諸多優(yōu)點(diǎn)吸引我們把基于CAN總線通訊的分布式控制技術(shù)引入到AUV系統(tǒng)設(shè)計(jì)中來(lái),代表了AUV控制系統(tǒng)的發(fā)展方向。
[1] 候魏.自主水下航行器建模與控制系統(tǒng)研究開發(fā)[D].天津:天津大學(xué),2004.
[2] Szabo S, Oplustil V. Distibuted CAN Based Control System for Robotic and Airborne Applications[C]//Proceedings of the 7th Intemational Conference on Control, Automation, Robotics and Vision. Singapore: Nanyang Technological University,2002:1233-1238.
[3] Ridao P, Yuh J. On AUV control architecture[C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System. Piscataway, USA: IEEE,2000:855-860.
[4] Microchip Company. dsPIC30F6014A User Manual[M]. Chandler: Microchip Company,2006.
[5] Microchip Company. MCP2551 User Manual of High-Speed CAN Transceiver[M]. Chandler: Microchip Company,2002.
[6] 陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[7] 羅雪梅,黃明琪.現(xiàn)場(chǎng)總線的物理層與數(shù)據(jù)鏈路層[J].貴州:貴州工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2002(3).
[8] Sanfridson M. Timing Problems in Distributed Real-time Computer Control Systems[R]. Stockholm: Technical Report of Mechatronics Lab Department of Machine Design Royal Institute of Technology,2000.
[9] Eker J, Hagander P, Arzen K E. A Feedback Scheduler for Real-time Control Tasks[J]. Control Engineering Practice,2008(12):1369-1378.
[10] Shi G Y. A Genetic Algorithm Applied to a Classic Iob-shop Scheduling Problem[J]. International Joural of System Science,1997(1):25-32.
Inner Communication Bus of AUV
LV Zhigang CAO Xiaolin
(No. 710 Research Institute, CSIC, Yichang 443003)
A communication bus system based on CAN(controller area network), RS422/232 protocol, which is internal communication bus system and meets the openness of AUV system is designed. A central control unit communication board that used by system has characteristics of modular, configurable and so on. AUV is composed of a number of actuators, corresponding to different CAN communication nodes. The structure of centralized control system is replaced by this kind of multi-node distributing control system, and the real time communication by CAN bus is realized. The experiments illustrate that the amount of communication wire can be reduced by implementing this king of structure, and the communication performance for the AUV system can be promoted remarkably.
controller area network, autonomous underwater vehicle, distributing control, network communication
2014年9月4日,
2014年10月23日
呂志剛,男,碩士,工程師,研究方向:水中兵器學(xué)。曹曉霖,女,編輯,研究方向:水中兵器學(xué)。
TB556
10.3969/j.issn1672-9730.2015.03.016