利用FPGA實(shí)現工業(yè)以太網(wǎng)交換機設計優(yōu)化
針對以太網(wǎng)協(xié)議非確定性通信時(shí)間的一個(gè)越來(lái)越普及的對策是在每個(gè)設備內實(shí)現一個(gè)本地時(shí)鐘。由于大多數設備都有微處理器及(相對)高速度的時(shí)鐘,因此這種方法比較容易實(shí)現。若能在整個(gè)網(wǎng)絡(luò )范圍內實(shí)現和保持精確的時(shí)鐘同步,同時(shí)控制整個(gè)系統的精確運作時(shí)序,那么該方法的唯一限制就是通信延時(shí)以及系統范圍內的時(shí)鐘同步精度。
這種系統控制方法不適合精確運動(dòng)控制(如對負荷不斷變化的電機轉速的精確控制)等應用,因為它們要求控制器和設備間的通信延時(shí)很短,但它對需要高度同步系統級控制(如速度變化)的整個(gè)系統(比如一家大型印刷廠(chǎng)或一條很長(cháng)的自動(dòng)化生產(chǎn)線(xiàn))的精確控制很有用。如果有足夠的時(shí)間給每臺設備發(fā)一條指令,則對這種基于時(shí)鐘的控制精度的唯一制約就是系統范圍內的時(shí)鐘同步精度。
幾個(gè)工業(yè)網(wǎng)絡(luò )標準(不僅僅是基于互聯(lián)網(wǎng)的標準)正在采用IEEE 1588標準來(lái)提供這種控制能力。IEEE 1588提供了高度精確的主時(shí)鐘及經(jīng)過(guò)驗證的時(shí)鐘同步機制,可用來(lái)生成所有本地時(shí)鐘,并與主時(shí)鐘保持非常精確的系統級同步。
基于以太網(wǎng)的網(wǎng)絡(luò )因其低成本以及以太網(wǎng)的易于實(shí)現而備受青睞。以太網(wǎng)交換機是有助于發(fā)揮這些優(yōu)勢的關(guān)鍵部件,而企業(yè)系統也非常依賴(lài)它們實(shí)現高性能和易于維護的基礎架構。交換機的這一巨大企業(yè)市場(chǎng)意味著(zhù)它們很容易實(shí)現,而且成本低廉,但目前市場(chǎng)上的大多數交換機不是針對低延時(shí)性能或確定性路由時(shí)間設計的,因此很難用于工業(yè)環(huán)境。
IEEE 1588系統通過(guò)檢測主機和從機間通信延時(shí)來(lái)同步主機和從機的時(shí)鐘。在主機和從機時(shí)鐘之間安放一個(gè)交換機會(huì )引入額外延時(shí),因為交換機必須分析數據包然后再行路由。增加的延時(shí)不是好事,但對它可以進(jìn)行延時(shí)修正,所以它并非主要問(wèn)題。最大的問(wèn)題是,當流量增加時(shí),路由數據包所需的時(shí)間將急劇增加。
這是由于緩存、分析并將數據包路由至眾多目的地所需的時(shí)間引起的。這種變化極大降低了1588時(shí)鐘同步的精度,從而顯著(zhù)惡化了對整個(gè)系統的實(shí)時(shí)控制性能。對1588主和從時(shí)鐘間延時(shí)的測量也依賴(lài)于兩個(gè)方向上通信時(shí)間的對稱(chēng),因為采用的測量方法是統計一個(gè)加有時(shí)間標記的信息由從時(shí)鐘到主時(shí)鐘再從主時(shí)鐘返回從時(shí)鐘所用的時(shí)間再除以2。在大多數交換機和以太網(wǎng)網(wǎng)絡(luò )實(shí)現中,這種對稱(chēng)性不太可能出現,從而進(jìn)一步降低了時(shí)鐘同步的精度。
圖1:典型的邊界時(shí)鐘應用框圖。
不過(guò)IEEE 1588標準提供了該問(wèn)題的解決之道:若交換機本身也有時(shí)鐘(圖1所示),則可測量數據包路由所需的時(shí)間并將其整合進(jìn)同步計算中。由于系統不需要這種功能,所以包含這類(lèi)‘邊界’時(shí)鐘的交換機很難看到,即使有一般也很貴,并且通常是為特定網(wǎng)絡(luò )實(shí)現定制的。隨著(zhù)基于IEEE 1588的網(wǎng)絡(luò )的迅速普及,針對如何在產(chǎn)品和網(wǎng)絡(luò )基礎架構中高效且高性?xún)r(jià)比地實(shí)現IEEE 1588功能,制造商面臨著(zhù)艱巨挑戰。
開(kāi)發(fā)定制ASIC方案是可能的,但隨著(zhù)ASIC開(kāi)發(fā)成本的上升以及工業(yè)以太網(wǎng)標準的迅速變化,開(kāi)發(fā)此類(lèi)方案速度慢、風(fēng)險高且不具成本效益。也可以采用微處理器和針對特定網(wǎng)絡(luò )協(xié)議的第三方ASIC或ASSP為每個(gè)協(xié)議開(kāi)發(fā)解決方案,但此舉意味著(zhù)為每種網(wǎng)絡(luò )標準實(shí)現單獨的解決方案,這樣做同樣既昂貴又沒(méi)效率。這些解決方案還可能面臨缺少靈活性和設備很快過(guò)時(shí)的問(wèn)題。
目前,設計師只能通過(guò)仔細地實(shí)現網(wǎng)絡(luò ),盡量減少交換機的使用,或盡量減少實(shí)時(shí)性強的網(wǎng)絡(luò )流量來(lái)規避上述限制。這種網(wǎng)絡(luò )隔離措施可達到對某些應用來(lái)說(shuō)能接受的性能水平,但它們難以實(shí)現或維護。
節省開(kāi)發(fā)時(shí)間
用FPGA實(shí)現支持IEEE 1588的交換機是解決該問(wèn)題的理想方案。Altera、國家半導體和MorethanIP公司各展所長(cháng),這三家公司聯(lián)合為工業(yè)以太網(wǎng)設計師提供了一個(gè)優(yōu)化的八端口交換機設計,采用該設計可使工程開(kāi)發(fā)時(shí)間縮短六到九個(gè)月。開(kāi)發(fā)時(shí)間上的節省將使設備制造商在產(chǎn)品上市時(shí)間上搶得先機。
圖2:具有IEEE 1588時(shí)序控制功能的八端口交換機開(kāi)發(fā)板。
圖2顯示的是MorethanIP企業(yè)系統基于A(yíng)ltera的Stratix II FPGA開(kāi)發(fā)的帶嵌入式IEEE 1588功能的開(kāi)發(fā)板。該開(kāi)發(fā)板所附的參考設計通過(guò)一種簡(jiǎn)單高性?xún)r(jià)比的方式實(shí)現了支持IEEE 1588的交換機,并且很容易修改而迎合其它系統及快速變化的市場(chǎng)需求。這些優(yōu)勢是都是憑借FPGA的靈活性以及FPGA設計內集成的一個(gè)32位RISC處理器實(shí)現的。
具有1588定時(shí)控制和可編程上行鏈路功能的以太網(wǎng)MAC內核和交換矩陣內核知識產(chǎn)權(IP)是由MorethanIP GmbH開(kāi)發(fā)的。MorethanIP企業(yè)系統還提供了可在32位AlteraNios II RISC處理器軟核上運行的UDP和1588軟件協(xié)議棧。為了提供最佳的物理接口,該八端口交換機設計選用了國家半導體企業(yè)系統的4個(gè)雙端口PHY收發(fā)器。
參考設計具有小于100ns的時(shí)鐘同步能力,可用于各種應用。這種等級的精度對滿(mǎn)足工業(yè)連接所需的苛刻通信延時(shí)和服務(wù)質(zhì)量(QoS)要求來(lái)說(shuō)是關(guān)鍵。目標應用包括采用Ethernet/IP、ProfiNet、Ethernet Powerlink及其它以太網(wǎng)協(xié)議等不同工業(yè)標準的交換機。
延長(cháng)產(chǎn)品生命周期
FPGA的可編程能力是上述設計優(yōu)勢的關(guān)鍵。從單一硬件平臺出發(fā),設計師可以很容易地實(shí)現支持不同工業(yè)以太網(wǎng)協(xié)議(如EtherCAT、 ProfiNet等)的交換機。該開(kāi)發(fā)板可支持同一系統內或來(lái)自相同以太網(wǎng)端口的不同工業(yè)以太網(wǎng)協(xié)議。
這是借助實(shí)現不同的媒體接入控制器(MAC)硬件模塊和嵌入式處理器軟件以支持不同以太網(wǎng)標準和IEEE 1588功能來(lái)實(shí)現的。能方便地再利用以前設計的能力以及現成IP的可用性意味著(zhù)與采用ASIC或ASSP器件的設計相比,基于FPGA的設計可在很短時(shí)間內生成一個(gè)支持新特性的配置。
FPGA從一個(gè)串行閃存內加載硬件配置和嵌入式處理器軟件。在生產(chǎn)過(guò)程中甚至設備被交付到現場(chǎng)后,都可方便地通過(guò)改寫(xiě)閃存內容來(lái)改變FPGA的硬件和軟件功能。
FPGA內的可編程硬件和軟件處理能力意味著(zhù)設計師可以通過(guò)作為硬件或軟件的應用程序來(lái)整合所需的額外功能。通過(guò)簡(jiǎn)單地再編程FPGA就可實(shí)現新功能的能力是對產(chǎn)品未來(lái)的保證(如支持IEEE 1588 v2.0),還能非??焖俚貙⑿绿匦猿诗I給客戶(hù)。
因為FPGA的生命周期很長(cháng),設備制造商完全不用擔心潛在的器件終息風(fēng)險。由于設計是基于IP的,所以將設計移植到下一代FPGA也比較方便,從而使設計師有可能從下一代FPGA產(chǎn)品可能更低的成本或更強的性能方面受益。加之容易進(jìn)行現場(chǎng)升級的能力,使得FPGA實(shí)現成為很容易在整個(gè)產(chǎn)品周期內獲得支持的產(chǎn)品開(kāi)發(fā)的最佳方式。
該參考設計采用Altera的 Stratix II FPGA,允許將全部Nios II處理器代碼儲存在片上存儲器內,不過(guò)成本更低的系統可以采用Altera企業(yè)系統的Cyclone III系列FPGA器件實(shí)現。
嵌入式交換矩陣IP
圖3顯示的是MorethanIP GmbH企業(yè)系統的嵌入式八端口交換矩陣,它包含8個(gè)符合以太網(wǎng)802.3規范的10/100Mbps MAC,每個(gè)MAC都支持IEEE 1588,這意味著(zhù)它可以采用來(lái)自可編程定時(shí)器的本地同步高精度時(shí)鐘給每個(gè)進(jìn)來(lái)的1588數據幀“蓋”以時(shí)間標記。
圖3:符合IEEE 1588標準的MorethanIP公司八端口交換機架構框圖。
為實(shí)現邊界時(shí)鐘應用,交換機設計同時(shí)實(shí)現了IEEE 1588 V1主應用和從應用。與主機通信的端口被自動(dòng)配置為從端口。嵌入式1588應用程序經(jīng)從端口生成一個(gè)精確時(shí)鐘,并將該時(shí)鐘信息前轉送到被自動(dòng)配置為主端口的其它端口。與可編程定時(shí)器的緊密整合確保了該時(shí)鐘與主時(shí)鐘的同步精度在100ns以?xún)取?
在交換機內,每端口可最多實(shí)現兩個(gè)按優(yōu)先級排列的隊列,以便為關(guān)鍵服務(wù)提供服務(wù)質(zhì)量(QoS)保證。交換機還能通過(guò)編程并利用3位VLAN優(yōu)先級字段、6位 DiffServ第三層代碼點(diǎn)(IPv4)或8位服務(wù)類(lèi)別(IPv6)對流量進(jìn)行識別和分配優(yōu)先級。
交換機設計支持IEEE 1588版本1邊界和版本2透明時(shí)鐘應用??蓪υ撛O計作進(jìn)一步修改和強化以增加定制邏輯,例如在傳統協(xié)議或PCI等不同系統接口上增加橋接應用軟件,從而方便將交換機集成進(jìn)現有系統。
圖4:包括軟件和硬件在內的IEEE 1588框圖。
在該設計中,Nios II嵌入式處理器支持交換機的IP配置和管理,并能運行用戶(hù)數據報協(xié)議(UDP)棧、IEEE 1588協(xié)議棧和精確的時(shí)序同步,并支持雙路10/100 PHY收發(fā)器的PHY管理和線(xiàn)路診斷功能(如圖4所示)。嵌入式處理器還可用于高層組網(wǎng)功能,如運行生成樹(shù)和快速生成樹(shù)算法以及終結TCP/IP鏈接。生成樹(shù)協(xié)議 (STP)和快速生成樹(shù)協(xié)議(RSTP)是鏈路管理協(xié)議,它們支持路徑冗余,可防止網(wǎng)絡(luò )內出現不需要的環(huán)路(要使工業(yè)以太網(wǎng)絡(luò )正常工作,兩個(gè)節點(diǎn)間只能有一條有效路徑)。
PHY收發(fā)器
圖5:美國國家半導體公司的PHY收發(fā)器框圖。
每個(gè)收發(fā)器都有兩個(gè)完全獨立的10/100Mbps端口供多端口應用使用,如圖5所示。該收發(fā)器的端口切換還允許兩個(gè)端口經(jīng)配置提供完全集成的范圍擴展、介質(zhì)轉換、基于硬件的快達ns級的故障切換(fail-over)以及端口監測功能。
該器件整合了用于公共工業(yè)以太網(wǎng)拓撲的多端口支持。特別是設計師要獲得對不同應用的冗余支持,需要具備在各種條件下處理故障切換的能力。從一個(gè)網(wǎng)絡(luò )棧切換到另一個(gè)網(wǎng)絡(luò )棧需要不短于幾百毫秒的時(shí)間,但一些應用(如安全應用)需要極其迅速地、最好是在PHY層實(shí)現的故障切換。該參考設計內的收發(fā)器從一個(gè)端口切換至另一個(gè)端口的時(shí)間是ns級,即使主機仍管理著(zhù)控制路徑。收發(fā)器信號路徑中的架構改進(jìn)使性能遠遠超過(guò)了最低PHY層規范要求,完全可以解決抖動(dòng)和延時(shí)等設計問(wèn)題。每個(gè)以太網(wǎng)PHY層由一個(gè)參考時(shí)鐘驅動(dòng)。為了盡量減小抖動(dòng),PHY層規范要求采用極其精確的時(shí)鐘,其精度要在收發(fā)器25MHz參考時(shí)鐘的50PPM以?xún)?。另外,為了滿(mǎn)足規范要求,起始抖動(dòng)必須非常小。為了解決這個(gè)問(wèn)題,架構內整合了一個(gè)容忍更大抖動(dòng)的機制。器件架構還針對實(shí)時(shí)以太網(wǎng)操作優(yōu)化了延時(shí)性能,以確保把交換機延時(shí)降至最小。
在許多實(shí)時(shí)系統實(shí)現中,以太網(wǎng)包數據傳輸延時(shí)對正常的系統運作來(lái)說(shuō)是個(gè)重要參數,而以太網(wǎng)PHY內固定或可變的發(fā)送或接收延時(shí)將成為系統延時(shí)計算中的重要組成部分。
PHY收發(fā)器的設計以限制接收數據延時(shí)的變化為出發(fā)點(diǎn),這樣就可提供非常確定的系統延時(shí)。因為接收數據與接收時(shí)鐘對齊,所以規避了器件接收數據時(shí)通常會(huì )遇到的非確定性因素。因此在MII和RMII模式時(shí)器件可以提供極具確定性的接收數據延時(shí)。另外,收發(fā)器能夠減少發(fā)送RMII延時(shí)中常見(jiàn)的非確定可能性。
另一個(gè)重要的設計特性是內置的電纜診斷功能,該特性給收發(fā)器采用的傳統時(shí)域反射(TDR)方法增加了前瞻性的診斷功能。新創(chuàng )的故障隔離功能可以借助收發(fā)器的強大信號處理能力在數據傳送的同時(shí)跟蹤鏈路質(zhì)量。這種極具魯棒性的TDR實(shí)現方法是將脈沖從接收或發(fā)送導線(xiàn)對送出,并觀(guān)察這兩個(gè)線(xiàn)對上的結果。通過(guò)觀(guān)察每對線(xiàn)上的反射信號類(lèi)型和強度,并通過(guò)軟件計算即可確定電纜的短路和開(kāi)路狀況、故障點(diǎn)的距離,并確定哪一對有問(wèn)題以及線(xiàn)對偏移。積極主動(dòng)地監測并修正變化或惡化的鏈接質(zhì)量可縮短系統的停歇時(shí)間,節省昂貴的維修費用。該功能還可檢測安裝時(shí)發(fā)生的故障,節省大量的調試工時(shí)。
本文小結
工業(yè)以太網(wǎng)技術(shù)一直在進(jìn)步,并越來(lái)越普及,而設計師面臨著(zhù)對高性?xún)r(jià)比工業(yè)交換機日益強勁的需求?;贏(yíng)SIC和ASSP的交換機因其架構固定,所以實(shí)際上沒(méi)有余地定制出新的系統特性。為了增加特性設計一般要推倒重來(lái),此舉會(huì )導致額外的設計時(shí)間和成本支出。但如上所述的支持IEEE 1588交換機的FPGA設計可節省6到9個(gè)月的工程時(shí)間,并提供給設計師夢(mèng)寐以求的靈活性,幫助他們實(shí)現精確定時(shí)協(xié)議(PTP)、 支持多個(gè)工業(yè)以太網(wǎng)標準、額外的標準接口或者其它可能的定制特性。
tcp/ip相關(guān)文章:tcp/ip是什么
交換機相關(guān)文章:交換機工作原理
評論