冗余以太網(wǎng)數(shù)據(jù)傳輸設備、系統(tǒng)及方法
【專利摘要】本發(fā)明提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備,包括:若干物理層接口單元,用于以太網(wǎng)數(shù)據(jù)的收發(fā);若干數(shù)據(jù)解析單元,用于解析以太網(wǎng)數(shù)據(jù),以確定數(shù)據(jù)描述符;冗余交換單元,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中,冗余交換單元還用于響應于讀信號而讀取以太網(wǎng)數(shù)據(jù);若干數(shù)據(jù)封裝單元,在輪詢到發(fā)送描述符時,向冗余交換單元發(fā)出讀取請求,冗余交換單元讀取以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元還用于封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù)并傳輸給對應的物理層接口單元進行發(fā)送。本發(fā)明能夠實現(xiàn)IEC62439?3協(xié)議規(guī)范的RedBox功能,實現(xiàn)低成本,高集成度,易于使用的冗余傳輸技術。
【專利說明】
冗余以太網(wǎng)數(shù)據(jù)傳輸設備、系統(tǒng)及方法
技術領域
[0001]本發(fā)明涉及冗余以太網(wǎng)傳輸技術,特別涉及是一種滿足IEC62439-3協(xié)議所規(guī)范要求的冗余以太網(wǎng)數(shù)據(jù)傳輸設備、系統(tǒng)及方法。
【背景技術】
[0002]工業(yè)以太網(wǎng)以其特有的低成本、高實效、高擴展性及高智能的魅力,吸引著越來越多的制造業(yè)廠商,控制系統(tǒng)和工廠自動化系統(tǒng)常常采用工業(yè)以太網(wǎng)技術完成工業(yè)控制任務,是未來工業(yè)4.0的通訊控制領域的主打技術。然而在工廠、電力以及智能交通等很多工業(yè)控制領域的實際應用場合下,設備所處的環(huán)境相當復雜,用戶對以太網(wǎng)的可靠性要求也越來越高。為了保證不會因通信服務器失效、網(wǎng)絡斷線或交換機故障而導致整個通信系統(tǒng)癱瘓,現(xiàn)在普遍通過以太網(wǎng)冗余技術來提高網(wǎng)絡容錯的能力。
[0003]因此IEC62439-3應時代而生,是一個非常先進且可靠的以太網(wǎng)冗余協(xié)議,是一個國際性標準,有著廣泛的廠商支持。IEC62439-3有HSR(高可用性無縫冗余環(huán))和PRP (并聯(lián)冗余協(xié)議)兩種應用模式。一個典型的HSR網(wǎng)絡拓撲如圖1,即所有節(jié)點設備的網(wǎng)絡口都連接在一個雙向環(huán)網(wǎng)上,典型的設備形態(tài)有DANH(雙連接節(jié)點)和RedBox(冗余盒子,是擁有三個外部以太網(wǎng)端口的實體)兩種。RedBox可以為目前還不具備冗余功能的設備提供代理支持,并提供多設備和多端口接入。協(xié)議規(guī)范中RedBox的功能示意圖如圖2,可分為兩部分,一部分(圖2中為下面部分)是標準的冗余交換功能,另一部分(圖2中為上面部分)為代理橋接功能。其中A端口和B端口是用于連接冗余環(huán)網(wǎng),通過一個稱之為InterLink(連接到以太網(wǎng)的端口)的端口來代理多個終端設備的用戶數(shù)據(jù),以及本地CPU的網(wǎng)管數(shù)據(jù),實現(xiàn)多終端接入以及本地監(jiān)控配置等操作。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術問題是提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備,能夠實現(xiàn)IEC62439-3協(xié)議規(guī)范的RedBox功能,實現(xiàn)低成本,高集成度,易于使用的冗余傳輸技術。
[0005]為解決上述問題,本發(fā)明提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備,包括:
[0006]若干物理層接口單元,用于以太網(wǎng)數(shù)據(jù)的收發(fā);
[0007]若干數(shù)據(jù)解析單元,用于解析對應的物理層接口單元接收的以太網(wǎng)數(shù)據(jù),以確定以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符,一數(shù)據(jù)解析單元對應一物理層接口單元;
[0008]冗余交換單元,用于輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元對應的第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中,冗余交換單元還用于響應于讀信號而從共享緩存模塊中讀取以太網(wǎng)數(shù)據(jù);
[0009]若干數(shù)據(jù)封裝單元,用于輪詢對應的第一緩存模塊的發(fā)送描述符,在輪詢到發(fā)送描述符時,向所述冗余交換單元發(fā)出讀取請求,所述冗余交換單元產(chǎn)生所述讀信號,從而讀取共享緩存模塊的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元還用于封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù)并傳輸給對應的物理層接口單元進行發(fā)送,一數(shù)據(jù)封裝單元對應一所述物理層接口單元。
[0010]根據(jù)本發(fā)明的一個實施例,每所述數(shù)據(jù)解析單元包括:
[0011]報文分析模塊,用于接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符;
[0012]第二數(shù)據(jù)緩存模塊,用于緩存所述報文分析模塊輸出的以太網(wǎng)數(shù)據(jù);
[0013]第二緩存模塊,用于緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符;
[0014]其中,所述冗余交換單元輪詢各第二緩存模塊緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊中,同時將第二數(shù)據(jù)緩存模塊緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中。
[0015]根據(jù)本發(fā)明的一個實施例,所述第一緩存模塊和/或所述第二緩存模塊為FIFO緩存。
[0016]根據(jù)本發(fā)明的一個實施例,所述數(shù)據(jù)解析單元的輸入接口為GMII接口、輸出接口為ST接口,所述數(shù)據(jù)解析單元對所述以太網(wǎng)數(shù)據(jù)進行時鐘域轉換,將GMII接口接收的第一時鐘下的以太網(wǎng)數(shù)據(jù)轉換為第二時鐘下的以太網(wǎng)數(shù)據(jù),并通過ST接口輸出。
[0017]根據(jù)本發(fā)明的一個實施例,所述數(shù)據(jù)封裝單元的輸入接口為ST接口、輸出接口為GMII接口,所述數(shù)據(jù)封裝單元對所述以太網(wǎng)數(shù)據(jù)進行時鐘域轉換,將ST接口接收的第二時鐘下的以太網(wǎng)數(shù)據(jù)轉換為第一時鐘下的以太網(wǎng)數(shù)據(jù),并通過GMII接口輸出。
[0018]根據(jù)本發(fā)明的一個實施例,每所述數(shù)據(jù)封裝單元包括:
[0019]所述第一緩存模塊,用于緩存所述冗余交換單元輸出的發(fā)送描述符;
[0020]第一數(shù)據(jù)緩存模塊,用于緩存所述冗余交換單元輸出的以太網(wǎng)數(shù)據(jù);
[0021]報文封裝模塊,用于將第一數(shù)據(jù)緩存模塊輸出的以太網(wǎng)數(shù)據(jù)進行封裝并輸出。
[0022]根據(jù)本發(fā)明的一個實施例,所述冗余交換單元包括交換決策模塊、地址管理模塊和所述共享緩存模塊;所述地址管理模塊包括用于控制寫入的寫控制器和用于控制讀取的讀控制器;所述交換決策模塊包括交換控制器,所述交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時通知寫控制器將以太網(wǎng)數(shù)據(jù)寫入所述共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊。
[0023]根據(jù)本發(fā)明的一個實施例,所述冗余交換單元采用分片存儲的方式進行共享緩存,將以太網(wǎng)數(shù)據(jù)分成多個分片緩存;所述地址管理模塊還包括地址管理器,用于控制所述寫控制器分片寫入和控制所述讀控制器分片讀取。
[0024]根據(jù)本發(fā)明的一個實施例,所述交換決策模塊還包括MAC地址表、包序列表和包記錄表;所述MAC地址表保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;所述包序列表保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,所述交換控制器根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;所述包記錄表保存已發(fā)送的源MAC地址和包序列號;所述交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找所述包記錄表中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄,若MAC地址表匹配且包記錄表沒有相應記錄則交換控制器通知寫控制器將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊,否則丟棄本次以太網(wǎng)數(shù)據(jù)。
[0025]根據(jù)本發(fā)明的一個實施例,傳輸設備采用SoC架構實現(xiàn),所述物理層接口單元分為環(huán)網(wǎng)物理層接口單元,本地CPU管理接口單元和以太網(wǎng)連接物理層接口單元;所述傳輸設備還包括用于對各單元進行管理、監(jiān)控和數(shù)據(jù)交互的本地管理單元。
[0026]本發(fā)明還提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),包括若干節(jié)點設備和由所述節(jié)點設備構建而成的冗余環(huán)網(wǎng);所述節(jié)點設備中的至少一個節(jié)點設備為前述任意一項所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備。
[0027]本發(fā)明還提供一種使用前述任意一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備的冗余以太網(wǎng)數(shù)據(jù)傳輸方法,包括以下步驟:
[0028]S1:使用冗余以太網(wǎng)數(shù)據(jù)傳輸設備構建冗余環(huán)網(wǎng),并進行網(wǎng)絡配置以使冗余環(huán)網(wǎng)能夠實時傳輸業(yè)務數(shù)據(jù),且具備冗余功能;
[0029]S2:各物理層接口單元接收以太網(wǎng)數(shù)據(jù),數(shù)據(jù)解析單元解析對應的物理層接口單元接收的以太網(wǎng)數(shù)據(jù),以確定以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符;
[0030]S3:冗余交換單元輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元對應的第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中;
[0031]S4:數(shù)據(jù)封裝單元輪詢對應的第一緩存模塊的發(fā)送描述符,在輪詢到發(fā)送描述符時,向所述冗余交換單元發(fā)出讀取請求,所述冗余交換單元產(chǎn)生所述讀信號從而讀取共享緩存模塊的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù),并傳輸給對應的物理層接口單元進行發(fā)送。
[0032]根據(jù)本發(fā)明的一個實施例,所述步驟S2包括以下步驟:
[0033]步驟S21:各物理層接口單元接收以太網(wǎng)數(shù)據(jù);
[0034]步驟S22:報文分析模塊接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符;
[0035]步驟S23:第二數(shù)據(jù)緩存模塊緩存所述報文分析模塊輸出的以太網(wǎng)數(shù)據(jù),第二緩存模塊緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符;
[0036]步驟S24:冗余交換單元輪詢各第二緩存模塊緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊中,同時將第二數(shù)據(jù)緩存模塊緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中。
[0037]根據(jù)本發(fā)明的一個實施例,所述步驟S3包括以下步驟:
[0038]S31:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符;
[0039]S32:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找所述包記錄表中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄;所述MAC地址表保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;所述包序列表保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,所述交換控制器根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;所述包記錄表保存已發(fā)送的源MAC地址和包序列號;
[0040]S33:若MAC地址表匹配且包記錄表沒有相應記錄則交換控制器通知寫控制器將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊,否則丟棄本次以太網(wǎng)數(shù)據(jù)。
[0041]采用上述技術方案后,本發(fā)明相比現(xiàn)有技術具有以下有益效果:本發(fā)明的冗余以太網(wǎng)數(shù)據(jù)傳輸技術具備冗余檢測丟棄等功能,通過以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符作為交換決策的判斷要素,通過輪詢檢測交換的時機,并通過共享緩存實現(xiàn)數(shù)據(jù)交換,從而實現(xiàn)數(shù)據(jù)轉發(fā)傳輸,還可實現(xiàn)重復報文丟棄、報文修改等;若干物理層接口單元可以為不同類型的接口,例如環(huán)網(wǎng)物理層接口單元,本地CPU管理接口單元和以太網(wǎng)連接物理層接口單元,可以把冗余交換功能和部分業(yè)務交換整合在一起,能夠實現(xiàn)IEC62439-3協(xié)議規(guī)范的RedBox功能。
【附圖說明】
[0042]圖1是典型的HSR應用網(wǎng)絡拓撲圖;
[0043]圖2是RedBox的功能示意模型;
[0044]圖3是本發(fā)明實施例的冗余以太網(wǎng)數(shù)據(jù)傳輸設備的結構框圖;
[0045]圖4是本發(fā)明實施例的冗余交換單元的結構框圖;
[0046]圖5是本發(fā)明實施例的數(shù)據(jù)解析單元的結構框圖;
[0047]圖6是本發(fā)明實施例的數(shù)據(jù)封裝單元的結構框圖;
[0048]圖7是本發(fā)明實施例的基于SoC架構的RedBox冗余交換單元的結構框圖;
[0049]圖8是本發(fā)明實施例的冗余以太網(wǎng)數(shù)據(jù)傳輸方法的流程示意圖。
【具體實施方式】
[0050]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明的【具體實施方式】做詳細的說明。
[0051]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開的具體實施的限制。
[0052]圖3示出本發(fā)明實施例的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,包括:若干物理層接口單元I,若干數(shù)據(jù)解析單元2,冗余交換單元3和若干數(shù)據(jù)封裝單元4。在一個實施例中,可以使用SoC(片上系統(tǒng))器件實現(xiàn)滿足IEC62439-3標準規(guī)范的冗余傳輸技術,SoC模組內(nèi)集成嵌入式硬核控制器,內(nèi)置的大容量緩存,并對用戶提供多形式、多速率的標準數(shù)據(jù)接口和管理接口。由于SoC模組本身具備一個CPU管理功能,從而通過本發(fā)明能夠把冗余交換功能和部分業(yè)務交換功能整合在一起,圖3中的冗余交換單元提供4個千兆的數(shù)據(jù)口,左邊稱之為網(wǎng)絡側,右邊可稱之為接入側,但不以此為限。每以太網(wǎng)數(shù)據(jù)分別通過一個物理層接口單元I,對應的一個數(shù)據(jù)解析單元2,冗余交換單元3,對應的一個數(shù)據(jù)封裝單元4,最后再通過該物理層接口單元I輸出。
[0053]物理層接口單元I用于以太網(wǎng)數(shù)據(jù)的收發(fā),物理層接口可支持千兆的光口模式,也可支持10/100/1000兆的速率自適應的電口模式,方便用戶靈活使用。此外,能夠從線路側提取時鐘,可作為設備的系統(tǒng)參考時鐘用。
[0054]參看圖3和圖7,在一個實施例中,冗余以太網(wǎng)數(shù)據(jù)傳輸設備采用SoC架構實現(xiàn),物理層接口單元I分為環(huán)網(wǎng)物理層接口單元PHYA和PHYB,本地CPU管理接口單元PHYCPU和以太網(wǎng)連接物理層接口單元PHYIneterLink,通過數(shù)據(jù)解析單元2和數(shù)據(jù)封裝單元4分別與冗余交換單元3的4個千兆的數(shù)據(jù)口連接。傳輸設備還可以包括用于對各單元進行管理、監(jiān)控和數(shù)據(jù)交互的本地管理單元4,本地管理單元4通過本地CPU管理接口單元PHYCPU與冗余交換單元3連接,本地管理單元4完成對冗余交換單元3和其他功能單元的管理、監(jiān)控,以及本身作為網(wǎng)絡節(jié)點設備形式存在而進行網(wǎng)絡間的數(shù)據(jù)交互。本地管理單元4對外提供兩個接口,如圖7所示,一是千兆的網(wǎng)管數(shù)據(jù)接口GMII接口,另外一個是寄存器配置AXI接口。
[0055]每個數(shù)據(jù)解析單元2對應一物理層接口單元I,在圖3中,將網(wǎng)絡側(圖中為左側)的數(shù)據(jù)解析單元2和對應的物理層接口單元I標記為Ingress,數(shù)據(jù)解析單元2對和其連接的物理層接口單元I送過來的以太網(wǎng)數(shù)據(jù)進行分析解析,并給出分析結果,即數(shù)據(jù)描述符。數(shù)據(jù)描述符可以包含一系列的有用信息,如各部分頭部的內(nèi)容,以便后續(xù)作為調(diào)度交換決策使用的依據(jù)之一。具體的描述符字段形式例如為:DMAC/SMAC/VLAN/HSR/TimeStamp/Net_ID。
[0056]數(shù)據(jù)解析單元2具備一定的數(shù)據(jù)緩存能力,至少需要緩存2-3個數(shù)據(jù)幀。在一個實施例中,參看圖4-6,每數(shù)據(jù)解析單元2包括報文分析模塊21,第二數(shù)據(jù)緩存模塊22和第二緩存模塊23。報文分析模塊21用于接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符;第二數(shù)據(jù)緩存模塊22用于緩存報文分析模塊21輸出的以太網(wǎng)數(shù)據(jù);第二緩存模塊23用于緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符。其中,冗余交換單元3輪詢各第二緩存模塊23緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊41中,同時將第二數(shù)據(jù)緩存模塊22緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊33中。
[0057]具體的,第二數(shù)據(jù)緩存模塊22可以采用SoC片上的雙口RAM(隨機存取存儲器),完成以太網(wǎng)數(shù)據(jù)在數(shù)據(jù)解析單元2的寫入和讀出,第二緩存模塊23可以采用先進先出的FIFO(先進先出)緩存,來儲存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符。
[0058]數(shù)據(jù)解析單元2可以實現(xiàn)時鐘域的轉換,為后續(xù)的高帶寬處理做好準備,輸出是ST接口模式,參看圖5,數(shù)據(jù)解析單元2的輸入接口為GMII接口,數(shù)據(jù)是8位寬,第一時鐘是125M的時鐘,輸出接口為ST接口,數(shù)據(jù)是64位寬,第二時鐘是156.25M,總帶寬為1Gbps。
[0059]冗余交換單元3用于輪詢各數(shù)據(jù)解析單元2的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元2對應的第一緩存模塊41中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊33中,冗余交換單元3還用于在數(shù)據(jù)封裝單元4請求讀取數(shù)據(jù)時,根據(jù)讀信號從共享緩存模塊33中讀取以太網(wǎng)數(shù)據(jù)。較佳的,第一緩存模塊41為FIFO緩存,在以太網(wǎng)數(shù)據(jù)交換時,發(fā)送描述符存到第一緩存模塊41中。
[0060]每個數(shù)據(jù)封裝單元4對應一物理層接口單元I,在圖3中,將接入側(圖中為右側)的數(shù)據(jù)封裝單元4和對應的物理層接口單元I標記為Egress。數(shù)據(jù)封裝單元4用于輪詢對應的第一緩存模塊41的發(fā)送描述符,在輪詢到發(fā)送描述符時,向冗余交換單元3發(fā)出讀取請求,冗余交換單元3產(chǎn)生讀信號,從而讀取共享緩存模塊33的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元4將冗余交換單元3輸出的以太網(wǎng)數(shù)據(jù)進行封裝,傳輸給對應的物理層接口單元I進行發(fā)送。
[0061]數(shù)據(jù)封裝單元4把以太網(wǎng)數(shù)據(jù)從共享緩存模塊33中取出,并封裝成GMII數(shù)據(jù)幀格式,可能時也要修改報文的部分字段內(nèi)容,然后再重新計算FCS(幀檢驗序列)校驗值,發(fā)送到對應的物理層接口單元I。
[0062]參看圖7,每數(shù)據(jù)封裝單元4包括:第一緩存模塊41,第一數(shù)據(jù)緩存模塊42和報文封裝模塊43。其中,第一緩存模塊41用于緩存冗余交換單元3輸出的發(fā)送描述符;第一數(shù)據(jù)緩存模塊42用于緩存冗余交換單元3輸出的以太網(wǎng)數(shù)據(jù);報文封裝模塊43用于將第一數(shù)據(jù)緩存模塊42輸出的以太網(wǎng)數(shù)據(jù)進行封裝并輸出。
[0063]第一緩存模塊41緩存發(fā)送描述符,即發(fā)送指令,并將其做QoS(服務質(zhì)量)隊列排序,實現(xiàn)多策略調(diào)度功能;第一數(shù)據(jù)緩存模塊42是緩存由冗余交換單元送過來的凈荷數(shù)據(jù),也就是以太網(wǎng)數(shù)據(jù)。具體的,當數(shù)據(jù)封裝單元4在空閑時,判斷第一緩存模塊41是否有發(fā)送指令,并做出優(yōu)先級判斷,然后向冗余交換單元3(地址管理模塊)提供發(fā)送申請,一旦得到應答,冗余交換單元3會根據(jù)指令里的地址信息從共享緩存模塊33里讀取數(shù)據(jù),送到第一數(shù)據(jù)緩存模塊42,數(shù)據(jù)封裝單元4再以線速的速率往接口送出數(shù)據(jù),并做出必要的修改。
[0064]在一個實施例中,數(shù)據(jù)封裝單元4也起著時鐘域的轉換功能,數(shù)據(jù)封裝單元4的輸入接口為ST接口、數(shù)據(jù)是64位寬,第二時鐘是156.25M,總帶寬為lOGbps,輸出接口為GMII接口,數(shù)據(jù)是8位寬,第一時鐘是125M的時鐘。數(shù)據(jù)封裝單元將ST接口接收的第二時鐘下的以太網(wǎng)數(shù)據(jù)轉換為第一時鐘下的以太網(wǎng)數(shù)據(jù),并通過GMII接口輸出。
[0065]參看圖4,冗余交換單元3進一步包括交換決策模塊32、地址管理模塊31和共享緩存模塊33。地址管理模塊31包括用于控制寫入的寫控制器311和用于控制讀取的讀控制器312;交換決策模塊32包括交換控制器321,交換控制器321實時輪詢各數(shù)據(jù)解析單元4的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時通知寫控制器311將以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊33,同時交換控制器321將當前發(fā)送描述符存入第一緩存模塊41。
[0066]較佳的,冗余交換單元3采用分片存儲的方式進行共享緩存,將以太網(wǎng)數(shù)據(jù)分成多個分片緩存;所述地址管理模塊33還包括地址管理器313,用于控制寫控制器311分片寫入和控制讀控制器312分片讀取。
[0067]共享緩存模塊33是交換機中比較常用的一種結構,用于集中式緩存來自所有端口的報文,以便后續(xù)再進行交換使之離開。分片存儲是將變長的數(shù)據(jù)包分成定長的分片(Cell)存儲在共享緩存中,一個數(shù)據(jù)包的各個分片可以分散在共享緩存的不同位置。如果一個分片沒有被數(shù)據(jù)填滿,則該分片的剩余空間也不能被其他數(shù)據(jù)包使用。連續(xù)存儲是將整個變長數(shù)據(jù)包直接存儲在緩存中,所有的數(shù)據(jù)的存儲地址都是連續(xù)的。雖然連續(xù)存儲方式可以有效地利用所有的緩存空間,但存在的問題是:對于變長數(shù)據(jù)包的存儲會產(chǎn)生很多無法利用的碎片。管理整理這些碎片是異常復雜的,且也降低了共享緩存的使用效率。緩存分片方式雖然不能有效地利用所有的存儲空間,但是緩存的管理比較方便,不會產(chǎn)生碎片。
[0068]根據(jù)SoC片上RAM的結構,在本實施例中,可以把一個分片定義為128Byte,有利于提高存儲的利用率??梢圆捎面湵淼男问接行У慕M織一個報文,在每個分片的頭4個字節(jié)存放這鏈表的控制信息,即下一個分片的索引號,和下一個分片的使能信息,最終一個報文可以通過多個分片關聯(lián)到一起。
[0069]一個分片是由它的索引號來索引,地址管理模塊313可以管理索引號的配和回收,地址管理模塊313還可以監(jiān)控共享緩存的使用情況,也可以監(jiān)控每個端口的緩存使用情況,并把這些信息反饋給交換控制器321,以便做出合理的判定。具體的,地址管理模塊313采用一個先進先出的FIFO緩存,上電時或者初始化時,這個FIFO緩存是滿的,而且被初始化為所有分片的索引號。當需要分配地址給某個報文時,需要從這個FIFO緩存讀出一個或者幾個索引號,并給予分配;當一個報文被送出時,需要回收這個報文之前所占用分片的索引號,此時,地址管理模塊313會把這些索引號寫入這個FIFO緩存,這個FIFO的使用情況就代表了共享緩存模塊33的使用情況,以便后續(xù)做出相應的判決。
[0070]對于共享緩存模塊33是一個雙口 RAM來說,按照分片的單元結構組織好,一個端口用于把數(shù)據(jù)寫入,而另外一個端口用于把報文讀出。對于多端口的交換設備來說,需要寫控制器或者讀控制器來完成最后的讀寫調(diào)度,即把緩存在各個端口的報文數(shù)據(jù)進行寫入,或者是從共享緩存里讀出一段數(shù)據(jù)到各個端口的出口緩存里。
[0071 ]寫控制的工作流程,各個端口的數(shù)據(jù)解析單元2把接收到的數(shù)據(jù)解析好,緩存好數(shù)據(jù)并給出對應的數(shù)據(jù)描述符;交換控制器321會實時輪詢各端口的數(shù)據(jù)描述符,一旦發(fā)現(xiàn)有新的以太網(wǎng)數(shù)據(jù)過來,立即啟動決策分析和判斷,一旦判斷這個新的數(shù)據(jù)可以寫入到共享緩存模塊時,立即通知寫控制器311,寫控制器311從地址管理模塊313獲取當前的分片地址,寫控制器311把以太網(wǎng)數(shù)據(jù)從對應數(shù)據(jù)解析單元2的第二數(shù)據(jù)緩存模塊222(小緩存)里把數(shù)據(jù)搬運到共享緩存模塊33(大緩存)里,完成數(shù)據(jù)的寫入。另外交換控制器321也會把當前的發(fā)送描述符更新,即更新實際的分片首地址,然后把這個發(fā)送描述符寫入到對應的數(shù)據(jù)封裝單元4的第一緩存模塊41里面。
[0072]讀控制的工作流程,讀控制器312和寫控制器311的功能對應,即把以太網(wǎng)數(shù)據(jù)從共享緩存模塊33讀出分發(fā)到各個數(shù)據(jù)封裝單元4的第一緩存模塊41里面。各個端口的數(shù)據(jù)封裝單元4會實時輪詢第一緩存模塊41的狀態(tài),一旦發(fā)現(xiàn)有新的發(fā)送描述符等待發(fā)送時,立即向讀控制器412提出讀數(shù)據(jù)請求,讀控制器412—旦空閑就會立即給出應答,表示可以接收本次請求。讀控制器412會根據(jù)當前發(fā)送描述符里把報文的首個分片地址取出來,根據(jù)地址把以太網(wǎng)數(shù)據(jù)從共享緩存模塊33里面讀出,送給數(shù)據(jù)封裝單元4的第一數(shù)據(jù)緩存模塊42,由于數(shù)據(jù)是鏈表的形式,所以當數(shù)據(jù)有多個分片時,也依然能夠正確的讀出。一旦數(shù)據(jù)讀取完畢,數(shù)據(jù)封裝單元會根據(jù)當前發(fā)送描述符的指令,修改報文,或者添加某些標簽等操作,最后把數(shù)據(jù)送出。同時,讀控制器會回收每個讀出分片地址,寫入到地址管理模塊的FIFO緩存里面。
[0073]進一步的,交換決策模塊32還包括MAC地址表322、包序列表323和包記錄表324;MAC地址表322保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;包序列表323保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,交換控制器321根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;包記錄表324保存已發(fā)送的源MAC地址和包序列號;交換控制器321實時輪詢各數(shù)據(jù)解析單元2的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找包記錄表324中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄,若MAC地址表匹配且包記錄表沒有相應記錄,則交換控制器321通知寫控制器311將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊33,同時交換控制器321將當前發(fā)送描述符存入第一緩存模塊41,否則丟棄本次數(shù)據(jù)。
[0074]MAC地址表322(MAC_Table): Soc模組本身具備一個CPU管理功能,也有需求來上下業(yè)務的,本發(fā)明把冗余交換功能和部分業(yè)務交換功能整合在一起,即為InterLink單獨提供一個數(shù)據(jù)口以及CHJ也提供一個數(shù)據(jù)口,都為GMII形式接口 C3MAC地址表322可以用來區(qū)分是管理的數(shù)據(jù)還是用戶的數(shù)據(jù)。需要為CPU分配一個或者是多個MAC地址,也需要為被代理的設備提供若干個MAC地址。這個表是公共的,稱之為MAC_Table。
[0075]包序列表323(Proxy_Table):1EC62439-3規(guī)定,采用源MAC地址和包的序列號來唯一標識一個報文,即{SMAC,SeqNr}。在業(yè)務接入側,即CPU 口和InterLink口,以太網(wǎng)報文是沒有HSR頭部的,這些報文進入網(wǎng)絡側前是需要被冗余設備添加HSR頭部,而從網(wǎng)絡側進來已經(jīng)帶有HSR標簽的報文被送到接入側也是需要把HSR剝離掉。包序列表可以用來維護{SMAC,SeqNr}的對應關系。SeqNr是一個16Bit的計數(shù)器,每發(fā)送一個報文這個計數(shù)器要加一,即對每個SMAC來說,都需要記住上一次發(fā)送報文時的SeqNr,以便確定本次發(fā)送時的SeqNr。包序列表例如是一張有256個表項,每個表項存儲的是SMAC和SeqNr,SeqNr初始化時為O。每當數(shù)據(jù)解析模塊2收到一個報文時,會給出一組對應的數(shù)據(jù)描述符,交換控制器321會實時輪詢并獲取到這個數(shù)據(jù)描述符,之后會查找包序列表323,找到并獲取這個SMAC對應的SeqNr,進行加一操作后再回寫。當完成其他決策判斷后,這個加一后SeqNr會和其他描述符信息一起作為發(fā)送描述符被寫入到對應端口的第一緩存模塊41里進行排隊,直到數(shù)據(jù)封裝模塊4把這個報文送走,當然在送走之前報文是會根據(jù)數(shù)據(jù)描述符的信息修改的。
[0076]包記錄表324(Duplicate_Table):接入側的數(shù)據(jù)進入網(wǎng)絡側,數(shù)據(jù)包總是以兩份的形式在環(huán)網(wǎng)的兩個方向傳遞,那么在網(wǎng)絡側的接收端是需要判斷而選擇一份數(shù)據(jù)進行接收。一個報文是由{SMAC,SeqNr}來標識的,那么在網(wǎng)絡側接收口需要用這一組信息來判斷這兩份報文是否已經(jīng)達到,通過包記錄表324來記錄這個過程,該表稱之為Duplicate_Table。包記錄表324也是全局共享的,被交換決策模塊訪問和更新?;镜脑硎?,當數(shù)據(jù)解析模塊2收到一個報文后,得到一條數(shù)據(jù)描述符信息,交換控制器321輪詢到這個數(shù)據(jù)描述符后,獲取到{SMAC,SeqNr}信息,就立即查找包記錄表,看是否已經(jīng)存在這條表項,如果存在說明有另外方向的報文比當前報文先到達目的地,交換控制器321則丟棄這個報文;否則需要把這條信息追添加到當前的表里,并標識這個報文有效,可以被調(diào)度交換。包記錄表324例如是一個有512表項的表,可以用雙口 RAM的形式來實現(xiàn),但是對于需要快速查找的模式,則表可以用寄存器的方式,可實現(xiàn)并行查表,即一個時鐘周期就能得到查表的結果。
[0077]冗余交換功能在普通的交換機的基礎上,添加了多個約束條件,使之具備冗余檢測,丟棄等功能。本發(fā)明實時收集信息并加以鑒別,最后實現(xiàn)交換決策。當收到一個報文時,交換決策模塊32立即收集充分的決策要素,實現(xiàn)正確的判斷。這些要素包括:當前報文的數(shù)據(jù)描述符,它來之于數(shù)據(jù)解析模塊;DMAC(目標地址)查詢匹配的結果,即MAC地址表322查詢匹配的結果;包序列表323查詢匹配的結果;以及包記錄表324查詢匹配的結果;這些查詢在模塊內(nèi)容都是并行工作的,一旦查詢完畢,便可知道當前報文的真實動作,丟棄、還是轉發(fā)等。并根據(jù)當前的結果,把更新后的描述符送給下一級模塊。
[0078]本發(fā)明還提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),包括若干節(jié)點設備和由所述節(jié)點設備構建而成的冗余環(huán)網(wǎng);所述節(jié)點設備中的至少一個節(jié)點設備為前述任意一項所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備。
[0079]參看圖8,本發(fā)明還提供一種使用前述任意一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備的冗余以太網(wǎng)數(shù)據(jù)傳輸方法,包括以下步驟:
[0080]S1:使用冗余以太網(wǎng)數(shù)據(jù)傳輸設備構建冗余環(huán)網(wǎng),并進行網(wǎng)絡配置以使冗余環(huán)網(wǎng)能夠實時傳輸業(yè)務數(shù)據(jù),且具備冗余功能;
[0081]S2:各物理層接口單元接收以太網(wǎng)數(shù)據(jù),數(shù)據(jù)解析單元解析對應的物理層接口單元接收的以太網(wǎng)數(shù)據(jù),以確定以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符;
[0082]S3:冗余交換單元輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元對應的第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中;
[0083]S4:數(shù)據(jù)封裝單元輪詢對應的第一緩存模塊的發(fā)送描述符,在輪詢到發(fā)送描述符時,向所述冗余交換單元發(fā)出讀取請求,所述冗余交換單元產(chǎn)生所述讀信號從而讀取共享緩存模塊的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù),并傳輸給對應的物理層接口單元進行發(fā)送。
[0084]根據(jù)本發(fā)明的一個實施例,所述步驟S2包括以下步驟:
[0085]步驟S21:各物理層接口單元接收以太網(wǎng)數(shù)據(jù);
[0086]步驟S22:報文分析模塊接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符;
[0087]步驟S23:第二數(shù)據(jù)緩存模塊緩存所述報文分析模塊輸出的以太網(wǎng)數(shù)據(jù),第二緩存模塊緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符;
[0088]步驟S24:冗余交換單元輪詢各第二緩存模塊緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊中,同時將第二數(shù)據(jù)緩存模塊緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中。
[0089]根據(jù)本發(fā)明的一個實施例,所述步驟S3包括以下步驟:
[0090]S31:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符;
[0091]S32:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找所述包記錄表中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄;所述MAC地址表保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;所述包序列表保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,所述交換控制器根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;所述包記錄表保存已發(fā)送的源MAC地址和包序列號;
[0092]S33:若MAC地址表匹配且包記錄表沒有相應記錄則交換控制器通知寫控制器將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊,否則丟棄本次以太網(wǎng)數(shù)據(jù)。
[0093]本發(fā)明的方法部分可以參看前述設備部分的具體描述內(nèi)容,在此不再贅述。
[0094]本發(fā)明雖然以較佳實施例公開如上,但其并不是用來限定權利要求,任何本領域技術人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動和修改,因此本發(fā)明的保護范圍應當以本發(fā)明權利要求所界定的范圍為準。
【主權項】
1.一種冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,包括: 若干物理層接口單元,用于以太網(wǎng)數(shù)據(jù)的收發(fā); 若干數(shù)據(jù)解析單元,用于解析對應的物理層接口單元接收的以太網(wǎng)數(shù)據(jù),以確定以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符,一數(shù)據(jù)解析單元對應一物理層接口單元; 冗余交換單元,用于輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元對應的第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中,冗余交換單元還用于響應于讀信號而從共享緩存模塊中讀取以太網(wǎng)數(shù)據(jù); 若干數(shù)據(jù)封裝單元,用于輪詢對應的第一緩存模塊的發(fā)送描述符,在輪詢到發(fā)送描述符時,向所述冗余交換單元發(fā)出讀取請求,所述冗余交換單元產(chǎn)生所述讀信號,從而讀取共享緩存模塊的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元還用于封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù)并傳輸給對應的物理層接口單元進行發(fā)送,一數(shù)據(jù)封裝單元對應一所述物理層接口單J L ο2.如權利要求1所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,每所述數(shù)據(jù)解析單元包括: 報文分析模塊,用于接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符; 第二數(shù)據(jù)緩存模塊,用于緩存所述報文分析模塊輸出的以太網(wǎng)數(shù)據(jù); 第二緩存模塊,用于緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符; 其中,所述冗余交換單元輪詢各第二緩存模塊緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊中,同時將第二數(shù)據(jù)緩存模塊緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中。3.如權利要求2所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述第一緩存模塊和/或所述第二緩存模塊為FIFO緩存。4.如權利要求1所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述數(shù)據(jù)解析單元的輸入接口為GMII接口、輸出接口為ST接口,所述數(shù)據(jù)解析單元對所述以太網(wǎng)數(shù)據(jù)進行時鐘域轉換,將GMII接口接收的第一時鐘下的以太網(wǎng)數(shù)據(jù)轉換為第二時鐘下的以太網(wǎng)數(shù)據(jù),并通過ST接口輸出。5.如權利要求4所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述數(shù)據(jù)封裝單元的輸入接口為ST接口、輸出接口為GMII接口,所述數(shù)據(jù)封裝單元對所述以太網(wǎng)數(shù)據(jù)進行時鐘域轉換,將ST接口接收的第二時鐘下的以太網(wǎng)數(shù)據(jù)轉換為第一時鐘下的以太網(wǎng)數(shù)據(jù),并通過GMII接口輸出。6.如權利要求1所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,每所述數(shù)據(jù)封裝單元包括: 所述第一緩存模塊,用于緩存所述冗余交換單元輸出的發(fā)送描述符; 第一數(shù)據(jù)緩存模塊,用于緩存所述冗余交換單元輸出的以太網(wǎng)數(shù)據(jù); 報文封裝模塊,用于將第一數(shù)據(jù)緩存模塊輸出的以太網(wǎng)數(shù)據(jù)進行封裝并輸出。7.如權利要求1所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述冗余交換單元包括交換決策模塊、地址管理模塊和所述共享緩存模塊;所述地址管理模塊包括用于控制寫入的寫控制器和用于控制讀取的讀控制器;所述交換決策模塊包括交換控制器,所述交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時通知寫控制器將以太網(wǎng)數(shù)據(jù)寫入所述共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊。8.如權利要求7所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述冗余交換單元采用分片存儲的方式進行共享緩存,將以太網(wǎng)數(shù)據(jù)分成多個分片緩存;所述地址管理模塊還包括地址管理器,用于控制所述寫控制器分片寫入和控制所述讀控制器分片讀取。9.如權利要求7所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,所述交換決策模塊還包括MAC地址表、包序列表和包記錄表;所述MAC地址表保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;所述包序列表保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,所述交換控制器根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;所述包記錄表保存已發(fā)送的源MAC地址和包序列號;所述交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找所述包記錄表中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄,若MAC地址表匹配且包記錄表沒有相應記錄則交換控制器通知寫控制器將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊,否則丟棄本次以太網(wǎng)數(shù)據(jù)。10.如權利要求1所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備,其特征在于,傳輸設備采用SoC架構實現(xiàn),所述物理層接口單元分為環(huán)網(wǎng)物理層接口單元,本地(PU管理接口單元和以太網(wǎng)連接物理層接口單元;所述傳輸設備還包括用于對各單元進行管理、監(jiān)控和數(shù)據(jù)交互的本地管理單元。11.一種冗余以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括若干節(jié)點設備和由所述節(jié)點設備構建而成的冗余環(huán)網(wǎng);所述節(jié)點設備中的至少一個節(jié)點設備為如權利要求1-10中任意一項所述的冗余以太網(wǎng)數(shù)據(jù)傳輸設備。12.—種使用權利要求1-10所述設備的冗余以太網(wǎng)數(shù)據(jù)傳輸方法,其特征在于,包括以下步驟: S1:使用冗余以太網(wǎng)數(shù)據(jù)傳輸設備構建冗余環(huán)網(wǎng),并進行網(wǎng)絡配置以使冗余環(huán)網(wǎng)能夠實時傳輸業(yè)務數(shù)據(jù),且具備冗余功能; S2:各物理層接口單元接收以太網(wǎng)數(shù)據(jù),數(shù)據(jù)解析單元解析對應的物理層接口單元接收的以太網(wǎng)數(shù)據(jù),以確定以太網(wǎng)數(shù)據(jù)的數(shù)據(jù)描述符; S3:冗余交換單元輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符緩存在數(shù)據(jù)解析單元對應的第一緩存模塊中,同時將對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中; S4:數(shù)據(jù)封裝單元輪詢對應的第一緩存模塊的發(fā)送描述符,在輪詢到發(fā)送描述符時,向所述冗余交換單元發(fā)出讀取請求,所述冗余交換單元產(chǎn)生所述讀信號從而讀取共享緩存模塊的以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù),并傳輸給對應的物理層接口單元進行發(fā)送。13.如權利要求12所述的冗余以太網(wǎng)數(shù)據(jù)傳輸方法,其特征在于,所述步驟S2包括以下步驟: 步驟S21:各物理層接口單元接收以太網(wǎng)數(shù)據(jù); 步驟S22:報文分析模塊接收并解析以太網(wǎng)數(shù)據(jù),從而確定每以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符,輸出以太網(wǎng)數(shù)據(jù)和對應的數(shù)據(jù)描述符; 步驟S23:第二數(shù)據(jù)緩存模塊緩存所述報文分析模塊輸出的以太網(wǎng)數(shù)據(jù),第二緩存模塊緩存以太網(wǎng)數(shù)據(jù)對應的數(shù)據(jù)描述符; 步驟S24:冗余交換單元輪詢各第二緩存模塊緩存的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,將發(fā)送描述符存到對應的第一緩存模塊中,同時將第二數(shù)據(jù)緩存模塊緩存的對應的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中。14.如權利要求12所述的冗余以太網(wǎng)數(shù)據(jù)傳輸方法,其特征在于,所述步驟S3包括以下步驟: S31:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符; S32:交換控制器實時輪詢各數(shù)據(jù)解析單元的數(shù)據(jù)描述符,在輪詢到新的以太網(wǎng)數(shù)據(jù)時,判斷MAC地址表中是否有匹配項,同時查找所述包記錄表中是否已存有本次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號及源MAC地址的記錄;所述MAC地址表保存以太網(wǎng)數(shù)據(jù)的源地址,用于區(qū)分本地CPU管理數(shù)據(jù)的地址和被代理設備數(shù)據(jù)的地址;所述包序列表保存各以太網(wǎng)數(shù)據(jù)的源MAC地址和包序列號,所述交換控制器根據(jù)上次發(fā)送以太網(wǎng)數(shù)據(jù)的包序列號確定本次發(fā)送的包序列號并保存在包序列表中;所述包記錄表保存已發(fā)送的源MAc地址和包序列號; S33:若MAC地址表匹配且包記錄表沒有相應記錄則交換控制器通知寫控制器將本次發(fā)送以太網(wǎng)數(shù)據(jù)寫入共享緩存模塊,同時所述交換控制器將當前發(fā)送描述符存入所述第一緩存模塊,否則丟棄本次以太網(wǎng)數(shù)據(jù)。
【文檔編號】H04L12/40GK105978762SQ201610268817
【公開日】2016年9月28日
【申請日】2016年4月27日
【發(fā)明人】劉巍
【申請人】劉巍