專利名稱:網(wǎng)絡(luò)通信中搜索同步碼的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)通信中搜索同步碼的方法及其裝置。
背景技術(shù):
在網(wǎng)絡(luò)通信中,數(shù)據(jù)收發(fā)的同步是保證數(shù)據(jù)可靠收發(fā)的重要前提,為了使通信系統(tǒng)的收、發(fā)端數(shù)據(jù)同步,在發(fā)送端必須加入同步碼(即起始標(biāo)志碼),同步碼通常為周期性出現(xiàn)。接收端需要識別收到的碼流中同步碼的位置,并在發(fā)現(xiàn)收、發(fā)兩端的同步碼位置不對應(yīng)時,在接收端進(jìn)行相應(yīng)的調(diào)整,從而使收、發(fā)端的同步碼的位置對應(yīng),即保持?jǐn)?shù)據(jù)收發(fā)的同步。
基于上述同步過程的需要,首先需要在接收端接收的數(shù)據(jù)碼流中搜索到相應(yīng)的同步碼。對于接收端而言,在未實現(xiàn)同步前,輸入碼流的同步碼位置是隨機的,為了找到同步碼,則需要檢查大量的輸入碼流并進(jìn)行相應(yīng)的同步碼的確定的處理過程。
以T1系統(tǒng)為例,T1系統(tǒng)是CCITT(國際電話與電報顧問委員會)推薦的G.704中的一種傳輸電話信號的標(biāo)準(zhǔn)。T1使用1.544Mb/s的PCM(脈沖編碼調(diào)制)信號。T1基本幀由F-bit(F位)和24個時隙組成,每個T1基本幀共193比特;其中F-bit是基本幀的第一比特,攜帶復(fù)幀同步碼、CRC校驗碼和數(shù)據(jù)鏈路;24個時隙分別對應(yīng)于24個時分復(fù)用通道,每個時隙8bit,故每個T1基本幀共193比特。ESF(Extended superframe,擴展的高級幀)由24個T1基本幀組成,共4632比特。它的第4、8、12、16、20和24幀的F-bit分別為復(fù)幀同步碼(FAS)“001011”的各個比特。第2、6、10、14、18和22幀的F-bit分別為CRC-6(CRC,循環(huán)冗余碼檢驗)校驗碼的各個比特。其余的12個F-bit是4kbit/s的DL(數(shù)據(jù)鏈路)信息,ESF幀的結(jié)構(gòu)如圖1所示。
基于所述的ESF幀的結(jié)構(gòu),目前所采用的一種搜索同步碼的方法為從任意位置開始,每隔772比特,將輸入ESF碼流的F-bit保存在6×1的移位寄存器里面,直到收集滿6比特后,即將ESF幀相應(yīng)的6個位置中可能是同步碼的F-bit收集保存于移位寄存器中后,比較該6比特是否就是同步碼“001011”或者同步碼的移位變形“010110、101100......”等,如果是的話,并且在接下來的連續(xù)兩個復(fù)幀都觀察到同步碼,可以認(rèn)為這個比特位置就是FAS位置,完成同步搜索。如果不是的話,就選擇這個位置的下一個比特位置作為新的監(jiān)測位置,重復(fù)上述過程,直至找到FAS位置為止。
可以看出,上述搜索同步碼的方法所需的時間可能很長。假設(shè)第772個比特位置才是FAS,則搜索時間至少需要772個ESF復(fù)幀周期,而每個復(fù)幀周期為3ms,這么長的搜索時間是網(wǎng)絡(luò)通信所不能接受的。
為節(jié)省相應(yīng)的搜索時間,目前還有一種搜索同步碼的實現(xiàn)方式,這種方式的同步搜索電路如圖2所示,主要由四部分組成一是RAM(隨機儲存器),它有6個地址深度,每個地址772比特寬,可以把它看成6行772列的陣列,用于存儲收到的ESF幀數(shù)據(jù);二是串并轉(zhuǎn)換模塊,用于從RAM中讀取6比特數(shù)據(jù),并發(fā)送給同步碼監(jiān)測電路;三是同步碼監(jiān)測電路,用于查找RAM內(nèi)是否含有同步碼;四是地址寄存器,共有32個16位地址寄存器,每個地址寄存器由13位地址指針寄存器和相關(guān)3位計數(shù)器組成。所述的搜索同步碼的具體過程為將RAM劃分為4632個地址,每一個給定的RAM地址對應(yīng)于收到的ESF幀數(shù)據(jù)的特定比特位置,輸入碼流依次寫入RAM,順序是先填寫第一個地址,填完772比特后,接著填寫第二個地址,直至把RAM填滿;串并轉(zhuǎn)換模塊分別從RAM的6個地址中的相同位置各取出1個比特數(shù)據(jù),即取出一列數(shù)據(jù),串并轉(zhuǎn)換為6比特數(shù)據(jù),送到同步碼搜索模塊,總共需要取出772列數(shù)據(jù)進(jìn)行同步碼搜索。如果在RAM的某個地址被首次發(fā)現(xiàn)同步碼,就將該地址保存在地址指針寄存器中,且相關(guān)計數(shù)器置為1。隨后該位置可能再次出現(xiàn)或不出現(xiàn)同步碼,則相關(guān)計數(shù)器對應(yīng)執(zhí)行加一或減一操作。如果某個地址寄存器的相關(guān)計數(shù)器減至0,則該地址寄存器可以被用于存儲新的RAM地址。如果任何一個地址寄存器的相關(guān)計數(shù)器達(dá)到閾值(比如為3次),則宣布同步了。過了一段時間,如果宣布同步的地址寄存器的相關(guān)計數(shù)器下降到小于閾值,則宣布失步,并開始尋找是否有其他的地址寄存器的相關(guān)計數(shù)器達(dá)到閾值,如果有,則宣布在該地址同步,否則繼續(xù)等待某個地址寄存器的相關(guān)計數(shù)器到達(dá)閾值,相關(guān)計數(shù)器的最大值為7。圖2中的地址發(fā)生器用于產(chǎn)生RAM的4632個地址,每個地址對應(yīng)于每個收到的數(shù)據(jù)碼流比特位置,該地址如果發(fā)現(xiàn)同步碼,就將該地址寫入地址指針寄存器中。
圖2所示的同步搜索電路首先需要將一個ESF幀長度(共4632比特)的數(shù)據(jù)全部保存在RAM里面,同時需要32個16比特的地址寄存器用于排除偽同步,消耗大量硬件資源。其次排除偽同步的方法比較復(fù)雜,需要同時對多個地址寄存器進(jìn)行連續(xù)跟蹤,而且由于772列都有可能含有同步碼,當(dāng)有超過32列含有同步碼的時候,顯然地址寄存器的數(shù)量便無法滿足應(yīng)用,因此,該方法可能出現(xiàn)遺漏現(xiàn)象,即可能未將真正的同步碼保存于地址寄存器中,導(dǎo)致增加同步所需的時間。
在網(wǎng)絡(luò)通信衡量一種處理的性能的優(yōu)劣通常有兩個重要因素,一個是處理需要的時間,另一個是實現(xiàn)處理的復(fù)雜程度,因此,對于搜索同步碼的處理,一方面參考可能需要檢查最大數(shù)量輸入碼流確定最大平均同步時間來衡量同步搜索電路的性能,另一方面根據(jù)具體實現(xiàn)同步碼搜索電路的復(fù)雜程度衡量同步搜索電路的性能。而現(xiàn)有的兩種方案分別為一種方案所需要的處理時間較長,無法很好地滿足網(wǎng)絡(luò)通信的要求;另一種方案則處理過程較繁瑣,導(dǎo)致相應(yīng)的實現(xiàn)電路較為復(fù)雜,即可能提高實現(xiàn)成本,也較容易導(dǎo)致處理結(jié)果不準(zhǔn)確。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)絡(luò)通信中搜索同步碼的方法及其裝置,以降低搜索同步碼所需要的時間,并使得同步碼的搜索處理過程更為簡單、合理。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)提供了一種網(wǎng)絡(luò)通信中搜索同步碼的方法,包括A、將網(wǎng)絡(luò)通信中傳輸?shù)囊粠瑪?shù)據(jù)碼流進(jìn)行分塊;B、保存接收的數(shù)據(jù)碼流的一個分塊;C、在保存的數(shù)據(jù)碼流的分塊中搜索同步碼,如果搜索同步碼成功,則執(zhí)行步驟D,否則,執(zhí)行步驟E;D、確定網(wǎng)絡(luò)通信中的同步碼位置;E、保存接收的數(shù)據(jù)碼流的另一個分塊,并執(zhí)行步驟C。
所述的步驟A包括將網(wǎng)絡(luò)通信中的一幀數(shù)據(jù)碼流按每塊8列進(jìn)行分塊,最后一塊不足8列的單獨為一個分塊。
所述的數(shù)據(jù)碼流為ESF(擴展的高級幀)數(shù)據(jù)碼流。
所述的步驟B包括保存接收的數(shù)據(jù)碼流的其中一個分塊。
所述的步驟C包括在保存的數(shù)據(jù)碼流的分塊中采用循環(huán)移位的方法依次對各列數(shù)據(jù)進(jìn)行同步碼的搜索,如果搜索到同步碼,則執(zhí)行步驟D,否則,執(zhí)行步驟E。
所述的步驟C進(jìn)一步包括C1、循環(huán)提取保存的數(shù)據(jù)碼流的分塊中根據(jù)同步碼在各基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù);C2、將提取的各組數(shù)據(jù)與同步碼比較,并判斷是否相同,如果相同,則執(zhí)行步驟D,否則,執(zhí)行步驟E。
所述的步驟C1進(jìn)一步包括C11、確定復(fù)幀中的一列數(shù)據(jù),并以該列數(shù)據(jù)中的任一位作為起始位,根據(jù)同步碼在復(fù)幀的各個基本幀中的出現(xiàn)位置確定多組數(shù)據(jù),數(shù)據(jù)組數(shù)與一列數(shù)據(jù)包含的位數(shù)相同;C12、循環(huán)提取保存的數(shù)據(jù)碼流的分塊中根據(jù)同步碼在各個基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù)。
所述的步驟C11包括確定T1的ESF復(fù)幀中的一列共24位數(shù)據(jù),分別為1、2、......、24位;根據(jù)同步碼在T1的ESF復(fù)幀的各個基本幀中的出現(xiàn)位置,即每4位出現(xiàn)一位,將24位數(shù)據(jù)分組,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,共24組數(shù)據(jù)。
所述的步驟D包括保存搜索到的同步碼在數(shù)據(jù)碼流中的位置,并判斷接著的連續(xù)的兩幀數(shù)據(jù)碼流中同樣位置處是否出現(xiàn)同步碼,如果出現(xiàn),則確定該位置為網(wǎng)絡(luò)通信中的同步碼的位置,否則,執(zhí)行步驟E。
所述的步驟C還包括將提取的各組數(shù)據(jù)與同步碼比較,如果相等則比較結(jié)果為1,否則比較結(jié)果為0,并將比較結(jié)果分別依次寫入結(jié)果寄存器內(nèi);且所述的D進(jìn)一步包括D1、根據(jù)結(jié)果寄存器比較結(jié)果為1的比特所在的位置確定同步碼在數(shù)據(jù)碼流中的位置;
D2、保存搜索到的同步碼在數(shù)據(jù)碼流中的位置;D3、判斷接著的連續(xù)的兩幀數(shù)據(jù)碼流中同樣位置處是否出現(xiàn)同步碼,如果出現(xiàn),則確定該位置為網(wǎng)絡(luò)通信中的同步碼的位置,否則,執(zhí)行步驟E。
所述的步驟D1包括根據(jù)比較結(jié)果為1的比特在結(jié)果寄存器中的位置確定移位的次數(shù),從而確定被搜索列的第24比特所處的基本幀的復(fù)幀編號。
本發(fā)明所述的方法中,當(dāng)比較結(jié)果寄存器中比較結(jié)果為1的比特位多于一個時,所述的步驟D3進(jìn)一步包括D31、判斷是否已經(jīng)跟蹤了二個復(fù)幀,如果是,執(zhí)行步驟D34,否則,跟蹤下一個復(fù)幀中與比較結(jié)果為1的比特位所在的位置對應(yīng)的數(shù)據(jù)列,并根據(jù)確定的第24比特所處的復(fù)幀編號確定該列中的同步碼;D32、將該列中的同步碼與“001011”比較,如果相同則結(jié)果為1,否則為0;D33、將該列的同步碼搜索結(jié)果與結(jié)果寄存器中的相應(yīng)位進(jìn)行“位與”操作,并將結(jié)果寫入結(jié)果寄存器內(nèi),執(zhí)行步驟31;D34、判斷結(jié)果寄存器中各位置是否均為0,如果是,則執(zhí)行步驟E,否則執(zhí)行步驟D35;D35、確定結(jié)果寄存器中位置為1處對應(yīng)的數(shù)據(jù)碼流中相應(yīng)的位置為網(wǎng)絡(luò)通信中的同步碼的位置。
所述的步驟E包括保存接收的數(shù)據(jù)碼流中步驟D處理完成的分塊的下一個分塊,并執(zhí)行步驟C。
基于上述方法本發(fā)明還提供了一種網(wǎng)絡(luò)通信中搜索同步碼的裝置,包括數(shù)據(jù)碼流分塊存儲模塊用于保存接收的數(shù)據(jù)碼流的一個分塊,并可以將保存的分塊中的數(shù)據(jù)根據(jù)需要提供給同步碼查詢模塊;同步碼查詢模塊調(diào)用數(shù)據(jù)碼流分塊存儲模塊中保存的數(shù)據(jù)碼流相應(yīng)分塊的數(shù)據(jù),并進(jìn)行同步碼的搜索查詢處理,搜索查詢處理結(jié)果上報給同步碼查詢控制模塊;同步碼查詢控制模塊根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果進(jìn)行數(shù)據(jù)碼流中的同步碼查詢的控制。
所述的數(shù)據(jù)碼流分塊存儲模塊為8×24的移位寄存器。
所述的同步碼查詢模塊包括數(shù)據(jù)循環(huán)移位提取模塊從數(shù)據(jù)碼流分塊存儲模塊中依次提取根據(jù)同步碼在基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù),并發(fā)送給同步碼比較模塊;同步碼比較模塊將數(shù)據(jù)循環(huán)移位提取模塊發(fā)送來的各組數(shù)據(jù)分別與同步碼比較進(jìn)行確定相應(yīng)的同步碼的處理,并將處理結(jié)果發(fā)送給同步碼查詢控制模塊。
所述的同步碼查詢控制模塊進(jìn)一步包括同步狀態(tài)機根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果確定相應(yīng)的處理狀態(tài),發(fā)送需要保存數(shù)據(jù)碼流分塊的首列地址給采樣地址寄存器;當(dāng)在相同位置連續(xù)三次發(fā)現(xiàn)同步碼時,宣布同步完成,并通知碼流地址發(fā)生器進(jìn)行地址調(diào)整;碼流地址發(fā)生器對收到的數(shù)據(jù)碼流進(jìn)行編號定位,分為基本幀內(nèi)193個比特編號和復(fù)幀中24個基本幀編號,它們從復(fù)位開始周而復(fù)始的計數(shù),直到收到同步狀態(tài)機發(fā)來的同步完成標(biāo)志的時候,調(diào)整這兩個編號,使基本幀的比特編號等于1時表示每個基本幀的第一個比特,基本幀編號為1時表示復(fù)幀的第一基本幀;采樣地址寄存器保存同步狀態(tài)機給出的需要保存8列數(shù)據(jù)中的第一列的地址,該地址結(jié)合碼流地址發(fā)生器給出的基本幀比特編號和復(fù)幀的基本幀編號組成被保存的8列數(shù)據(jù)的地址,輸出給數(shù)據(jù)碼流分塊存儲模塊。
由上述本發(fā)明所述的技術(shù)方案可以看出,本發(fā)明由于采用了分塊保存輸入的數(shù)據(jù)碼流并依次分別針對F-bit進(jìn)行各列數(shù)據(jù)的同步碼的搜索的技術(shù)方案,由于同步碼的各個比特是每772比特出現(xiàn)一次,而F-bit出現(xiàn)的周期是193比特,因此,本發(fā)明所述的針對F-bit進(jìn)行同步碼的搜索,比針對同步碼位置進(jìn)行同步碼的搜索的速度快4倍。每個復(fù)幀周期對8列數(shù)據(jù)搜索,搜索速度又比單列搜索提高8倍。
同時,本發(fā)明僅保存部分輸入碼流,而不是整個復(fù)幀,節(jié)約了大量的存儲器,而且降低了同步碼搜索電路實現(xiàn)的復(fù)雜程度,相應(yīng)的搜索速度比單列搜索的速度有較大的提高,較現(xiàn)有技術(shù)的第二種方案所占用的搜索時間不相上下。
本發(fā)明分列搜索同步碼,且一旦搜索到,就停止其他列同步碼比較,專門對該列進(jìn)行跟蹤,直至確定它是F-bit列還是偽同步碼列,從而避免因多列同時出現(xiàn)同步碼,而導(dǎo)致排除偽同步列的復(fù)雜度增加。
本發(fā)明采用移位比較法或復(fù)制疊加法可以很快地確定被搜索列是否含有同步碼,并可根據(jù)搜索結(jié)果定位復(fù)幀編號。
總之,本發(fā)明的實現(xiàn)不僅可以在較短的時間內(nèi)完成同步碼的搜索,而且電路結(jié)構(gòu)簡單,邏輯門數(shù)少,節(jié)約芯片面積,從而降低了同步碼搜索的實現(xiàn)成本。
圖1為T1的ESF幀結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)中搜索同步碼的裝置的結(jié)構(gòu)示意圖;圖3為本發(fā)明所述的方法的具體實施方式
流程圖;圖4為本發(fā)明中針對ESF幀的分塊示意圖;
圖5為同步碼在ESF數(shù)據(jù)中的分布示意圖;圖6為本發(fā)明所述的裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明中同步碼搜索過程的狀態(tài)機示意圖;圖8為復(fù)制疊加搜索法的示意圖。
具體實施例方式
為實現(xiàn)降低搜索同步碼所需要的時間,并使同步碼的搜索處理過程更為簡單、合理,本發(fā)明提供了一種網(wǎng)絡(luò)通信中搜索同步碼的方法及其裝置,現(xiàn)結(jié)合附圖對本發(fā)明的具體實施方式
加以說明。
本發(fā)明所述的網(wǎng)絡(luò)通信中搜索同步碼的方法的具體實施方式
如圖3所示,具體包括以下步驟步驟31將網(wǎng)絡(luò)通信中傳輸?shù)囊粠瑪?shù)據(jù)碼流進(jìn)行分塊;也就是說,本發(fā)明為了加快同步碼的搜索速度,需要對輸入的數(shù)據(jù)碼流進(jìn)行分塊,并采用可調(diào)區(qū)間的同步碼搜索方法進(jìn)行同步碼的搜索即在一個復(fù)幀周期內(nèi)同時采集連續(xù)的N列數(shù)據(jù)(一個數(shù)據(jù)碼流分塊),并對這N列依次進(jìn)行同步碼搜索,將使最壞情況時間降為193/N個復(fù)幀周期,實際應(yīng)用中,我們?nèi)的最佳值8,參考附圖4;在每個復(fù)幀周期內(nèi),用8個移位寄存器保存8列數(shù)據(jù),然后依次對每一列進(jìn)行同步碼搜索,如果第一個8列內(nèi)的各列都沒有搜索到唯一的同步碼,就在下一個復(fù)幀周期保存第二個8列數(shù)據(jù),完成相同的搜索過程;對于ESF幀中,193列數(shù)據(jù)里面共有25個這樣的陣列;其中最后一個陣列只有第一列有效(即偽復(fù)幀里面的第193列),當(dāng)該列比較完后,發(fā)現(xiàn)不是F-bit時,則直接跳躍下一個偽復(fù)幀(即下一個輸入數(shù)據(jù)碼流),重新開始(即新的193列數(shù)據(jù)中的第1到8列)進(jìn)行同步碼的搜索;當(dāng)然,對數(shù)據(jù)碼流進(jìn)行分塊時,各個分塊的大小根據(jù)需要任意確定,通常采用將網(wǎng)絡(luò)通信中的一幀數(shù)據(jù)碼流按每塊8列進(jìn)行分塊,最后一塊不足8列的單獨為一個分塊;采用每塊8列計算較為方便,這是因為8是2的三次方,易于被采樣列地址的組合實現(xiàn),而不需要加法運算;本發(fā)明中,所述的數(shù)據(jù)碼流為ESF(擴展的高級幀)數(shù)據(jù)碼流時,復(fù)幀共包括24個基本幀,每個基本幀包括193位,如果每次保存8列數(shù)據(jù)并進(jìn)行相應(yīng)的同步碼搜索處理,最多需要25次;因此,如果輸入的幀一定含有同步碼,則最壞情況(不考慮偽同步情況)需要25復(fù)幀周期找到FAS,最大平均搜索時間為39ms,可以滿足網(wǎng)絡(luò)通信的要求;保存8列數(shù)據(jù)是綜合考慮電路規(guī)模和最大平均搜索時間后的最佳選擇;如果我們保存小于8列的數(shù)據(jù),最大平均搜索時間將大于40ms,不符合網(wǎng)絡(luò)通信的要求;如果保存大于8列數(shù)據(jù),雖然會降低最大平均搜索時間,但是電路規(guī)模和復(fù)雜度將增加很多,導(dǎo)致實現(xiàn)成本增加。
步驟32保存接收的數(shù)據(jù)碼流的一個分塊,對于ESF復(fù)幀,保存接收的復(fù)幀的前8列數(shù)據(jù),即保存接收的數(shù)據(jù)碼流的第一個分塊;也就是說,每一個復(fù)幀周期,僅保存25個陣列里面的其中一個小陣列數(shù)據(jù),通常為8列數(shù)據(jù),而不是整個復(fù)幀的數(shù)據(jù)。
步驟33在保存的相應(yīng)數(shù)據(jù)碼流分塊中采用循環(huán)移位的方法搜索同步碼,如果搜索同步碼成功,則執(zhí)行步驟34,否則,執(zhí)行步驟35;而且步驟33是針對分塊中的每一列數(shù)據(jù)分別進(jìn)行處理,具體的處理過程進(jìn)一步包括步驟331確定復(fù)幀中的一列數(shù)據(jù),并以該列數(shù)據(jù)中的任一位作為起始位,根據(jù)同步碼在復(fù)幀的各個基本幀中的出現(xiàn)位置確定多組數(shù)據(jù),所確定的數(shù)據(jù)組數(shù)量與一列數(shù)據(jù)包含的位數(shù)相同;假設(shè),確定T1的ESF復(fù)幀中的一列數(shù)據(jù),共24位,分別為1、2、......、24位;根據(jù)同步碼在T1幀的各個基本幀中的出現(xiàn)位置,即每4位出現(xiàn)一位,將24位數(shù)據(jù)分組,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,其24組數(shù)據(jù),各組數(shù)據(jù)中的數(shù)字代表著各數(shù)據(jù)在24位的一列數(shù)據(jù)中所處的位置數(shù)值;步驟332循環(huán)提取保存的數(shù)據(jù)碼流的分塊中根據(jù)同步碼在各個基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù);例如,依次提取上述24組6位數(shù)據(jù)“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”;步驟333將調(diào)用的各組數(shù)據(jù)與同步碼比較,并判斷是否相同,如果相同,即同步碼搜索成功,則執(zhí)行步驟34,否則,未在該列數(shù)據(jù)中找到同步碼,進(jìn)行下一列數(shù)據(jù)的搜索,具體的搜索過程與步驟331和步驟332相同,如果在該分塊數(shù)據(jù)碼流包含的各列數(shù)據(jù)中均未搜索到同步碼,則執(zhí)行步驟35。
步驟34確定網(wǎng)絡(luò)通信中的同步碼位置;為保證搜索到的同步碼的準(zhǔn)確性,還需要進(jìn)行一個偽同步碼的排除處理,考慮到根據(jù)協(xié)議G.704,DL(數(shù)據(jù)鏈路)比特碼和CRC(循環(huán)冗余校驗)比特碼位置處連續(xù)三個復(fù)幀出現(xiàn)同步碼序列“001011”的概率幾乎為0,因此所述的步驟34具體的處理過程為保存搜索到的同步碼在數(shù)據(jù)碼流中的位置,并判斷接著的連續(xù)的兩幀數(shù)據(jù)碼流中同樣位置處是否出現(xiàn)同步碼,如果出現(xiàn),則確定該位置為網(wǎng)絡(luò)通信中的同步碼的位置,否則,執(zhí)行步驟35,繼續(xù)從其他數(shù)據(jù)碼流分塊中進(jìn)行同步碼的搜索。
步驟35保存接收的數(shù)據(jù)碼流的另一個分塊,并執(zhí)行步驟33;通常為由步驟32開始依次進(jìn)行數(shù)據(jù)碼流包含的各個分塊的處理,直至搜索到需要的同步碼為止,即最終確定出了網(wǎng)絡(luò)通信中的同步碼的位置,結(jié)束處理過程。
基于上述本發(fā)明所述的方法,本發(fā)明還提供了一種網(wǎng)絡(luò)通信中搜索同步碼的裝置,具體結(jié)構(gòu)參見圖6所示,包括數(shù)據(jù)碼流分塊存儲模塊用于保存接收的數(shù)據(jù)碼流的一個分塊,并可以將保存的分塊中的數(shù)據(jù)根據(jù)需要提供給同步碼查詢模塊;所述的數(shù)據(jù)碼流分塊存儲模塊為8×24的移位寄存器,即為8個24位移位寄存器組成的移位寄存器組,每個移位寄存器保存ESF復(fù)幀的一列數(shù)據(jù)。
同步碼查詢模塊調(diào)用數(shù)據(jù)碼流分塊存儲模塊中保存的數(shù)據(jù)碼流相應(yīng)分塊的數(shù)據(jù),并進(jìn)行同步碼的搜索查詢處理,搜索查詢處理結(jié)果上報給同步碼查詢控制模塊;即同步碼查詢模塊搜索被保存的各列數(shù)據(jù)是否含有同步碼,并把結(jié)果發(fā)送給同步狀態(tài)機,同步狀態(tài)機控制著整個同步碼搜索進(jìn)程;所述的同步碼查詢模塊進(jìn)一步包括數(shù)據(jù)循環(huán)移位提取模塊從數(shù)據(jù)碼流分塊存儲模塊中依次提取根據(jù)同步碼在基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù),并發(fā)送給同步碼比較模塊;同步碼比較模塊將數(shù)據(jù)循環(huán)移位提取模塊發(fā)送來的各組數(shù)據(jù)分別與同步碼比較進(jìn)行確定相應(yīng)的同步碼的處理,并將處理結(jié)果發(fā)送給同步碼查詢控制模塊。
同步碼查詢控制模塊根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果進(jìn)行數(shù)據(jù)碼流中的同步碼查詢的控制;如圖6所示,所述的同步碼查詢控制模塊進(jìn)一步包括同步狀態(tài)機和碼流地址發(fā)生器,具體為同步狀態(tài)機根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果確定相應(yīng)的處理狀態(tài),發(fā)送需要保存數(shù)據(jù)碼流分塊的首列地址給采樣地址寄存器,當(dāng)相同位置連續(xù)三次發(fā)現(xiàn)同步碼時,即確定發(fā)現(xiàn)同步碼時,宣布同步完成,并通知碼流地址發(fā)生器進(jìn)行地址調(diào)整,以與同步后的碼流相對應(yīng);碼流地址發(fā)生器對收到的數(shù)據(jù)碼流進(jìn)行編號定位,分為基本幀內(nèi)193個比特編號num_bit和復(fù)幀中24個基本幀編號num_frame;當(dāng)收到同步狀態(tài)機發(fā)來的同步完成標(biāo)志的時候,調(diào)整這兩個編號,使num_bit等于1時表示每個基本幀的第一個比特,num_frame為1時表示復(fù)幀的第一基本幀;碼流地址發(fā)生器需要對輸入的ESF復(fù)幀碼流進(jìn)行編號,編號方法為對每個基本幀包含的碼元編號為num_bit,取值1到193,對ESF復(fù)幀包含的各個基本幀編號為num_frame,取值1到24。在未同步前,一個ESF復(fù)幀長度的數(shù)據(jù)碼流叫做偽復(fù)幀,num_bit和num_frame共同表示一個偽復(fù)幀的各個比特位置。同步以后,調(diào)整地址計數(shù)器使num_bit=1和num_frame=1共同表示真的ESF復(fù)幀的第一比特位置,num_bit=1表示每個真基本幀的第一個碼元位置;也就是說,復(fù)幀的每一個基本幀稱為行,共24行,復(fù)幀里面每一個基本幀的第n比特(n等于1、2...193),組成一列(共193列),并將193列分解為25個小陣列,除了第25個小陣列只含有1列數(shù)據(jù)以外,其它的每個小陣列都含有8列數(shù)據(jù),這樣便可以使用8個24比特寬的移位寄存器保存輸入碼流。每一個復(fù)幀周期,保存25個陣列里面的其中一個小陣列數(shù)據(jù)。
采樣地址寄存器保存同步狀態(tài)機給出的需要保存8列數(shù)據(jù)中的第一列的地址(即分塊的首列地址),該地址結(jié)合碼流地址發(fā)生器給出的兩個編號(基本幀比特編號和復(fù)幀的基本幀編號)組成被保存的8列數(shù)據(jù)的地址,并輸出給數(shù)據(jù)碼流分塊存儲模塊;保存數(shù)據(jù)碼流分塊的地址為由同步狀態(tài)機和碼流地址發(fā)生器共同產(chǎn)生的采樣地址num_sample,采樣地址寄存于采樣地址寄存器中。
在前面的描述中,主要介紹了本發(fā)明的核心思想及相應(yīng)的實現(xiàn)方式,即對數(shù)據(jù)碼流進(jìn)行分塊保存,并進(jìn)行相應(yīng)的同步碼的搜索,那么所述的同步碼查詢模塊究竟是如何對保存的數(shù)據(jù)碼流進(jìn)行同步碼的搜索的呢?下面結(jié)合圖7作進(jìn)一步說明因為每個24比特移位寄存器中保存的一個ESF復(fù)幀里面的一列均可能是基本幀的F-bit位置,如果該列是F-bit位置,那么一定含有同步碼(同步字);因此,可以采用通過循環(huán)移位的方法,在同步碼位置搜索同步碼,查找該列數(shù)據(jù)中是否含有同步碼‘001011’,如果有,保存同步碼在該列的相對位置。然后進(jìn)一步判斷是否為偽同步碼,即如果在接下來的連續(xù)兩個復(fù)幀周期內(nèi),該列相同位置仍然出現(xiàn)同步碼,就確定該列位置就是基本幀的F-bit,調(diào)整計數(shù)器使num_bit=1對應(yīng)F-bit位置,同時根據(jù)同步碼在該列的相對位置,決定復(fù)幀的編號Num_frame;如果接下來的復(fù)幀周期內(nèi)相應(yīng)的該列沒有同步碼,則確定找到的為偽同步碼,并在下一個復(fù)幀周期,收集下一列數(shù)據(jù),重復(fù)上述的搜索過程,直至找到復(fù)幀同步碼為止。
針對一列數(shù)據(jù)的同步碼的搜索過程如下當(dāng)8列數(shù)據(jù)里面的第一列收集滿后,立即對該列進(jìn)行同步碼的搜索,按照一定循環(huán)移位順序,取同步碼位置處的6比特與同步碼“001011”進(jìn)行比較,總共有24次循環(huán)移位比較,如果24次里面有一次比較結(jié)果與同步碼相等,說明該列可能是F-bit列,記住與同步碼相等的碼在該列數(shù)據(jù)中的位置,準(zhǔn)備第二次進(jìn)行比較;接著等待下一個復(fù)幀收集滿該列時,再一次比較,看是否僅在相同位置處,仍然含有同步碼,如果有的話,就等待第三次收集滿該列,再看是否僅在相同位置處第三次含有同步碼,如果是的話,認(rèn)為已經(jīng)連續(xù)三次發(fā)現(xiàn)該列的相同位置存在同步碼,認(rèn)定該列為F-bit列,進(jìn)入同步狀態(tài),同時根據(jù)同步碼在列中的相對位置,調(diào)整基本幀比特計數(shù)器和復(fù)幀的基本幀編號計數(shù)器,確保這兩個計數(shù)器直接反映復(fù)幀的順序結(jié)構(gòu),所述的基本幀比特計數(shù)器就是num_bit,對基本幀內(nèi)的193個比特進(jìn)行編號,而所述的復(fù)幀的基本幀編號計數(shù)器就是num_frame,對復(fù)幀內(nèi)各個基本幀進(jìn)行編號,兩個計數(shù)器從芯片復(fù)位開始工作,分別從1到193循環(huán)計數(shù)和從1到24計數(shù),重復(fù)該循環(huán)計數(shù)過程,直到同步狀態(tài)機發(fā)送同步完成標(biāo)志,才進(jìn)行調(diào)整,使計數(shù)器與碼流相對應(yīng),復(fù)幀的第一個比特表示為num_bit=1,num_frame=1,調(diào)整完后,又重復(fù)的進(jìn)行循環(huán)計數(shù)過程,直至又收到同步標(biāo)志,從而進(jìn)行又一次的同步調(diào)整;否則,繼續(xù)進(jìn)行下一列的同步碼搜索過程;如果當(dāng)前8列數(shù)據(jù)都沒有發(fā)現(xiàn)同步碼,就搜索第二個8列數(shù)據(jù),直至搜索到同步碼為止。
具體的針對一列數(shù)據(jù)的同步碼的詳細(xì)搜索過程如下因為F-bit的同步碼是周期性出現(xiàn)的,周期為24幀,所以采集到的一列比特(共24比特)如果是F-bit列的話,必定含有同步碼的所有比特,區(qū)別在于同步碼比特的位置不同,即該24比特含可以含有上一個復(fù)幀的下半部分的同步碼,同時又有下一個復(fù)幀的上半部分的同步碼,或者剛好只含有一個復(fù)幀的所有同步碼。因此,通過向一個固定方向循環(huán)移位,一定可以使同步碼出現(xiàn)在同步碼的位置上。循環(huán)移位24次,其中必有一次移位結(jié)果將會是在同步碼位置處出現(xiàn)同步碼,參考附圖5,在該圖中,向下循環(huán)移動10次或者向上循環(huán)移動14次,都將使同步碼移動到協(xié)議規(guī)定的同步碼位置上。本發(fā)明便是在每移動一次時,取同步碼位置處的數(shù)據(jù)與同步碼比較,如果相等則比較結(jié)果為1,否則為0,將24次比較結(jié)果分別寫入24比特的結(jié)果寄存器Q內(nèi),即第N次移位的比較結(jié)果寫入結(jié)果寄存器Q的第N比特,該比較結(jié)果代表了同步碼在列中的相對位置。假如結(jié)果寄存器Q的所有比特全為0,說明沒有找到同步碼,如果出現(xiàn)多個比特為1,說明出現(xiàn)偽同步碼,需要進(jìn)一步排除。如果只有一個比特為1,說明找到唯一的同步碼,并可以根據(jù)這個比特在結(jié)果寄存器Q中的位置確定移位的次數(shù),從而確定被搜索列的第24比特所處的基本幀的復(fù)幀編號。結(jié)果寄存器Q的第一個比特為不移位的比較結(jié)果,比如Q的第3個比特為1,說明移位了2次,該搜索列的第24比特的復(fù)幀編號應(yīng)為22。假設(shè)結(jié)果寄存器Q的第N個比特為1,則被搜索列的第24比特所處的基本幀的復(fù)幀編號的計算公式為num_frame=24-(N-1)。
針對一列數(shù)據(jù)的同步碼搜索也可以使用復(fù)制疊加搜索法,如圖8所示,同步碼“001011”的第一個比特0可以出現(xiàn)在F-bit列數(shù)據(jù)里面的任意一個位置上,但因為同步碼是周期性出現(xiàn)的,所以一旦同步碼的第一比特數(shù)據(jù)在列數(shù)據(jù)里的位置確定,同步碼的其它比特的位置也就相應(yīng)確定。因此,還可以將被搜索的一列數(shù)據(jù)復(fù)制一份,附在其后,變成48比特的列數(shù)據(jù);假如同步碼的第一比特出現(xiàn)在列數(shù)據(jù)的第一比特位置上,那么列數(shù)據(jù)里的第1、5、9、13、17、21比特位置處的數(shù)據(jù)就構(gòu)成同步碼;再假如同步碼的第一比特出現(xiàn)在列數(shù)據(jù)的第二比特位置上,那么列數(shù)據(jù)里的第2、6、10、14、18、22比特位置處的數(shù)據(jù)就構(gòu)成同步碼;依次類推,假如同步碼的第一比特出現(xiàn)在列數(shù)據(jù)的第24比特位置上,那么第24、28、32、36、40、44比特的位置處的數(shù)據(jù)就構(gòu)成同步碼?,F(xiàn)假定同步碼的第一個比特分別在該列數(shù)據(jù)第一比特、第二比特......、第24比特位置處,提取同步碼的值與“001011”比較,將會得到24個比較結(jié)果,并寫入24比特的結(jié)果寄存器Q內(nèi);然后根據(jù)結(jié)果寄存器Q中的值,確定被搜索列是否含有同步碼如果結(jié)果寄存器Q中的值為0,說明該列沒有同步碼,如果結(jié)果寄存器Q中的值有多個比特為1,說明含有多個同步碼,需要進(jìn)一步排除偽同步碼。如果結(jié)果寄存器Q中只有第N個比特為1,可以確定被搜索列的第24比特所處的基本幀編號,其公式為num_frame=28-N-24*m其中N=1、2、3...24;當(dāng)N>=4時,m=0;當(dāng)N<4時,m=1。
下面再對如何從搜索的同步碼中去除相應(yīng)的偽同步碼進(jìn)行說明,即如何判斷被搜索列的相同位置處是否連續(xù)出現(xiàn)三次同步碼當(dāng)前列的第一次搜索結(jié)果存放在結(jié)果寄存器Q內(nèi),如果結(jié)果寄存器Q的值不為0,就需要跟蹤下一個復(fù)幀的這一列,并將第二次的同步碼搜索結(jié)果與結(jié)果寄存器Q進(jìn)行“位與”操作,并寫入結(jié)果寄存器Q內(nèi),如果結(jié)果寄存器Q為0,說明同步碼沒有連續(xù)出現(xiàn)兩次,需要拋棄該列,搜索下一列。如果結(jié)果寄存器Q不為0,說明同步碼在相同位置再次出現(xiàn),需要第三次跟蹤搜索該列。將第三次搜索結(jié)果與結(jié)果寄存器Q值進(jìn)行“位與”操作,并寫入結(jié)果寄存器Q內(nèi),如果結(jié)果寄存器Q為0,說明同步碼沒有第三次出現(xiàn),需要拋棄該列。如果結(jié)果寄存器Q不為0,但是結(jié)果寄存器Q內(nèi)有一個以上的比特位置為1,說明同步碼在多個位置連續(xù)出現(xiàn)三次,通常情況下是不可能出現(xiàn)這種情況的,或者說該列可能發(fā)生了不可以用于同步的錯誤,因為DL比特和CRC比特是不可能連續(xù)三次出現(xiàn)與同步碼相同的數(shù)據(jù),所以也需要拋棄該列。如果結(jié)果寄存器Q內(nèi)只有一個比特位置為1,說明連續(xù)三次在列的相同位置出現(xiàn)同步碼,可以宣布該列是F-bit列,且可以根據(jù)相應(yīng)的第24幀編號確定同步碼的位置,以便于網(wǎng)絡(luò)通信中進(jìn)行相應(yīng)的同步處理。
經(jīng)過上述同步碼搜索過程最終確定的同步碼,并實現(xiàn)了相應(yīng)的同步處理,但是網(wǎng)絡(luò)傳輸過程為一個動態(tài)的過程,隨時可能由同步狀態(tài)轉(zhuǎn)入失步狀態(tài),如果出現(xiàn)失步條件,說明當(dāng)前F-bit列是偽同步列(不再是真正的F-bit列),將引發(fā)再同步的搜索過程。由于在宣布同步的時候調(diào)整了基本幀比特計數(shù)器和復(fù)幀的基本幀編號計數(shù)器,搜索將是從調(diào)整后的復(fù)幀結(jié)構(gòu)的第一列開始,從而避免了對以前被排除的列的重新搜索。又由于當(dāng)前的F-bit列已經(jīng)被證明為偽同步列,所以不需要再次搜索,可以通過調(diào)整比特計數(shù)器,使第二列的位置變成第一列,從而避免對偽同步列的重復(fù)搜索,同時也可以避免在該偽同步列一直含有同步碼的情況下搜索過程死鎖在偽同步列。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于包括A、將網(wǎng)絡(luò)通信中傳輸?shù)囊粠瑪?shù)據(jù)碼流進(jìn)行分塊;B、保存接收的數(shù)據(jù)碼流的一個分塊;C、在保存的數(shù)據(jù)碼流的分塊中搜索同步碼,如果搜索同步碼成功,則執(zhí)行步驟D,否則,執(zhí)行步驟E;D、確定網(wǎng)絡(luò)通信中的同步碼位置;E、保存接收的數(shù)據(jù)碼流的另一個分塊,并執(zhí)行步驟C。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟A包括將網(wǎng)絡(luò)通信中的一幀數(shù)據(jù)碼流按每塊8列進(jìn)行分塊,最后一塊不足8列的單獨為一個分塊。
3.根據(jù)權(quán)利要求1或2所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的數(shù)據(jù)碼流為ESF(擴展的高級幀)數(shù)據(jù)碼流。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟B包括保存接收的數(shù)據(jù)碼流的其中一個分塊。
5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟C包括在保存的數(shù)據(jù)碼流的分塊中采用循環(huán)移位的方法依次對各列數(shù)據(jù)進(jìn)行同步碼的搜索,如果搜索到同步碼,則執(zhí)行步驟D,否則,執(zhí)行步驟E。
6.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟C進(jìn)一步包括C1、循環(huán)提取保存的數(shù)據(jù)碼流的分塊中根據(jù)同步碼在各基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù);C2、將提取的各組數(shù)據(jù)與同步碼比較,并判斷是否相同,如果相同,則執(zhí)行步驟D,否則,執(zhí)行步驟E。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟C1進(jìn)一步包括C11、確定復(fù)幀中的一列數(shù)據(jù),并以該列數(shù)據(jù)中的任一位作為起始位,根據(jù)同步碼在復(fù)幀的各個基本幀中的出現(xiàn)位置確定多組數(shù)據(jù),數(shù)據(jù)組數(shù)與一列數(shù)據(jù)包含的位數(shù)相同;C12、循環(huán)提取保存的數(shù)據(jù)碼流的分塊中根據(jù)同步碼在各個基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟C11包括確定T1的ESF復(fù)幀中的一列共24位數(shù)據(jù),分別為1、2、......、24位;根據(jù)同步碼在T1的ESF復(fù)幀的各個基本幀中的出現(xiàn)位置,即每4位出現(xiàn)一位,將24位數(shù)據(jù)分組,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,共24組數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟D包括保存搜索到的同步碼在數(shù)據(jù)碼流中的位置,并判斷接著的連續(xù)的兩幀數(shù)據(jù)碼流中同樣位置處是否出現(xiàn)同步碼,如果出現(xiàn),則確定該位置為網(wǎng)絡(luò)通信中的同步碼的位置,否則,執(zhí)行步驟E。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟C還包括將提取的各組數(shù)據(jù)與同步碼比較,如果相等則比較結(jié)果為1,否則比較結(jié)果為0,并將比較結(jié)果分別依次寫入結(jié)果寄存器內(nèi);且所述的D進(jìn)一步包括D1、根據(jù)結(jié)果寄存器比較結(jié)果為1的比特所在的位置確定同步碼在數(shù)據(jù)碼流中的位置;D2、保存搜索到的同步碼在數(shù)據(jù)碼流中的位置;D3、判斷接著的連續(xù)的兩幀數(shù)據(jù)碼流中同樣位置處是否出現(xiàn)同步碼,如果出現(xiàn),則確定該位置為網(wǎng)絡(luò)通信中的同步碼的位置,否則,執(zhí)行步驟E。
11.根據(jù)權(quán)利要求10所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟D1包括根據(jù)比較結(jié)果為1的比特在結(jié)果寄存器中的位置確定移位的次數(shù),從而確定被搜索列的第24比特所處的基本幀的復(fù)幀編號。
12.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于,當(dāng)比較結(jié)果寄存器中比較結(jié)果為1的比特位多于一個時,所述的步驟D3進(jìn)一步包括D31、判斷是否已經(jīng)跟蹤了二個復(fù)幀,如果是,執(zhí)行步驟D34,否則,跟蹤下一個復(fù)幀中與比較結(jié)果為1的比特位所在的位置對應(yīng)的數(shù)據(jù)列,并根據(jù)確定的第24比特所處的復(fù)幀編號確定該列中的同步碼;D32、將該列中的同步碼與“001011”比較,如果相同則結(jié)果為1,否則為0;D33、將該列的同步碼搜索結(jié)果與結(jié)果寄存器中的相應(yīng)位進(jìn)行“位與”操作,并將結(jié)果寫入結(jié)果寄存器內(nèi),執(zhí)行步驟31;D34、判斷結(jié)果寄存器中各位置是否均為0,如果是,則執(zhí)行步驟E,否則執(zhí)行步驟D35;D35、確定結(jié)果寄存器中位置為1處對應(yīng)的數(shù)據(jù)碼流中相應(yīng)的位置為網(wǎng)絡(luò)通信中的同步碼的位置。
13.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中搜索同步碼的方法,其特征在于所述的步驟E包括保存接收的數(shù)據(jù)碼流中步驟D處理完成的分塊的下一個分塊,并執(zhí)行步驟C。
14.基于上述方法實現(xiàn)的一種網(wǎng)絡(luò)通信中搜索同步碼的裝置,其特征在于包括數(shù)據(jù)碼流分塊存儲模塊用于保存接收的數(shù)據(jù)碼流的一個分塊,并可以將保存的分塊中的數(shù)據(jù)根據(jù)需要提供給同步碼查詢模塊;同步碼查詢模塊調(diào)用數(shù)據(jù)碼流分塊存儲模塊中保存的數(shù)據(jù)碼流相應(yīng)分塊的數(shù)據(jù),并進(jìn)行同步碼的搜索查詢處理,搜索查詢處理結(jié)果上報給同步碼查詢控制模塊;同步碼查詢控制模塊根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果進(jìn)行數(shù)據(jù)碼流中的同步碼查詢的控制。
15.根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)通信中搜索同步碼的裝置,其特征在于所述的數(shù)據(jù)碼流分塊存儲模塊為8×24的移位寄存器。
16.根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)通信中搜索同步碼的裝置,其特征在于所述的同步碼查詢模塊包括數(shù)據(jù)循環(huán)移位提取模塊從數(shù)據(jù)碼流分塊存儲模塊中依次提取根據(jù)同步碼在基本幀中的出現(xiàn)位置確定的各組數(shù)據(jù),并發(fā)送給同步碼比較模塊;同步碼比較模塊將數(shù)據(jù)循環(huán)移位提取模塊發(fā)送來的各組數(shù)據(jù)分別與同步碼比較進(jìn)行確定相應(yīng)的同步碼的處理,并將處理結(jié)果發(fā)送給同步碼查詢控制模塊。
17.根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)通信中搜索同步碼的裝置,其特征在于所述的同步碼查詢控制模塊進(jìn)一步包括同步狀態(tài)機根據(jù)同步碼查詢模塊發(fā)來的處理結(jié)果確定相應(yīng)的處理狀態(tài),發(fā)送需要保存數(shù)據(jù)碼流分塊的首列地址給采樣地址寄存器;當(dāng)在相同位置連續(xù)三次發(fā)現(xiàn)同步碼時,宣布同步完成,并通知碼流地址發(fā)生器進(jìn)行地址調(diào)整;碼流地址發(fā)生器對收到的數(shù)據(jù)碼流進(jìn)行編號定位,分為基本幀內(nèi)1 93個比特編號和復(fù)幀中24個基本幀編號,它們從復(fù)位開始周而復(fù)始的計數(shù),直到收到同步狀態(tài)機發(fā)來的同步完成標(biāo)志的時候,調(diào)整這兩個編號,使基本幀的比特編號等于1時表示每個基本幀的第一個比特,基本幀編號為1時表示復(fù)幀的第一基本幀;采樣地址寄存器保存同步狀態(tài)機給出的需要保存8列數(shù)據(jù)中的第一列的地址,該地址結(jié)合碼流地址發(fā)生器給出的基本幀比特編號和復(fù)幀的基本幀編號組成被保存的8列數(shù)據(jù)的地址,輸出給數(shù)據(jù)碼流分塊存儲模塊。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)通信中搜索同步碼的方法及其裝置。其核心思想是將輸入的數(shù)據(jù)碼流分塊保存,并依次分別針對F-bit進(jìn)行各列數(shù)據(jù)的同步碼的搜索,以獲得相應(yīng)的同步碼的位置信息。本發(fā)明僅保存部分輸入碼流,而不是整個復(fù)幀,節(jié)約了大量的存儲器,而且降低了同步碼搜索電路實現(xiàn)的復(fù)雜程度,同時,相應(yīng)的搜索速度比單列搜索的速度有較大的提高??傊?,本發(fā)明的實現(xiàn)不僅可以在較短的時間內(nèi)完成同步碼的搜索,而且電路結(jié)構(gòu)簡單,邏輯門數(shù)少,節(jié)約芯片面積,從而降低了同步碼搜索的實現(xiàn)成本。
文檔編號H04J3/06GK1619992SQ200310116719
公開日2005年5月25日 申請日期2003年11月18日 優(yōu)先權(quán)日2003年11月18日
發(fā)明者劉智勇, 胡靈博 申請人:華為技術(shù)有限公司