两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

冗余以太網(wǎng)數(shù)據(jù)傳輸設(shè)備、系統(tǒng)及方法

文檔序號:10615862閱讀:620來源:國知局
冗余以太網(wǎng)數(shù)據(jù)傳輸設(shè)備、系統(tǒng)及方法
【專利摘要】本發(fā)明提供一種冗余以太網(wǎng)數(shù)據(jù)傳輸設(shè)備,包括:若干物理層接口單元,用于以太網(wǎng)數(shù)據(jù)的收發(fā);若干數(shù)據(jù)解析單元,用于解析以太網(wǎng)數(shù)據(jù),以確定數(shù)據(jù)描述符;冗余交換單元,在輪詢到新的以太網(wǎng)數(shù)據(jù)時(shí),將發(fā)送描述符緩存在第一緩存模塊中,同時(shí)將對應(yīng)的以太網(wǎng)數(shù)據(jù)寫入到共享緩存模塊中,冗余交換單元還用于響應(yīng)于讀信號而讀取以太網(wǎng)數(shù)據(jù);若干數(shù)據(jù)封裝單元,在輪詢到發(fā)送描述符時(shí),向冗余交換單元發(fā)出讀取請求,冗余交換單元讀取以太網(wǎng)數(shù)據(jù)并輸出,數(shù)據(jù)封裝單元還用于封裝冗余交換單元輸出的以太網(wǎng)數(shù)據(jù)并傳輸給對應(yīng)的物理層接口單元進(jìn)行發(fā)送。本發(fā)明能夠?qū)崿F(xiàn)IEC62439?3協(xié)議規(guī)范的RedBox功能,實(shí)現(xiàn)低成本,高集成度,易于使用的冗余傳輸技術(shù)。
【專利說明】
冗余以太網(wǎng)數(shù)據(jù)傳輸設(shè)備、系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及冗余以太網(wǎng)傳輸技術(shù),特別涉及是一種滿足IEC62439-3協(xié)議所規(guī)范要求的冗余以太網(wǎng)數(shù)據(jù)傳輸設(shè)備、系統(tǒng)及方法。
【背景技術(shù)】
[0002]工業(yè)以太網(wǎng)以其特有的低成本、高實(shí)效、高擴(kuò)展性及高智能的魅力,吸引著越來越多的制造業(yè)廠商,控制系統(tǒng)和工廠自動(dòng)化系統(tǒng)常常采用工業(yè)以太網(wǎng)技術(shù)完成工業(yè)控制任務(wù),是未來工業(yè)4.0的通訊控制領(lǐng)域的主打技術(shù)。然而在工廠、電力以及智能交通等很多工業(yè)控制領(lǐng)域的實(shí)際應(yīng)用場合下,設(shè)備所處的環(huán)境相當(dāng)復(fù)雜,用戶對以太網(wǎng)的可靠性要求也越來越高。為了保證不會因通信服務(wù)器失效、網(wǎng)絡(luò)斷線或交換機(jī)故障而導(dǎo)致整個(gè)通信系統(tǒng)癱瘓,現(xiàn)在普遍通過以太網(wǎng)冗余技術(shù)來提高網(wǎng)絡(luò)容錯(cuò)的能力。
[0003]因此IEC62439-3應(yīng)時(shí)代而生,是一個(gè)非常先進(jìn)且可靠的以太網(wǎng)冗余協(xié)議,是一個(gè)國際性標(biāo)準(zhǔn),有著廣泛的廠商支持。IEC62439-3有HSR(高可用性無縫冗余環(huán))和PRP (并聯(lián)冗余協(xié)議)兩種應(yīng)用模式。一個(gè)典型的HSR網(wǎng)絡(luò)拓?fù)淙鐖D1,即所有節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)口都連接在一個(gè)雙向環(huán)網(wǎng)上,典型的設(shè)備形態(tài)有DANH(雙連接節(jié)點(diǎn))和RedBox(冗余盒子,是擁有三個(gè)外部以太網(wǎng)端口的實(shí)體)兩種。RedBox可以為目前還不具備冗余功能的設(shè)備提供代理支持,并提供多設(shè)備和多端口接入。協(xié)議規(guī)范中RedBox的功能示意圖如圖2,可分為兩部分,一部分(圖2中為下面部分)是標(biāo)準(zhǔn)的冗余交換功能,另一部分(圖2中為上面部分)為代理橋接功能。其中A端口和B端口是用于連接冗余環(huán)網(wǎng),通過一個(gè)稱之為InterLink(連接到以太網(wǎng)的端口)的端口來代理多個(gè)終端設(shè)備的用戶數(shù)據(jù),以及本地CPU的網(wǎng)管數(shù)據(jù),實(shí)現(xiàn)多終端接入以及本地監(jiān)控配置等操作。

【發(fā)明內(nèi)容】

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