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