工業(yè)以太網(wǎng)是指使用基于以太網(wǎng)的協(xié)議實現(xiàn)工業(yè)自動化和產(chǎn)品機(jī)械控制中實時可靠的通信,在車間底層控制器之間、車間之間,以及車間和辦公室之間通過互聯(lián)網(wǎng)實現(xiàn)通用平臺。由于這些協(xié)議在以太網(wǎng)物理層,即第1層上實現(xiàn)基于相同的IEEE 802.3標(biāo)準(zhǔn),因此可以使用一個基于FPGA的平臺來支持不同的工業(yè)以太網(wǎng)協(xié)議,不論這些協(xié)議有怎樣的實時屬性和實現(xiàn)方法。
對于速度和實時性能要求非常高的協(xié)議,在硬件中以專用協(xié)議MAC的形式實現(xiàn)實時功能。而協(xié)議的其他功能由運(yùn)行在嵌入式處理器中的軟件堆棧來完成,這些處理器可以是在 Cyclone III FPGA中實現(xiàn)的Nios II軟核處理器。
工業(yè)以太網(wǎng)發(fā)展?fàn)顩r
圖1是來自ARC咨詢集團(tuán)的市場數(shù)據(jù)。ARC預(yù)測在今后幾年內(nèi),工業(yè)以太網(wǎng)市場會出現(xiàn)強(qiáng)勁增長。其中,在2011年之前工業(yè)以太網(wǎng)器件和交換機(jī)銷售增長年度復(fù)合增長率將達(dá)到30%。
圖1 ARC咨詢集團(tuán)預(yù)測:今后5年中以太網(wǎng)現(xiàn)場器件和交換機(jī)年度復(fù)合增長將達(dá)到30%
目前的工業(yè)通信環(huán)境還不統(tǒng)一,有較多的競爭工業(yè)以太網(wǎng)標(biāo)準(zhǔn)和傳統(tǒng)的現(xiàn)場總線標(biāo)準(zhǔn),很多解決方案采用了ASIC、ASSP和MCU來實現(xiàn)。這類硬件不是很靈活,需要針對用戶支持的每一種協(xié)議改變硬件和相應(yīng)的軟件堆棧。
目前,有幾種開放標(biāo)準(zhǔn)工業(yè)以太網(wǎng)協(xié)議,包括EtherCAT、Ethernet IP、Modbus/TCP、PROFINET、Ethernet POWERLINK和SERCOS III。這些協(xié)議都可以使用單一硬件設(shè)計在FPGA中實現(xiàn),使工程師能夠在一個支持多種協(xié)議標(biāo)準(zhǔn)的硬件平臺上進(jìn)行標(biāo)準(zhǔn)化處理。
隨著時間的推移,越來越多的標(biāo)準(zhǔn)采用了基于FPGA的平臺。推動工業(yè)以太網(wǎng)在工廠自動化以及過程系統(tǒng)中應(yīng)用的主要因素包括平臺的通用性和性能、辦公室和工廠信息集成以共享實時信息、降低總成本等。
工業(yè)以太網(wǎng)解決方案支持通用平臺,從而推動了辦公室和工廠集成,在底層控制器和車間管理之間建立鏈接,共享實時信息,實現(xiàn)迅速響應(yīng)。同時還可以通過內(nèi)聯(lián)網(wǎng)連接車間內(nèi)部、車間之間以及車間和辦公室之間的實時和非實時系統(tǒng),與對應(yīng)的現(xiàn)場總線協(xié)議后向兼容,支持新系統(tǒng)和老系統(tǒng)之間的平臺操作。
開放協(xié)議標(biāo)準(zhǔn)簡化了設(shè)備實施和網(wǎng)絡(luò)通信,有助于工廠從多層現(xiàn)場總線過渡到單一的以太網(wǎng),支持各種商用設(shè)備和電纜,即使工業(yè)以太網(wǎng)協(xié)議出現(xiàn)了變化,也可以重復(fù)使用這些設(shè)備和電纜。
通過定制網(wǎng)絡(luò),支持多種拓?fù)?,能夠在網(wǎng)絡(luò)中增加或者去掉器件,提供更多的控制功能,而且不會影響系統(tǒng)其他部分的工作,從而縮短了開發(fā)時間。
工業(yè)以太網(wǎng)基于穩(wěn)定、成熟、可靠的以太網(wǎng)技術(shù),降低了實施、維護(hù)和總的系統(tǒng)成本,從而實現(xiàn)了產(chǎn)品更迅速地面市,不需要ASIC、ASSP和MCU設(shè)計昂貴的專用解決方案,避免了硬件和軟件改動導(dǎo)致的高成本。
工業(yè)以太網(wǎng)體系結(jié)構(gòu)
工業(yè)以太網(wǎng)協(xié)議可以分成三類體系結(jié)構(gòu)(圖2):A類、B類和C類協(xié)議標(biāo)準(zhǔn)。
A類使用標(biāo)準(zhǔn)以太網(wǎng) TCP/IP,主要用于非實時信息層面的應(yīng)用,例如工廠自動化、低速傳感器和HMI顯示等PLC應(yīng)用。其典型的響應(yīng)時間大約為100ms左右,或者更長。 EtherNet/IP、Modbus/TCP和PROFINET CBA是這一類中常見的以太網(wǎng)協(xié)議。
B類在標(biāo)準(zhǔn)以太網(wǎng)硬件之上使用定制軟件堆棧,提供適當(dāng)?shù)膶崟r性能,響應(yīng)時間小于10ms。B類適合低精度電機(jī)控制和遠(yuǎn)程I/O通信等應(yīng)用,涉及到Ethernet Powerlink和PROFINET RT等協(xié)議。
C類在MAC層使用改進(jìn)后的硬件,同時使用定制軟件來實現(xiàn)確定的快速實時性能,一般小于1ms,適用于器件級的精確運(yùn)動控制等應(yīng)用。EtherCAT、PROFINET IRT和SERCOS III都是C類工業(yè)以太網(wǎng)協(xié)議的例子。C類體系結(jié)構(gòu)的標(biāo)準(zhǔn)網(wǎng)絡(luò)流量帶寬小于A類體系結(jié)構(gòu)。
為支持所有三類工業(yè)以太網(wǎng)體系結(jié)構(gòu),需要具有全面的可配置平臺能力,能夠同時改變硬件和軟件。
基于FPGA的以太網(wǎng)實現(xiàn)
傳統(tǒng)上,微控制器、ASIC或者ASSP一直用于實現(xiàn)現(xiàn)場總線和工業(yè)以太網(wǎng)解決方案。這些產(chǎn)品具有很高的性價比,當(dāng)功能、協(xié)議標(biāo)準(zhǔn)和I/O固定不變,或者沒有硬件改變時,工作情況良好。然而由于工業(yè)網(wǎng)絡(luò)標(biāo)準(zhǔn)在不斷變化,而工業(yè)應(yīng)用要求產(chǎn)品生命周期非常長,通常在10年以上,此時,這些產(chǎn)品便具有一定的局限性。每一個新的解決方案都需要對電路板進(jìn)行重制,無數(shù)的軟件編程人員將代碼移植到新處理器和新平臺上,這是非常耗時的過程。
Altera Cyclone III系列等FPGA可以在同一平臺上將處理器功能和工業(yè)以太網(wǎng)協(xié)議與其他定制IP或者接口進(jìn)行更新和集成。當(dāng)工程師熟悉了Altera提供的 Quartus II和SOPC Builder等FPGA開發(fā)工具后,工作就會變得非常簡單。
圖3是支持工業(yè)以太網(wǎng)的典型應(yīng)用的體系結(jié)構(gòu)。所有工業(yè)以太網(wǎng)標(biāo)準(zhǔn)都基于IEEE 802.3以太網(wǎng)物理層。所以,在圖3的下部,PHY和總是相同的。在標(biāo)準(zhǔn)以太網(wǎng)應(yīng)用中,可以在PHY之上采用標(biāo)準(zhǔn)介質(zhì)訪問控制器或者M(jìn)AC,對于非實時工業(yè)協(xié)議,這就是其典型的實現(xiàn)方式。
圖2 工業(yè)以太網(wǎng)分類
圖3 支持工業(yè)以太網(wǎng)的典型應(yīng)用的體系結(jié)構(gòu)
Ethernet IP、Modbus/TCP和Ethernet POWERLINK等協(xié)議應(yīng)用了標(biāo)準(zhǔn)MAC,因此,可以只修改運(yùn)行在Nios II處理器上的軟件堆棧,使用相同的以太網(wǎng)MAC IP來支持這些協(xié)議。
對于EtherCAT、PROFINET IRT和SERCOS III等有實時要求的協(xié)議,標(biāo)準(zhǔn)MAC就不能滿足要求了。在這種情況下,必須使用專用協(xié)議MAC。對于采用了Cyclone III等FPGA的設(shè)計,可以使用支持專用協(xié)議的MAC來替代標(biāo)準(zhǔn)MAC。某些協(xié)議還可能需要支持IEEE 1588功能,或加入集線器或者交換機(jī)以提高性能,增加環(huán)形保護(hù)等其他功能。
正確的應(yīng)用這些硬件就可以接收任何工業(yè)以太網(wǎng)標(biāo)準(zhǔn)數(shù)據(jù)包。此時,用戶需要一個處理器來處理數(shù)據(jù)包、管理通信功能。在FPGA中采用Nios II處理器內(nèi)核等軟核處理器很容易實現(xiàn)這些功能,在這類處理器上可以運(yùn)行實時操作系統(tǒng)。
這種實現(xiàn)方法針對不同的堆棧,為工程師提供了一致的軟件平臺,在實現(xiàn)單芯片多標(biāo)準(zhǔn)解決方案時很容易對軟件進(jìn)行支持和維護(hù)?,F(xiàn)在,用戶可以通過任何工業(yè)以太網(wǎng)協(xié)議來發(fā)送和接收數(shù)據(jù)。
通過軟件API抽象出以太網(wǎng)鏈接接口是實現(xiàn)應(yīng)用程序數(shù)據(jù)流的最佳方法,這樣,當(dāng)改變工業(yè)以太網(wǎng)標(biāo)準(zhǔn)時,只需要很少的改動甚至不用改動就可以運(yùn)行應(yīng)用程序。在支持多標(biāo)準(zhǔn)時,節(jié)省了大量的時間和投入。軟件API通過雙端口RAM、串行I/O或者并行I/O進(jìn)行通信。應(yīng)用軟件可以運(yùn)行在外部處理器或者FPGA內(nèi)部的另一Nios處理器上。
FPGA硬件提供靈活的平臺,任何時候都能夠重新配置,支持對產(chǎn)品特性進(jìn)行立即更新。這意味著可以在同一 Cyclone III FPGA上實現(xiàn)標(biāo)準(zhǔn)或者定制工業(yè)以太網(wǎng)MAC、DSP模塊以及其他定制邏輯和I/O接口,提高工業(yè)網(wǎng)絡(luò)產(chǎn)品的性能和接口能力。
基于Altera FPGA的解決方案和硬件/軟件設(shè)計工具能夠設(shè)計并集成工程師所需要的一切功能。嵌入在FPGA中的Nios II軟核處理器可以用于運(yùn)行以太網(wǎng)堆棧驅(qū)動軟件和其他功能。甚至還可以加入第二個處理器,以支持應(yīng)用層軟件。而且,Ethernet IP和SERCOS III等工業(yè)以太網(wǎng)協(xié)議僅以IP的形式發(fā)布,允許使用FPGA來支持這些協(xié)議標(biāo)準(zhǔn)。這一方法提供了單一平臺,很容易滿足需求的變化。不必花費大量時間針對每一以太網(wǎng)協(xié)議導(dǎo)入軟件堆棧,在處理器上運(yùn)行,而是使用現(xiàn)成的工具和軟件堆棧,支持所有的以太網(wǎng)標(biāo)準(zhǔn)。而且,在FPGA平臺上改動設(shè)計時,不需要針對每一新協(xié)議來設(shè)計新電路板。一塊電路板能夠支持多種工業(yè)以太網(wǎng)協(xié)議,從而減小了NIE的費用,降低了長期擁有成本。FPGA中實現(xiàn)的工業(yè)以太網(wǎng)協(xié)議能夠在不同的設(shè)計和FPGA器件系列之間進(jìn)行移植,因此,下一代產(chǎn)品可以重新使用相同的IP。Altera及其合作伙伴所提供的工業(yè)以太網(wǎng)快速開發(fā)解決方案確保了較短的產(chǎn)品面市周期。靈活的FPGA支持在最終產(chǎn)品中應(yīng)用早期工程工作,設(shè)計人員可以在最后一刻更改設(shè)計,避免PCB重制。
SOPC Builder軟件工具
SOPC Builder是設(shè)計用于自動交付、配置和集成IP模塊的工具,它采用了窗口類型的圖形開發(fā)環(huán)境,用戶可以在其中建立全部的CPU系統(tǒng),甚至不需要寫入 HDL代碼。這樣,去掉了耗時的手動編碼過程,設(shè)計人員能夠?qū)⒕性趦?yōu)化解決方案上。
通過圖4,可以看到SOPC Builder窗口以及集成到設(shè)計中的Altera IP、第三方IP和硬件模塊列表。當(dāng)用戶點擊這些IP模塊時,右側(cè)會打開一個配置窗口,從這里可以選擇需要的配置選項,加入到用戶的系統(tǒng)中。加入所需的 IP后,會看到所選的組件列在主窗口中,窗口左側(cè)是已經(jīng)自動連接在一起的模塊。用戶可以隨時通過鼠標(biāo)編輯它,重新配置IP組件或者鏈接,為其應(yīng)用建立理想的系統(tǒng)。完成系統(tǒng)后,只需要簡單的點擊底部的“Generate”按鈕,告訴SOPC Builder生成一個集成硬件模塊,它含有設(shè)計人員所選擇的所有IP以及從GUI中選擇的配置和鏈接。SOPC Builder生成完整的設(shè)計,將其交給Quartus II設(shè)計環(huán)境,并對系統(tǒng)進(jìn)行編譯,建立HDL仿真模型或者FPGA配置文件。
嵌入式軟件開發(fā)流程
圖5是嵌入式軟件的開發(fā)流程圖。如果是硬件設(shè)計人員,那么不需要很大的投入就可以不斷修改設(shè)計,實現(xiàn)最佳系統(tǒng)。但是,如果是軟件工程師,在典型的硬件/軟件集成過程中所面臨的挑戰(zhàn)是必須跟上不斷變化的處理器平臺。與修改FPGA和Nios II處理器配置相比,軟件更新需要做很多工作,要花較長的時間來進(jìn)行更新。由于SOPC Builder還生成含有所有硬件配置信息的文件,這樣,Nios II軟件開發(fā)環(huán)境就能夠?qū)崿F(xiàn)定制軟件,建立專用硬件支持庫。這種庫含有系統(tǒng)需要的所有器件驅(qū)動以及硬件抽象層,即HAW,提取出訪問硬件的所有應(yīng)用程序。如果改動硬件,軟件環(huán)境會探測到這些改變,在軟件工程中自動更新所有硬件設(shè)置和器件驅(qū)動。這種自動工具解決方案能夠幫助硬件和軟件工程師更迅速、簡單地修改設(shè)計,不會出錯。
圖4 SOPC builder窗口截圖
圖5 嵌入式軟件開發(fā)流程
責(zé)任編輯:gt
評論
查看更多