從整合應用處理器入手 工網新協定開發實作非難事

2016-09-05
EtherCAT是最廣受採用的工業乙太網路通訊標準之一,並已逐漸普及於工業或廠房環境的網路和通訊應用。藉由高度整合的Sitara應用處理器晶片,半導體廠商將EtherCAT等協定標準結合至ARM平台,也為工業通訊應用打造了統一化的前端解決方案。
採用EtherCAT的Sitara處理器能夠以超低功耗實現同級最佳功能,並大幅縮減成本。舉例來說,Sitara AM335x處理器與EtherCAT的整合滿足(甚至超越)了所 有功能需求和效能測試標準,其中包括EtherCAT的主要特性,如分散式時鐘和低於700奈秒(ns)的端對端延遲。除了Sitara處理器的功能,德州儀器(TI)更為 設計工程師提供種類豐富的相關軟體、硬體與開發工具,以簡化EtherCAT產品的開發流程。

認識EtherCAT即時工業乙太網路標準

EtherCAT(Ethernet for Control Automation Technology)是一項新興的即時工業乙太網路標準,適用於輸入/輸出(I/O)裝置、感測器與可編程邏輯控制器(PLC)等工業自動化應用。該標準最早由Beckhoff Automation GmbH開發,目前的監管單位是為推廣EtherCAT標準而設立的組織EtherCAT Technology Group。

目前全球共有來自五十二個國家、超過一千九百間的會員公司生產並部署符合EtherCAT標準的產品。在許多應用中,乙太網路已是採用率最高的技術,但在工 業環境中的效率不彰,無法應付少量的資料交換。其即時作業的決定效能過低,而且必須以交換器連接網路節點構成星狀拓撲(Topology)才能運作。

EtherCAT技術為乙太網路增添了不少功能,並強制執行某些架構,使其成為極具效率的網路自動化技術,同時完全符合乙太網路的規格。EtherCAT的設計允許 將任何標準的個人電腦當作EtherCAT主站(Master)使用,且能與EtherCAT從站(Slave)進行通訊,成為符合EtherCAT規格的專用裝置。主站與從站的EtherCAT 裝置可在工廠網路的所有裝置中使用,包括自動化控制器、操作介面、遠端輸入/輸出單元、感測器、致動器與驅動器等等。

EtherCAT關鍵技術介紹

EtherCAT藉由實作「即時」處理功能來改善傳統的乙太網路,使EtherCAT網路節點能在訊框(Frame)通過時讀取其中資料。所有的EtherCAT訊框皆來EtherCAT主站,而主站會傳送命令和資料到從站。從站會將要傳回主站的資料寫入正在通過的訊框(圖1)。 如此能夠免去主站與個別從站之間小型訊框的點對點交換,進而大幅改善通訊效率。但這也表示每個從站都需要兩個乙太網路連接埠,且必須在訊框通過時予 以讀取或寫入,因此從站裝置內要有特製的硬體。經過上述改善,執行EtherCAT的100Mbit/s網路可用頻寬達到90%以上。相較之下,若主站必須個別與從站節 點通訊時可用網路頻寬則不到5%。

圖1 EtherCAT網路範例

認識EtherCAT電報

如圖2所示,EtherCAT電報(Telegram)會封裝在乙太網路訊框內,並包含一或多個傳送到EtherCAT從站的EtherCAT資料包(Datagram)。這類的乙太網路訊框會 在標頭(Header)使用EtherCAT,或加入IP/UDP標頭。使用IP標頭時,EtherCAT通訊協定也適用於不同的網路路由器。 每筆EtherCAT資料包都是一則包含標頭、資料和工作計數器的命令。標頭和資料用來指定從站必須執行的作業,工作計數器則由從站予以更新,使主站得知從 站已處理該命令。

圖2 EtherCAT電報

.通訊協定

每個從站都會在收到訊框時「即時」處理EtherCAT封包並加以剖析,若EtherCAT資料包中指定的位址與從站相符,則將整個資料包從第二個連接埠轉寄出去, 同時更新封包內容及循環冗餘校驗(CRC)。EtherCAT主站可透過資料包來定址高達4GB的整個位址空間,其中最多可找出65,536部EtherCAT從站,且每部各有 65,536個位址。在從站地址順序(依節點在網路中的實際位置而定)方面,EtherCAT資料包也不具任何限制。

EtherCAT資料傳輸分成循環與非循環等不同類型。循環資料是指依固定間隔或循環時間傳送的處理資料。非循環資料則通常無時間緊迫性,其容量可能很大, 通常是為了回應控制器命令而交換。某些非循環資料可能很重要(如診斷資料),且有嚴苛的時間要求。EtherCAT可透過最佳化的地址架構來處理這些不同的資 料傳輸要求,例如實體地址、邏輯地址、多重地址和廣播地址等。

為因應各種地址架構,每個從站皆搭載現場匯流排記憶體管理單元(FMMU)。每個從站內的FMMU單元可讓EtherCAT通訊協定將不同從站裝置視為4GB大容量記憶體空間的一部分,並有對應的從站空間。

EtherCAT主站會在初始化階段組成完整的處理映像,然後透過單一EtherCAT命令來建立偶數位元層級的從站存取模式。此功能使其能夠利用標準的乙太網路控 制器和標準的乙太網路纜線,實際橫跨整個現場匯流排網路,與各種尺寸裝置上任何數量的I/O通道進行通訊。

.拓撲 EtherCAT標準支援線性、星狀或樹狀等任何拓撲,透過EtherCAT也能實現現場匯流排網路常見的匯流排結構。由於I/O裝置上也有EtherCAT介面,因此不再需 要任何乙太網路交換硬體。透過長達100公尺的銅纜鏈、甚至是更長的光纖鏈,EtherCAT便能在幅員遼闊的地區擴及至數千部裝置。至於像背板這類短距離的 連線,EtherCAT則使用E-bus差動訊號傳輸技術。

.分散式時鐘

為了要讓安裝位置零散的工業節點同時作動,其內部時鐘必須同步。EtherCAT的同步方式,是取樣EtherCAT封包周遊網路並通過每個從站時的輸入/輸出時間 戳記。取自從站的時間戳記資訊,可供主站準確計算每個獨立從站的傳播延遲。各個從站節點會依照計算結果調整時鐘,因此,時鐘便調整同步到僅有1微秒 以內的誤差。準確同步時鐘的另一項好處,在於任何測量都能配合同步時間,以利消除不同裝置之間通訊抖動所造成的不確定性。

.裝置設定檔

在工業自動化的領域,使用裝置設定檔來描述裝置的功能與參數是一種常見的作業方式。EtherCAT提供現有裝置設定檔的介面,讓舊型的現場匯流排裝置也能 輕鬆地升級採用EtherCAT。在這類介面之中,有些是CAN Application Layer over EtherCAT(CoE)和Servo Drive Profile over EtherCAT(SoE),能夠利用對應到EtherCAT的資料結構來使用CANOpen與Sercos。

.EtherCAT節點的元件

每個EtherCAT節點都有實體層、資料連結層和應用層三個元件(圖3)。實體層採用100BASE-TX銅纜、100BASE-FX光纖,或是低電壓差動訊號(LVDS)傳輸的E-bus來進行實作。媒體存取控制(MAC)依照EtherCAT標準規格,在專用的特定應用積體電路(ASIC)或現場可編程閘陣列(FPGA)上實作。

除了MAC,還有負責維護應用專屬行為的工業應用,以及可支援乙太網路裝置設定檔的標準TCP/IP與UDP/IP堆疊。依據裝置複雜度而定,EtherCAT節點可在硬體內實作,或以軟、硬體結合的方式運行於嵌入式中央處理器(CPU)。

圖3 EtherCAT節點的元件

.合規性

為確保使用EtherCAT介面設計的各種裝置廣泛互通,EtherCAT技術協會(EtherCAT Technology Group, ETG)設立多項計畫,旨在確保嚴格符合技術規格。這些計畫包括合規測試工具(CTT),其為測試合規性的軟體計畫;Plug-fest活動可讓會員齊聚一堂,互相測試彼此裝置間的相容性;還有位在德國和日本的認證實驗室,可供進行官方認證測試。為了符合最低的合規要求,裝置必須通過合規測試工具的通訊協定測試後方可上市。或者,廠商也可選擇將產品送往任何獲得授權的認證實驗室進行認證。EtherCAT技術協會網站提供各項程序和認證實驗室位置的詳細資訊。

了解典型EtherCAT節點

目前所用的典型EtherCAT節點結構類似於圖4中的結構。像是數位I/O等許多簡易的EtherCAT裝置,可透使用現有的單一FPGA或ASIC解決方案來建造。這類結構的簡化版本如圖4所示,該結構十分適合對成本較敏感的簡易型I/O節點,無須透過軟體,即可在硬體內實作所有功能。

圖4 基本型數位I/O EtherCAT裝置

對於需要額外處理能力的EtherCAT節點,EtherCAT ASIC/FPGA則會連接外部處理器(通常內建快閃記憶體),以進行應用層級的處理(圖5)。例如用於感測器應用的裝置,其須要處理器來操作感測器、實作裝置驅動程式,以及執行EtherCAT通訊協定堆疊。這類架構的成本高於簡易型的數位I/O裝置,但可供開發人員靈活選擇符合需求及成本目標的處理器。

圖5 採用ASIC與外部處理器的EtherCAT

甚至還有另一種方法,就是將EtherCAT實作為整合式CPU裝置的一個週邊設備(圖6)。許多FPGA裝置都能設定FPGA內的處理器,或是本身具備整合式處理器。有些廠商則提供同時搭載EtherCAT及適當處理器的ASIC裝置。FPGA雖然具有彈性,但還是得依靠所選用的CPU,因此仍會有無法達到成本或運作頻率目標的風險。

圖6 內建處理器的整合式EtherCAT

概覽EtherCAT解決方案

德州儀器將EtherCAT功能整合至Sitara AM335x安謀國際(ARM) Cortex-A8與AM437x Cortex-A9處理器之中。這些裝置將ARM處理核心與許多其他的週邊設備和介面加以整合,是很適合用來建構工業自動化設備的裝置(圖7)。

圖7 搭載Sitara AM335x/AM437x處理器的EtherCAT從站T

Sitara AM335x和AM437x處理器整合可編程設計即時元件(PRU)子系統,以支援從極低的層級與MII介面互動,因此PRU子系統可實作如EtherCAT的專用通訊協定。 整個EtherCAT MAC層都可透過韌體的方式封裝到PRU子系統內。PRU可即時處理EtherCAT的電報並進行剖析、解碼位址以及執行EtherCAT的命令。中斷則是用在ARM處理器所需要執行EtherCAT堆疊(第七層)與工業應用的通訊上。

此外,PRU子系統也可執行反向的訊框轉寄。由於PRU子系統可實作所有的EtherCAT功能,因此ARM處理器在複雜的應用中被採用,或低速的ARM核心可用於較簡單和成本受到限制的應用,例如分散式I/O等。

為了使搭載Sitara AM335x和AM437x處理器的EtherCAT解決方案更為完善,需要使用TLK105L、TLK106L、DP836X0或DP8384x等Ethernet實體(PHY)裝置。以 TLK110為例,該裝置專為使MII與PHY介面間的低延遲最佳化,對EtherCAT的效能極為重要。TLK110亦具備進階的纜線診斷功能,可快速找出纜線故障之處。

了解Sitara處理器區塊圖

Sitara AM335x和AM437x處理器分別為採用ARM Cortex-A8和ARM Cortex-A9精簡指令集運算(RISC)核心的低功耗的裝置,這兩款處理器皆具備多樣化的整合式週邊設備。針對工業應用的部分,Sitara處理器支援多重運作頻率,從300MHz的簡單應用,到最高需要1GHz的高效能複雜應用(如工業驅動器等)。任何效能等級的AM335x和AM437x處理器皆可實作EtherCAT。AM335x處理器具備一個PRU協同處理器(內含兩個即時核心),而AM437x處理器則具備兩個PRU,因此共有四個即時核心。Sitara AM335x和AM437x處理器的區塊圖如圖8與圖9所示。

圖8 AM335x處理器區塊圖
剖析EtherCAT軟體架構
圖9 AM437x Sitara處理器區塊圖
任一Sitara處理器上的EtherCAT從站實作皆由三個主要的軟體元件組成,首先是負責實作PRU內第二層功能的微碼(Microcode);其次是在ARM處理器上執行的EtherCAT從站堆疊,第三則是相依於使用本解決方案的終端設備的工業應用。 通訊協定轉接層和裝置驅動程式等其他的支援元件,則由德州儀器透過軟體開發套件提供。無論是否使用經過原廠測試的EtherCAT堆疊,圖10中所示的架構都必須在未經改變下運作。本EtherCAT解決方案亦與作業系統無關,只要參照PRU子系統韌體的應用程式介面(API)指南便可進行任何轉接。

圖10 EtherCAT從站軟體架構
在EtherCAT第二層,PRU即時核心將共享資料包處理、分散式時鐘、位址對應、錯誤偵測與處理,以及主機介面等工作(圖11)。

圖11 EtherCAT韌體架構
PRU也會在內部的共享記憶體內模擬EtherCAT暫存器空間。PRU具備決定性的即時處理功能,可透過一致且可預測的處理延遲來處理EtherCAT資料包(圖12)。
圖12 EtherCAT RX-TX延遲
AM335x或AM437x處理器搭配TLK110 Ethernet PHY裝置,所展現的低延遲特性,使實作成為最頂尖的一項EtherCAT從站解決方案。

除此之外,EtherCAT從站實作搭配Sitara AM335x和AM437x處理器的主要屬性如表1所示。

簡化EtherCAT整合

EtherCAT與Sitara AM335x或AM437x處理器的整合流程經過簡化。為整合EtherCAT從站所需要的一切工具與軟體程式碼,皆可透過這些處理器的軟體開發套件(SDK)取得。在每一個開發平台上,軟體開發套件皆包含EtherCAT通訊協定的韌體、軟體驅動、硬體初始化常式、堆疊應用程式介面、EtherCAT通訊協定堆疊和應用本身的轉接層。軟體開發套件隨附的支援說明文件,可讓開發人員在應用中修改及建置新功能。 為加快EtherCAT通訊協定堆疊的整合,德州儀器也與Beckhoff Automation緊密合作,進行EtherCAT從站堆疊程式碼在Sitara處理器上的驗證。Beckhoff程式碼經過調整,可以在Sitara處理器上執行,而且也已通過測試,以確保客戶能無縫整合(圖13)。客戶期望在推出產品之前能成為EtherCAT技術協會的成員(以獲准在市場上推出EtherCAT產品),並有權能直接透過EtherCAT技術協會網站免費取得Beckhoff堆疊的副本。Beckhoff提供EtherCAT堆疊副本亦包含在德州儀器的工業軟體開發套件(Industrial SDK),以供客戶進行評估、開發及測試之用。

圖13 EtherCAT軟體整合
在典型的使用案例下,EtherCAT韌體、堆疊、驅動程式和高階作業系統(如有需要)或即時作業系統核心均可從各軟體開發套件中重複使用。在開發使用者應用 程式時,使用者通常只須要修改一個檔案。

低功耗電量 可免除風扇/散熱器

將EtherCAT實作於Sitara裝置,可同時享受到ARM核心與系統架構在低功耗上的優點,進而也可省下風扇或散熱器。例如,在多數使用案例下,AM335x處理器 最大的功耗皆不到1瓦(W)。針對EtherCAT應用,ARM CPU速度每一MHz的耗電量則低於1毫瓦(mW)。

整合EtherCAT於終端產品

為了要將EtherCAT從站整合至工業設備,客戶可使用EtherCAT從站實作,並利用軟體開發套件隨附的EtherCAT從站堆疊程式碼的評估副本來完成設計流程。從站堆疊程式碼最早是由Beckhoff提供,開放供所有EtherCAT技術協會成員免費使用。客戶亦可使用其他廠商的從站堆疊,或自行開發從站堆疊。客戶應使用合規測試工具(Conformance Test Tool)來通過所有測試。另一個選擇是,客戶可取得經EtherCAT認證實驗室認證的產品,或是在EtherCAT Plug-fest活動上進行更廣泛的互通性測試。

提供EtherCAT實作裝置

數款可用於EtherCAT實作的Sitara處理器,提供輔助用的類比產品,以用於訊號鏈及電源電路。這些產品的簡短說明如表2所示,適用工業級的溫度範圍且長 期供應。

善用EtherCAT實作開發工具

也有適用於Sitara處理器的評估模組(EVM)開發平台,並提供完善的設計資料以協助客戶完成實作。可以取得這些EVM所有的設計資料,例如示意圖和布線圖,以加快開發設計的速度。

簡化EtherCAT整合 享有成本節流效益

適用於Sitara處理器的整合式EtherCAT從站與主站功能,主要應用於工業I/O、感測器、PLC與人機介面(HMI)系統。EtherCAT整合效能強大且低功耗的ARM核心,讓客戶能夠開發出低成本的終端產品,同時亦能兼具其功能或操作需求。

此外,內建的隔離收發器,適用於如EtherCAT、PROFIBUS、CAN、RS-485等各種工業通訊介面。透過全面性的軟硬體開發工具、全球支援與活躍的E2E開發人員社群,客戶可大幅簡化EtherCAT的整合,另外還可享有最高達30%的成本節流效益。

(本文作者為德州儀器ARM微處理器事業群系統經理)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!