麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于EtherCAT總線的通信協議方法及系統與流程

文檔序號:11147871閱讀:1133來源:國知局
一種基于EtherCAT總線的通信協議方法及系統與制造工藝

本發明涉及通信協議領域,尤其涉及一種基于EtherCAT總線的通信協議方法及系統。



背景技術:

現有的以太網通信協議中,從站的傳輸方式一般采用存儲轉發的模式,當主站發送報文、數據包時,在每個從站(連接點)接收以太網數據包,然后進行解碼并復制為過程數據,并進行轉發至下一個從站,使得報文在傳輸的過程中是逐個往下傳輸。然而,此種傳輸方式在報文數據包數據量龐大的時候,從站所需的解碼復制時間較長,會導致數據包傳輸的時間過長,造成較大的延遲。



技術實現要素:

本發明實施例提供了一種基于EtherCAT總線的通信協議方法及系統,解決了現有的以太網通信協議中,從站的傳輸方式一般采用存儲轉發的模式,在報文數據包數據量龐大的時候,從站所需的解碼復制時間較長,會導致數據包傳輸的時間過長,造成較大的延遲的技術問題。

本發明實施例提供的一種基于EtherCAT總線的通信協議方法,包括:

主站和從站;

方法步驟包括:從站獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀,否則不接收數據幀。

可選地,從站獲取到由主站發送的數據幀之前還包括:

主站將獲取到的要發送的數據幀儲存于RAM中,并在獲取到數據幀發送指令時將儲存于RAM中的數據幀讀出并發送至從站。

可選地,數據幀包括以太網幀頭、EtherCAT數據和FCS。

可選地,從站獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀之后還包括:

若分析得數據幀的地址命令段為從站自增寫操作命令時,從站將數據幀保存到內存空間中。

可選地,從站獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀之后還包括:

若分析得數據幀的地址命令段為寫入操作命令時,從站將內存空間中的數據寫入到數據幀。

可選地,從站采用寄存器保存數據幀。

本發明實施例提供的一種基于EtherCAT總線的通信協議系統,包括:

主站和從站;

從站包括獲取判斷模塊,用于獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀,否則不接收數據幀。

可選地,主站包括:

儲存模塊,用于將獲取到的要發送的數據幀儲存于RAM中,并在獲取到數據幀發送指令時將儲存于RAM中的數據幀讀出并發送至從站。

可選地,從站包括:

第一分析模塊,用于若分析得數據幀的地址命令段為從站自增寫操作命令時,從站將數據幀保存到內存空間中。

可選地,從站還包括:

第二分析模塊,用于若分析得數據幀的地址命令段為寫入操作命令時,從站將內存空間中的數據寫入到數據幀。

從以上技術方案可以看出,本發明實施例具有以下優點:

本發明實施例提供了一種基于EtherCAT總線的通信協議方法及系統,包括:從站獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀,否則不接收數據幀,本發明實施例中通過從站在數據幀的傳輸過程中對數據幀的MAC地址及數據幀的數據類型進行判斷,在數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時才接收該數據幀并進行分析,否則直接將數據幀傳輸至下一個從站,大大降低了數據幀的傳輸延遲,解決了現有的以太網通信協議中,從站的傳輸方式一般采用存儲轉發的模式,報文數據包數據量龐大的時候,從站所需的解碼復制時間較長,會導致數據包傳輸的時間過長,造成較大的延遲的技術問題。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其它的附圖。

圖1為本發明實施例提供的一種基于EtherCAT總線的通信協議方法的流程示意圖;

圖2(a)為本發明實施例提供的一幀數據的示意圖;

圖2(b)為本發明實施例提供的一幀數據的另一個示意圖;

圖2(c)為本發明實施例提供的一幀數據的另一個示意圖;

圖2(d)為本發明實施例提供的一幀數據的另一個示意圖;

圖2(e)為本發明實施例提供的一幀數據的另一個示意圖;

圖3為本發明實施例提供的一種偽雙口RAM的結構示意圖;

圖4為本發明實施例提供的從站的數據幀判斷流程示意圖;

圖5為本發明實施例提供的一種基于EtherCAT總線的通信協議系統。

具體實施方式

本發明實施例提供了一種基于EtherCAT總線的通信協議方法及系統,用于解決現有的以太網通信協議中,從站的傳輸方式一般采用存儲轉發的模式,報文數據包數據量龐大的時候,從站所需的解碼復制時間較長,會導致數據包傳輸的時間過長,造成較大的延遲的技術問題。

為使得本發明的發明目的、特征、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。

請參閱圖1,本發明實施例提供的一種基于EtherCAT總線的通信協議方法包括:

101、主站將獲取到的要發送的數據幀儲存于RAM中,并在獲取到數據幀發送指令時將儲存于RAM中的數據幀讀出并發送至從站。

首先,由主站將需要發送的一個完整的數據幀儲存到RAM中,并在獲取到數據幀發送指令時將儲存于RAM中的數據幀讀出并發送至從站。其中,一個完整的數據幀包括有以太網幀頭、EtherCAT數據和FCS。請參閱圖2(a)至圖2(e),為根據協議幀的格式所定義的一幀完整的數據:包括在RAM中所保存的地址和所代表的意思,包括了前導序,數據和幀尾,一共是71個數據。請參閱圖3,主站采用偽雙口RAM來進布于存儲數據,數據先從Data端寫入,寫入到相應的地址中,當要發送數據時根據讀時鐘和讀地址將數據從RAM中讀出,從端口Q輸出。

102、從站獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀,否則不接收數據幀。

在從站獲取到由主站發送的數據幀之后,從站先判斷這個數據幀的目的地址,如果是從站自身的MAC地址,就接收并繼續判斷數據的類型是不是EtherCAT的類型,若是就接收該數據幀并對該數據幀進行分析,在判斷過程中,如果接收數據的MAC地址不是從站自身MAC地址的,或者數據類型不是EtherCAT的類型時,就結束判斷并且不接收數據。請參閱圖4,為從站的數據幀判斷流程示意圖。從站在進行接收的整個過程中采用狀態機的形式來實現。

103、若分析得數據幀的地址命令段為從站自增寫操作命令時,從站將數據幀保存到內存空間中。

在從站分析得數據幀的地址命令段為從站自增寫操作命令時,如當地址10處的命令段為02的時候,即將主站發來的數據幀的內容保存到從站的內存空間中。

104、若分析得數據幀的地址命令段為寫入操作命令時,從站將內存空間中的數據寫入到數據幀。

在從站分析得數據幀的地址命令段為寫入操作命令時,如當地址10處的命令段為01的時候,從站將內存空間中的數據寫入到數據幀的某個地址中去。

以上為對本發明實施例提供的一種基于EtherCAT總線的通信協議方法的詳細描述,為便于理解,以下將對主站發送數據包至從站的過程進行仿真演示。

仿真采用Modlelsim仿真軟件,時鐘選用100M的時鐘,數據的采樣時鐘也是100M。數據包括前導序六個字節的0x“BC”,MAC地址中的目的地址和源地址,和第一個EtherCAT數據報文,包括有EtherCAT報文的幀頭和從站所要接收的8個字節的數據:0x“0203040506070809”。第二個從站的數據沒有MAC地址的信息,一個EtherCAT系統中只有第一個被尋址的從站可以用MAC地址來尋址,其他的從站對于MAC數據都沒有識別能力的,如果隨便的一個從站被放到不是EtherCAT系統中使用的話將會引起廣播風暴,因為它會接收所有的包。從第二個數據報文開始將依靠從站內部的尋址方式來實現尋址,本仿真只是對于第一個從站接收數據的過程仿真。

在以上所定義的數據的幀結構中,定義了從站將要接收的數據的個數是8個字節的數據0x“0203040506070809”。從站要接收的數據,最后將會被保存到從站的寄存器中,寄存器采用移位寄存器的形式來保存數據。在沒有接收數據的時候,移位寄存器中一直都是“0”的,一共是8個字節的“0”。當有數據要保存到寄存器中的時候,首先是數據0x“02”被保存到寄存器的最低位,然后是0x“03”被保存到最低位,同時0x“02”向高位移動了一個字節,依次類推,直到數據0x“09”被保存到寄存器為止。最后在寄存器data_slave_reg中保存的數據就是0x“0203040506070809”。至此數據保存到從站的過程就結束了。還可以看到進入到從站中的數據和被從站寄存器保存的數據之間只有1.5個周期的延遲,即15ns的延遲。整個數據接收的過程用時為8個周期即80ns。

狀態機在數據和計數器到達指定的條件的時候就進行跳變,在寫狀態的時候,從站的數據寄存器中的數據是有變化的,數據幀中的數據被寫入到從站寄存器,其他狀態的時候寄存器都是處于“0”狀態的,當數據存放完之后就會自動的跳轉到空閑狀態。

以上為對主站發送數據包至從站的過程進行仿真的過程所進行的詳細描述,以下將對本發明實施例中提供的一種基于EtherCAT總線的通信協議系統進行詳細的描述。

請參閱圖5,本發明實施例提供的一種基于EtherCAT總線的通信協議系統,包括:

主站和從站;

從站包括獲取判斷模塊,用于獲取到由主站發送的數據幀,并對數據幀的MAC地址及數據幀的數據類型進行判斷,若數據幀的MAC地址為從站的MAC地址且數據幀為EtherCAT數據類型時,接收數據幀并分析數據幀,否則不接收數據幀。

主站包括:

儲存模塊,用于將獲取到的要發送的數據幀儲存于RAM中,并在獲取到數據幀發送指令時將儲存于RAM中的數據幀讀出并發送至從站。

從站還包括:

第一分析模塊,用于若分析得數據幀的地址命令段為從站自增寫操作命令時,從站將數據幀保存到內存空間中。

第二分析模塊,用于若分析得數據幀的地址命令段為寫入操作命令時,從站將內存空間中的數據寫入到數據幀。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。

另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。

所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,RandomAccess Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。

以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 怀化市| 阳新县| 龙岩市| 青川县| 永昌县| 铜梁县| 山东省| 滁州市| 南漳县| 论坛| 和平县| 长治县| 徐闻县| 赤城县| 峨眉山市| 霸州市| 恩平市| 云林县| 东平县| 梁河县| 高雄县| 元朗区| 七台河市| 西林县| 庄浪县| 土默特左旗| 龙山县| 济阳县| 龙游县| 民县| 峨眉山市| 邛崃市| 博白县| 济阳县| 抚顺市| 池州市| 东乡县| 井陉县| 沁水县| 涿鹿县| 晴隆县|