文 輝
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
基于EtherCAT的從站設(shè)計
文 輝
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
現(xiàn)場總線已經(jīng)成為自動化控制技術(shù)重要組成部分,通過大量的實踐實驗與測試,如今已經(jīng)獲得廣泛的應用。EtherCAT具有良好的實時能力,適應小數(shù)據(jù)量通信,并且價格經(jīng)濟,在工業(yè)控制上得到廣泛的應用。但由于EtherCAT從站設(shè)計必須使用專門的芯片,導致從站的硬件設(shè)計復雜、調(diào)試困難、成本增加。文章采用AM3358 Cortex A8 處理器外加以太網(wǎng)物理層收發(fā)器(PHY)的方案,由于AM3358片內(nèi)集成工業(yè)用通信子系統(tǒng) (PRU-ICSS)可以實現(xiàn)EtherCAT協(xié)議,因此只要外加PHY就可以成為EtherCAT從站。
EtherCAT;AM3358;從站
現(xiàn)場總線已成為自動化技術(shù)的集成組件,通過大量的實踐試驗和測試,如今已獲得廣泛應用。正是由于現(xiàn)場總線技術(shù)的普及,才使基于PC的控制系統(tǒng)得以廣泛應用。然而,雖然控制器CPU的性能(尤其是IPC的性能)發(fā)展迅猛,但傳統(tǒng)的現(xiàn)場總線系統(tǒng)正日趨成為控制系統(tǒng)性能發(fā)展的“瓶頸”。急需技術(shù)革新的另一個因素則是由于傳統(tǒng)的解決方案并不十分理想。傳統(tǒng)的方案是,按層劃分的控制體系通常都由幾個輔助系統(tǒng)所組成(周期系統(tǒng)):即實際控制任務、現(xiàn)場總線系統(tǒng)、I/O系統(tǒng)中的本地擴展總線或外圍設(shè)備的簡單本地固件周期。正常情況下,系統(tǒng)響應時間是控制器周期時間的3-5倍。在現(xiàn)場總線系統(tǒng)之上的層面(即網(wǎng)絡控制器)中,以太網(wǎng)往往在某種程度上代表著技術(shù)發(fā)展的水平。該方面目前較新的技術(shù)是驅(qū)動或I/O級的應用,即過去普遍采 用現(xiàn)場總線系統(tǒng)的這些領(lǐng)域。這些應用類型要求系統(tǒng)具備良好的實時能力、適應小數(shù)據(jù)量通訊,并且價格經(jīng)濟。EtherCAT可以滿足這些需求,并且還可以在 I/O級實現(xiàn)因特網(wǎng)技術(shù) 。
EtherCAT作為實時工業(yè)以太網(wǎng)中的佼佼者,它具有高速和高數(shù)據(jù)有效的特點,支持多種物理拓撲結(jié)構(gòu)。其主站使用標準的以太網(wǎng)通信控制器,從站使用專門的從站控制芯片。正因為EtherCAT總線具備眾多優(yōu)點,在2014年10月,EtherCAT成為中國推薦性國家標準。本文提出了一種新的EtherCAT從站實現(xiàn)方案。
倍?;谝蕴W(wǎng)現(xiàn)場總線系統(tǒng)的EtherCAT(Ethernet for Control Automation Technology)技術(shù)具有性能優(yōu)異、 拓撲結(jié)構(gòu)靈活和系統(tǒng)配置簡單等特點。
EtherCAT突破了傳統(tǒng)現(xiàn)場總線系統(tǒng)的限制,為現(xiàn)場總線技術(shù)領(lǐng)域樹立了新的性能標準:30 μs 內(nèi)可以更新1000個I/O,利用以太網(wǎng)和因特網(wǎng)技術(shù)實現(xiàn)垂直優(yōu)化集成,網(wǎng)絡容量幾乎無限。使用 EtherCAT 后,可以用簡單的線型拓撲結(jié)構(gòu)替代昂貴的星型以太網(wǎng)拓撲結(jié)構(gòu),無需昂貴的基礎(chǔ)組件。
EtherCAT 還可以使用傳統(tǒng)的交換機連接方式,以集成其它的以太網(wǎng)設(shè)備。其它的實時以太網(wǎng)方案需要專用的主站硬件或掃描卡,而EtherCAT只需要價格低廉的標準以太網(wǎng)卡便可實現(xiàn)。
EtherCAT 擁有杰出的通訊性能,接線非常簡單,并對其它協(xié)議開放。傳統(tǒng)的現(xiàn)場總線系統(tǒng)已達到了極限,而EtherCAT則突破建立了新的技術(shù)標準——30μs內(nèi)可以更新1000個I/O數(shù)據(jù),可選擇雙絞線或光纖,并利用以太網(wǎng)和因特網(wǎng)技術(shù)實現(xiàn)垂直優(yōu)化集成。使用EtherCAT,可以用簡單的線型拓撲結(jié)構(gòu)替代昂貴的星型以太網(wǎng)拓撲結(jié)構(gòu),無需昂貴的基礎(chǔ)組件。EtherCAT還可以使用傳統(tǒng)的交換機連接方式,以集成其它的以太網(wǎng)設(shè)備。其它的實時以太網(wǎng)方案需要與控制器進行特殊連接,而EtherCAT只需要價格低廉的標準以太網(wǎng)卡(NIC)便可實現(xiàn)。
EtherCAT擁有多種機制,支持主站到從站、從站到從站以及主站到主站之間的通訊。
圖1 總線系統(tǒng)
它實現(xiàn)了安全功能,采用技術(shù)可行且經(jīng)濟實用的 方法,使以太網(wǎng)技術(shù)可以向下延伸至I/O級。EtherCAT功能優(yōu)越,可以完全兼容以太網(wǎng),可將因特網(wǎng)技術(shù)嵌入到簡單設(shè)備中,并最大化地利用了以太網(wǎng)所 提供的巨大帶寬,是一種實時性能優(yōu)越且成本低廉的網(wǎng)絡技術(shù)。
兼顧到從站的成本和性能,本系統(tǒng)采用簡單的“微處理器+以太網(wǎng)物理層收發(fā)器”的方案。其中微處理器和以太網(wǎng)物理層收發(fā)器都必須支持EtherCAT總線協(xié)議。德州儀器(Texas Instruments)的AM335X微處理器適用于工業(yè)自動化設(shè)計,提供可編程實時單元(Programmable Real-time Unit)片上接口,可以實現(xiàn)工業(yè)通信,支持EtherCAT、Ethernet/IP、PROFIBUS、PROFINET、POWERLINK以及SERCOS等常見協(xié)議。正是AM335x獨特的PRU+ARM核的架構(gòu),使得主需要一片AM335x不用在外部添加ASIC或者FPAG就可以實現(xiàn)從站,大大的節(jié)省了材料成本。此外AM335x微處理器還具有豐富的外部接口(CAN、ADC、USB等),支持快速網(wǎng)絡連接和快速數(shù)據(jù)吞吐,還能連接傳感器、電機控制??紤]到AM335x具備的眾多優(yōu)點選擇它作為本從站的微控制器。物理層收發(fā)器則選擇TLK110,給芯片為工業(yè)級物理層收發(fā)器,具有低功耗,低確定性延遲支持 IEEE 1588 執(zhí)行,可編程快速鏈路下行模式,反應時間 < 10μs等特性,滿足本系統(tǒng)的設(shè)計要就。本系統(tǒng)總體方案如圖2所示,
圖2 系統(tǒng)總體方案
AM3358為 ARM Cortex-A8 32-位RISC微控制器,最高工作頻率可以達到1GHz,擁有豐富的接口(6個UART,2個CAN,2個以太網(wǎng)接口,3個I2C等),此外還集成了可編程實時單元和工業(yè)用通信子系統(tǒng) (PRU-ICSS)單元。
由于PRU-ICSS與ARM核是獨立存在的,從而使得PRU-ICSS實現(xiàn)了針對更大效率和靈活性的獨立運行和時鐘控制。 PRU-ICSS 由兩個 32 RISC 處理器核(成為可編程實時單元,PRU)、數(shù)據(jù)存儲器、指令存儲器、中斷控制器、內(nèi)部外設(shè)等組成??梢酝ㄟ^對 PRU 編程,再結(jié)合 PRU-ICSS 提供的引腳能夠?qū)崿F(xiàn)可以實時性的工業(yè)接口。PRU-ICSS 能夠?qū)崿F(xiàn)多種工業(yè)以太網(wǎng)主站或從站控制器:EtherCAT、PROFINET、EtherNet/IP、PROFIBUS、POWERLINK。
PRU-ICSS 中有兩個可編程實時單元(PRU),兩個 PRU 可以獨立的編程操作,也可以協(xié)同工作,同時可以與芯片上的ARM 核協(xié)同工作。PRUs 可以通過主接口訪問 AM3358上面的所有資源。AM3358 中的 ARM 處理器能夠訪問 PRU-ICSS 中的資源。每個 PRU 都有 8KB 的程序存儲區(qū)和 8KB 的數(shù)據(jù)存儲區(qū)。這些存儲空間能夠同時映射到 PRU0、PRU1和 ARM 尋址空間。正是因 AM3358 的這種特點,在進行軟件開發(fā)時,可以單獨編寫 PRU程序?qū)崿F(xiàn)所需要的功能,編譯成 PRU 處理器可執(zhí)行的二進制代碼,ARM 上電啟動時,將PRU 程序加載到 PRU0 或 PRU1 的指令存儲器中并啟動 PRU,此時PRU-ICSS 就可以實現(xiàn)所需要的功能了。
3.1 軟件總體框架
EtherCAT從站軟件主要分3各部分來實現(xiàn),各部分的功能、接口如圖3所示。
(1)底層硬件驅(qū)動程序。主要使能PRU-ICSSS功能,配置工作模式,設(shè)置寄存器。此外驅(qū)動程序還要對SDRAM,SPI Flash,電源管理芯片,串口以及SD卡等硬件進行初始化操作。
(2)EtherCAT協(xié)議棧實現(xiàn)。EtherCAT協(xié)議棧主要提供
三部分功能:EtherCAT狀態(tài)機、郵箱通信(Mailbox Communication)和過程數(shù)據(jù)通信(Process Data Communication)。
(3)應用程序。應用程序主要維護系統(tǒng)要執(zhí)行的任務處理,比如串口調(diào)試、I/O驅(qū)動控制、傳感器數(shù)據(jù)采集等任務。系統(tǒng)可以采用輪詢的方式調(diào)度,也可以采用CPU搶占的方式,通過設(shè)置中斷程序,保證了系統(tǒng)有比較好的實時性。
圖3 軟件框架
3.2 PRU-ICSS 編程
PRU-ICSS 其實有點像可編程邏輯器件,可以通過對PRU0 和 PRU1 編程讓 PRU 實現(xiàn) ESC 中的數(shù)據(jù)幀處理單元、FMMU、SyncManager、分布式時鐘、錯誤檢測、主機接口等功能,并使用 PRUSS 中 12KB 的共享 RAM 來模擬 ESC 的寄存器。
TI公司在發(fā)布AM335x ICE開發(fā)套件的時候,提供了PRU EtherCAT固件(fireware)程序,如圖 4所示。能夠?qū)崿F(xiàn)EtherCAT從站硬件功能。在ARM程序?qū)CE進行初始化的時候?qū)⒐碳绦蛳螺d到PRU0和PRU1的指令存儲器即可將PRU-ICSS變成 EtherCAT 控制器。加載好固件后,PRU-ICSS實現(xiàn)ESC。另外通過共享內(nèi)存的方式,可以很方便的進行數(shù)據(jù)通信。
圖4 EtherCAT 固件程序示意圖
使用TwinCAT作為EtherCAT總線主站,并將EtherCAT網(wǎng)絡設(shè)置成OP狀態(tài),啟動WireShark對網(wǎng)絡中的數(shù)據(jù)進行捕獲。
經(jīng)過一段時間后,WireShark不活了網(wǎng)絡中所有的收發(fā)數(shù)據(jù),如圖5所示。
圖5 EtherCAT數(shù)據(jù)幀
經(jīng)過數(shù)據(jù)分析周期在10ms,考慮到PC系統(tǒng)并非實時系統(tǒng)而且硬件性能的原因,本EtherCAT從站方案達到最初設(shè)想的狀況,具有不錯的性能
本文詳細地闡述了一種低成本,高效率的EtherCat從站方案,經(jīng)過初步測試達到不錯的性能。
[1] Texas Instruments ,EtherCAT on Sitara Processors, http:// www.ti.com.cn/cn/lit/wp/spry187d/spry187d.pdf
[2] EtherCAT Technology Group ,EtherCAT-以太網(wǎng)現(xiàn)場總線, http://www.ethercat.org.cn/cn/technology.html#total
[3] 任計羽.EtherCAT從站軟件的設(shè)計與實現(xiàn)[D].北京:中國科學院光電技術(shù)研究所,2014.
[4] 郇極,劉艷強.工業(yè)以太網(wǎng)現(xiàn)場總線 EtherCAT 驅(qū)動程序設(shè)計及應用[M].北京:北京航空航天大學出版社,2010.
Based Design EtherCAT Slave
Fieldbus has become an important part of the automatic control technology, through a large number of practical experiments and testing, now widely applied. EtherCAT has good real-time capability to adapt to the small amount of data communications, and affordable, the industrial control has been widely used. However, due to EtherCAT Slave design must use a special chip, leading from the station complex hardware design, commissioning difficulties, increasing costs. In this paper, AM3358 Cortex A8 processor plus Ethernet physical layer transceiver (PHY) program, due to the integrated chip inside AM3358 Industrial communications subsystem (PRU-ICSS) EtherCAT protocol can be achieved, so long as the external PHY can become EtherCAT Slave ..
EtherCAT;AM3358;Slave
TP273
A
1008-1151(2015)03-0016-03
2015-02-12
桂林市科技開發(fā)(No.20140103-5)。
文輝(1987-),男,桂林電子科技大學信息與通信學院碩士研究生,研究方向為嵌入式、自動化。