作者:王平;寧戀;王浩;華晨 來源:電子設計應用
EPA實時以太網是一種全新的適用于工業現場設備的開放性以太網標準。EPA交換機位于現場設備層和過程監控層的邊界上,作為下層網絡與上層網絡的入口,它不僅要實現EPA交換機的基本功能,還要實現相關的安全機制、冗余機制,是EPA安全網絡中必不可少的一個環節。因此,EPA交換機應具備轉發、鏈路冗余、組態、設備定位與隔離以及安全保護五種功能。
EPA交換機的轉發功能不僅能夠轉發自己獨立的協議類型(0X88BC)幀,而且也能夠轉發TCP/IP協議中的0X0800、0X0806等協議類型幀。EPA交換機基于MAC地址表來轉發數據,經過一次廣播,多次查MAC地址表來實現,主要通過EPA交換機交換芯片硬件來完成。
EPA交換機鏈路冗余功能保證了EPA工業現場網絡的高可靠運行。采用MRP協議(Media Redundancy Protocol),在EPA網絡中,一個EPA交換機充當MRM(Media Redundancy Manager)角色,兩個或以上交換機充當MRC(Media Redundancy Client)角色,通過對通信鏈路的管理,保證EPA工業現場設備層以及過程監控層之間EPA數據傳輸的可靠性。
EPA安全交換機是一個可組態的設備,因此在每個EPA安全交換機中擁有獨立的EPA協議棧用來與上位機的組態軟件進行通信。
對于設備定位與隔離功能,組態軟件用不同的ID標識不同的EPA交換機,設備發送的報文經過EPA交換機轉發到達上位機組態軟件前,EPA交換機會將其本身的ID加到報文的特殊字段中(可在報文保留的位置處定義),組態軟件通過解析該字段,即可知道其設備是從屬于哪個EPA交換機。這樣,當現場設備工作異常時,能在組態軟件中對該設備進行故障定位和隔離。
安全保護功能是指EPA交換機提供了相關的安全機制,如訪問控制、設備鑒別、用戶認證、數據加密以及數據校驗和包過濾技術等。
嵌入式EPA交換機的模塊結構
嵌入式EPA交換機功能決定了它的模塊結構。結合操作系統μc/os,EPA交換機將每個模塊劃分為相對獨立的模塊,采用任務分配的機制,即將每一個模塊抽象為一個任務,并結合實際的情況賦予不同的優先級,根據報文的不同調用相應的任務(即相應的模塊)進行報文處理,各個進程之間采用的是消息隊列或郵箱的通信機制,其模塊結構如圖1所示。
圖1 EPA交換機模塊結構
EPA交換機硬件設計
嵌入式EPA交換機的硬件設計主要有3個部分:CPU控制部分、以太網控制器處理部分和電源模塊。本交換機采用AT91R40008作為核心控制器,該芯片屬于AT91 16/32位處理器家族,它以ARM7TDMI內核為基礎。以太網控制器(MAC控制器)VT6512芯片是Layer2+層的單芯片。交換機硬件結構圖如圖2所示。
圖2 交換機硬件結構圖
IEEE 802.3af標準定義了一種允許通過以太網在傳輸數據的同時輸送直流電源的方法,它能安全可靠地將以太網供電(PoE)技術引入現有的網絡基礎設施中,并且和原有的網絡設備相兼容,這樣小型網路設備就可以通過以太網連接供電而無需使用外接電源。圖3所示為交換機某一端口總線供電的電路圖。
圖3 總線供電電路圖
通過開關電源模塊提供24V的直流電源。F1是一個自恢復保險絲,起到過流保護的作用。D9二極管是防止電源反接的保護,F9為壓敏電阻,起過壓保護的作用。C15、C141為一對旁路電容,使POW-A得到一個干凈的直流電源輸出。當接上負載時,LED點亮,表示供電正常。
交換機軟件設計
根據EPA工業控制網絡的特點,本文采用EPA交換機底層驅動部分、EPA安全部分和EPA交換機冗余功能部分來實現EPA交換機報文轉發;采用 μC/OS-II操作系統模塊為EPA交換機中的多任務提供調度和通信功能;采用TCP/IP模塊部分實現EPA交換機中對TCP/IP報文進行接收解析和發送的功能;采用EPA應用層通信協議棧部分實現EPA交換機的組態功能。交換機軟件功能模塊如圖4所示。
圖4 EPA交換機軟件功能模塊組成圖
EPA交換機報文接收轉發處理具體過程為:當EPA交換機某端口接收到網絡中的數據報文時,交與第二層交換引擎(MAC層處理芯片)處理。交換引擎根據報文中的源MAC地址更新MAC地址表,同時根據目的MAC地址作相應的處理。
交換機配置管理模塊的設計
交換機配置管理模塊主要是針對EPA交換機硬件平臺以及二層應用協議的管理與配置,其中包括生成樹協議(IEEE 802.1D)、GARP/GMRP/GVRP(IEEE 802.1D,IEEE 802.1Q)、鏈路聚合(IEEE 802.3ad)、流量控制(IEEE 802.3x)以及交換芯片的MAC地址、交換機端口速率使能等。該模塊的作用是使用戶根據需要配置使用EPA交換機的功能。EPA用戶通過上位機屏蔽或打開EPA交換機的某項功能,完成EPA網絡的數據通信。
底層驅動模塊
EPA交換機底層驅動模塊主要分為三個子模塊:BSP模塊、SSP模塊和定時器驅動模塊。
BSP模塊實現了對嵌入式實時操作系統的支持,使其能夠更好地運行于EPA交換機硬件之上。它具體負責上電時的硬件初始化、啟動嵌入式操作系統和應用程序模塊、提供底層硬件驅動,為上層軟件提供訪問底層硬件的手段。
SSP模塊主要實現了CPU與交換芯片的軟件接口,實現報文的發送與接收功能,對上層屏蔽了底層硬件具體的實現細節,為上層提供了應用接口。
定時器驅動為實現二層應用協議幀的發送與接收,設備聲明、設備鑒別等報文的定時重發以及EPA報文的調度和時間同步等系統所需要的定時提供了準確的時間。
TCP(UDP)/IP協議模塊和EPA協議棧模塊
EPA標準中規定EPA報文是封裝在UDP/IP協議之上的,而且具有自己獨立的幀協議類型號0x88BC,因此還需要設計與實現適用于EPA交換機的TCP(UDP)/IP協議棧模塊;設計EPA協議棧模塊的主要功能是完成過程監控層設備對EPA交換機的組態監控功能。
EPA網絡安全與功能安全模塊
安全機制模塊的主要作用是提供相關的安全機制,只有通過了安全機制的報文才能向上層傳送進行進一步的報文處理。否則將該報文丟棄。
在整個軟件系統中,各個模塊是通過嵌入式實時操作系統μC/OS-II提供的消息機制完成任務切換。
EPA安全交換機的測試
EPA交換機的安全轉發能力是其整體功能的重要體現,其性能好壞直接影響網絡的規模、穩定性以及擴展性。本文中測試環境由EPA安全交換機連接若干現場設備和測試機組成。測試系統如圖5所示。
圖5 EPA交換機測試系統
測試的性能指標包括吞吐量、丟包率、延遲測試。吞吐量測試用Sniffer按指定速率將不同長度包發送給EPA交換機,在發送端和接收端用 Ethereal統計接收到的包。如果發送和接收數據包數量相等,增加發包速率,如果不等則減少發包速率,然后測試重新開始。每次測試時長約為120s。在本文中,只是在最大傳輸速率下測試EPA路由設備的丟包率,即在最大傳輸速率情況下,按照指定字節數,用Sniffer持續發送指定長度字節數的數據報文,同時在發送端用Ethereal記錄發送數據包數量,在接收端統計接收到端口收到的包數量。EPA交換機延遲測試是在指定的幀大小情況下,用 Sniffer以被測設備的吞吐率連續發送一組幀,Ethereal會紀錄發送報文的時間以及數據報文通過EPA交換機并且轉發出去的時間,被測設備的延遲就是這兩個時間之差。測試結果表明,EPA安全交換機能夠有效實現轉發功能,并具有較低的轉發延遲,同時轉發丟包率滿足EPA協議的要求。
結語
作為現場設備層和過程控制監控層的連接設備,嵌入式EPA安全交換機扮演著重要角色。EPA安全交換機通過EPA協議以及軟件功能模塊的細化確保了數據通信的可靠傳輸,同時,它對網絡的級聯和現場低功耗設備供電也起到重要作用。
責任編輯:gt
-
芯片
+關注
關注
454文章
50460瀏覽量
421979 -
操作系統
+關注
關注
37文章
6747瀏覽量
123204 -
交換機
+關注
關注
21文章
2624瀏覽量
99287
發布評論請先 登錄
相關推薦
評論