摘要:文章介紹了EtherCAT總線的原理與相關(guān)協(xié)議,根據(jù)協(xié)議的內(nèi)容給出EtherCAT總線主站設(shè)計(jì)方案,通過對(duì)PowerPC處理器MPC5200和DSP信號(hào)處理器TMS320C6455的研究,設(shè)計(jì)出以該器件為核心控制的Ethercat主站硬件平臺(tái),并完成主站協(xié)議軟件在MPC5200的具體實(shí)現(xiàn)。
關(guān)鍵詞:實(shí)時(shí)以太網(wǎng); EtherCAT;DSP;MPC5200;主站軟件
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)16-3678-04
將以太網(wǎng)技術(shù)應(yīng)用于現(xiàn)場(chǎng)總線技術(shù)是分布式控制系統(tǒng)發(fā)展的必然趨勢(shì),與傳統(tǒng)的現(xiàn)場(chǎng)總線相比,以太網(wǎng)現(xiàn)場(chǎng)總線具有刷新周期短,數(shù)據(jù)傳輸容量大,數(shù)據(jù)傳輸效率高,同步性能高等優(yōu)點(diǎn)。目前常用的實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)有EtherCAT技術(shù)、EtherNet/IPIP技術(shù)、Ethernet Powerlink技術(shù)、Modbus/TCP技術(shù)等[1-3]。
EtherCAT是由德國(guó)Beckhoff 自動(dòng)化公司開發(fā),該總線具有高速和高數(shù)據(jù)有效率的特點(diǎn),在硬件實(shí)現(xiàn)上具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)靈活、接線簡(jiǎn)單、性價(jià)比高等優(yōu)點(diǎn),為今后實(shí)時(shí)工業(yè)以太網(wǎng)的發(fā)展趨勢(shì),更是今后實(shí)時(shí)分布式控制系統(tǒng)的首選[4]。
1 Ethercat總線的工作原理與相關(guān)協(xié)議[5-6]
1.1 Ethercat總線的工作原理
2 主站的硬件設(shè)計(jì)
2.1 DSP單元
核心器件采用TMS320C6455[9],該器件TI公司推出的高速信號(hào)處理器,最高工作頻率為1.2GHz,該模塊主要電路包括時(shí)鐘、復(fù)位、JTAG調(diào)試接口、存儲(chǔ)器、通信電路、模擬量接收電路等組成。DSP主要用于復(fù)雜的實(shí)時(shí)信號(hào)處理(如:數(shù)控系統(tǒng)多軸的運(yùn)動(dòng)軌跡規(guī)劃、實(shí)時(shí)的插補(bǔ)算法、誤差補(bǔ)償、伺服濾波算法),并將運(yùn)算結(jié)果通過FPGA傳送到PowerPC控制的EtherCAT總線上。存儲(chǔ)器電路主要包括DDR2存儲(chǔ)器以及FLASH存儲(chǔ)器和DSP的接口,DDR2存儲(chǔ)器用于存放數(shù)據(jù),F(xiàn)LASH存儲(chǔ)器用于存儲(chǔ)運(yùn)行程序和系統(tǒng)重要參數(shù)。模擬量接收電路在FPGA控制下,將外部輸入的模擬信號(hào)數(shù)字化后送入DSP,用于數(shù)據(jù)信號(hào)處理。通信電路主要為千兆以太網(wǎng)接口電路,DSP內(nèi)部集成了100/1000Mb/s的MAC控制器,通過外部擴(kuò)展PHY芯片實(shí)現(xiàn)網(wǎng)絡(luò)功能,千兆網(wǎng)主要用于系統(tǒng)參數(shù)設(shè)置和調(diào)試使用。
2.2 FPGA單元
在設(shè)計(jì)中FPGA采用是Altera 公司的EP3C40F484-C8N,器件內(nèi)部有39600個(gè)LE 資源,有1兆位的RAM,可提供三百多個(gè)輸入輸出 引腳,芯片內(nèi)部集成了一百多個(gè)個(gè)乘法器和4 個(gè)PLL 鎖相環(huán),滿足硬件設(shè)計(jì)需求。FPGA用于實(shí)現(xiàn)DSP和PowerPC的雙向數(shù)據(jù)交換,PowerPC將接收到的EtherCAT總線上各控制單元的信息通過FPGA傳送到DSP內(nèi)部,DSP通過FPGA可以將相應(yīng)的數(shù)據(jù)傳到EtherCAT總線上各單元。另外,F(xiàn)PGA還用于邏輯控制,實(shí)現(xiàn)模擬量輸入輸出信息、開關(guān)量輸入輸出信息與DSP、PowerPC的無(wú)縫連接。
2.3 PowerPC (MPC5200B)單元
主站PowerPC采用MPC5200B[7 8],該器件為Freescale 公司推出的32位高性能處理器,器件主頻工作頻率為400MHz,為了提高程序運(yùn)算速度,器件內(nèi)核分別帶有16K字節(jié)的程序、數(shù)據(jù)高速緩存,帶有一個(gè)雙精度浮點(diǎn)處理單元。對(duì)于外部關(guān)鍵信號(hào),片內(nèi)帶有標(biāo)準(zhǔn)中斷管理單元。為了實(shí)現(xiàn)器件與外部通信,MPC5200B片內(nèi)集成一路100M的以太網(wǎng)控制器,兩路CAN總線控制器,多路串行口控制器。該單元由MPC5200B、時(shí)鐘電路、復(fù)位電路、JTAG 調(diào)試接口、通信接口電路、存儲(chǔ)器接口電路以及對(duì)外擴(kuò)展接口電路等組成。該模塊主要用于實(shí)現(xiàn)用于實(shí)現(xiàn)EtherCAT的物理接口以及主站協(xié)議的軟件實(shí)現(xiàn),并提供相應(yīng)的控制軟件。
2.4 電源單元
2.5 通信單元
在設(shè)計(jì)中為了考慮硬件的兼容性,采用了多種通信接口,在DSP上掛接一路1000M的以太網(wǎng),用于DSP系統(tǒng)調(diào)試參數(shù)設(shè)置,在PowerPC上掛接一路100M以太網(wǎng)接口,六路串行接口(分別為2個(gè)RS232口、兩個(gè)RS485口、2個(gè)CAN接口)。1000M的以太網(wǎng)用于實(shí)現(xiàn)EtherCAT總線物理接口,RS232口用于實(shí)現(xiàn)與PC通信,RS485口和CAN接口可以實(shí)現(xiàn)與其他設(shè)備接口,滿足系統(tǒng)通用性要求。
3 主站軟件設(shè)計(jì)
EtherCAT主站程序包括DSP和PowerPC兩個(gè)運(yùn)行程序,DSP程序主要功能是實(shí)現(xiàn)復(fù)雜控制算法,PowerPC程序功能為實(shí)現(xiàn)EtherCAT協(xié)議的通信和設(shè)備的控制。DSP運(yùn)行的軟件主要為算法研究,由于篇幅所限,文章著重詳述在PowerPC硬件平臺(tái)下,EtherCAT協(xié)議和控制軟件在Linux操作系統(tǒng)中的實(shí)現(xiàn)。
3.1 PowerPC(MPC5200B)下主站軟件功能
在PowerPC下運(yùn)行的EtherCAT 主站軟件主要包含如下功能:首先,完成系統(tǒng)主站硬件的初始化,軟件能夠?qū)ο到y(tǒng)運(yùn)行時(shí)間進(jìn)行計(jì)數(shù),對(duì)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行監(jiān)控;其次,主站軟件通過發(fā)送命令要對(duì)EtherCAT 系統(tǒng)以及各個(gè)從站進(jìn)行初始化,實(shí)現(xiàn)主站與各從站之間的數(shù)據(jù)實(shí)時(shí)交換,實(shí)現(xiàn)相關(guān)協(xié)議解析和轉(zhuǎn)發(fā);再次,主站軟件可支持在線下載、實(shí)時(shí)更新。軟件結(jié)構(gòu)采用模塊化編程,底層軟件提供硬件驅(qū)動(dòng),中間層軟件為上層應(yīng)用軟件和底層軟件提供接口,實(shí)現(xiàn)上層應(yīng)用軟件與驅(qū)動(dòng)軟件隔離。
3.2 基于Linux的 EtherCAT主站下主站軟件具體實(shí)現(xiàn)
EtherCAT初始化完成后,在Linux內(nèi)新建兩個(gè)內(nèi)核定時(shí)器,一個(gè)用于完成周期性數(shù)據(jù)通信,另一個(gè)用于輪詢非周期性任務(wù),也就是狀態(tài)機(jī)處理任務(wù)。周期性數(shù)據(jù)通信定時(shí)器的優(yōu)先級(jí)最高,定時(shí)器運(yùn)行周期通過配置軟件設(shè)置,非周期任務(wù)查詢定時(shí)器的優(yōu)先級(jí)較低,周期可定為50毫秒。
初始化和配置完成后,啟動(dòng)定時(shí)器開始發(fā)送周期性數(shù)據(jù)幀,并檢查返回的數(shù)據(jù)幀,對(duì)返回的數(shù)據(jù)幀進(jìn)行解析,獲取從站的數(shù)據(jù)交給DSP處理,DSP對(duì)數(shù)據(jù)進(jìn)行處理后,將新的輸出命令發(fā)給PowerPC,PowerPC繼續(xù)發(fā)送周期性數(shù)據(jù)幀。
4 結(jié)論
采用基于DSP和PowerPC的硬件平臺(tái)實(shí)現(xiàn)了EtherCAT總線主站相關(guān)協(xié)議,通過測(cè)試可知, 主站周期性的向各從站(測(cè)試時(shí),從站數(shù)量為3)發(fā)送EtherCAT 數(shù)據(jù)包(數(shù)據(jù)包數(shù)量為1518字節(jié)),各從站接收到自己的數(shù)據(jù)包,再向主站返回相應(yīng)信息,EtherCAT總線延時(shí)時(shí)間為3.02μS,可以看出主站設(shè)計(jì)滿足實(shí)時(shí)性要求。
參考文獻(xiàn):
[1] 杜品圣.工業(yè)以太網(wǎng)技術(shù)的介紹和比較[J].儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2005,5:16-19.
[2] 繆學(xué)勤.論六種實(shí)時(shí)以太網(wǎng)的通信協(xié)議[J].自動(dòng)化儀表,2005,26(4):1-6.
[3] 劉艷春.工業(yè)以太網(wǎng)現(xiàn)場(chǎng)總線EtherCAT驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[4] EtherCAT Technology Group.EtherCAT Technical Introduction and Overview. December 2004.
[5] 周千翔.基于實(shí)時(shí)以太網(wǎng)的分布式電子控制器設(shè)計(jì)[D].南京:南京航空航天大學(xué)碩士論文,2008.
[6] EtherCAT Communication Principles[R].EtherCAT Technology Group,2007.
[7] Freescale Semiconductor.MPC5200B Data Sheet, Rev.1,1/2006.
[8] Freescale Semiconductor.MPC5200B User's Manual, Rev.1,1/2006.
[9] TEXAS INSTRUMENTS.TMS320C6455 Fixed-Point Digital Signal Processor APRIL,2009.