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