利用FPGA完美實現以太網交換機組網
以太網交換機還是比較常用的,于是我研究了一下利用FPGA完美實現以太網交換機組網,在這里拿出來和大家分享一下,希望對大家有用。以太網的組網技術是工業市場中增長最快的技術之一。大多數工業以太網標準使用IEEE802.3標準以太網協議。
因此這些網絡能夠傳輸標準的網絡業務和實時數據。但每個標準都采用不同的技術來提供實時性能,一些采用定制硬件,一些利用定制軟件,還有的采用完全標準的以太網/TCP/IP實現。結果就出現了眾多不同等級性能、不同成本的互不兼容標準。
針對以太網協議非確定性通信時間的一個越來越普及的對策是在每個設備內實現一個本地時鐘。由于大多數設備都有微處理器及(相對)高速度的時鐘,因此這種方法比較容易實現。若能在整個網絡范圍內實現和保持精確的時鐘同步,同時控制整個系統的精確運作時序,那么該方法的唯一限制就是通信延時以及系統范圍內的時鐘同步精度。
這種系統控制方法不適合精確運動控制(如對負荷不斷變化的電機轉速的精確控制)等應用,因為它們要求控制器和設備間的通信延時很短,但它對需要高度同步系統級控制(如速度變化)的整個系統(比如一家大型印刷廠或一條很長的自動化生產線)的精確控制很有用。如果有足夠的時間給每臺設備發一條指令,則對這種基于時鐘的控制精度的唯一制約就是系統范圍內的時鐘同步精度。幾個工業網絡標準(不僅僅是基于互聯網的標準)正在采用IEEE1588標準來提供這種控制能力。IEEE1588提供了高度精確的主時鐘及經過驗證的時鐘同步機制,可用來生成所有本地時鐘,并與主時鐘保持非常精確的系統級同步。
基于以太網的網絡因其低成本以及以太網的易于實現而備受青睞。以太網交換機是有助于發揮這些優勢的關鍵部件,而企業系統也非常依賴它們實現高性能和易于維護的基礎架構。以太網交換機的這一巨大企業市場意味著它們很容易實現,而且成本低廉,但目前市場上的大多數以太網交換機不是針對低延時性能或確定性路由時間設計的,因此很難用于工業環境。
IEEE1588系統通過檢測主機和從機間通信延時來同步主機和從機的時鐘。在主機和從機時鐘之間安放一個交換機會引入額外延時,因為以太網交換機必須分析數據包然后再行路由。增加的延時不是好事,但對它可以進行延時修正,所以它并非主要問題。最大的問題是,當流量增加時,路由數據包所需的時間將急劇增加。
這是由于緩存、分析并將數據包路由至眾多目的地所需的時間引起的。這種變化極大降低了1588時鐘同步的精度,從而顯著惡化了對整個系統的實時控制性能。對1588主和從時鐘間延時的測量也依賴于兩個方向上通信時間的對稱,因為采用的測量方法是統計一個加有時間標記的信息由從時鐘到主時鐘再從主時鐘返回從時鐘所用的時間再除以2。在大多數以太網交換機和以太網網絡實現中,這種對稱性不太可能出現,從而進一步降低了時鐘同步的精度。
不過IEEE1588標準提供了該問題的解決之道:若以太網交換機本身也有時鐘,則可測量數據包路由所需的時間并將其整合進同步計算中。由于系統不需要這種功能,所以包含這類‘邊界’時鐘的以太網交換機很難看到,即使有一般也很貴,并且通常是為特定網絡實現定制的。隨著基于IEEE1588的網絡的迅速普及,針對如何在產品和網絡基礎架構中高效且高性價比地實現IEEE1588功能,制造商面臨著艱巨挑戰。
開發定制ASIC方案是可能的,但隨著ASIC開發成本的上升以及工業以太網標準的迅速變化,開發此類方案速度慢、風險高且不具成本效益。也可以采用微處理器和針對特定網絡協議的第三方ASIC或ASSP為每個協議開發解決方案,但此舉意味著為每種網絡標準實現單獨的解決方案,這樣做同樣既昂貴又沒效率。這些解決方案還可能面臨缺少靈活性和設備很快過時的問題。目前,設計師只能通過仔細地實現網絡,盡量減少以太網交換機的使用,或盡量減少實時性強的網絡流量來規避上述限制。這種網絡隔離措施可達到對某些應用來說能接受的性能水平,但它們難以實現或維護。
節省開發時間
用FPGA實現支持IEEE1588的以太網交換機是解決該問題的理想方案。Altera、國家半導體和MorethanIP公司各展所長,這三家公司聯合為工業以太網設計師提供了一個優化的八端口交換機設計,采用該設計可使工程開發時間縮短六到九個月。開發時間上的節省將使設備制造商在產品上市時間上搶得先機。
具有1588定時控制和可編程上行鏈路功能的以太網MAC內核和交換矩陣內核知識產權(IP)是由MorethanIPGmbH開發的。MorethanIP企業系統還提供了可在32位AlteraNiosIIRISC處理器軟核上運行的UDP和1588軟件協議棧。為了提供最佳的物理接口,該八端口以太網交換機設計選用了國家半導體企業系統的4個雙端口PHY收發器。
參考設計具有小于100ns的時鐘同步能力,可用于各種應用。這種等級的精度對滿足工業連接所需的苛刻通信延時和服務質量(QoS)要求來說是關鍵。目標應用包括采用Ethernet/IP、ProfiNet、EthernetPowerlink及其它以太網協議等不同工業標準的以太網交換機。
延長產品生命周期
FPGA的可編程能力是上述設計優勢的關鍵。從單一硬件平臺出發,設計師可以很容易地實現支持不同工業以太網協議(如EtherCAT、ProfiNet等)的以太網交換機。該開發板可支持同一系統內或來自相同以太網端口的不同工業以太網協議。
這是借助實現不同的媒體接入控制器(MAC)硬件模塊和嵌入式處理器軟件以支持不同以太網標準和IEEE1588功能來實現的。能方便地再利用以前設計的能力以及現成IP的可用性意味著與采用ASIC或ASSP器件的設計相比,基于FPGA的設計可在很短時間內生成一個支持新特性的配置。FPGA從一個串行閃存內加載硬件配置和嵌入式處理器軟件。在生產過程中甚至設備被交付到現場后,都可方便地通過改寫閃存內容來改變FPGA的硬件和軟件功能。
FPGA內的可編程硬件和軟件處理能力意味著設計師可以通過作為硬件或軟件的應用程序來整合所需的額外功能。通過簡單地再編程FPGA就可實現新功能的能力是對產品未來的保證(如支持IEEE1588v2.0),還能非常快速地將新特性呈獻給客戶。
因為FPGA的生命周期很長,設備制造商完全不用擔心潛在的器件終息風險。由于設計是基于IP的,所以將設計移植到下一代FPGA也比較方便,從而使設計師有可能從下一代FPGA產品可能更低的成本或更強的性能方面受益。加之容易進行現場升級的能力,使得FPGA實現成為很容易在整個產品周期內獲得支持的產品開發的最佳方式。該參考設計采用Altera的StratixIIFPGA,允許將全部NiosII處理器代碼儲存在片上存儲器內,不過成本更低的系統可以采用Altera企業系統的CycloneIII系列FPGA器件實現。