采用嵌入式MCU實(shí)現(xiàn)以太網(wǎng)在工業(yè)網(wǎng)絡(luò)領(lǐng)域的應(yīng)用
以太網(wǎng)在企業(yè)網(wǎng)絡(luò)中的主導(dǎo)地位使其在工業(yè)網(wǎng)絡(luò)領(lǐng)域具有明顯的優(yōu)勢(shì)。在整個(gè)企業(yè)中使用單核協(xié)議可以使數(shù)據(jù)從工廠無(wú)縫地流向業(yè)務(wù)部門,從而可以更有效地管理生產(chǎn)計(jì)劃,最大限度地降低庫(kù)存成本并優(yōu)化維護(hù)操作。
以太網(wǎng)不是為然而,工廠車間以及標(biāo)準(zhǔn)以太網(wǎng)的主要缺點(diǎn)是它無(wú)法提供許多工業(yè)應(yīng)用所需的實(shí)時(shí)響應(yīng),例如過(guò)程和電機(jī)控制。幾十年來(lái),諸如CAN(控制器區(qū)域網(wǎng)絡(luò))和PROFIBUS(過(guò)程現(xiàn)場(chǎng)總線)之類的確定性協(xié)議主導(dǎo)了工業(yè)網(wǎng)絡(luò)。盡管這些協(xié)議仍然保持著相當(dāng)大的市場(chǎng)份額,但幾年前以太網(wǎng)變體開(kāi)始出現(xiàn),提供了標(biāo)準(zhǔn)以太網(wǎng)所缺乏的實(shí)時(shí)性能。
為了合理化工業(yè)網(wǎng)絡(luò)中產(chǎn)生的非生產(chǎn)性多樣性,2001年開(kāi)放設(shè)備供應(yīng)商協(xié)會(huì)(OVDA)的成立是為了創(chuàng)建和維護(hù)通用工業(yè)協(xié)議(CIP)以確保某種程度的兼容性。從那時(shí)起,包括EtherNet/IP,DeviceNet,ControlNet和CompoNet在內(nèi)的多種協(xié)議已在其協(xié)議棧的上層實(shí)現(xiàn)了CIP。現(xiàn)在有數(shù)百家供應(yīng)商支持CIP。
EtherNet/IP是CIP在IEEE 802.3定義的標(biāo)準(zhǔn)以太網(wǎng)上實(shí)現(xiàn)的名稱。 EtherNet/IP中的“IP”代表工業(yè)協(xié)議。
EtherNet/IP技術(shù)
圖1顯示了如何使用CIP實(shí)現(xiàn)多標(biāo)準(zhǔn)環(huán)境。來(lái)自頂層CIP塊的紅色箭頭定義了通過(guò)UDP進(jìn)行實(shí)時(shí)控制的路徑。綠色箭頭顯示標(biāo)準(zhǔn)IEEE 802.3以太網(wǎng)的路徑??傊?,它們包含EtherNet/IP??梢允褂矛F(xiàn)有的TCP/IP堆棧開(kāi)發(fā)產(chǎn)品,或者在工業(yè)應(yīng)用中,可以簡(jiǎn)單地修改現(xiàn)有的Modbus接口以與PLC通信。
圖1:CIP完全兼容以太網(wǎng)和Internet協(xié)議(由開(kāi)放設(shè)備供應(yīng)商協(xié)會(huì)提供)。面向?qū)ο蟮木幊棠P?/p>
CIP使用對(duì)象模型來(lái)簡(jiǎn)化軟件開(kāi)發(fā)。在應(yīng)用層中定義了與公共接口和行為相關(guān)的一組對(duì)象和設(shè)備配置文件。 CIP使用三類對(duì)象:應(yīng)用程序?qū)ο螅x表示設(shè)備數(shù)據(jù)的方法;定義以太網(wǎng)/IP特定功能的網(wǎng)絡(luò)對(duì)象以及如何配置IP地址等參數(shù);和通信對(duì)象,它們創(chuàng)建了建立通信關(guān)聯(lián)和訪問(wèn)設(shè)備數(shù)據(jù)和服務(wù)的方法。
CIP網(wǎng)絡(luò)上設(shè)備之間的端到端通信由CIP通信服務(wù)處理。由于EtherNet/IP將CIP通信服務(wù)映射到以太網(wǎng)和TCP/IP,因此可確保多廠商互操作性。
EtherNet/IP節(jié)點(diǎn)的組件
每個(gè)EtherNet/IP節(jié)點(diǎn)包含四個(gè)與OSI模型對(duì)應(yīng)的層。它們?nèi)缦拢?/p>
物理層(PHY)。只要支持100 Mbit/s數(shù)據(jù)速率,就可以使用任何標(biāo)準(zhǔn)以太網(wǎng)介質(zhì)(雙絞銅線或光纖)。
數(shù)據(jù)鏈路層將數(shù)據(jù)包從設(shè)備傳輸?shù)皆O(shè)備并包含以太網(wǎng)/IP MAC,可以通過(guò)ASIC,F(xiàn)PGA或運(yùn)行高速固件的定制硬件實(shí)現(xiàn)。
會(huì)話/傳輸層,處理TCP/IP以及真實(shí)的UDP/IP時(shí)間消息。 CIP對(duì)象定義也在此層中以啟用與應(yīng)用程序?qū)拥耐ㄐ拧?/p>
應(yīng)用程序?qū)?。在?jié)點(diǎn)內(nèi)部,應(yīng)用程序可以在硬件上運(yùn)行,也可以由嵌入式CPU實(shí)現(xiàn)的硬件/軟件組合運(yùn)行。當(dāng)然,應(yīng)用程序必須支持基于EtherNet/IP的協(xié)議。
在實(shí)現(xiàn)EtherNet/IP節(jié)點(diǎn)時(shí),設(shè)計(jì)人員可以選擇多種架構(gòu)。只要節(jié)點(diǎn)完全由硬件實(shí)現(xiàn),就可以使用ASIC,F(xiàn)PGA或板級(jí)解決方案。雖然這些簡(jiǎn)單的數(shù)字I/O設(shè)備解決方案適用于對(duì)成本敏感的產(chǎn)品,但需要配置,監(jiān)控和控制的應(yīng)用通常也需要MCU。例如,傳感器通常由MCU控制。在EtherNet/IP節(jié)點(diǎn)中,MCU還可以實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序并運(yùn)行EtherNet/IP協(xié)議棧。 ASIC或FPGA仍然是架構(gòu)不可或缺的一部分。
嵌入式MCU實(shí)現(xiàn)
更復(fù)雜的架構(gòu)將EtherNet/IP節(jié)點(diǎn)作為帶有集成CPU的MCU的外設(shè)實(shí)現(xiàn)。該架構(gòu)如圖2所示。處理器可以使用FPGA中的可用門配置。
圖2:帶處理器的集成EtherNet/IP節(jié)點(diǎn)(由德州儀器公司提供)。不使用具有EtherNet/IP節(jié)點(diǎn)的MCU作為外設(shè),而是可以反轉(zhuǎn)拓?fù)浣Y(jié)構(gòu),并且MCU可以在實(shí)現(xiàn)EtherNet/IP節(jié)點(diǎn)的同一FPGA或ASIC上實(shí)現(xiàn)。從設(shè)計(jì)角度來(lái)看,這種方法需要仔細(xì)考慮嵌入式MCU所需的處理能力和時(shí)鐘頻率,既適用于目標(biāo)應(yīng)用,也適用于未來(lái)可能的設(shè)計(jì)旋轉(zhuǎn)。 FPGA實(shí)現(xiàn)也可能使?jié)M足產(chǎn)品價(jià)格目標(biāo)成為一項(xiàng)挑戰(zhàn)。無(wú)論如何實(shí)現(xiàn),MCU都需要一些方法來(lái)執(zhí)行與另一個(gè)嵌入式外設(shè)的實(shí)時(shí)操作。
‘Sitara™例如,AM33x處理器通過(guò)可編程實(shí)時(shí)單元(PRU)解決了這個(gè)問(wèn)題,它支持與兩個(gè)PHY收發(fā)器芯片的低級(jí)交互,這兩個(gè)PHY收發(fā)器芯片是圖2所示解決方案的一部分。使用固件,Sitara AM33X處理器將整個(gè)以太網(wǎng)MAC層封裝在PRU子系統(tǒng)中。
為了優(yōu)化傳輸效率,EtherNet/IP節(jié)點(diǎn)僅處理專門發(fā)送給它們的數(shù)據(jù)包。中斷用于維護(hù)應(yīng)用程序和ARM處理器之間的實(shí)時(shí)通信。由于幾乎所有的低級(jí),高速EtherNet/IP功能都由PRU子系統(tǒng)處理,因此ARM處理器幾乎可以分配所有處理能力來(lái)運(yùn)行堆棧和復(fù)雜的應(yīng)用,如電機(jī)控制。
TI’s Sitara AM335x處理器采用ARM Cortex-A8處理器,工作頻率為275 MHz,適用于高達(dá)1 GHz的基本應(yīng)用,適用于電機(jī)控制等高性能應(yīng)用。
Sitara AM3352采用275 MHz(AM3352ZCE27),600 MHz(AM3352BZCZ60)和1 GHz(AM3352BZCZA100)版本。[!--empirenews.page--]
圖3顯示了TI Sitara AM335x處理器的框圖。
圖3:Sitara AM335x框圖(由德州儀器提供)。
以太網(wǎng)PHY設(shè)備,如德州儀器的TLK110收發(fā)器完善了設(shè)計(jì)。 TLK110針對(duì)低延遲性能進(jìn)行了優(yōu)化。它還具有先進(jìn)的電纜診斷功能,可以快速定位電纜故障。除了TI的解決方案,飛思卡爾半導(dǎo)體還為其幾個(gè)處理器系列開(kāi)發(fā)了EtherNet/IP實(shí)現(xiàn)產(chǎn)品。 Molex的實(shí)時(shí)EtherNet/IP堆棧已移植到飛思卡爾的PowerQUICC和ColdFire處理器上。
軟件和固件
除硬件配置外,開(kāi)發(fā)人員還應(yīng)熟悉Sitara解決方案和固件架構(gòu)等軟件。用于EtherNet/IP從站實(shí)現(xiàn)。軟件包含三個(gè)基本元素:
數(shù)據(jù)鏈路層功能微代碼,在PRU中實(shí)現(xiàn)
EtherNet/IP從屬協(xié)議棧和非IP/IP棧兩者都在ARM處理器上運(yùn)行的實(shí)時(shí)通信
應(yīng)用程序
使用兩個(gè)以太網(wǎng)堆棧,因?yàn)閷?shí)時(shí)消息傳遞由UDP/IP和 - 來(lái)處理最大化效率 - 不經(jīng)常的低優(yōu)先級(jí)消息(例如綁定到業(yè)務(wù)單元的消息)由TCP/IP處理。
數(shù)據(jù)鏈路層中的固件包括兩個(gè)PRU,每個(gè)收發(fā)器一個(gè)。 PRU管理與兩個(gè)硬件接口的連接,并執(zhí)行基本的以太網(wǎng)交換機(jī)協(xié)議,如MAC學(xué)習(xí),風(fēng)暴防御和數(shù)據(jù)包統(tǒng)計(jì)。兩個(gè)PRU使用一組特殊指令通過(guò)共享存儲(chǔ)器相互通信以確保協(xié)調(diào)。
由于冗余和同步是實(shí)時(shí)網(wǎng)絡(luò)中的重要屬性,因此Sitara固件還執(zhí)行環(huán)形冗余協(xié)議(設(shè)備級(jí)環(huán)網(wǎng)或DLR)和IEEE的精確時(shí)間協(xié)議(PTP/1588)進(jìn)行同步。采用TLK110的TI Sitara AM335x處理器的延遲小于2μs,這使其成為領(lǐng)先的EtherNet/IP從站解決方案。
固件架構(gòu)如圖4所示。
圖4:固件架構(gòu)(禮貌:德州儀器)。
EtherNet/IP設(shè)計(jì)
EtherNet/IP從站節(jié)點(diǎn)可以在TI的多個(gè)AM335x處理器上實(shí)現(xiàn),這些處理器有多種工作頻率可供選擇。毫不奇怪,TI為此解決方案提供模擬產(chǎn)品。 TLK110以太網(wǎng)PHY芯片和TPS65910電源管理芯片都是任何EtherNet/IP從節(jié)點(diǎn)實(shí)現(xiàn)的理想選擇。
TI還提供全套工具和軟件代碼。 Sitara AM335x工業(yè)軟件開(kāi)發(fā)套件(SDK)包括EtherNet/IP協(xié)議的固件,軟件驅(qū)動(dòng)程序,硬件初始化程序,堆棧應(yīng)用程序編程接口(API)的適配層以及EtherNet/IP協(xié)議棧。
對(duì)于硬件設(shè)計(jì),TI開(kāi)發(fā)了一款Sitara AM3359評(píng)估板,該評(píng)估板面向工業(yè)通信,可編程邏輯控制器(PLC)和運(yùn)動(dòng)控制系統(tǒng)。該套件的軟件包括TI的SYS/BIOS™實(shí)時(shí)內(nèi)核,EtherNet/IP固件以及EtherNet/IP應(yīng)用級(jí)堆棧的評(píng)估版。
該主板的主要組件是EtherNet/IP優(yōu)化的PHY設(shè)備,調(diào)試硬件,SD/MMC,以太網(wǎng)和UART。附加組件包括用于特定應(yīng)用,例如運(yùn)動(dòng),電機(jī)和過(guò)程控制。該套件還可用于開(kāi)發(fā)其他工業(yè)通信標(biāo)準(zhǔn),如PROFIBUS,PROFINET-RT和CAN,以及POWERLINK,EtherCAT和SERCOS III等實(shí)時(shí)以太網(wǎng)標(biāo)準(zhǔn)。
TI還提供低成本Sitara AM3359工業(yè)通信引擎2板(TMDSICE3359),一種小型(70 x 90 mm)開(kāi)發(fā)板,專為通信模塊,I/O設(shè)備,傳感器和類似應(yīng)用而開(kāi)發(fā),包括EtherNet的基本外設(shè)/IP,PROFINET,PROFIBUS和EtherCAT通信標(biāo)準(zhǔn)。 SDK包括基于SYS/BIOS的實(shí)時(shí)內(nèi)核,其中包含應(yīng)用程序級(jí)通信堆棧和設(shè)備驅(qū)動(dòng)程序。該平臺(tái)還包含開(kāi)發(fā)和調(diào)試工具鏈。