宋 寶,徐 健,刁思勉,唐小琦
(1.華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,武漢 430074;2.中國(guó)地質(zhì)大學(xué)(武漢)研究生院,武漢 430074)
?
基于分時(shí)復(fù)用策略的EtherCAT從站IP核設(shè)計(jì)及實(shí)現(xiàn)*
宋寶1,徐 健1,刁思勉2,唐小琦1
(1.華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,武漢 430074;2.中國(guó)地質(zhì)大學(xué)(武漢)研究生院,武漢 430074)
在分析工業(yè)以太網(wǎng)EtherCAT協(xié)議基礎(chǔ)之上,針對(duì)現(xiàn)今EtherCAT從站采用專用ASIC或者商用IP核實(shí)現(xiàn)的成本高、不靈活等問題,提出了一種基于通用FPGA的實(shí)現(xiàn)方法。該方法根據(jù)數(shù)據(jù)幀驅(qū)動(dòng)特性的分時(shí)復(fù)用策略,將EtherCAT從站IP核中的各個(gè)功能模塊任務(wù)進(jìn)行分類,利用FPGA的并行特性進(jìn)行模塊任務(wù)的串并行調(diào)度,實(shí)現(xiàn)了在無(wú)數(shù)據(jù)幀緩存的條件下EtherCAT從站IP核。實(shí)驗(yàn)結(jié)果表明,基于該方法設(shè)計(jì)及實(shí)現(xiàn)的IP核不僅具有良好的兼容性和穩(wěn)定性,還具有更為優(yōu)良同步特性和快速響應(yīng)特性。
EtherCAT從站;分時(shí)復(fù)用;IP核
現(xiàn)場(chǎng)總線技術(shù)在自動(dòng)化系統(tǒng)中得到了越來越廣泛的應(yīng)用,特別是在基于實(shí)時(shí)以太網(wǎng)的現(xiàn)場(chǎng)總線控制系統(tǒng)中,如高端數(shù)控加工、機(jī)器人控制等實(shí)時(shí)領(lǐng)域[1-2]。實(shí)時(shí)工業(yè)以太網(wǎng)協(xié)議EtherCAT由于其具有高效率、支持多種拓?fù)?、同步性能好等特點(diǎn),廣泛應(yīng)用在各類設(shè)備當(dāng)中[3]。
EtherCAT控制系統(tǒng)的要求EtherCAT從站控制器具有協(xié)議兼容一致性、低延時(shí)地快速響應(yīng)性、持續(xù)地穩(wěn)定可靠性和高精度的同步性[4-5]。EtherCAT從站的實(shí)現(xiàn)可以采用從站專用控制芯片或者IP核,如采用Beckhoff公司的ET1100進(jìn)行EtherCAT伺服驅(qū)動(dòng)器和數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[6-8],采用TI公司的AM335x進(jìn)行運(yùn)動(dòng)控制和驅(qū)動(dòng)軟件的研究[9-10],未曾見有文獻(xiàn)提及EtherCAT從站IP核的設(shè)計(jì)方法及思路。
因此,為解決專用芯片和商用IP核成本高、系統(tǒng)集成不靈活等問題,本文提出了一種基于通用FPGA實(shí)現(xiàn)EtherCAT從站控制器的方法。該方法基于數(shù)據(jù)幀驅(qū)動(dòng)特性的分時(shí)復(fù)用策略,將EtherCAT從站IP核中的各個(gè)功能模塊任務(wù)進(jìn)行分類,利用FPGA的并行特性進(jìn)行模塊任務(wù)的串并行調(diào)度,實(shí)現(xiàn)了在無(wú)數(shù)據(jù)幀緩存的條件下EtherCAT從站IP核,具有平臺(tái)靈活性好、成本低等優(yōu)勢(shì)。
以從站控制器收發(fā)數(shù)據(jù)通道中的數(shù)據(jù)幀特性進(jìn)行分析,如圖1所示,在一個(gè)定時(shí)周期Tcycle_time內(nèi),從站會(huì)收到周期性數(shù)據(jù)幀和若干非周期性數(shù)據(jù)幀,這些數(shù)據(jù)幀之間的間隔tδframe由主站控制器設(shè)定,其最小值為960ns,考慮物理層鏈路的抖動(dòng)為tjitter,幀長(zhǎng)為tframe,數(shù)據(jù)幀處理延時(shí)為tdelay。為使從站控制器處理連續(xù)數(shù)據(jù)幀時(shí)雙口RAM不沖突,應(yīng)該滿足以下條件:
其中,tdelay直接反映了從站控制器的響應(yīng)特性,其值越小越表示其響應(yīng)特性越好。
圖1 從站收發(fā)數(shù)據(jù)幀特性分析
為確保在實(shí)現(xiàn)協(xié)議功能的前提之下,盡量減小tdelay,提出了一種基于數(shù)據(jù)幀特性驅(qū)動(dòng)的多任務(wù)分時(shí)復(fù)用調(diào)度策略,如圖2所示?;跀?shù)據(jù)幀驅(qū)動(dòng)特性的從站IP核的任務(wù)可以根據(jù)數(shù)據(jù)幀進(jìn)行分類和劃分,利用FPGA的并行操作特性可以實(shí)現(xiàn)各類任務(wù)之間的串并行調(diào)度,實(shí)現(xiàn)無(wú)緩存數(shù)據(jù)幀條件下的多任務(wù)處理,避免了傳統(tǒng)存儲(chǔ)轉(zhuǎn)發(fā)的長(zhǎng)延時(shí),從而極大程度地減小了tdelay。
從站IP核根據(jù)雙口RAM搶占分時(shí)復(fù)用特性將各個(gè)功能模塊的任務(wù)劃分為兩類,一類是基于數(shù)據(jù)幀驅(qū)動(dòng)的模塊任務(wù),比如雙口RAM數(shù)據(jù)的上傳和下載,CRC32校驗(yàn)等;而另一類是并行與整個(gè)從站IP核的運(yùn)行過程,不以數(shù)據(jù)幀為驅(qū)動(dòng)特性的模塊任務(wù),比如PHY鏈路的狀態(tài)管理,PDI接口等。根據(jù)整個(gè)從站IP核實(shí)現(xiàn)的分時(shí)復(fù)用的快速響應(yīng)策略,數(shù)據(jù)幀從PHY芯片到達(dá)FPGA后,經(jīng)過PHY鏈路管理模塊將數(shù)據(jù)rxd/rxdv送至數(shù)據(jù)幀接收端口,之后同時(shí)根據(jù)幀結(jié)構(gòu)驅(qū)動(dòng)的分時(shí)復(fù)用策略執(zhí)行雙口RAM操作和CRC32校驗(yàn)兩個(gè)模塊的任務(wù)。
圖2 數(shù)據(jù)幀分時(shí)復(fù)用驅(qū)動(dòng)策略
其中,雙口RAM操作模塊無(wú)緩存地產(chǎn)生發(fā)送數(shù)據(jù)幀,直接驅(qū)動(dòng)CRC32計(jì)算模塊,計(jì)算新產(chǎn)生數(shù)據(jù)的CRC數(shù)值,附于幀尾后轉(zhuǎn)發(fā)至下一節(jié)點(diǎn)。另一個(gè)CRC32校驗(yàn)任務(wù)從幀頭部分一直持續(xù)到幀尾部分,若幀尾CRC校驗(yàn)正確,則按照優(yōu)先級(jí)次序依次搶占調(diào)用雙口RAM。同時(shí)根據(jù)幀類型驅(qū)動(dòng)的分時(shí)復(fù)用策略執(zhí)行數(shù)據(jù)幀內(nèi)容驅(qū)動(dòng)的任務(wù)模塊,如分布時(shí)鐘控制環(huán)、SII EEPROM接口操作和應(yīng)用層狀態(tài)更新等任務(wù)。
以EtherCAT數(shù)據(jù)幀驅(qū)動(dòng)為例,其格式如圖3所示。利用數(shù)據(jù)幀分時(shí)復(fù)用的驅(qū)動(dòng)特性,將從站IP核中的功能模塊任務(wù)按照EtherCAT數(shù)據(jù)幀結(jié)構(gòu)的定義進(jìn)行分時(shí)調(diào)用。其中,每個(gè)子報(bào)文所占的時(shí)間為tcmdn,數(shù)據(jù)幀只有在子報(bào)文的有效數(shù)據(jù)范圍內(nèi)才會(huì)上傳和下載雙口RAM中的數(shù)據(jù),因此,為了滿足無(wú)緩存數(shù)據(jù)的數(shù)據(jù)幀發(fā)送,tcmdn即為子報(bào)文搶占調(diào)用雙口RAM的時(shí)間;同時(shí),該數(shù)據(jù)幀驅(qū)動(dòng)了全數(shù)據(jù)幀范圍的任務(wù),從幀頭至幀尾部分,數(shù)據(jù)幀驅(qū)動(dòng)CRC驗(yàn)算模塊,驗(yàn)算接收通道數(shù)據(jù)幀CRC,并計(jì)算發(fā)送數(shù)據(jù)幀CRC;在數(shù)據(jù)幀結(jié)尾,CRC驗(yàn)算成功后開始執(zhí)行周期性類型幀的驅(qū)動(dòng)任務(wù);當(dāng)然, EtherCAT從站IP核中同時(shí)驅(qū)動(dòng)并不以數(shù)據(jù)幀來驅(qū)動(dòng)的模塊,其并不影響無(wú)緩存數(shù)據(jù)的數(shù)據(jù)幀發(fā)送。
圖3 數(shù)據(jù)幀驅(qū)動(dòng)特性的從站IP核調(diào)度
因此,基于數(shù)據(jù)幀驅(qū)動(dòng)特性的分時(shí)復(fù)用策略實(shí)現(xiàn)了在無(wú)緩存數(shù)據(jù)幀的條件下,從站IP核直接進(jìn)行低延時(shí)地處理和轉(zhuǎn)發(fā),從而極大程度上減小了tdelay,確保了從站控制器的快速響應(yīng)特性;其次,實(shí)現(xiàn)了EtherCAT協(xié)議所要求的從站控制器的各個(gè)功能模塊,并且利用FPGA的并行操作特性可以方便集成在從站控制器當(dāng)中,確保了協(xié)議兼容的一致性;當(dāng)然,各個(gè)模塊任務(wù)在以數(shù)據(jù)幀驅(qū)動(dòng)特性為核心的調(diào)度之下,避免了各個(gè)功能模塊間搶占調(diào)用雙口RAM產(chǎn)生的沖突,提高了整個(gè)IP核的執(zhí)行效率和穩(wěn)定性;最后,以數(shù)據(jù)幀驅(qū)動(dòng)特性作為支持分布時(shí)鐘的控制環(huán)輸入,可以在更新參考時(shí)鐘后及時(shí)進(jìn)行控制環(huán)的迭代來校準(zhǔn)本地系統(tǒng)時(shí)間,實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)之間的高精度的同步性能。
基于數(shù)據(jù)幀分時(shí)復(fù)用驅(qū)動(dòng)的從站IP核收發(fā)數(shù)據(jù)時(shí)序圖如圖4所示,以RMII為例,數(shù)據(jù)幀在每次緩存完一個(gè)字節(jié)后進(jìn)行產(chǎn)生CRC計(jì)算信號(hào)使能CRC校驗(yàn)?zāi)K計(jì)算一次產(chǎn)生CRC結(jié)果,依次類推,到有效數(shù)據(jù)接收完成后計(jì)算產(chǎn)生數(shù)據(jù)的校驗(yàn)值;同時(shí),在原有數(shù)據(jù)幀接收完成幀尾后判斷是否進(jìn)行相應(yīng)任務(wù)的操作。另一方面,雙口RAM的操作模塊根據(jù)接收通道中的數(shù)據(jù)產(chǎn)生發(fā)送數(shù)據(jù)txd_reg[1..0],與CRC校驗(yàn)相同,CRC計(jì)算模塊計(jì)算該幀的CRC數(shù)值,將其置于幀尾并產(chǎn)生發(fā)送數(shù)據(jù)幀txd至下一節(jié)點(diǎn)。由圖中可以看出,發(fā)送數(shù)據(jù)txd[1..0]相對(duì)于接收數(shù)據(jù)rxd[1..0]的tdelay僅有兩個(gè)時(shí)鐘周期,滿足了從站控制器的快速響應(yīng)性能要求。EtherCAT從站IP核的分布時(shí)鐘控制環(huán)同步作為周期性數(shù)據(jù)幀驅(qū)動(dòng)的一個(gè)模塊子任務(wù),其同步算法流程圖如圖5所示。其中,本地時(shí)鐘local_time由上電系統(tǒng)啟動(dòng)后開始運(yùn)行,分布時(shí)鐘控制的同步任務(wù)就是使本地系統(tǒng)時(shí)鐘與參考系統(tǒng)時(shí)鐘一致,包括兩方面的內(nèi)容,其一是初始偏移量Toffset的補(bǔ)償,其二是實(shí)時(shí)動(dòng)態(tài)補(bǔ)償漂移的過程。當(dāng)含有參考時(shí)鐘的數(shù)據(jù)幀到來,鎖存本地系統(tǒng)時(shí)間副本tlocal_copy_sys_time和tsys_ref作為本周期的分布時(shí)鐘控制環(huán)的輸入,計(jì)算本地時(shí)鐘漂移:
Δt=tlocal_copy_sys_time-Tdelay-tsys_ref
其中,Δt表示本地系統(tǒng)時(shí)鐘與參考系統(tǒng)時(shí)鐘的漂移量,根據(jù)控制算法流程,在以后的控制環(huán)的Δt個(gè)刷新周期內(nèi),每次補(bǔ)償1ns來補(bǔ)償Δt的時(shí)鐘偏移量。以周期性數(shù)據(jù)幀進(jìn)行每個(gè)周期的分布時(shí)鐘控制環(huán)輸入,可以使本地系統(tǒng)時(shí)鐘與參考時(shí)鐘保持動(dòng)態(tài)一致,從而使各個(gè)節(jié)點(diǎn)同時(shí)產(chǎn)生SYNC/Latch同步信號(hào)。
圖4 從站IP核收發(fā)數(shù)據(jù)時(shí)序圖
圖5 從站IP核同步流程圖
為驗(yàn)證測(cè)試基于分時(shí)復(fù)用策略的EtherCAT從站IP核,針對(duì)基于此方法設(shè)計(jì)的TSV-HL伺服驅(qū)動(dòng)器進(jìn)行了響應(yīng)性能、同步性、穩(wěn)定性和兼容性測(cè)試。
首先,搭建了利用FPGA主站分別測(cè)試從站IP核和ET1100快速響應(yīng)的實(shí)驗(yàn)平臺(tái),仿真測(cè)試結(jié)果如圖6所示,以主站發(fā)送使能和接收使能之間的間隔作為兩種方案響應(yīng)能力的評(píng)價(jià)指標(biāo),其中,IP核方案的響應(yīng)時(shí)間為740ns,而ET1100的響應(yīng)時(shí)間為920ns。從中可以看出,基于分時(shí)復(fù)用策略的EtherCAT從站IP核具有優(yōu)越的快速響應(yīng)能力。
圖6 快速響應(yīng)能力測(cè)試對(duì)比結(jié)果
圖7 同步信號(hào)產(chǎn)生仿真圖
以Beckhoff公司TwinCAT軟件作為主站測(cè)試了兩軸TSV-HL伺服驅(qū)動(dòng)器的同步性能,其觀測(cè)采樣同步產(chǎn)生信號(hào)的仿真圖如圖7所示,其采樣時(shí)鐘為100MHz。其中,主站同時(shí)使能SYNC0和SYNC1同步信號(hào),周期為1ms,SYNC1滯后SYNC0信號(hào)1000ns,從產(chǎn)生的SYNC信號(hào)可以看出單軸仿真測(cè)試的同步信號(hào)輸出達(dá)到了主站的控制要求。
利用示波器余輝功能,通道1以參考節(jié)點(diǎn)SYNC0信號(hào)作為觸發(fā)條件,通道2觀測(cè)另一節(jié)點(diǎn)的SYNC0信號(hào),測(cè)試結(jié)果圖如圖8所示??梢钥闯鱿鄬?duì)于參考節(jié)點(diǎn)的平均誤差大致為-20ns,抖動(dòng)大致為±20ns,相比較于采用ET1100方案的某伺服驅(qū)動(dòng)器的±300ns而言,具有較為優(yōu)良的同步性能。
圖8 兩軸同步信號(hào)SYNC示意圖
以TwinCAT+單軸TSV-HL伺服驅(qū)動(dòng)器進(jìn)行穩(wěn)定性測(cè)試,以2ms的通信周期進(jìn)行連續(xù)12h不間斷地運(yùn)行,測(cè)試其丟幀和錯(cuò)幀等情況,測(cè)試結(jié)果如圖9所示,可以看出不論從TwinCAT監(jiān)測(cè)還是從站IP核中的錯(cuò)誤計(jì)數(shù)器監(jiān)測(cè),都不存在丟幀和錯(cuò)幀的現(xiàn)象,從而反應(yīng)出基于分時(shí)復(fù)用策略從站IP核的穩(wěn)定性。
圖9 穩(wěn)定性測(cè)試結(jié)果
為測(cè)試從站IP核的兼容性,搭建了如圖10所示的測(cè)試平臺(tái),包括自制主站、新時(shí)達(dá)AS260伺服驅(qū)動(dòng)器、松下A5B伺服驅(qū)動(dòng)器和四臺(tái)TSV-HL伺服驅(qū)動(dòng)器,測(cè)試平臺(tái)能夠正常無(wú)故障地運(yùn)轉(zhuǎn),表明從站IP核能夠兼容在標(biāo)準(zhǔn)的EtherCAT網(wǎng)絡(luò)中,能夠適應(yīng)標(biāo)準(zhǔn)EtherCAT接口設(shè)備的互操作性連接。
圖10 兼容性測(cè)試平臺(tái)
實(shí)驗(yàn)結(jié)果表明,本文提出的基于分時(shí)復(fù)用策略的EtherCAT從站IP核設(shè)計(jì)和實(shí)現(xiàn)方法,能夠在通用低成本FPGA平臺(tái)的基礎(chǔ)之上實(shí)現(xiàn)EtherCAT通信接口的功能,具有良好的兼容性和穩(wěn)定性;并且有相對(duì)于專用ASIC方案而言,具有更為優(yōu)良的同步特性和快速響應(yīng)特性,對(duì)靈活低成本在設(shè)備上集成EtherCAT接口具有良好的借鑒意義,具有廣泛的工程應(yīng)用前景和市場(chǎng)價(jià)值。
[1] 馮世寧, 馬杰, 趙雪飛. 若干種實(shí)時(shí)以太網(wǎng)標(biāo)準(zhǔn)的比較[J]. 南京師范大學(xué)學(xué)報(bào): 工程技術(shù)版, 2010, 10(2): 88-92.
[2] Vitturi S, Peretti L, Seno L. Real-time Ethernet networks for motion control[J]. Computer Standards & Interfaces, 2011, 33(5): 465-476.
[3] 徐健, 宋寶, 唐小琦. EtherCAT 與 Modbus 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的設(shè)計(jì)及實(shí)現(xiàn)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2015(4): 71-73.
[4] Kim K, Sung M, Jin H W. Design and implementation of a delay-guaranteed motor drive for precision motion control[J]. Industrial Informatics, IEEE Transactions on, 2012, 8(2): 351-365.
[5] Cena G, Bertolotti I C, Scanzio S. Evaluation of EtherCAT distributed clock performance[J]. Industrial Informatics, IEEE Transactions on, 2012, 8(1): 20-29.
[6] 李文虎, 李葉松, 王江城. 伺服驅(qū)動(dòng)器 EtherCAT 接口設(shè)計(jì)[J]. 電氣傳動(dòng), 2011, 41(7): 51-55.
[7] 李木國(guó), 王磊, 王靜, 等. 基于 EtherCAT 的工業(yè)以太網(wǎng)數(shù)據(jù)采集系統(tǒng)[J]. 計(jì)算機(jī)工程, 2010, 36(3): 237-239.
[8] 郭忺. 實(shí)時(shí) EtherCAT 通訊的交流伺服驅(qū)動(dòng)器研究[D]. 廣州:華南理工大學(xué), 2014.
[9] 趙巍. 基于 EtherCAT 總線的運(yùn)動(dòng)控制器通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2013.
[10] 任計(jì)羽. EtherCAT 從站軟件的設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都:中國(guó)科學(xué)院研究生院 (光電技術(shù)研究所), 2014.
(編輯趙蓉)
Design and Implementation of the EtherCAT Slave IP Core Based on Time Division Multiplexing Strategy
SONG Bao1, XU Jian1, DIAO Si-mian2,TANG Xiao-qi1
(1.School of Mechanical Science and Engineering, HuaZhong University of Science and Technology, Wuhan 430074, China;2. Graduate School, China University of Geosciences, Wuhan 430074, China )
In the analysis of industrial Ethernet EtherCAT protocol basis for today EtherCAT slave or commercial use of special ASIC IP core to achieve the high costs, inflexible and other issues, a common FPGA-based implementation method is proposed. The method according to the driving characteristics of the data frame of time division multiplexing strategy, classifying the EtherCAT slave IP Core individual functional modules mission, carrying out modules tasks with serial and parallel scheduling using FPGA parallel feature to achieve in the absence of data-frame buffer conditions under EtherCAT slave IP Core. Experimental results show that the design and implementation based on the method of IP Core not only has good compatibility and stability, but also has more excellent synchronization characteristics and fast response.
EtherCAT slave;time division multiplexing;IP Core
1001-2265(2016)04-0026-03DOI:10.13462/j.cnki.mmtamt.2016.04.007
2015-06-12
“高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備”科技重大專項(xiàng)(2012ZX04001041)
宋寶(1974—),女,湖北黃岡人,華中科技大學(xué)副教授,研究方向?yàn)閿?shù)控技術(shù)、嵌入式系統(tǒng),(E-mail)songbao@mail.hust.edu.cn。
TH166;TG659
A