国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)的設(shè)計

2016-11-04 12:35白艷祥沈文淵
艦船科學(xué)技術(shù) 2016年9期
關(guān)鍵詞:以太網(wǎng)網(wǎng)關(guān)串口

白艷祥,趙 旭,沈文淵

(中國船舶重工集團公司第七〇四研究所,上海 200031)

嵌入式船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)的設(shè)計

白艷祥,趙旭,沈文淵

(中國船舶重工集團公司第七〇四研究所,上海 200031)

為滿足船舶綜合信息平臺對全船各子系統(tǒng)或設(shè)備網(wǎng)絡(luò)互聯(lián)的需求,針對某型船網(wǎng)絡(luò)結(jié)構(gòu),基于W7100A 網(wǎng)絡(luò)微處理器 + CAN 控制器 SJA1000,設(shè)計船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān),給出具體的軟硬件設(shè)計方法。移植μC/OS-II嵌入式操作系統(tǒng),使數(shù)據(jù)傳輸具有很高的實時性,實現(xiàn)船舶以太網(wǎng)、CAN和RS485 三種網(wǎng)絡(luò)的互聯(lián)及數(shù)據(jù)的共享,該網(wǎng)關(guān)全部采用雙冗余的網(wǎng)絡(luò)結(jié)構(gòu),具備很高的可靠性。

船舶綜合信息平臺;網(wǎng)關(guān);嵌入式;以太網(wǎng)

0 引 言

電子技術(shù)、計算機技術(shù)、網(wǎng)絡(luò)技術(shù)在船舶中的廣泛應(yīng)用,加快了船舶自動化的進程,船舶自動化系統(tǒng)正在向船舶信息集成化方向發(fā)展—船舶綜合信息平臺管理系統(tǒng)(IPMS)[1]。船舶主推進系統(tǒng)、電站及電能管理系統(tǒng)、輔機系統(tǒng)、損管系統(tǒng)、船橋系統(tǒng)或設(shè)備都實現(xiàn)了智能化,但是不同的系統(tǒng)采用的組網(wǎng)方式不同,數(shù)據(jù)傳輸格式與協(xié)議不同,各系統(tǒng)間具有獨立性,無法實現(xiàn)全船聯(lián)網(wǎng)與數(shù)據(jù)共享[2]。船舶集成平臺管理系統(tǒng)中上層網(wǎng)傳輸數(shù)據(jù)量大,一般采用以太網(wǎng),現(xiàn)場層數(shù)據(jù)傳輸實時性要好,一般采用現(xiàn)場總線網(wǎng)或RS485 串口網(wǎng)絡(luò),本文針對某型船,開發(fā) Ethernet、CAN 現(xiàn)場總線及 RS485 串口綜合網(wǎng)關(guān),實現(xiàn)了 3種網(wǎng)絡(luò)的聯(lián)網(wǎng),采用嵌入式系統(tǒng)保證數(shù)據(jù)的實時性,CAN網(wǎng)絡(luò)和以太網(wǎng)分別采用雙冗余設(shè)計,保證了系統(tǒng)的可靠性,滿足船舶各系統(tǒng)及船舶集成平臺間的網(wǎng)絡(luò)互連,實現(xiàn)數(shù)據(jù)共享的要求[3]。

1 船舶綜合信息平臺網(wǎng)絡(luò)結(jié)構(gòu)及工作原理

圖1為某型船綜合信息平臺網(wǎng)絡(luò)結(jié)構(gòu)圖。主要包括系統(tǒng)或設(shè)備通信節(jié)點、Ethernet、CAN 總線、RS485串行總線和船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)。系統(tǒng)或設(shè)備通信節(jié)點包括船舶主推進系統(tǒng)、AIS 自動識別系統(tǒng)、視屏監(jiān)控系統(tǒng)、主推進系統(tǒng)、模擬操作系統(tǒng)、船橋系統(tǒng)等,所有設(shè)備通信節(jié)點通過 Ethernet、CAN 總線或 RS485 串行總線掛接到船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)上[4]。船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)實現(xiàn)不同設(shè)備通信節(jié)點的協(xié)議轉(zhuǎn)換與通訊連接,將船舶所有系統(tǒng)連接到統(tǒng)一的平臺之上,實現(xiàn)了全船網(wǎng)絡(luò)信息共享,使各系統(tǒng)協(xié)調(diào)配合工作,加強了船舶自身的安全性能。

圖1 船舶綜合信息平臺網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 Network structure of IPMS

2 船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)接口方案設(shè)計

船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)硬件結(jié)構(gòu)如圖2所示。主要包括以太網(wǎng)接口電路、CAN 接口電路及 RS485 接口電路。各接口電路均采取了相應(yīng)的隔離與保護措施[5]。

圖2 船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)結(jié)構(gòu)圖Fig. 2 The hardware block diagram of gateway

1)以太網(wǎng)接口電路。采用含有以太網(wǎng)控制器的微處理器 + 網(wǎng)絡(luò)變壓器 + RJ45 的形式,W7100A 網(wǎng)絡(luò)微處理器內(nèi)嵌全硬件的 TCP/IP 協(xié)議棧,支持 TCP,UDP等硬件協(xié)議,內(nèi)部集成 PHY 物理接口收發(fā)器,設(shè)計中只需要通過帶網(wǎng)絡(luò)變壓器的 RJ45 接口便可以與 10/100 M以太網(wǎng)連接。

2)CAN 接口電路。采用雙冗余的 CAN 總線結(jié)構(gòu),具體方案為:采用 2 套總線控制器 SJA1000和CAN 收發(fā)器 82C250。正常工作時,2 套控制器的初始化設(shè)置完全一致,兩路上傳送相同的數(shù)據(jù),當(dāng)一路出現(xiàn)故障時,另外一路能正常傳送數(shù)據(jù),不影響正常的通信,同時 CPU 對故障總線的控制器重新進行初始化,使其恢復(fù)正常。

3)RS485 接口電路。RS485 收發(fā)器選用MAX3485,硬件電路設(shè)計中采用了瞬態(tài)抑制二極管進行過壓保護。

3 船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)軟件設(shè)計

為提高數(shù)據(jù)傳輸?shù)膶崟r性,如圖3所示,整個軟件系統(tǒng)基于嵌入式操作系統(tǒng) μC/OS-II 利用 C 語言進行開發(fā),主要包括各接口的硬件驅(qū)動及協(xié)議轉(zhuǎn)換程序。由于移植了多任務(wù)嵌入式操作系統(tǒng)μC/OS-II,程序設(shè)計時只需將協(xié)議轉(zhuǎn)換程序劃分為幾個任務(wù)然后分別編寫實現(xiàn)代碼即可,簡化了開發(fā)流程,便于程序維護。在μC/OS-II 系統(tǒng)滴答函數(shù) OSTimeTick()中調(diào)用了時鐘節(jié)拍鉤子函數(shù) OSTimTickHook(),用來實現(xiàn)網(wǎng)關(guān)模塊的運行狀態(tài)指示,若運行指示燈不閃爍表明網(wǎng)關(guān)死機[6]。

圖3 船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)軟件架構(gòu)Fig. 3 The software architecture of gateway

3.1各通信接口驅(qū)動程序設(shè)計

1)以太網(wǎng)接口驅(qū)動程序設(shè)計

由于 W7100A 網(wǎng)絡(luò)微處理器內(nèi)嵌了全硬件的TCP/IP 協(xié)議棧,并且支持 UDP和TCP 兩種工作方式,數(shù)據(jù)通信的出棧和進棧以及以太網(wǎng)幀的封裝和解包等以太網(wǎng)數(shù)據(jù)處理過程全都在硬件 TCP/IP 協(xié)議棧中完成。故在該部分程序的設(shè)計中不需要 TCP/IP 協(xié)議集代碼的編寫,只需要進行比較簡單的網(wǎng)絡(luò)端口(Socket)編程即可。本系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性要求較高,故采用的是 UDP 通信方式。

2)CAN 接口驅(qū)動程序設(shè)計

CAN 通信程序主要包括:初始化程序、CAN 數(shù)據(jù)發(fā)送程序及CAN 數(shù)據(jù)接收程序幾部分。初始化程序主要完成波特率的設(shè)置、控制器 CAN 模式的選擇、中斷的開啟及配置驗收濾波器等。CAN 控制器 SJA1000 會自動完成 CAN 數(shù)據(jù)報幀的封裝與拆包,用戶編寫的收發(fā)程序只需完成對 SJA1000 數(shù)據(jù)寄存器的讀寫。

3)RS485 接口驅(qū)動程序設(shè)計。

RS485 數(shù)據(jù)收發(fā)程序?qū)嵸|(zhì)上是微處理器 UART 的數(shù)據(jù)收發(fā)。串口驅(qū)動程序主要包括串口初始化和串口收發(fā)程序。初始化程序主要完成串口的通訊波特率、停止位、校驗位及收發(fā)中斷等參數(shù)的配置。串口收發(fā)程序采用中斷的方式完成,即在串口中斷服務(wù)程序中完成函數(shù)的收發(fā),對數(shù)據(jù)緩沖區(qū)的讀寫。

3.2協(xié)議轉(zhuǎn)換程序任務(wù)劃分及任務(wù)之間的通信與同步設(shè)計

各通信接口的驅(qū)動程序已經(jīng)實現(xiàn)了各總線數(shù)據(jù)幀的收發(fā)功能。在協(xié)議轉(zhuǎn)換程序開發(fā)中主要完成的是數(shù)據(jù)的讀寫和幀格式的轉(zhuǎn)換。如圖4為協(xié)議轉(zhuǎn)換程序流程圖,劃分了 CanData_T_Task、TCPData_T_Task和URTData_T_Task 三個協(xié)議轉(zhuǎn)換與發(fā)送任務(wù),分別將接收到的數(shù)據(jù)封裝成 CAN 報文、以太網(wǎng)幀和串口數(shù)據(jù)幀格式并將其發(fā)送出去,各接口數(shù)據(jù)的接收全部在各自的中斷服務(wù)程序中完成。此外,還設(shè)計了一個網(wǎng)關(guān)模塊的以太網(wǎng)參數(shù)配置任務(wù) SetPrameter_Task,用于配置IP 地址,端口號及 MAC 地址等參數(shù)。系統(tǒng)的起始任務(wù) Gateway_Start_Task 主要是完成上述幀格式封裝與發(fā)送任務(wù)以及以太網(wǎng)參數(shù)配置任務(wù)的創(chuàng)建與激活、W7100A 初始化、各通信接口的參數(shù)配置以及系統(tǒng)節(jié)拍的開啟。起始任務(wù)完成上述工作后便調(diào)用任務(wù)掛起函數(shù) OSTaskSuspend(OS_PRIO_SELF)將自身掛起不再運行[7]。

圖4 協(xié)議轉(zhuǎn)換任務(wù)流程圖Fig. 4 The flow chart of protocol conversion task

任務(wù)設(shè)計中將 CanData_T_Task 優(yōu)先級設(shè)為最高為3,其次 TCPData_T_Task 優(yōu)先級為4,最后URTData_T_Task 優(yōu)先級為5。系統(tǒng)的起始任務(wù)優(yōu)先級為0,運行后將自身掛起進入睡眠狀態(tài)不再運行。

任務(wù)設(shè)計中使用了信號量進行中斷程序與任務(wù)之間的同步與通信。數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)同步機制如圖5所示。定義數(shù)據(jù)的第一字節(jié)標(biāo)志數(shù)據(jù)流向。例如當(dāng)接收以太網(wǎng) UDP 數(shù)據(jù)報時,00 表示接收到的是以太網(wǎng)參數(shù)配置命令,此時調(diào)用函數(shù) OSSemPost()發(fā)送信號量SetPrameter_sem,以太網(wǎng)參數(shù)配置任務(wù)使用 OSSem-Pend()獲得信號量 SetPrameter_sem 后被喚醒,執(zhí)行參數(shù)配置程序;FF 表示要將以太網(wǎng)數(shù)據(jù)發(fā)送到 CAN總線,此時將有效的以太網(wǎng)數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū),并發(fā)送信號量 CanTx_sem,同樣 CAN 數(shù)據(jù)幀封裝與轉(zhuǎn)換任務(wù)被喚醒,將以太網(wǎng)數(shù)據(jù)幀封裝成 CAN 數(shù)據(jù)報并發(fā)送到 CAN 總線上。

3.3船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)通信協(xié)議設(shè)計

船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)通信協(xié)議設(shè)計主要是基于應(yīng)用層的協(xié)議設(shè)計,CAN、Ethernet和RS485 采用統(tǒng)一的協(xié)議格式。CAN 協(xié)議采用 2.0B 版本的 29位標(biāo)識符的擴展幀格式,加上 3位標(biāo)識符正好為4個字節(jié),再加上CAN 標(biāo)準(zhǔn)協(xié)議格式中的 8個數(shù)據(jù)字節(jié)正好為12個字節(jié)(見表1),各通信方式均采用 12個有效字節(jié)。其中第 1個字節(jié)標(biāo)志數(shù)據(jù)要傳輸?shù)胶畏N網(wǎng)絡(luò)(11 代表RS485,F(xiàn)F 代表 CAN 總線,F(xiàn)1 代表以太網(wǎng)),第 2 字節(jié)為設(shè)備或系統(tǒng)標(biāo)識碼,第 3~12 字節(jié)為具體的數(shù)據(jù)。

4 船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)以太網(wǎng)冗余設(shè)計

船舶網(wǎng)絡(luò)綜合網(wǎng)關(guān)具有以太網(wǎng)冗余功能,使用該設(shè)備構(gòu)建的網(wǎng)絡(luò)具有很高的可靠性和自愈能力[8]。

要實現(xiàn)以太網(wǎng)冗余,需要 2個或 2個以上的網(wǎng)關(guān)模塊配合使用,并且都工作在 UDP 工作模式下,其他網(wǎng)絡(luò)參數(shù)設(shè)置要保持完全相同。綜合網(wǎng)關(guān)通過控制其內(nèi)部繼電器的開啟和閉合來控制后續(xù)設(shè)備的上電和下電,最終實現(xiàn)以太網(wǎng)的冗余。要使用網(wǎng)關(guān)模塊的以太網(wǎng)冗余功能,需要按照圖6所示的連接方式供電。

以太網(wǎng)冗余功能的實現(xiàn)流程如圖7所示,給系統(tǒng)上電后,默認(rèn)情況下網(wǎng)關(guān)模塊會打開開關(guān)(繼電器),防止對后續(xù)的模塊供電,隨后綜合網(wǎng)關(guān)就開始自動檢測網(wǎng)絡(luò)是否連接正常,如果檢測到網(wǎng)絡(luò)連接正常,就會維持繼電器的打開狀態(tài),不對后續(xù)的模塊供電。否則就會閉合繼電器,對后續(xù)的模塊供電,啟用后續(xù)的模塊。同時,還會定期檢測網(wǎng)絡(luò)連接是否恢復(fù),如果網(wǎng)絡(luò)恢復(fù)連接,就打開繼電器,切斷后續(xù)模塊的電源,啟用本設(shè)備。

圖5 協(xié)議轉(zhuǎn)換任務(wù)同步機制流程圖Fig. 5 The flow chart of task synchronization mechanism

表1 通信協(xié)議解析表Tab. 1 The communication protocol analysis table

圖6 以太網(wǎng)冗余原理圖Fig. 6 The schematic diagram of Ethernet redundancy

圖7 冗余以太網(wǎng)工作流程圖Fig. 7 The flow chart of redundant Ethernet

5 結(jié) 語

隨著船舶自動化技術(shù)的不斷進步,船舶自動化產(chǎn)品進一步向數(shù)字化與網(wǎng)絡(luò)化發(fā)展,構(gòu)造網(wǎng)絡(luò)集成的船舶綜合信息平臺己成為一種必然趨勢,實現(xiàn)船舶所有系統(tǒng)網(wǎng)絡(luò)化及信息共享是現(xiàn)代船舶網(wǎng)絡(luò)發(fā)展的需要。本文針對某型船網(wǎng)絡(luò)結(jié)構(gòu)形式,采用嵌入式 W7100A網(wǎng)絡(luò)微處理器 + SJA1000CAN 控制器形式,基于μC/OS-II 嵌入式操作系統(tǒng)的方案開發(fā)的以太網(wǎng)、CAN與串口協(xié)議轉(zhuǎn)換器在某型船的應(yīng)用能夠?qū)崿F(xiàn) 3種網(wǎng)絡(luò)的互連,實現(xiàn)船舶各系統(tǒng)或設(shè)備之間數(shù)據(jù)共享,具有很高的實時性,雙冗余的網(wǎng)絡(luò)結(jié)構(gòu)確保了綜合信息平臺的可靠性。

[1]任悅琴, 徐慧. 艦船綜合平臺管理系統(tǒng)[J]. 艦船科學(xué)技術(shù),2005, 27(6): 105-108. REN Yue-qin, XU Hui. Development of integrated platform management system[J]. Ship Science and Technology, 2005,27(6): 105-108.

[2]夏學(xué)知, 吳向軍, 張子鶴. 船舶一體化網(wǎng)絡(luò)系統(tǒng)技術(shù)研究[J].船舶工程, 2005, 27(2): 54-57. XIA Xue-zhi, WU Xiang-jun, ZHANG Zi-he. Research on ship borne integrated network system[J]. Ship Engineering, 2005,27(2): 54-57.

[3]周震, 雷志廣. 基于Ethernet的冗余CAN總線協(xié)議轉(zhuǎn)換器設(shè)計[J]. 計算機技術(shù)與發(fā)展, 2013, 23(3): 249-253. ZHOU Zhen, LEI Zhi-guang. Design of CAN Bus protocol convertor based on Ethernet[J]. Computer Technology and Development, 2013, 23(3): 249-253.

[4]馮亮. 信息技術(shù)下的艦船動力設(shè)備綜合性能研究[J]. 艦船科學(xué)技術(shù), 2014, 36(12): 62-65. FENG Liang. Research of control strategy for source converter in integrated ship power system[J]. Ship Science and Technology, 2014, 36(12): 62-65.

[5]吳向軍. 艦船綜合平臺管理系統(tǒng)網(wǎng)絡(luò)通信與集成技術(shù)研究[J].艦船電子工程, 2005, 25(5): 47-51. WU Xiang-jun. Researches on network and integration technology of ship's integrated platform management system[J]. Ship Electronic Engineering, 2005, 25(5): 47-51.

[6]段新, 褚健, 施一明. 船舶綜合數(shù)字信息系統(tǒng)研究與探討[J].中國造船, 2010, 51(1): 183-190. DUAN Xin, CHU Jian, SHI Yi-ming. Research and discussion on integrated digital information system for ship[J]. Shipbuilding of China, 2010, 51(1): 183-190.

[7]萬軍, 陳凱華. 船舶導(dǎo)航信息系統(tǒng)接口設(shè)計[J]. 艦船科學(xué)技術(shù),2015, 37(1): 204-208. WAN Jun, CHEN Kai-hua. Research and design of interface in marine navigation information system[J]. Ship Science and Technology, 2015, 37(1): 204-208.

[8]趙德福. 基于云計算的船舶動態(tài)監(jiān)控系統(tǒng)設(shè)計[J]. 艦船科學(xué)技術(shù), 2014, 36(12): 120-123. ZHAO De-fu. Ship dynamic monitoring system design based on cloud computing[J]. Ship Science and Technology, 2014,36(12): 120-123.

Design of embedded ship integrated network gateway

BAI Yan-xiang, ZHAO Xu, SHEN Wen-yuan
(The 704 Research Institute of CSIC. Shanghai 200031, China)

In this paper, a marine network protocol converter based on W7100A is designed to meet the demand of the Integrated Platform Management System for each subsystem or device internetworking. Ethernet, CAN and RS485 protocol conversion is realized. The hardware design and software program design of related interfaces are described. The μC/OS-II embedded operating system is successfully transplanted and this can achieve the high real-time transmission of field data. The design achieves interconnection of the three networks and data sharing. The protocol converter uses dual-redundant network structure with very high reliability.

ship's integrated platform management system;gateway;embedded system;ethernet

U665.261

A

1672-7619(2016)09-0096-05

10.3404/j.issn.1672-7619.2016.09.019

2016-03-22;

2016-04-20

白艷祥(1989-),男,助理工程師,主要從事特種推進器和動力系統(tǒng)集成設(shè)計。

猜你喜歡
以太網(wǎng)網(wǎng)關(guān)串口
基于FPGA的工業(yè)TSN融合網(wǎng)關(guān)設(shè)計
基于NPORT的地面綜合氣象觀測系統(tǒng)通信測試方法及故障處理
一種主從冗余網(wǎng)關(guān)的故障模式分析與處理
基于API函數(shù)庫實現(xiàn)串口數(shù)據(jù)通信的分析與設(shè)計
基于EM9000工控板高性能雙串口通信模型設(shè)計與實現(xiàn)
基于6LoWPAN的嵌入式多網(wǎng)關(guān)系統(tǒng)設(shè)計與實現(xiàn)
天地一體化網(wǎng)絡(luò)地面軟網(wǎng)關(guān)技術(shù)及其應(yīng)用
船舶電子設(shè)備串口數(shù)據(jù)的軟件共享方法
三大因素驅(qū)動創(chuàng)新提速以太網(wǎng)快步邁入“靈活”時代
三大因素驅(qū)動創(chuàng)新提速 以太網(wǎng)快步邁入“靈活”時代
祁连县| 桃源县| 天长市| 巨野县| 四川省| 秀山| 玛纳斯县| 南澳县| 丹寨县| 永兴县| 卢龙县| 綦江县| 台北市| 会东县| 通州区| 齐齐哈尔市| 定边县| 平安县| 洱源县| 类乌齐县| 久治县| 玉溪市| 乡城县| 阳山县| 毕节市| 广水市| 云霄县| 平陆县| 德庆县| 武川县| 云南省| 平邑县| 康平县| 色达县| 涿鹿县| 改则县| 呼和浩特市| 嘉黎县| 明星| 舒城县| 通道|