本發(fā)明涉及通信領(lǐng)域、信息識別和篩選領(lǐng)域,具體涉及到同步數(shù)字體系(SDH)的指針解釋和調(diào)整技術(shù)、低階交叉技術(shù)、篩選和重組技術(shù)。尤其涉及一種采用FPGA對大容量數(shù)據(jù)進(jìn)行低階交叉的方法。
背景技術(shù):
光纖通信由于傳輸容量大、損耗小、重量輕、體積小、抗電磁干擾能力強和保密性好等優(yōu)點,在通信中有著越來越廣泛的應(yīng)用,不但骨干網(wǎng)、城域網(wǎng)全部采用光纖傳輸,而且接入網(wǎng)也普遍采用光纖實現(xiàn)匯聚。目前,承載于光纖上的數(shù)據(jù)可謂浩如煙海。
但是,在某些領(lǐng)域中,需要對大量的數(shù)據(jù)進(jìn)行篩選和過濾,交叉匯聚,從中提取有用的信息進(jìn)行處理,而光纖上承載的越來越大的數(shù)據(jù)量,對信息篩選設(shè)備的接入容量以及交叉處理能力提出了新的挑戰(zhàn)。
技術(shù)實現(xiàn)要素:
鑒于現(xiàn)在技術(shù)存在的問題,本發(fā)明提供一種采用FPGA對大容量數(shù)據(jù)進(jìn)行低階交叉的方法。本方案實現(xiàn)單片接收80G輸入帶寬的同步數(shù)字體系(SDH)數(shù)據(jù),經(jīng)過幀定位,指針解釋和調(diào)整,復(fù)幀信息綁定,交叉和復(fù)幀對齊,實現(xiàn)了對80G輸入數(shù)據(jù)的交叉,篩選,匯聚到20G輸出。
本發(fā)明采取的技術(shù)方案是:一種采用FPGA對大容量數(shù)據(jù)進(jìn)行低階交叉的方法,其特征在于:將FPGA芯片功能劃分為七個功能模塊,分別是:數(shù)據(jù)接收模塊、指針解釋和調(diào)整模塊、復(fù)幀信息綁定模塊,低階交叉模塊、復(fù)幀對齊模塊、處理器接口模塊和數(shù)據(jù)發(fā)送模塊,對接入的大容量同步數(shù)字體系數(shù)據(jù)通過數(shù)據(jù)接收模塊、指針解釋和調(diào)整模塊以及復(fù)幀信息綁定模塊處理后,采取先進(jìn)行交叉,進(jìn)行收斂后,再進(jìn)行復(fù)幀對齊的方式進(jìn)行操作,各個模塊的功能及操作如下:
(一)、將數(shù)據(jù)接收模塊分為五個子模塊:幀同步模塊、解擾模塊、再生段開銷提取模塊、復(fù)用段開銷提取模塊和通道開銷提取模塊;其中幀同步模塊使用幀同步檢測狀態(tài)機對接收數(shù)據(jù)進(jìn)行幀同步檢測;解擾模塊按照國際電信聯(lián)盟電信標(biāo)準(zhǔn)分局建議的G.707的規(guī)定,對數(shù)據(jù)加擾部分進(jìn)行解擾操作;再生段開銷提取模塊、復(fù)用段開銷提取模塊和通道開銷提取模塊分別對各層的開銷進(jìn)行校驗和提取,并對校驗所得異常情況進(jìn)行統(tǒng)計和上報;
(二)、將指針解釋和調(diào)整模塊分為五個子模塊:接收定時器、指針解釋器、雙口存儲器、指針生成器和發(fā)送定時器;其中接收定時器根據(jù)伴隨數(shù)據(jù)的地址,判別數(shù)據(jù)流中高階指針的位置;指針解釋器根據(jù)接收定時器生成的高階指針時隙指示信號截取數(shù)據(jù)流中的指針值,進(jìn)行指針的解釋,得到當(dāng)前的指針值,從而找到高階虛容器的起始位置,并將一個個完整的高階虛容器存入雙口RAM中;發(fā)送定時器由線路的8kHz幀同步信號重新生成幀相位,并通知指針生成器;指針生成器接收發(fā)送定時器送出的幀相位信息,在凈荷區(qū)域(幀結(jié)構(gòu)中承載數(shù)據(jù)的區(qū)域以下簡稱凈荷區(qū)域,裝載的數(shù)據(jù)簡稱凈荷)裝載存在雙口RAM中的高階虛容器凈荷,同時生成新的指針值,保證所有的同步數(shù)字體系的數(shù)據(jù)幀列對齊;
(三)、復(fù)幀信息綁定模塊是在完成低階交叉之前,先把每個高階虛容器的通道開銷中的復(fù)幀類別和凈荷的位置指示字節(jié)開銷提取出來,讓復(fù)幀信息與數(shù)據(jù)綁定在一起形成新的數(shù)據(jù)塊;
(四)、低階交叉模塊共有四個模塊:寫控制器、數(shù)據(jù)緩存RAM、交叉命令緩存RAM和讀控制器;寫控制器根據(jù)伴隨數(shù)據(jù)的地址生成寫控制信號:寫使能和寫地址,寫使能對應(yīng)同步數(shù)字體系幀一行里的低階虛容器凈荷區(qū)域,寫地址從零開始累加直到凈荷的最后一列,控制數(shù)據(jù)順序?qū)懭霐?shù)據(jù)緩存RAM中;數(shù)據(jù)緩存RAM對數(shù)據(jù)進(jìn)行緩存,數(shù)據(jù)緩存RAM和交叉命令緩存RAM實現(xiàn)讀寫倒換,當(dāng)向數(shù)據(jù)緩存RAM寫入時,交叉命令緩存RAM讀取,當(dāng)向交叉命令緩存RAM寫入時,數(shù)據(jù)緩存RAM讀??;
讀控制器根據(jù)寫地址生成讀控制信號,使讀出和寫入的延遲達(dá)到一行的時差,讀控制信號分為:命令RAM讀使能、命令RAM讀地址和數(shù)據(jù)RAM讀使能;其中“數(shù)據(jù)RAM讀使能”相對于“命令RAM讀使能”有固定的延遲,這個延遲對應(yīng)于命令RAM的讀使能有效后需經(jīng)過固定延遲才輸出相應(yīng)數(shù)據(jù);讀控制器在發(fā)送凈荷時隙中讓讀命令RAM地址累加,讀命令RAM地址相當(dāng)于當(dāng)前需要輸出的低階虛容器在幀中列的位置,從命令RAM地址中讀出的值作為數(shù)據(jù)RAM的地址,數(shù)據(jù)RAM的地址相當(dāng)于當(dāng)前需要輸出的低階虛容器的編號;交叉時對新的數(shù)據(jù)塊進(jìn)行交叉,在完成了低階交叉之后,再將復(fù)幀信息提取出來,指示和它綁定在一起的數(shù)據(jù)存儲到相應(yīng)的復(fù)幀存儲區(qū)中,從未完成復(fù)幀對齊;
(五)、復(fù)幀對齊模塊從低階交叉模塊輸出的數(shù)據(jù)中提取出復(fù)幀信息,由復(fù)幀信息引導(dǎo)數(shù)據(jù)存入相應(yīng)的RAM區(qū)域中,每個RAM按照地址分為四個地址區(qū)域,分別對應(yīng)四個復(fù)幀,當(dāng)輸出給后面的處理器接口模塊時也是按照地址的區(qū)分相應(yīng)的去讀取對應(yīng)的地址區(qū)域;
(六)、處理器接口模塊使用并行總線完成外部處理器與FPGA之間的接口通信,接收處理器解析的低階交叉命令,將交叉命令存入低階交叉模塊中的交叉命令緩存RAM中,同時完成片內(nèi)性能統(tǒng)計的上報和告警上報;
(七)、數(shù)據(jù)發(fā)送模塊包括通道開銷插入、復(fù)用段開銷插入、再生段開銷插入和加擾四個模塊,該四個模塊完成交叉和對齊之后的數(shù)據(jù)幀再生。
本發(fā)明產(chǎn)生的有益效果是:本方法改變了在同步數(shù)字體系中進(jìn)行低階交叉時需要先進(jìn)行復(fù)幀對齊再進(jìn)行交叉的傳統(tǒng)方式,針對信息篩選領(lǐng)域的輸入帶寬大,輸出帶寬小的應(yīng)用特點,提出了先進(jìn)行交叉,進(jìn)行收斂后,再進(jìn)行復(fù)幀對齊的方法,通過這種方法,可以大大減小設(shè)計對芯片內(nèi)部緩存的需求,在相同緩存的條件下,可以實現(xiàn)更大帶寬的數(shù)據(jù)接入,提供了更強大的接入能力,交叉能力,數(shù)據(jù)處理能力。對比之下,常規(guī)方法在單片內(nèi)只能完成20Gx20G的低階交叉容量,采用本方法可以完成80Gx20G的低階交叉容量,不需要附加任何外部緩存,本方法在硬件成本、接入容量、操作性方面具有明顯的優(yōu)勢。
附圖說明
圖1為系統(tǒng)模塊功能框圖;
圖2為數(shù)據(jù)接收功能框圖;
圖3為幀同步狀態(tài)機示意圖;
圖4為指針解釋和調(diào)整模塊框圖;
圖5為指針解釋狀態(tài)機示意圖;
圖6為復(fù)幀對齊下的交叉示意圖;
圖7為未復(fù)幀對齊的交叉示意圖;
圖8為低階交叉模塊功能框圖;
圖9為數(shù)據(jù)發(fā)送模塊功能框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明做進(jìn)一步說明:
FPGA(現(xiàn)場可編程門陣列)芯片工作原理:參照圖1,芯片功能劃分為七個功能模塊:數(shù)據(jù)接收模塊、指針解釋和調(diào)整模塊、復(fù)幀信息綁定模塊、低階交叉模塊、復(fù)幀對齊模塊、處理器接口模塊和數(shù)據(jù)發(fā)送模塊。其中指針解釋和調(diào)整、復(fù)幀信息綁定、低階交叉、復(fù)幀對齊四個模塊為本方案中的核心模塊,體現(xiàn)先交叉再進(jìn)行復(fù)幀對齊的思路。數(shù)據(jù)接收、處理器接口、數(shù)據(jù)發(fā)送三個模塊是處理SDH數(shù)據(jù)的常規(guī)模塊,上述七個模塊完成整個芯片的所用功能。
參照圖2,數(shù)據(jù)接收模塊分為五個子模塊:幀同步模塊、解擾模塊、再生段開銷(RSOH)提取模塊、復(fù)用段開銷(MSOH)提取模塊、通道開銷(PON)提取模塊。其中幀同步模塊對接收數(shù)據(jù)進(jìn)行幀同步檢測,幀同步檢測狀態(tài)機如圖3所示(該圖是參照標(biāo)準(zhǔn)協(xié)議G.707的描述繪制);解擾模塊按照國際電信聯(lián)盟電信標(biāo)準(zhǔn)分局(ITU-T)建議的G.707的規(guī)定,對數(shù)據(jù)加擾部分進(jìn)行解擾操作;ROSH、MSOH、PON開銷提取模塊分別對各層的開銷進(jìn)行校驗和提取,包括DCC(數(shù)據(jù)通信通路)、J0(再生段蹤跡字節(jié))、J1(通道蹤跡字節(jié))、B1(比特間插8位奇偶校驗碼字節(jié))、B2(比特間插24位奇偶校驗碼字節(jié))、B3(通道8位奇偶校驗碼字節(jié))、S1(同步狀態(tài)字節(jié))、C2(信號標(biāo)記字節(jié))、M1(復(fù)用段遠(yuǎn)端誤碼塊指示字節(jié))等等,對校驗所得異常情況進(jìn)行統(tǒng)計和上報。
按照ITU-T建議G.707的規(guī)定(VC4是一種高階虛容器,是幀結(jié)構(gòu)中承載高階數(shù)據(jù)的字節(jié)位置,后文簡稱為VC4,而相應(yīng)的,低階虛容器是一種更小的承載低階數(shù)據(jù)的容器,后文簡稱為VC12),當(dāng)VC12間插復(fù)用裝載進(jìn)VC4之后,高階指針AU_PTR與VC4組成AU4,高階指針指示了VC4中J1的位置,即VC4的起點,由此可以確定各個VC12的位置。當(dāng)指針變化時,說明VC12在VC4中的位置發(fā)生了變換,同時,無論指針如何變化,一個VC12的所有字節(jié)在VC4中始終在同樣的列,因此可以用列交換實現(xiàn)VC12的交叉,但是實現(xiàn)這種列交換的前提就是不同VC4中相同序號的VC12應(yīng)在它們各自的VC4中處于相同的列,例如,兩個VC4中的第一個VC12進(jìn)行列交叉,那么這兩個VC12在它們各自的VC4中,應(yīng)該都處于第10列,73列,136列,199列。因為VC12在VC4中的位置是通過指針的值來進(jìn)行指示的,所以需要先通過指針調(diào)整,將所有的VC4的指針調(diào)整為522。完成低階交叉之前的第一步準(zhǔn)備功能:基幀對齊。
參照圖4,指針解釋和調(diào)整模塊分為五個子模塊:接收定時器、指針解釋器、雙口存儲器(RAM)、指針生成器、發(fā)送定時器。其中接收定時器根據(jù)伴隨數(shù)據(jù)的地址,判別數(shù)據(jù)流中高階指針的位置;指針解釋器根據(jù)接收定時器生成的高階指針時隙指示信號截取數(shù)據(jù)流中的指針值,進(jìn)行指針的解釋,得到當(dāng)前的指針值,如圖5所示(該圖引自標(biāo)準(zhǔn)協(xié)議G.707),從而找到VC4的起始位置,并將一個個完整的VC4存入雙口RAM中;發(fā)送定時器由線路的8K幀同步信號重新生成幀相位,并通知指針生成器;指針生成器接收發(fā)送定時器送出的幀相位信息,在凈荷區(qū)域裝載存在雙口RAM中的VC4凈荷,同時生成新的指針值(按照習(xí)慣,取默認(rèn)指針值為522),保證所有的同步數(shù)字體系(SDH)的數(shù)據(jù)幀列對齊。
復(fù)幀信息綁定模塊是在完成低階交叉之前,先把每個VC4的通道開銷中的復(fù)幀類別和凈負(fù)荷的位置指示字節(jié)(H4)開銷提取出來,讓復(fù)幀信息與數(shù)據(jù)綁定在一起形成新的數(shù)據(jù)塊;因為VC12是具有復(fù)幀結(jié)構(gòu)的,而指針只能指示一個VC12基幀在VC4中的位置,在通過指針調(diào)整完成了VC12基幀在VC4中的列對齊之后,若要求VC12交叉的數(shù)據(jù)無誤,還需要另外的要求:復(fù)幀對齊。復(fù)幀的信息是由通道開銷字節(jié)中的H4開銷來指示的,而低階交叉時,通道開銷字節(jié)信息會被終結(jié)掉,所以SDH低階交叉的常規(guī)做法是在交叉之前,使用通道開銷字節(jié)中的復(fù)幀信息先進(jìn)行復(fù)幀對齊,完成之后再進(jìn)行交叉。復(fù)幀對齊需要用到芯片大量的緩存資源,而芯片內(nèi)能夠完成的低階交叉容量主要取決于芯片緩存的大小,所以這種先復(fù)幀對齊再交叉的常規(guī)方式所能完成的交叉容量取決于輸入帶寬,在數(shù)據(jù)篩選和過濾的應(yīng)用中,因為輸入數(shù)據(jù)中有大量的是無效數(shù)據(jù),最終不會被輸出,所以這種方式限制了這種應(yīng)用的芯片的接入能力。
本方案實現(xiàn)先交叉再復(fù)幀對齊是在交叉之前,先把每個VC4的通道開銷字節(jié)中的H4開銷提取出來,讓復(fù)幀信息與數(shù)據(jù)綁定在一起形成新的數(shù)據(jù)塊,交叉時對新的數(shù)據(jù)塊進(jìn)行交叉,這樣復(fù)幀信息始終跟隨原始數(shù)據(jù),經(jīng)過交叉也不會丟失,在完成了低階交叉之后,再將復(fù)幀信息提取出來,指示和它綁定在一起的數(shù)據(jù)存儲到相應(yīng)的復(fù)幀存儲區(qū)中,從未完成復(fù)幀對齊。
圖6和圖7分別說明了常規(guī)方案和本方案進(jìn)行交叉時的對比,其中在圖6中,復(fù)幀信息為虛線框,表示復(fù)幀信息已經(jīng)被終結(jié)掉。
參照圖8,以列交換為低階交叉的基本思想,低階交叉模塊完成80Gx20G的低階交叉。低階交叉模塊共有四個模塊:寫控制器、數(shù)據(jù)緩存RAM、交叉命令緩存RAM、讀控制器;寫控制器根據(jù)伴隨數(shù)據(jù)的地址生成寫控制信號:寫使能和寫地址,寫使能對應(yīng)同步數(shù)字體系(SDH)幀一行里的VC12凈荷區(qū)域,寫地址從零開始累加直到凈荷的最后一列,控制數(shù)據(jù)順序?qū)懭霐?shù)據(jù)緩存RAM中;數(shù)據(jù)緩存RAM對數(shù)據(jù)進(jìn)行緩存,數(shù)據(jù)緩存RAM和交叉命令緩存RAM實現(xiàn)讀寫倒換,當(dāng)向數(shù)據(jù)緩存RAM寫入時,交叉命令緩存RAM讀取,當(dāng)向交叉命令緩存RAM寫入時,數(shù)據(jù)緩存RAM讀取。
讀控制器根據(jù)寫地址生成讀控制信號,使讀出和寫入的延遲達(dá)到一行的時差,讀控制信號分為:命令RAM讀使能、命令RAM讀地址和數(shù)據(jù)RAM讀使能;其中“數(shù)據(jù)RAM讀使能”相對于“命令RAM讀使能”有固定的延遲,這個延遲對應(yīng)于命令RAM的讀使能有效后需經(jīng)過固定延遲才輸出相應(yīng)數(shù)據(jù);讀控制器在發(fā)送凈荷時隙中讓讀命令RAM地址累加,讀命令RAM地址相當(dāng)于當(dāng)前需要輸出的低階虛容器(VC12)在幀中列的位置,從命令RAM地址中讀出的值作為數(shù)據(jù)RAM的地址,數(shù)據(jù)RAM的地址相當(dāng)于當(dāng)前需要輸出的低階虛容器(VC12)的編號;交叉時對新的數(shù)據(jù)塊進(jìn)行交叉,在完成了低階交叉之后,再將復(fù)幀信息提取出來,指示和它綁定在一起的數(shù)據(jù)存儲到相應(yīng)的復(fù)幀存儲區(qū)中,從未完成復(fù)幀對齊。
使用緩存RAM對數(shù)據(jù)進(jìn)行存儲,因為寫入和讀出之間的延遲,RAM的容量為SDH一行VC12凈荷容量的兩倍大小,分為主備兩塊,實現(xiàn)讀寫倒換,當(dāng)向主存儲塊寫入時,從備存儲塊讀取,當(dāng)向備存儲塊寫入時,從主存儲塊讀取。
圖8描述數(shù)據(jù)的交叉模式,伴隨數(shù)據(jù)的復(fù)幀信息當(dāng)作數(shù)據(jù)的一部分,進(jìn)行一樣的操作,始終跟隨它所標(biāo)記的數(shù)據(jù)。按照圖8的結(jié)構(gòu)可實現(xiàn)一條通道內(nèi)的低階交叉,在多條通道內(nèi)的交叉時,會涉及到多個上述結(jié)構(gòu)。
復(fù)幀對齊模塊從低階交叉模塊輸出的數(shù)據(jù)中提取出復(fù)幀信息,由復(fù)幀信息引導(dǎo)數(shù)據(jù)存入相應(yīng)的RAM區(qū)域中,每個RAM按照地址分為四個地址區(qū)域,分別對應(yīng)四個復(fù)幀,當(dāng)輸出給后面的處理器接口模塊時也是按照地址的區(qū)分相應(yīng)的去讀取對應(yīng)的地址區(qū)域。
處理器接口模塊使用并行總線完成外部處理器與FPGA之間的接口通信,接收處理器解析的低階交叉命令,將交叉命令存入低階交叉模塊中的交叉命令緩存RAM中,同時完成片內(nèi)性能統(tǒng)計的上報和告警上報。
數(shù)據(jù)發(fā)送模塊包括通道開銷插入、復(fù)用段開銷插入、再生段開銷插入、加擾四個模塊,該四個模塊完成交叉和對齊之后的數(shù)據(jù)幀再生。