姚曉玲
摘 要:本文介紹了CAN總線的技術特點、CAN通訊協議的構成及拖纜遙控小艇系統結構,討論了CAN總線技術應用于拖纜遙控小艇的可行性及CAN控制節點軟硬件設計。
關鍵詞:CAN總線;遙控;小艇;硬件;軟件
中圖分類號:U666.1 文獻標識碼:A
1 概述
本文提出的基于CAN總線的系統設計方案是一種經濟有效的方案,既能提高系統可靠性,又能節約開發時間和成本。拖纜遙控小艇放置在母船甲板,執行任務時,母船將小艇吊放入水,小艇與母船之間主要通過一根電纜(CAN總線)保持實時數據傳輸和通信。一般情況下,根據小艇上固定監控攝像頭的實時視頻信息,由母船遙控小艇執行任務。
2 CAN總線簡介
CAN(Control Area Network),即控制器局域網,由德國Bosch公司最初為了汽車監控和控制系統而設計,其高性能及高可靠度吸引世界上眾多的著名汽車制造商采用此總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。由于CAN總線技術本身的特點,其應用范圍已經擴展到機械工業、紡織工業、農用機械、機器人、數控機床、醫療器械及傳感器等領域。
CAN屬于總線式串行通信設備,由于采用了許多新技術及獨特的設計,與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。其主要特點如下:
(1)通信方式靈活:CAN為多主方式工作,網絡上任一節點均可在任意時刻主動向網絡上其他節點發送信息,而不分主從,且無需站地址等節點信息;
(2)CAN節點信息可以分為不同的優先級,滿足不同的實時要求;
(3)CAN采用非破壞性總線仲裁技術,多個節點同時發送信息時,優先級低的節點會主動退出發送,保證優先級高的節點優先傳送數據,從而大大節省總線沖突仲裁時間;
(4)CAN總線通過報文濾波(根據報文的ID決定接受或屏蔽該報文)實現點對點、一點對多點及全局廣播;
(5)CAN直接通信距離可達10 km(傳輸速率5 kb/s以下),通信速率最高達1 Mb/s,此時通信距離最長40 m,CAN總線通信速率與傳輸距離的關系;
(6)CAN總線節點目前可達110個;
(7)CAN的每幀數據都有CRC校驗及其他檢錯措施,保證了數據通信的可靠性;
(8)發送的信息遭到破壞后,可自動重發,節點在錯誤嚴重的情況下能夠自動退出總線。
3 拖纜遙控小艇的系統組成
拖纜遙控小艇由供電控制分系統、舵機控制分系統、主推進電機分系統、視頻監測分系統、導航分系統、GPS定位系統、母船控制中心等組成。各分系統主要功能如下:
(1)供電控制分系統:使用可編程邏輯控制器,可對任何一個分系統進行供電控制;
(2)舵機控制分系統:接收來自母船控制中心的操舵指令,控制舵頁轉動,調整小艇的航向;
(3)主推進電機分系統:接收來自母船控制中心的指令,控制主推進螺旋槳正轉或反轉,使小艇前進或倒退;
(4)視頻監測分系統:在小艇桅桿、艇首等位置處安裝視頻監控攝像頭,向母船控制中心提供視頻信號,輔助操控人員實時了解小艇的狀況;
(5)導航分系統:由電羅經和姿態傳感器組成,向母船控制中心提供小艇的航向、縱搖和橫搖等信息;
(6)GPS分系統:向母船提供小艇位置信息;
(7)未來擴展分系統:根據小艇未來需要執行的任務,可隨時在總線上添加新的系統;
(8)母船控制中心:遙控操縱小艇時,從母船控制中心對小艇下達各項指令。
4 系統硬件設計與功能實現
供電控制分系統、舵機控制分系統、主推進電機分系統、導航分系統、GPS分系統由于其任務功能相對簡單,可采用飛利浦LPC21系列ARM控制器。該控制器是基于一個支持實時仿真和跟蹤的16/32位ARM微處理器,帶有128/256k字節嵌入的高速Flash存儲器,其集成2路CAN控制器、4路10位A/D轉換器和多個串行接口。
考慮視頻監測分系統數據量較大,總線占用率較高,只采用CAN總線對云臺轉動和鏡頭變焦轉換等相關控制信號進行傳輸,視頻監控圖像通過專用電纜傳輸。下位機的微處理器可采用P89C51單片機,控制器系統采用飛利浦SJA1000作為CAN通信控制器、82C250芯片作為CAN總線收發器。P89C51單片機負責CAN通信控制器的初始化,CAN通信控制器實現對云臺轉動和鏡頭變焦轉換等相關控制數據的接收和發送。
母船控制中心采用一臺工控機實現功能,系統中所有的命令都由該工控機給出,對各分系統的命令通過程序以數據的形式發出。
(1)基本CAN總線節點硬件電路設計
電路主要由四個部分構成:微控制器、獨立CAN通信控制器、CAN總線收發器、高速光電耦合器。
微處理器負責CAN通信控制器的初始化,通過控制CAN通信控制器實現數據的接收和發送等通訊任務。
(2)協議轉換硬件電路設計
在硬件設計中,協議轉換器有多種,如CAN到RS-232/RS-485協議轉換器、CAN到TCP/IP協議轉換器等。
內部通訊總線的協議轉換器,主要由以下幾部分組成:
① +5V DC電源線性穩壓電路;
② CAN驅動器電路;
③ 微控制器的石英振蕩器電路;
④ 電平轉換電路;
⑤ 其他電路。
+5V DC電源線性穩壓電路為整個協議轉換電路提供電源,穩定可靠的電源是整個協議轉換器正常工作的前提;CAN驅動器電路由CAN控制器和CAN驅動器構成。CAN的整個協議都由CAN控制器芯片及其上的固化程序來運行;微控制器是協議轉換器的核心及協議轉換器軟件的載體;電平轉換電路采用專用電平轉換芯片。
5 系統軟件設計與實現
(1)控制體系結構
拖纜遙控小艇的控制體系結構分為兩層:行為執行層和硬件驅動層。
母船控制中心屬于行為執行層,發出舵角指令、轉速指令等信息;
供電控制分系統、舵機控制分系統、主推電機分系統屬于硬件驅動層,完成指令到硬件的動作。
結合CAN總線協議的模型結構,根據軟件分層的思想,在以上協議的基礎上,將各種基本的CAN通信功能設計成接口函數,以便應用時直接調用。
CAN總線軟件結構模型主要包括:
初始化函數;接收函數;發送函數;中斷函數;錯誤處理函數等。
(2)通信協議規劃
其中,優先級部分D28~D26共3位,可表示8個報文優先級;D25~D16每位對應一個節點;D15~D12每位對應一個節點;D11:0表示模式報文,1表示數據報文;D10~D4可容納128種報文;D3~D0:0000表示該報文不帶數據。
拖纜遙控小艇的各分系統都有統一的對外接口——CAN接口,對系統的更改和優化在軟件層面可以實現,這樣使得系統既易于維護,又有著很好的移植性??偩€協議轉換器及其軟件為各個節點提供透明的數據傳輸功能,協議轉換器接收到節點設備傳來的消息后,將該消息加上發送標識符后轉發到總線上;另一方面,協議轉換器接收到帶有接收標識符的CAN幀后,可將其轉發給連接此協議轉換器的設備。
6 結論
從以上分析可以看出,采用CAN總線技術可以實現對小艇的遙控操作,并且明顯減少了系統之間的連線,未來需要擴展新系統時,只需將新系統通過CAN節點接入CAN總線即可。當需要增加設備之間傳遞的信息量時,不需要增加設備之間的連線,只需修改相關應用程序。另外,CAN總線可以實現信息共享,對于同一個信息,只需要在系統中設置一個提供該信息的采集單元,其他需要該信息的設備可以通過總線獲得。
參考文獻
[1] 饒運濤等.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出
版社,2007:11-18.
[2] 周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,
2008:112-113.
[3] 周立功,譯.CAN-bus規范V2.0版本[M].