時(shí) 博,張得禮,金 霞
(南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210016)
工業(yè)以太網(wǎng)技術(shù)以其價(jià)格低廉、穩(wěn)定可靠、通信速率高、軟硬件產(chǎn)品豐富、應(yīng)用廣泛以及支持技術(shù)成熟等優(yōu)點(diǎn),越來(lái)越受到工業(yè)控制領(lǐng)域的重視[1-4]。但由于其數(shù)據(jù)傳輸協(xié)議所限,實(shí)時(shí)性不高,目前只是應(yīng)用在管理層與控制層的上層通訊網(wǎng)絡(luò)中[5]。由貝加萊開(kāi)發(fā)的現(xiàn)場(chǎng)總線Ethernet POWERLINK,在標(biāo)準(zhǔn)以太網(wǎng)的硬件基礎(chǔ)上對(duì)數(shù)據(jù)鏈路層做了修改,同時(shí)以工業(yè)上最為廣泛使用的CANopen協(xié)議為基礎(chǔ)定義了應(yīng)用層[6]。為了解決普通以太網(wǎng)的實(shí)時(shí)性問(wèn)題,EPL在MAC層上增加了SCNM時(shí)間槽網(wǎng)絡(luò)通信管理來(lái)對(duì)通信進(jìn)行實(shí)時(shí)調(diào)度,保證每個(gè)節(jié)點(diǎn)在不同時(shí)刻對(duì)網(wǎng)絡(luò)有存取權(quán),從而避免了總線使用權(quán)的沖突,保證了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性[7]。
EPL協(xié)議是在標(biāo)準(zhǔn)以太網(wǎng)的基礎(chǔ)上建立一個(gè)現(xiàn)場(chǎng)總線系統(tǒng),從而滿足控制中高實(shí)時(shí)性的需求,其克服了傳統(tǒng)以太網(wǎng)物理介質(zhì)訪問(wèn)機(jī)制載波監(jiān)聽(tīng)多路訪問(wèn)/沖突檢測(cè)(CSMA/CD),由于時(shí)間沖突帶來(lái)的實(shí)時(shí)局限性。EPL使用了與CANopen相同的設(shè)備描述文件,同樣的數(shù)據(jù)字典,以及同樣的通信機(jī)制,如PDO,SDO和網(wǎng)絡(luò)管理的NMT,像CANopen一樣,直接交叉通信也是一個(gè)必要的特性,所有的CANopen應(yīng)用和設(shè)備描述文件可以很快地被同時(shí)應(yīng)用到POWERLINK環(huán)境,之間并無(wú)差異,因此,POWERLINK可以稱為Ethernet上的CANopen。EPL通信協(xié)議軟件架構(gòu)如圖1所示。
圖1 EPL通信協(xié)議軟件架構(gòu)
EPL采用了以太網(wǎng)標(biāo)準(zhǔn)網(wǎng)絡(luò)的物理層和數(shù)據(jù)鏈路層,而應(yīng)用層則采用了CANopen的SDO和PDO,它仍然支持UDP,TCP,HTTP和FTP,就像是開(kāi)了一個(gè)旁路作為專設(shè)通道來(lái)進(jìn)行時(shí)間槽管理。EPL的主要性能指標(biāo)如下:傳輸速度100Mbit/s;刷新周期(最?。?00μs;抖動(dòng)?1μs;傳輸距離,100 m/節(jié)點(diǎn)間距;輪詢方式,支持Client/Server和Producer/Consumer模式;M12&RJ45連接頭。
EPL的時(shí)間槽管理機(jī)制反映了EPL的整個(gè)控制機(jī)制。1個(gè)EPL通信周期可以分成4個(gè)階段,如圖2所示。
圖2 EPL通信周期
開(kāi)始階段。管理節(jié)點(diǎn)發(fā)布“通信周期開(kāi)始SOC”信號(hào),并以廣播的形式發(fā)給所有從節(jié)點(diǎn)。此信號(hào)發(fā)出去后,同步階段開(kāi)始,各個(gè)從節(jié)點(diǎn)就此同步。
同步階段。此階段中所有節(jié)點(diǎn)進(jìn)行同步信息交換,主站按照一個(gè)事先定義好的順序組成一個(gè)PRq幀,并發(fā)送給相應(yīng)的從站,要求此站發(fā)布信息,此站獲得發(fā)布許可后,以廣播的形式發(fā)出一幀PRs應(yīng)答信息,所有站點(diǎn)都能收到PRs信息,當(dāng)然也包括那些應(yīng)該獲得這幀信息的站點(diǎn)。站點(diǎn)間的直接橫向通信和CAN總線的通信類似。
異步階段。此階段是用于傳輸那些沒(méi)有實(shí)時(shí)性要求的數(shù)據(jù)而設(shè)定的,管理站發(fā)給某站一個(gè)“邀請(qǐng)EoC”幀,此站便可發(fā)布非同步數(shù)據(jù)信息,比如一個(gè)IP信息數(shù)據(jù)幀。
閑置階段。2個(gè)通信周期間的間隔階段[5-6,8]。
系統(tǒng)采用DSP+FPGA作為運(yùn)動(dòng)控制卡的主控芯片,而POWERLINK通信協(xié)議則是貫穿運(yùn)動(dòng)控制的核心。運(yùn)動(dòng)控制卡的系統(tǒng)架構(gòu)如圖3所示。
可編程DSP采用數(shù)據(jù)總線與程序總線分離的哈佛結(jié)構(gòu),比傳統(tǒng)的馮·諾依曼結(jié)構(gòu)有更快的指令執(zhí)行速度[9]。
控制卡選擇TMS320F28335作為MCU主控芯片,與以往的定點(diǎn)DSP相比,28335將EV分解成了相互獨(dú)立epwm,ecap,eq 3個(gè)模塊,相互之間互不干擾,因此,可以比較方便地實(shí)現(xiàn)復(fù)雜的信號(hào)輸出。尤其是epwm相對(duì)于EV中的PWM輸出功能有了很大的提高。F28335比定點(diǎn)F2812多了一個(gè)MAC單元,也就是速度增加了1倍。
圖3 PCB板的系統(tǒng)架構(gòu)
控制卡主要控制對(duì)象是伺服電機(jī),卡上集成有光電隔離I/O模塊作為電機(jī)接口模塊,DSP的每個(gè)事件管理器模塊都包括2個(gè)通用定時(shí)器(GP),每個(gè)GP都可以獨(dú)立提供1路PWM通道輸出脈沖信號(hào)。因此,1個(gè)事件管理模塊可以控制2個(gè)電機(jī)。對(duì)電機(jī)的控制采用脈沖+方向的控制方式。
基于FPGA的主站所需資源為7670個(gè)LE,因此,選用Altera的Cyclone芯片EP4CE22F17,該芯片總共22320個(gè)LE,資源利用率為34%。
openPOWERLINK是EPL的開(kāi)源應(yīng)用,包括用C語(yǔ)言編寫的EPL應(yīng)用程序代碼和用VHDL語(yǔ)言編寫的FPGA配置程序(openMAC和openHUB等)。因此,F(xiàn)PGA上運(yùn)行的EPL工程分為2部分:一部分為Quartus工程,用來(lái)配置FPGA片上資源及Nios軟核,這是因?yàn)镋PL的應(yīng)用程序是由C語(yǔ)言編寫的,無(wú)法直接在FPGA上運(yùn)行,因此,需要FGPA實(shí)現(xiàn)一個(gè)軟CPU用來(lái)運(yùn)行用戶的應(yīng)用程序,這個(gè)軟CPU就是Nios軟核;另一部分為Nios工程,用來(lái)運(yùn)行應(yīng)用程序,實(shí)際運(yùn)行EPL協(xié)議棧時(shí),用戶只需要在Nios中對(duì)應(yīng)用程序進(jìn)行修改。
系統(tǒng)使用快速型的NiosⅡ處理器內(nèi)核,工作頻率最快能夠達(dá)到100MHz。在此基礎(chǔ)上,植入EPL協(xié)議,實(shí)現(xiàn)對(duì)以太網(wǎng)的數(shù)據(jù)傳輸和控制。
MAC主要負(fù)責(zé)控制與鏈接物理層介質(zhì)。PHY(物理層接口芯片)采用KS8721芯片,該芯片能夠通過(guò)FPGA內(nèi)部的PLL實(shí)現(xiàn)外部高達(dá)125MHz的時(shí)鐘輸入;PHY芯片與RJ45傳輸采用MII模式,接口電路如圖4所示。
圖4 FPGA與PHY控制芯片接口
SRAM與EPCS是電路設(shè)計(jì)中不可或缺的部分,兩者的性能直接影響著控制卡的控制精度以及通信的實(shí)時(shí)性。系統(tǒng)采用512kB的SRAM芯片IS62C51216AL,與FPGA的接口為16bit。EPCS芯片采用FM25L256配置芯片來(lái)保存用戶應(yīng)用程序,該芯片克服了Flash擦除次數(shù)引起的使用壽命問(wèn)題,并防止數(shù)據(jù)查詢困難,具有高速讀寫、低功耗和掉電數(shù)據(jù)保存的特點(diǎn)。
EPL和用戶MCU(這里指軟CPU)之間的通信以下簡(jiǎn)稱API,是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵部分。實(shí)現(xiàn)EPL的FPGA以下簡(jiǎn)稱PCP,用戶的MCU以下簡(jiǎn)稱AP。在PCP中用一個(gè)雙端口RAM(DPRAM)實(shí)現(xiàn)EPL協(xié)議棧與AP之間的通信。該DPRAM內(nèi)部資源包含如下5部分:Control status register,A-synchronous transmit buffer(AP發(fā)送命令給PCP),Asynchronous receive buffer(PCP發(fā)送請(qǐng)求給AP),Synchronous data transmission buffer(TPDO Buffer周期性發(fā)送數(shù)據(jù)的緩沖區(qū)),Synchronous data receive buffer(RPDO Buffe周期性接收數(shù)據(jù)的緩沖區(qū))[10]。
AP一側(cè)的接口程序步驟:
a.AP一側(cè)創(chuàng)建一個(gè)Object Dictionary,然后將應(yīng)用程序中自定義的變量與Object Dictionary中的對(duì)象一一綁定。
b.AP發(fā)送“Initialization”給 EPL,進(jìn)行初始化。
c.AP發(fā)送“Start”命令給PCP,使EPL進(jìn)程開(kāi)始啟動(dòng)。
d.等待EPL進(jìn)入“OPERATIONAL”狀態(tài),進(jìn)入此狀態(tài),說(shuō)明EPL協(xié)議??梢詫?shí)現(xiàn)正常通信。
e.AP向PCP發(fā)送建立PDO描述的命令,PCP接收到這個(gè)命令以后,將返回給AP PDO的描述信息。AP根據(jù)PDO描述信息和對(duì)象字典,建立對(duì)象字典副本。
f.開(kāi)始周期性的通信。將aRxpdocopyTable的數(shù)據(jù)從接收PDO緩沖區(qū)拷貝走,將aTxpdoCopy-Table的數(shù)據(jù)拷貝到發(fā)送PDO緩沖區(qū)[11]。
DSP與FPGA通信流程如圖5所示。
圖5 DSP與FPGA通信流程
本設(shè)計(jì)的最大特點(diǎn)就是控制卡成本較低,且利用開(kāi)源的EPL總線通信協(xié)議,實(shí)現(xiàn)起來(lái)較簡(jiǎn)單。目前實(shí)現(xiàn)了EPL主站和從站的運(yùn)行,并在此基礎(chǔ)上增加了DSP和光電隔離I/O模塊。采用DSP作為核心處理器,實(shí)時(shí)處理能力更強(qiáng),且能夠?qū)崿F(xiàn)復(fù)雜的加減速控制算法、插補(bǔ)以及位置控制算法,充分滿足各種復(fù)雜的多軸運(yùn)動(dòng)控制系統(tǒng)的要求。EPL通信協(xié)議完全基于軟件,所有的應(yīng)用都可以使用標(biāo)準(zhǔn)的硬件來(lái)實(shí)現(xiàn),是個(gè)比較有前途的通信系統(tǒng),EPL的引入不僅使運(yùn)動(dòng)控制通信實(shí)時(shí)性更加良好,達(dá)到微秒級(jí)水平,而且對(duì)控制卡的性能改進(jìn)也更加方便。
[1]Zhu Zheng-hong,Wang Yue-e.The real-time technology research of industrial Ethernet in control field[C].International Conference on Mechanic Automation and Control Engineering(MACE),2010.5274-5277.
[2]Juan Antonio Maestro,Pedro Reviriego.Energy efficiency in industrial Ethernet:the case of POWERLINK[J].IEEE Transactions on Industrial Electronics,2010,57(8):2896-2903.
[3]朱 洪.工業(yè)以太網(wǎng)在控制領(lǐng)域的研究與應(yīng)用[D].南京:南京工業(yè)大學(xué),2003.
[4]袁振華.現(xiàn)場(chǎng)總線技術(shù)及工業(yè)以太網(wǎng)在多節(jié)點(diǎn)控制系統(tǒng)中的研究與應(yīng)用[D].上海:上海交通大學(xué),2011.
[5]葉 莘.Ethernet POWERLINK——實(shí)時(shí)的工業(yè)以太網(wǎng)[J].自動(dòng)化博覽,2004,(4):43-45.
[6]胡書立,王清理.POWERLINK總線技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(10):3821-3827.
[7]趙福春.基于實(shí)時(shí)以太網(wǎng)的開(kāi)放式電火花線切割加工數(shù)控系統(tǒng)設(shè)計(jì)[D].上海:上海交通大學(xué),2013.
[8]韋 宏,付友濤,孔凡鵬,等.基于FPGA的千兆以太網(wǎng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(18):56-59.
[9]賈 佳,曹樹坤.基于DSP的多軸運(yùn)動(dòng)控制器研究[J].現(xiàn)代制造技術(shù)與裝備,2012,(4):8-10.
[10]Seno L,Vitturi S.A simulation study of Ethernet POWERLINK networks[C].IEEE Conference on E-merging Technologies and Factory Automation,2007.740-743.
[11]馮海川,張承慧,崔納新,等.POWERLINK在紙機(jī)傳動(dòng)控制系統(tǒng)中的應(yīng)用[J].中國(guó)造紙,2007,26(1):41-45.