基于PowerLink的多主站同步方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種基于PowerLink的多主站同步方法,包括:通過FPGA內(nèi)多個軟核實現(xiàn)多個主站控制器;通過FPGA片內(nèi)資源實現(xiàn)與多個主站控制器對應(yīng)的基于PowerLink協(xié)議棧的MAC核;通過FPGA內(nèi)部的SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步幀發(fā)送能夠同步;由MAC核控制的SOC同步幀不再由PowerLink協(xié)議棧從上至下控制,MAC驅(qū)動模塊不控制SOC發(fā)送。通過本發(fā)明提供的同步方法,同步精度較現(xiàn)有技術(shù)通過軟件實現(xiàn)同步的精度高,而且具有低抖動性,能滿足大多數(shù)多軸控制要求。
【專利說明】基于PowerLink的多主站同步方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及適用于多軸運動控制的同步方法及系統(tǒng),尤其涉及一種基于PowerLink的多主站同步方法及系統(tǒng)。
【背景技術(shù)】
[0002]PowerLink是一種開源的工業(yè)以太網(wǎng)協(xié)議,因此在存在多主站需要同步的情況下,能夠通過對協(xié)議棧源碼的修改來實現(xiàn),這種同步精度顯然比額外采用同步協(xié)議等要高。一般情況下,基于工業(yè)以太網(wǎng)的多軸控制方案,若僅有一個主站,各工業(yè)以太網(wǎng)協(xié)議都實現(xiàn)了運動軸作為從站的同步。但是,若存在多個主站,各個主站都帶有一定數(shù)量的從站,要實現(xiàn)所有從站的同步,就必須考慮主站的同步。各主站之間進(jìn)行同步,顯然需要額外的通信,根據(jù)所需同步精度不同,可進(jìn)行簡單通信同步或者實現(xiàn)一些同步協(xié)議。
[0003]如圖1所示,各主站通過工業(yè)以太網(wǎng)連接N個軸(即從站),工業(yè)以太網(wǎng)協(xié)議都能保證這N個軸的同步,但是不同主站所接軸的同步卻不是工業(yè)以太網(wǎng)協(xié)議所能保證的。主站之間的同步通信方法有很多,如Profibus-DP總線方案是通過將所有主站也用Profibus-DP連接起來,在各主站之間額外利用一個令牌環(huán)來控制主站對總線的使用權(quán)。而且,采用這種方法還需要一個額外的從站作為中間環(huán)節(jié)來保證主站之間的通信,因為主站之間不能直接進(jìn)行通信。
【發(fā)明內(nèi)容】
[0004]為解決上述技術(shù)問題,本發(fā)明提出了一種基于PowerLink的多主站同步方法,尤其是基于特定工業(yè)以太網(wǎng)PowerLink的多主站同步方法,通過將多個主站都集成在FPGA中,簡化了主站的通信及同步等。首先,主站通過FPGA的軟核來實現(xiàn),只要FPGA資源足夠,就能實現(xiàn)多個軟核,于是多個主站控制器都可以集成在FPGA內(nèi)部。
[0005]具體實施方案如下:
[0006]一種基于PowerLink的多主站同步方法,包括:
[0007]通過FPGA內(nèi)多個軟核實現(xiàn)多個主站控制器;
[0008]通過FPGA片內(nèi)資源實現(xiàn)與多個主站控制器對應(yīng)的基于PowerLink協(xié)議棧的MAC核;
[0009]通過FPGA內(nèi)部的SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步幀發(fā)送能夠同步;
[0010]其特征在于:
[0011]由MAC核控制的SOC同步巾貞不再由PowerLink協(xié)議棧從上至下控制,MAC驅(qū)動模塊不控制SOC發(fā)送。
[0012]優(yōu)選的,所述PowerLink協(xié)議棧由SOC同步巾貞進(jìn)行從站的同步。
[0013]優(yōu)選的,所述多個主站控制器的MAC核不能自主發(fā)送SOC同步幀,且所述多個主站控制器的SOC發(fā)送控制模塊不能完全控制SOC發(fā)送,而是通過與SOC同步控制邏輯模塊的交互,完成對SOC發(fā)送的控制,調(diào)整各主站控制器的SOC發(fā)送時間。
[0014]優(yōu)選的,各主站控制器的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,所述SOC同步控制邏輯模塊將其中一個主站控制器的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站控制器的發(fā)送時間以實現(xiàn)同步。
[0015]優(yōu)選的,SOC同步控制邏輯發(fā)出控制命令,控制所述多個主站控制器同時發(fā)送SOC同步中貞。
[0016]同時,本發(fā)明還提供了一種基于PowerLink的多主站同步系統(tǒng),其包括多個主站控制器,SOC同步控制邏輯模塊,其中每個主站控制器中包括基于PowerLink協(xié)議棧的MAC核模塊,所述MAC核模塊包含SOC發(fā)送控制模塊;其特征在于:
[0017]所述SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步幀發(fā)送能夠同步。
[0018]優(yōu)選的,所述多個主站控制器的MAC核模塊不能自主發(fā)送SOC同步巾貞,且所述多個主站控制器的SOC發(fā)送控制模塊不能完全控制SOC發(fā)送,而是通過與SOC同步控制邏輯模塊的交互,完成對SOC發(fā)送的控制,調(diào)整各主站控制器的SOC發(fā)送時間。
[0019]優(yōu)選的,各主站控制器的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,所述SOC同步控制邏輯模塊將其中一個主站控制器的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站控制器的發(fā)送時間以實現(xiàn)同步。
[0020]優(yōu)選的,SOC同步控制邏輯發(fā)出控制命令,控制所述多個主站控制器同時發(fā)送SOC同步中貞。
[0021]優(yōu)選的,所述多主站同步系統(tǒng)可以由FPGA實現(xiàn)。
[0022]本發(fā)明的上述技術(shù)方案的有益效果如下:
[0023]上述方案,通過本發(fā)明提供的同步方法,同步精度較現(xiàn)有技術(shù)通過軟件實現(xiàn)同步的精度高,而且具有低抖動性,能滿足大多數(shù)多軸控制要求。
【專利附圖】
【附圖說明】
[0024]圖1是現(xiàn)有技術(shù)中的主站同步不意圖。
[0025]圖2是本實施方式具體實施例的多主站同步結(jié)構(gòu)框圖。
[0026]圖3是本實施方式具體實施例的多主站同步方法示意圖。
【具體實施方式】
[0027]為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進(jìn)行詳細(xì)描述。
[0028]本發(fā)明還提供了一種基于特定工業(yè)以太網(wǎng)PowerLink的多主站同步系統(tǒng),其包括多個主站控制器,SOC同步控制邏輯模塊,其中每個主站控制器中包括基于PowerLink協(xié)議棧的MAC核模塊,所述MAC核模塊包含SOC發(fā)送控制模塊;所述SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步巾貞發(fā)送能夠同步。
[0029]優(yōu)選的,所述多個主站控制器的MAC核模塊不能自主發(fā)送SOC同步幀,且所述多個主站控制器的SOC發(fā)送控制模塊不能完全控制SOC發(fā)送,而是通過與SOC同步控制邏輯模塊的交互,完成對SOC發(fā)送的控制,調(diào)整各主站控制器的SOC發(fā)送時間。
[0030]優(yōu)選的,各主站控制器的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,所述SOC同步控制邏輯模塊將其中一個主站控制器的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站控制器的發(fā)送時間以實現(xiàn)同步。
[0031]如圖2-3所示,所述同步系統(tǒng)由FPGA實現(xiàn),在其內(nèi)部包括多個主站控制器(主站控制器I 一主站控制器4),可用于多軸控制;由于采用powerlink進(jìn)行通信,所以所述由軟核形成的四個主站控制器的用于底層通信的數(shù)據(jù)鏈路層(MAC核模塊)也可由FPGA實現(xiàn)。Powerlink協(xié)議通過SOC同步巾貞來控制從站的同步,SOC的具體控制在MAC核中實現(xiàn)。Powerlink提供的開源MAC核為修改控制方式提供了方便,于是只需要同步各主站SOC的發(fā)送,便可保證各主站的同步。
[0032]圖2中由FPGA實現(xiàn)的SOC同步控制邏輯模塊用于主站的同步,這部分控制邏輯通過直接控制各主站MAC核中的SOC發(fā)送來同步各主站。由于主站MAC核中SOC控制方法發(fā)生變化,所以各主站的MAC核及PowerLink協(xié)議中的相應(yīng)代碼都需要相應(yīng)地進(jìn)行修改。各主站控制方式相同,修改方法也相同。實際應(yīng)用中,由于各主站的SOC幀同步操作完全是由硬件來實現(xiàn),可提高同步精度,減小周期抖動。
[0033]圖2中的主站同步過程為,SOC同步控制邏輯發(fā)出控制命令,控制主站I到4的MAC核同時發(fā)送SOC同步幀,于是這四個主站也就在硬件上實現(xiàn)了同步。
[0034]圖3左圖所示出了現(xiàn)有技術(shù)中通過PowerLink協(xié)議棧實現(xiàn)的多主站同步方案,每個主站在最上層都實現(xiàn)了 PowerLink協(xié)議棧,協(xié)議棧通過MAC驅(qū)動發(fā)送控制模塊控制FPGA實現(xiàn)的MAC核。MAC核中的SOC發(fā)送控制模塊具體實現(xiàn)SOC同步幀的發(fā)送,主站發(fā)送的SOC同步幀用來實現(xiàn)各從站的同步。
[0035]圖3右圖中顯示了本發(fā)明的同步方法,MAC核都在FPGA實現(xiàn),由MAC核控制的SOC同步幀不再由協(xié)議棧從上至下控制。特別是MAC驅(qū)動發(fā)送控制部分,需要修改為MAC驅(qū)動不控制SOC發(fā)送,其他發(fā)送控制不受影響,這可以通過修改程序來實現(xiàn)。于是,SOC的發(fā)送不受軟件控制,完全由硬件FPGA來控制。MAC核不再自主發(fā)送SOC同步幀,SOC發(fā)送控制模塊不能完全控制發(fā)送,而是通過與SOC發(fā)送同步控制邏輯模塊的交互,調(diào)整各主站的SOC發(fā)送時間。各主站的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,此模塊將其中一個主站的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站的發(fā)送時間以實現(xiàn)同步。在同步周期相同的情況下,僅在通信起始階段可能會有一個周期的丟失或者重復(fù),不會影響后續(xù)正常通信。
[0036]其中,在計算多個主站控制器時,首先,根據(jù)實際需求確定需要的主站數(shù)目,然后計算主站軟核實現(xiàn)、MAC核實現(xiàn)及SOC控制邏輯實現(xiàn)所需FPGA資源,選定滿足要求的FPGA ;其次,在FPGA內(nèi)部以軟核的方式實現(xiàn)各主站的功能,包括powerlink所需的MAC核功能以及保證與對應(yīng)的各從站通信正常;再根據(jù)主站實際情況設(shè)置SOC同步控制邏輯模塊,將各主站MAC核中SOC發(fā)送控制交由SOC同步控制邏輯模塊完成,以保證各主站同步;修改各主站的MAC核源碼,調(diào)整其SOC發(fā)送控制部分,做好與SOC同步控制邏輯部分的協(xié)調(diào)工作;修改powerlink協(xié)議棧源碼中的MAC驅(qū)動以及數(shù)據(jù)報文發(fā)送部分,不需要SOC發(fā)送控制部分,因為在硬件中已經(jīng)實現(xiàn);根據(jù)應(yīng)用需求,對FPGA內(nèi)部實現(xiàn)的所有邏輯進(jìn)行一定程度的優(yōu)化。
[0037]以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種基于PowerLink的多主站同步方法,包括: 通過FPGA內(nèi)多個軟核實現(xiàn)多個主站控制器; 通過FPGA片內(nèi)資源實現(xiàn)與多個主站控制器對應(yīng)的基于PowerLink協(xié)議棧的MAC核; 通過FPGA內(nèi)部的SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步幀發(fā)送能夠同步;其特征在于: 由MAC核控制的SOC同步巾貞不再由PowerLink協(xié)議棧從上至下控制,MAC驅(qū)動模塊不控制SOC發(fā)送。
2.如權(quán)利要求1所述的多主站同步方法,其特征在于: 所述PowerLink協(xié)議棧由SOC同步巾貞進(jìn)行從站的同步。
3.如權(quán)利要求1或2所述的多主站同步方法,其特征在于: 所述多個主站控制器的MAC核不能自主發(fā)送SOC同步幀,且所述多個主站控制器的SOC發(fā)送控制模塊不能完全控制SOC發(fā)送,而是通過與SOC同步控制邏輯模塊的交互,完成對SOC發(fā)送的控制,調(diào)整各主站控制器的SOC發(fā)送時間。
4.如權(quán)利要求1-3中任一項所述的多主站同步方法,其特征在于: 各主站控制器的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,所述SOC同步控制邏輯模塊將其中一個主站控制器的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站控制器的發(fā)送時間以實現(xiàn)同步。
5.如權(quán)利要求1-4中任一項所述的多主站同步方法,其特征在于: SOC同步控制邏輯發(fā)出控制命令,控制所述多個主站控制器同時發(fā)送SOC同步幀。
6.一種基于PowerLink的多主站同步系統(tǒng),其包括多個主站控制器,SOC同步控制邏輯模塊,其中每個主站控制器中包括基于PowerLink協(xié)議棧的MAC核模塊,所述MAC核模塊包括SOC發(fā)送控制模塊;其特征在于: 所述SOC同步控制邏輯模塊,實現(xiàn)對所述多個主站控制器的MAC核中SOC發(fā)送控制進(jìn)行控制,使得所述多個主站控制器的SOC同步幀發(fā)送能夠同步。
7.如權(quán)利要求6所述的多主站同步系統(tǒng),其特征在于: 所述多個主站控制器的MAC核模塊不能自主發(fā)送SOC同步幀,且所述多個主站控制器的SOC發(fā)送控制模塊不能完全控制SOC發(fā)送,而是通過與SOC同步控制邏輯模塊的交互,完成對SOC發(fā)送的控制,調(diào)整各主站控制器的SOC發(fā)送時間。
8.如權(quán)利要求6或7所述的多主站同步系統(tǒng),其特征在于: 各主站控制器的SOC發(fā)送命令將由SOC同步控制邏輯模塊發(fā)出,所述SOC同步控制邏輯模塊將其中一個主站控制器的SOC發(fā)送時間作為標(biāo)準(zhǔn)時間,調(diào)整其他主站控制器的發(fā)送時間以實現(xiàn)同步。
9.如權(quán)利要求6-8中任一項所述的多主站同步系統(tǒng),其特征在于: SOC同步控制邏輯發(fā)出控制命令,控制所述多個主站控制器同時發(fā)送SOC同步幀。
10.如權(quán)利要求6-9中任一項所述的多主站同步系統(tǒng),其特征在于: 所述多主站同步系統(tǒng)由FPGA實現(xiàn)。
【文檔編號】H04L7/04GK103825697SQ201410085110
【公開日】2014年5月28日 申請日期:2014年3月11日 優(yōu)先權(quán)日:2014年3月11日
【發(fā)明者】萬躍鵬 申請人:武漢邁信電氣技術(shù)有限公司