設(shè)長(zhǎng)度為 長(zhǎng)度的方式,對(duì)所述并行碼流進(jìn)行預(yù)對(duì)齊,判斷預(yù)對(duì)齊后的幀頭是否為偽幀頭;如果連續(xù)M 幀預(yù)對(duì)齊后的幀頭均不是偽幀頭,則所述幀同步狀態(tài)機(jī)進(jìn)入幀同步狀態(tài);否則,所述幀同步 狀態(tài)機(jī)返回幀失步狀態(tài);
[0033] 所述幀同步狀態(tài)機(jī)在幀同步狀態(tài)下,由幀同步及輸出模塊判斷已同步的并行碼流 中的各幀頭是否為偽幀頭,在連續(xù)P幀的幀頭為偽幀頭時(shí),所述幀同步狀態(tài)機(jī)進(jìn)入幀失步 狀態(tài);否則,所述幀同步狀態(tài)機(jī)繼續(xù)停留在幀同步狀態(tài);
[0034] 其中,所述M、P均為預(yù)設(shè)可調(diào)正整數(shù)。
[0035] 可選的,通過(guò)如下字對(duì)齊狀態(tài)機(jī)實(shí)現(xiàn)由幀失步狀態(tài)轉(zhuǎn)換至幀對(duì)齊狀態(tài)的過(guò)程:
[0036] 在所述幀同步狀態(tài)機(jī)進(jìn)入失步狀態(tài)時(shí),所述字對(duì)齊狀態(tài)機(jī)進(jìn)入搜索狀態(tài),在搜索 狀態(tài)下,由所述幀頭搜索模塊在所述并行碼流中查找與所述第一幀頭核心字匹配的子并行 碼流,如果查找成功,則根據(jù)匹配成功的子并行碼流的位置確定幀頭偏移量,并且,所述字 對(duì)齊狀態(tài)機(jī)進(jìn)入預(yù)對(duì)齊狀態(tài);如果查找失敗,則所述字對(duì)齊狀態(tài)機(jī)繼續(xù)停留在搜索狀態(tài);
[0037] 所述字對(duì)齊狀態(tài)機(jī)在預(yù)對(duì)齊狀態(tài)下,由所述幀頭搜索模塊在所述并行碼流中查找 與所述第二幀頭核心字匹配的子并行碼流,如果查找成功,則所述字對(duì)齊狀態(tài)機(jī)保持在預(yù) 對(duì)齊狀態(tài),同時(shí)所述幀同步狀態(tài)機(jī)進(jìn)入幀對(duì)齊狀態(tài);如果查找失敗,則所述字對(duì)齊狀態(tài)機(jī)返 回搜索狀態(tài)。
[0038] 可選的,所述預(yù)設(shè)關(guān)鍵字段的長(zhǎng)度與所述并行數(shù)據(jù)的位寬相關(guān)。
[0039] 從上述技術(shù)方案可以看出,本發(fā)明實(shí)施例提供一種幀同步方案,首先,利用并行碼 流中包含的數(shù)據(jù)幀所對(duì)應(yīng)的幀頭的預(yù)設(shè)關(guān)鍵字段,與并行碼流中的各子并行碼流進(jìn)行并行 匹配,子并行碼流為并行碼流中起始位不同、但位寬相同的部分碼流;根據(jù)與預(yù)設(shè)關(guān)鍵字段 匹配成功的子并行碼流在并行碼流中的位置,確定幀頭在并行碼流中的偏移量;這樣,利用 并行比較多種錯(cuò)位情況的并行碼流的方式進(jìn)行幀頭搜索,可以在同一周期內(nèi)對(duì)多種錯(cuò)誤情 況進(jìn)行同時(shí)搜索,提高了處理效率,減少了處理時(shí)延;然后,根據(jù)并行碼流中包含的數(shù)據(jù)幀 所對(duì)應(yīng)的幀長(zhǎng)度和確定出的幀頭偏移量,對(duì)并行碼流進(jìn)行預(yù)對(duì)齊處理;判斷預(yù)對(duì)齊后的幀 頭是否為偽幀頭,如果預(yù)對(duì)齊后的幀頭不是偽幀頭,則將預(yù)對(duì)齊后的并行碼流作為已同步 的并行碼流進(jìn)行輸出;這樣,利用串行多周期比較的方式進(jìn)行偽幀頭檢驗(yàn),在保證處理效率 的前提下,節(jié)約了邏輯資源。
【附圖說(shuō)明】
[0040] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本 領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。
[0041] 圖1為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)架構(gòu)的結(jié)構(gòu)示意圖;
[0042] 圖2為本發(fā)明實(shí)施例提供的幀同步方法的流程示意圖;
[0043] 圖3為本發(fā)明實(shí)施例提供的基于FPGA實(shí)現(xiàn)的幀同步功能不意圖;
[0044] 圖4為本發(fā)明實(shí)施例提供的通過(guò)并行比較方式確定幀頭的流程示意圖;
[0045] 圖5為本發(fā)明實(shí)施例提供的fas_detect模塊的示意圖;
[0046] 圖6為本發(fā)明實(shí)施例提供的幀同步狀態(tài)機(jī)的示意圖;
[0047] 圖7為本發(fā)明實(shí)施例提供的字對(duì)齊狀態(tài)機(jī)的示意圖;
[0048] 圖8為本發(fā)明實(shí)施例提供的幀同步裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0049] 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn) 一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施 例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的 所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0050] 本發(fā)明實(shí)施例可以應(yīng)用于各種通信傳輸系統(tǒng),如數(shù)字通信傳輸系統(tǒng)、光傳輸系統(tǒng) 等等,本發(fā)明實(shí)施例可以適用于OTN等高速傳輸領(lǐng)域,實(shí)現(xiàn)高速串行碼流的幀同步的方案; 較佳的,本發(fā)明實(shí)施例中的高速串行碼流可以為SDH(SynchronousDigitalHierarchy, 同步數(shù)字體系)、FC(FiberChanne,光纖通道)、GE(GigabitEthernet,千兆位以太網(wǎng))、 FE(FastEthernet,快速以太網(wǎng))等信號(hào)。圖1示出了本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)架構(gòu)的結(jié)構(gòu) 示意圖,客戶側(cè)的單板的SDH、FC、GE、FE等信號(hào)通過(guò)客戶業(yè)務(wù)口送入邏輯芯片或者專用OTN 芯片,并映射到OTN容器中,并進(jìn)行相應(yīng)的成幀、復(fù)用處理,最終經(jīng)過(guò)光模塊送到線路側(cè)的 OTN傳輸網(wǎng)中。以O(shè)TN為例,幀同步指示了OTN光通路是否能正常工作,因此,線路側(cè)的幀同 步問(wèn)題是光傳輸網(wǎng)絡(luò)中相當(dāng)重要的一個(gè)環(huán)節(jié)。由于線路側(cè)是高速的串行數(shù)據(jù),而邏輯內(nèi)部 處理時(shí)需要將高速串行數(shù)據(jù)轉(zhuǎn)換為較低速的并行數(shù)據(jù)來(lái)處理,因此如何對(duì)SERDES(SERDES 是SERializer(串行器)/DESerialiZer(解串器)的簡(jiǎn)稱)恢復(fù)出的非對(duì)齊并行數(shù)據(jù)中找 到OTN幀的起始標(biāo)志、并且以此進(jìn)行數(shù)據(jù)對(duì)齊,從而方便后續(xù)數(shù)據(jù)處理是首要需要解決的 問(wèn)題。
[0051] 圖2示出了本發(fā)明實(shí)施例提供的幀同步方法的流程示意圖,該流程包括:
[0052] 步驟21 :對(duì)于由接收到的串行碼流轉(zhuǎn)換得到的并行碼流,利用并行碼流中包含的 數(shù)據(jù)幀所對(duì)應(yīng)的幀頭的預(yù)設(shè)關(guān)鍵字段,與并行碼流中的各子并行碼流進(jìn)行并行匹配,子并 行碼流為并行碼流中起始位不同、但位寬相同的部分碼流;根據(jù)與預(yù)設(shè)關(guān)鍵字段匹配成功 的子并行碼流在并行碼流中的位置,確定幀頭在并行碼流中的偏移量。
[0053] 步驟22 :根據(jù)并行碼流中包含的數(shù)據(jù)幀所對(duì)應(yīng)的幀長(zhǎng)度和確定出的幀頭偏移量, 對(duì)并行碼流進(jìn)行預(yù)對(duì)齊處理;如果預(yù)對(duì)齊后的幀頭不是偽幀頭,則將預(yù)對(duì)齊后的并行碼流 作為已同步的并行碼流進(jìn)行輸出。
[0054] 可選的,在上述步驟21中,預(yù)設(shè)關(guān)鍵字段至少包括:第一幀頭核心字和第一幀頭 核心字的位置;其中,第一幀頭核心字是根據(jù)在各幀頭中處于同一位置且取值相同的數(shù)值 設(shè)置的;將第一幀頭核心字與并行碼流中的各子并行碼流進(jìn)行并行匹配,如果存在一個(gè)子 并行碼流與第一幀頭核心字完全匹配,則根據(jù)該第一幀頭核心字的位置確定該第一幀頭核 心字所屬的幀頭在并行碼流中的偏移量;在上述步驟22中,根據(jù)并行碼流中包含的數(shù)據(jù)幀 所對(duì)應(yīng)的幀長(zhǎng)度和確定出的幀頭偏移量,將并行碼流處理為以幀頭起始、以預(yù)設(shè)長(zhǎng)度為長(zhǎng) 度的并行碼流。
[0055] 需要說(shuō)明的是,在本發(fā)明實(shí)施例中,將并行碼流處理為以幀頭起始、以預(yù)設(shè)長(zhǎng)度為 長(zhǎng)度的并行碼流可以具體為:將并行碼流處理為以幀頭起始、以幀長(zhǎng)度/數(shù)據(jù)位寬為指定 時(shí)間隔輸出并行碼流,其中符號(hào)/為除法運(yùn)算符號(hào)。也就是說(shuō),可選的,上述預(yù)設(shè)長(zhǎng)度可以 與處理器、比較器、寄存器等相關(guān)元器件的處理能力以及數(shù)據(jù)位寬等參數(shù)相關(guān),這里不再 --贅述。
[0056] 可選的,在上述步驟21中,預(yù)設(shè)關(guān)鍵字段中還包括第二幀頭核心字和該第二幀頭 核心字的位置;其中,第二幀頭核心字是根據(jù)在各幀頭中處于同一位置且取值相同的數(shù)值 設(shè)置的;并且,第二幀頭核心字與第一幀頭核心字根據(jù)處于不同位置的數(shù)值設(shè)置;
[0057] 如果在預(yù)對(duì)齊后的幀頭中分別查找到第一幀頭核心字和第二幀頭核心字所在位 置,根據(jù)所述第一幀頭核心字和第二幀頭核心字的位置對(duì)查找到的位置進(jìn)行匹配,如果存 在任一不匹配,則將預(yù)對(duì)齊后的幀頭確定為偽幀頭;或者
[0058] 如果在預(yù)對(duì)齊后的幀頭中未查找到所述第二幀頭核心字,則將預(yù)對(duì)齊后的幀頭確 定為偽幀頭;或者
[0059] 根據(jù)第一幀頭核心字所在位置和預(yù)先設(shè)置的第一幀頭核心字和第二幀頭核心字 之間的相對(duì)位置,將預(yù)對(duì)齊后的幀頭中查找到第二幀頭核心字所在位置的數(shù)值與第二幀頭 核心字的數(shù)值進(jìn)行匹配,如果不匹配,則將預(yù)對(duì)齊后的幀頭確定為偽幀頭。
[0060] 可選的,在上述步驟中,該方法還包括:如果預(yù)對(duì)齊后的幀頭是偽幀頭,則重新確 定并行碼流中的幀頭偏移量。
[0061] 可選的,在上述步驟21~步驟22中,通過(guò)幀同步狀態(tài)機(jī)實(shí)現(xiàn)并行碼流的幀同步過(guò) 程:
[0062] 在初始時(shí),同步狀態(tài)機(jī)進(jìn)入幀失步狀態(tài),在幀失步狀態(tài)下,在并行碼流中查找與第 一、第二幀頭核心字匹配的子并行碼流,如果均查找成功,則根據(jù)匹配成功的子并行碼流的 位置確定幀頭偏移量,并且,同步狀態(tài)機(jī)進(jìn)入幀對(duì)齊狀態(tài);否則,同步狀態(tài)機(jī)繼續(xù)停留在幀 失步狀態(tài);
[0063] 同步狀態(tài)機(jī)在幀對(duì)齊狀態(tài)下,根據(jù)并行碼流中包含的數(shù)據(jù)幀所對(duì)應(yīng)的幀長(zhǎng)度和確 定出的幀頭偏移量,按照以幀頭起始、以預(yù)設(shè)長(zhǎng)度為長(zhǎng)度的方式,對(duì)并行碼流進(jìn)行預(yù)對(duì)齊, 判斷預(yù)對(duì)齊后的幀頭是否為偽幀頭;如果連續(xù)M幀預(yù)對(duì)齊后的幀頭均不是偽幀頭,則同步 狀態(tài)機(jī)進(jìn)入幀同步狀態(tài);否則,同步狀態(tài)機(jī)返回幀失步狀態(tài);
[0064] 同步狀態(tài)機(jī)在幀同步狀態(tài)下,判斷已同步的并行碼流中的各幀頭是否為偽幀頭, 在連續(xù)P幀的幀頭為偽幀頭時(shí),同步狀態(tài)機(jī)進(jìn)入幀失步狀態(tài);否則,同步狀態(tài)機(jī)繼續(xù)停留在 幀同步狀態(tài);
[0065] 其中,M、P均為預(yù)設(shè)可調(diào)正整數(shù),取決于不同通信標(biāo)準(zhǔn)。較佳的,在本發(fā)明實(shí)施例 中,為了權(quán)衡同步的準(zhǔn)確性和處理效率,可以設(shè)置M、P可以分別為大于或等于5的正整數(shù)。
[0066] 需要說(shuō)明的是,在本發(fā)明實(shí)施例中,將并行碼流處理為以幀頭起始、以預(yù)設(shè)長(zhǎng)度為 長(zhǎng)度的并行碼流可以具體為:將并行碼流處理為以幀頭起始、以幀長(zhǎng)度/數(shù)據(jù)位寬為指定 時(shí)間隔輸出并行碼流,其中符號(hào)/為除法運(yùn)算符號(hào)。也就是說(shuō),可選的,上述預(yù)設(shè)長(zhǎng)度可以 與處理器、比較器、寄存器等相關(guān)元器件的處理