專利名稱:Rru網(wǎng)絡中hdlc數(shù)據(jù)下行、上行的方法及通迅裝置的制作方法
RRU網(wǎng)絡中HDLC數(shù)據(jù)下行、上行的方法及通訊裝置方法
技術領域:
本發(fā)明涉及通訊技術領域,尤其涉及遠端射頻單元(RRU)網(wǎng)絡中高級數(shù) 據(jù)鏈路控制(HDLC)數(shù)據(jù)下行、上行的方法及通訊裝置。背景技術:
高級數(shù)據(jù)鏈路控制(HDLC)是通訊領域的一種傳輸協(xié)議。在遠端射頻單元 (RRU)網(wǎng)絡系統(tǒng)中,HDLC數(shù)據(jù)傳輸不再是簡單的點對點模式,需要根據(jù)網(wǎng) 絡拓樸結(jié)構(gòu)和RRU地址信息進行HDLC幀的復接和分接。如圖1所示,目前 一種采用鏈型組網(wǎng)模式的RRU網(wǎng)絡系統(tǒng)中,對HDLC幀的復接和分接方式為 對于下行HDLC鏈路,RRU0首先從光口 0接收下行HDLC數(shù)據(jù)并對其進令接收模塊,同時對非本級HDLC數(shù)據(jù)編碼后通過光口 1發(fā)送至RRU1,從而 完成HDLC幀的分接;對于上行HDLC鏈路,RRU 0從光口 1接收后級RRU送來的HDLC數(shù)據(jù) 并對其進行譯碼,然后將其和本級產(chǎn)生的上行HDLC數(shù)據(jù)進行時分復用,對數(shù) 據(jù)進行編碼后通過光口 0發(fā)送至基帶資源池(BBU ),從而完成HDLC幀的復接。在上述系統(tǒng)中,由于HDLC芯片本身不能識別地址, 一般由CPU來進行分 接和復接,如此占用較多的CPU資源,而在RRU系統(tǒng)中,HDLC鏈路速率為 480 ~ 1920千比特/秒, 一般的CPU無法完成這樣的高速處理, 一般需要采用 高速的CPU,成本4艮高。其次,由于本級和非本級的數(shù)據(jù)都是由CPU統(tǒng)一處理,只要一級的CPU 故障,將導致傳輸中斷。再次,芯片內(nèi)數(shù)據(jù)存儲器容量有限,通常只有不多字節(jié)的先進先出存儲器 (FIFO)可用,當需要擴大數(shù)據(jù)緩存的容量時,只能對ASIC芯片再外接存儲 器或其它電路,不但提高成本,而且增加系統(tǒng)的復雜度。
發(fā)明內(nèi)容本發(fā)明的發(fā)明目的是提供RRU網(wǎng)絡中HDLC數(shù)據(jù)下行、上行的方法及通訊
裝置,以達到降低成本、提高數(shù)據(jù)通訊穩(wěn)定性的目的。為達到上述發(fā)明目的,本發(fā)明提出以下的抹術方案 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,包括FPGA接收數(shù)據(jù)幀,判斷所述數(shù)據(jù)幀含有有效數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)幀的地 址信息檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);如果是本級數(shù)據(jù),則進行譯碼和CRC校驗,并存入緩存單元,通知CPU 讀取緩存單元中的本級數(shù)據(jù);如果是后級數(shù)據(jù),則發(fā)送至后級RRU。其中,所述檢測過程具體為對所述接收的數(shù)據(jù)幀進行譯碼,提取該數(shù)據(jù)幀的地址信息并與本級RRU的 地址進行比較,如果地址一致則該數(shù)據(jù)幀是本級數(shù)據(jù),否則是后級數(shù)據(jù)。 其中,所述檢測為本級數(shù)據(jù)之后,具體包括 對本級數(shù)據(jù)進行地址檢測過程的時延補償;對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、CRC檢驗、插入設定的幀頭和幀尾, 存入緩存單元;發(fā)送中斷信號通知CPU讀取所述緩存單元的數(shù)據(jù)。其中,在所述插入幀頭和幀尾的過程中,如果所述數(shù)據(jù)中的序列與插入的 幀頭或幀尾中含有的序列相同,則在該數(shù)據(jù)的序列后插入識別序列;CPU響應中斷讀取上述數(shù)據(jù)時,將插入的識別序列刪除。其中,所述發(fā)送中斷信號的條件為當所述緩存單元中存儲的數(shù)據(jù)個數(shù)大于設定的門限值時,發(fā)送中斷信號, CPU響應中斷后讀取數(shù)據(jù);或,當距離上次中斷的時間大于設定的門限值時,發(fā)送中斷信號,CPU響應中 斷后讀取數(shù)據(jù)。其中,所述檢測為后級數(shù)據(jù),發(fā)送至后級RRU的具體過程包括 對后級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,當檢測為后級數(shù)據(jù)時發(fā) 送至后級RRU,否則發(fā)送序列發(fā)生器生成的標志序列至后級RRU。 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法,包括 FPGA產(chǎn)生寫允許信號,CPU查詢該信號有效后向所述FPGA的第 一緩存 單元寫入數(shù)據(jù)幀,F(xiàn)PGA進行CRC檢驗、并/串轉(zhuǎn)換、編碼,存入第二緩存單元; 接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,存入第三緩存單元; 序列產(chǎn)生器生成數(shù)據(jù)幀的標志序列;通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、第三緩存單元的后級數(shù) 據(jù)或序列產(chǎn)生器的標志序列。其中,所述寫入數(shù)據(jù)幀的具體過程為所述第一緩存單元和第二緩存單元的容量根據(jù)數(shù)據(jù)幀的最大長度設計, CPU —次性將數(shù)據(jù)幀寫入第一緩存單元。 其中,所述發(fā)送的具體過程為發(fā)送所述第三緩存單元的后級數(shù)據(jù)之后,發(fā)送第二緩存單元的本級數(shù)據(jù), 當?shù)诙彺鎲卧偷谌彺鎲卧獰o數(shù)據(jù)時,發(fā)送序列產(chǎn)生器的標志序列。一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置,該裝置采用FPGA進行設 計,包括地址4企測單元,用于將接收的數(shù)據(jù)幀的地址信息與本級RRU的地址進行比 較,檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);本級數(shù)據(jù)下行單元,用于對本級數(shù)據(jù)進行譯碼和CRC校驗,并存入緩存單 元,通知CPU讀取緩存單元中的本級數(shù)據(jù);后級數(shù)據(jù)下行單元,用于將后級數(shù)據(jù)發(fā)送至后級RRU。其中,所述本級數(shù)據(jù)下行單元包括譯碼單元,用于對本級數(shù)據(jù)進行譯碼;本級時延單元,用于對譯碼后的本級數(shù)據(jù)進行地址檢測過程的時延補償; 打包單元,用于對對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、CRC檢驗、插入設 定的幀頭和幀尾;緩存單元,用于存儲所述打包單元發(fā)送的數(shù)據(jù);中斷單元,用于向CPU發(fā)送中斷信號,通知CPU讀取所述緩存單元的數(shù)據(jù)。其中,所述中斷單元發(fā)送中斷信號的條件為
當所述緩存單元中存儲的數(shù)據(jù)個數(shù)大于設定的門限值時,向CPU發(fā)送中斷 信號;或,當距離上次中斷的時間大于設定的門限值時,向CPU發(fā)送中斷信號。 其中,所述后級數(shù)據(jù)下行單元包括后級時延單元,用于對后級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,并 發(fā)送到多路選擇器;序列發(fā)生器,用于生成標志序列;多路選擇器,用于當所述地址檢測單元檢測當前數(shù)據(jù)為后級數(shù)據(jù)時,將進 行時延補償后的后級數(shù)據(jù)發(fā)送到下級RRU,否則發(fā)送所迷序列發(fā)生器生成的標 志序列。一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的通訊裝置,該裝置采用FPGA進行設 計,包括本級數(shù)據(jù)上行單元,用于產(chǎn)生寫允許信號,存入CPU查詢該信號有效后發(fā) 送的數(shù)據(jù)幀,進行CRC4企驗、并/串轉(zhuǎn)換、編碼,并緩存;后級數(shù)據(jù)上行單元,用于接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,并緩存;序列產(chǎn)生器,用于生成數(shù)據(jù)幀的標志序列;上行多路選擇器,用于通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、 第三緩存單元的后級數(shù)據(jù)或序列產(chǎn)生器的標志序列。其中,所述本級數(shù)據(jù)上行單元包括第一緩存單元和第二緩存單元,所述第 一緩存單元和第二緩存單元的容量根據(jù)數(shù)據(jù)幀的最大長度設計,CPU —次性將 數(shù)據(jù)幀寫入第一緩存單元,進行CRC檢驗、并/串轉(zhuǎn)換、編碼后的數(shù)據(jù)存入第 二緩存單元中。其中,所述上行多路選擇器發(fā)送所述第三緩存單元的后級數(shù)據(jù)之后,發(fā)送 第二緩存單元的本級數(shù)據(jù),當?shù)诙彺鎲卧偷谌彺鎲卧獰o數(shù)據(jù)時,發(fā)送序 列產(chǎn)生器的標志序列。從以上技術方案可以看出,在本發(fā)明技術方案中,由于采用了可識別地址 的FPGA,且對上行或下行的本級數(shù)據(jù)和非本級數(shù)據(jù)是分開處理的, 一方面,F(xiàn)PGA進行數(shù)據(jù)分接和復接的處理,大大減少了 CPU的工作量,從而可以采用 低速的CPU,降低了成本。另一方面,由于本級數(shù)據(jù)和后級數(shù)據(jù)是分開處理的, 并且不經(jīng)過CPU,即使本級CPU出現(xiàn)了問題,也不會影響到后級數(shù)據(jù)的傳輸, 提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。此外,F(xiàn)PGA還可以根據(jù)數(shù)據(jù)幀的最大長度來設計 其容量,便于擴大數(shù)據(jù)緩存的容量。
圖1為現(xiàn)有技術中采用鏈型組網(wǎng)模式的RRU網(wǎng)絡系統(tǒng)的結(jié)構(gòu)框圖;圖2為本發(fā)明RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法的流程圖;圖3為本發(fā)明RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法的流程圖;圖4為本發(fā)明RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置的結(jié)構(gòu)框圖;圖5為本發(fā)明RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的通訊裝置的結(jié)構(gòu)框圖。
具體實施方式下面結(jié)合具體實施例對本發(fā)明的技術方案進行詳細描述。為達到降低成本、提高傳輸穩(wěn)定性的目的,本發(fā)明的基本思路是,采用FPGA 代替CPU進行傳輸數(shù)據(jù)的分接和復接,減輕CPU的負擔,因此只需采用低速 的CPU即可;此外,還將本級數(shù)據(jù)和非本級數(shù)據(jù)分開進行處理,對于非本級數(shù) 據(jù)CPU不需要處理,而是直接發(fā)送到下一級,即使本級的CPU出現(xiàn)故障,也 不會影響非本級數(shù)據(jù)的傳輸。本發(fā)明提供一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,如圖2所示,包括步驟S201、 FPGA接收數(shù)據(jù)幀,判斷所述數(shù)據(jù)幀含有有效數(shù)據(jù)后,根據(jù)所 述數(shù)據(jù)幀的地址信息檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)椐。步驟S202、如果是本級數(shù)據(jù),則進行譯碼和CRC校驗,并存入緩存單元, 通知CPU讀取緩存單元中的本級數(shù)據(jù)。步驟S203、如果是后級數(shù)據(jù),則發(fā)送至后級RRU。其工作過程和原理是,對于下行鏈路,F(xiàn)PGA接收從BBU或前一級RRU 發(fā)送過來的數(shù)據(jù),在判斷該數(shù)據(jù)含有有效數(shù)據(jù)后,提取到該數(shù)據(jù)幀的地址信息后,將該地址信息與本級RRU地址進行比較,檢測是否為本級數(shù)據(jù);如果是本 級數(shù)據(jù),則進^^碼和CRC校驗,并存入緩存單元,通知CPU讀取緩存單元 中的本級數(shù)據(jù),否則直接發(fā)送至后級RRU 。對于RRU網(wǎng)絡系統(tǒng)中的HDLC數(shù)據(jù)通信,本發(fā)明提出的解決方案具有成本 低、穩(wěn)定性高等優(yōu)點。本發(fā)明提出的方案中,CPU只需要讀取本級HDLC數(shù)據(jù), 不但極大地降低了 CPU外部總線接口的數(shù)據(jù)流量,而且可以減小由于數(shù)據(jù)緩存 和拷貝所消耗的處理器資源。以一個包含8個RRU的鏈型網(wǎng)系統(tǒng)為例,對單個 RRU來說,本級HDLC數(shù)據(jù)量只占.HDLC鏈路數(shù)據(jù)流量的1/6 ~ 1/8。這也意 味著無須采用高速CPU來處理HDLC數(shù)據(jù),從而降低CPU成本。釆用FPGA替代CPU完成HDLC幀的復接和分接工作還能夠降低對RRU 級聯(lián)通信的影響,即使某一級RRU的CPU出現(xiàn)故障,也不會影響后級RRU 的數(shù)據(jù)傳輸,從而提高整個網(wǎng)絡系統(tǒng)的穩(wěn)定性。在RRU網(wǎng)絡系統(tǒng)中,各級RRU 的HDLC數(shù)據(jù)采用時分復用的方式共享HDLC鏈路。此外,隨著微電子設計技術與工藝的發(fā)展,單片F(xiàn)PGA所含的邏輯門和片 內(nèi)存儲器的容量越做越大,百萬門級的可編程邏輯芯片已成為尋常產(chǎn)品,因此 FPGA片內(nèi)存儲器可以完成多路HDLC數(shù)據(jù)的緩存,而無須外接存儲器或其它 電路。對于步驟S201,所述檢測過程具體為對所述接收的數(shù)據(jù)幀進行譯碼,提 取該數(shù)據(jù)幀的地址信息并與本級RRU的地址進行比較,如果地址一致則該數(shù)據(jù) 幀是本級數(shù)據(jù),否則是后級數(shù)據(jù)。為保證數(shù)據(jù)傳輸?shù)恼_性,在本發(fā)明的技術方案中,還對數(shù)據(jù)處理的過程 進行時延補償。對于步驟S202,在所述檢測為'本級數(shù)據(jù)之后,具體包括對本 級數(shù)據(jù)進行地址檢測過程的時延補償;對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、 CRC檢驗、插入設定的幀頭和幀尾,存入緩存單元;發(fā)送中斷信號通知CPU 讀取所述緩存單元的數(shù)據(jù)。對于步驟S203,所述檢測為后級數(shù)據(jù),發(fā)送至后級RRU的具體過程包括 對后級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,當檢測為后級數(shù)據(jù)時發(fā)送至 后級RRU,否則發(fā)送序列發(fā)生器生成的標志序列至后級RRU。
在所述插入幀頭和幀尾的過程中,如果所述數(shù)據(jù)中的序列與插入的幀頭或幀尾中含有的序列相同,則在該數(shù)據(jù)的序列后插入識別序列;CPU響應中斷讀 取上述數(shù)據(jù)時,將插入的識別序列刪除。 '例如,幀頭和幀尾分別設為"0x4142 0x4344"和"0x4142 0x4345",當 然也可以設定其他的形式,然后對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換和CRC校 驗。在打包過程中,為了避免CPU將hdlc有效數(shù)據(jù)誤判為幀頭或幀尾,如果 hdlc有效數(shù)據(jù)中出現(xiàn)0x4142,那么就在其后插入識別序列0x0,顯然該識別序 列也可以設定為其他形式。CPU響應中斷后從緩存單元中讀取數(shù)據(jù),并根據(jù)幀 頭和幀尾進行HDLC幀的定位。當^r測到HDLC幀數(shù)據(jù)中出現(xiàn)序列"0x4142 0x0"時刪除0x4142后面的0x0,以恢復原始HDLC有效數(shù)據(jù)。作為本發(fā)明的進一步改進,在各實施例中,所述FPGA向CPU發(fā)送中斷信 號的條件可以有兩個當所述緩存單元中存儲的數(shù)據(jù)個數(shù)大于設定的門限值時,發(fā)送中斷信號, CPU響應中斷后讀取數(shù)據(jù);或,當距離上次中斷的時間大于設定的門限值時,發(fā)送中斷信號,CPU響應中 斷后讀取數(shù)據(jù)。當任一條件滿足時,F(xiàn)PGA即可產(chǎn)生CPU中斷,這樣可以在滿足HDLC數(shù) 據(jù)實時性的前提下減少中斷次數(shù),降低CPU響應中斷時的開銷。當然,也可以 以其他的方式實現(xiàn)中斷,比如設定一固定的中斷時間,當中斷時間到達時進行 中斷。本發(fā)明還提供一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法,如圖3所示,包括 步驟S301、 FPGA產(chǎn)生寫允許信號,CPU查詢該信號有效后向所述FPGA 的第一緩存單元寫入數(shù)據(jù)幀,F(xiàn)PGA進行CRC檢驗、并/串轉(zhuǎn)換、編碼,存入第二緩存單元。步驟S302、接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,存入第三緩存單元。步驟S303、序列產(chǎn)生器生成數(shù)據(jù)幀的標志序列。
步驟S304、通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、第三緩存單 元的后級數(shù)據(jù)或序列產(chǎn)生器的標志序列。其工作過程和原理是,對于本級數(shù)據(jù),F(xiàn)PGA產(chǎn)生CPU寫允許信號 cpu—write_grant,當CPU發(fā)送HDLC數(shù)據(jù)之前首先查詢cpu—write—grant信號, 如果該信號有效,CPU向FPGA連續(xù)寫入一個完整的HDLC幀,否則等待一定 時間后繼續(xù)查詢,直到信號有效為止。寫允許信號cpu一write一grant的產(chǎn)生原則 是當?shù)谝痪彺鎲卧偷诙彺鎲卧芯鶡o數(shù)扭時,將qDu一write一grant置為有 效狀態(tài),否則置為無效狀態(tài)。當CPU寫完一幀數(shù)據(jù)之后,F(xiàn)PGA從第一緩存單 元中讀取數(shù)據(jù)并進;f亍CRC校^r、并/串轉(zhuǎn)換和HDLC編碼,然后將編碼后的 HDLC數(shù)據(jù)寫入第二緩存單元。其中,所迷第一緩存單元和第二緩存單元的容 量根據(jù)數(shù)據(jù)幀的最大長度設計,CPU可以一次性將數(shù)據(jù)幀寫入第一緩存單元。對于后級RRU產(chǎn)生的上行數(shù)據(jù),首先提取HDLC凈荷,然后將其存入第三 緩存單元。才艮據(jù)HDLC協(xié)議,當無數(shù)據(jù)傳輸時,也需要發(fā)送空閑碼,序列產(chǎn)生器生成 HDLC幀的標志序列0 1111110。上述三種數(shù)據(jù)都發(fā)送到多路選擇器,多路選擇器通過上行鏈路發(fā)送所述第 二緩存單元的本級數(shù)據(jù)、第三緩存單元的后級數(shù)據(jù)或序列產(chǎn)生器的標志序列。對于RRU網(wǎng)絡系統(tǒng)中的HDLC數(shù)據(jù)通信,本發(fā)明提出的解決方案具有成本 低、穩(wěn)定性高等優(yōu)點。本發(fā)明提出的方案中,CPU只需要讀取本級HDLC數(shù)據(jù), 不但極大地降低了 CPU外部總線接口的數(shù)據(jù)流量,而且可以減小由于數(shù)據(jù)緩存 和拷貝所消耗的處理器資源。以一個包含8個RRU的鏈型網(wǎng)系統(tǒng)為例,對單個 RRU來說,本級HDLC數(shù)據(jù)量只占HDLC鏈路數(shù)據(jù)流量的1/6 ~ 1/8。這也意 味著無須采用高速CPU來處理HDLC數(shù)據(jù),從而降低CPU成本。采用FPGA替代CPU完成HDLC幀的復接和分接工作還能夠降低對RRU 級聯(lián)通信的影響,即使某一級RRU的CPU出現(xiàn)故障,也不會影響后級RRU 的數(shù)據(jù)傳輸,從而提高整個網(wǎng)絡系統(tǒng)的穩(wěn)定性。在RRU網(wǎng)絡系統(tǒng)中,各級RRU 的HDLC數(shù)據(jù)釆用時分復用的方式共享HDLC鏈路。此外,隨著微電子設計技術與工藝的發(fā)展,單片F(xiàn)PGA所含的邏輯門和片 內(nèi)存儲器的容量越做越大,百萬門級的可編程邏輯芯片已成為尋常產(chǎn)品,因此FPGA片內(nèi)存儲器可以完成多路HDLC數(shù)據(jù)的緩存,而無須外接存儲器或其它 電路。在優(yōu)選的實施例中,多路選擇器的數(shù)據(jù)選取原則是優(yōu)先選取第三緩存單 元中的數(shù)據(jù),其次選擇第二緩存單元中的數(shù)據(jù),當這兩個緩存單元中均無數(shù)據(jù) 時,選擇序列產(chǎn)生器的數(shù)據(jù)。根據(jù)RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法的工作過程和原理,本發(fā)明還提供 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置,該裝置采用FPGA進行設計, 如圖4所示,該通訊裝置包括地址;險測單元403,用于將接收的數(shù)據(jù)幀的地址信息與本級RRU的地址進 行比較,檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);本級數(shù)據(jù)下行單元,用于對本級數(shù)據(jù)進行譯碼和CRC校驗,并存入緩存單 元,通知CPU讀取緩存單元中的本級數(shù)據(jù);后級數(shù)據(jù)下行單元,用于將后級數(shù)據(jù)發(fā)送至后級RRU。在較優(yōu)的實施例中,所述本級數(shù)據(jù)下行單元包括譯碼單元402,用于對本 級數(shù)據(jù)進行譯碼;本級時延單元404,用于對譯碼后的本級數(shù)椐進行地址檢測 過程的時延補償;打包單元405,用于對對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、 CRC檢驗、插入設定的幀頭和幀尾;緩存單元406,用于存儲所述打包單元405 發(fā)送的數(shù)據(jù);中斷單元407,用于向CPU發(fā)送中斷信號,通知CPU讀取所述 緩存單元406的數(shù)據(jù)。在優(yōu)選的實施例中,所述中斷單元407發(fā)送中斷信號的條件為當所述緩 存單元406中存儲的數(shù)據(jù)個數(shù)大于設定的門卩艮值時,向CPU發(fā)送中斷信號;或,當距離上次中斷的時間大于設定的門限值時,向CPU發(fā)送中斷信號。在較優(yōu)的實施例中,所述后級下行單元包括后級時延單元408,用于對后 級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,并發(fā)送到多路選擇器410;序列 發(fā)生器409,用于生成標志序列;多路選擇器410,用于當所述地址檢測單元檢 測當前數(shù)據(jù)為后級數(shù)據(jù)時,將進行時延補償后的后級數(shù)據(jù)發(fā)送到下級RRU,否
則發(fā)送所述序列發(fā)生器410生成的標志序列。在優(yōu)選實施例中,其具體的工作過程是,標志檢測單元401根據(jù)HDLC協(xié)議的標志碼"O 111111 0"對輸入的下行HDLC信號dl—hdlcjink進行檢測,生成HDLC數(shù)據(jù)指示信號payload—flag,當payloacLflag為高電平時,標志檢測單元401的輸出數(shù)據(jù)hdlc—data為HDLC凈荷。譯碼單元402對HDLC凈荷進行譯碼后得到decodejidlc信號。地址檢測單元403從decode—hdlc信號中提取HDLC幀的地址信息并和本級RRU的地址進行比較,判斷是否為本級HDLC數(shù)據(jù)并產(chǎn)生指示信號local—hdlc_flag。當local—hdlc—flag為'1,時,表示當前幀為本級HDLC數(shù)據(jù),否則為非本級HDLC婆史據(jù)。對于本級HDLC數(shù)據(jù),本級時延單元404根據(jù)地址檢測單元403的處理時延 對decode—hdlc信號進行延遲得到信號decode—hdlc—delay。打包單元405根據(jù) 指示信號localJidlc—flag對信號decodeJidlc—delay進行串/并轉(zhuǎn)換、CRC4交驗、 插入幀頭幀尾,并將打包后的數(shù)據(jù)寫入緩存單元406中。其中,幀頭和幀尾分別 為"0x4142 0x4344"和"0x4142 0x4345", HDLC有效數(shù)據(jù)是對信號 decodeJidlc—delay進行串/并轉(zhuǎn)換和CRC校驗之后得到的數(shù)據(jù)。在打包過程中, 為了避免CPU將hdlc有效數(shù)據(jù)誤判為幀頭或幀尾,如果hdlc有效數(shù)據(jù)中出現(xiàn) 0x4142,那么就在其后插入OxO。FPGA以中斷的方式通知CPU讀取緩存單元406中的數(shù)據(jù)。設置兩個中斷產(chǎn) 生條件(a)緩存單元406中存儲的數(shù)據(jù)個數(shù)大于事先設定的門限;(b)緩存單元 406中有數(shù)據(jù),數(shù)據(jù)個數(shù)未達到事先設定的門限,但距離上次中斷的時間超過事 先設定的定時門限。當任一條件滿足時中斷單元407即可產(chǎn)生CPU中斷,這樣可 以在滿足HDLC數(shù)據(jù)實時性的前提下減少中斷次數(shù),降低CPU響應中斷時的開 銷。CPU響應中斷后從緩存單元406中讀取數(shù)據(jù),并根據(jù)幀頭和幀尾進行HDLC幀的定位。當檢測到HDLC幀數(shù)據(jù)中出現(xiàn)序列"0x4142 0x0"時刪除0x4142后 面的OxO,以恢復原始HDLC有效數(shù)據(jù)。對于非本級HDLC數(shù)據(jù),后級時延單元408根據(jù)譯碼單元402和地址檢測單 元403的總處理時延對hdlc—data信號進行延遲得到信號hdlc—data_delay。序列 產(chǎn)生器409生成HDLC幀的標志序列"0 111111 0"。當指示信號 1ocalJidlc—flag為'0,時,多路選擇器410將hdlc—data—delay信號發(fā)送至后級 RRU,否則發(fā)送HDLC幀的標志序列"O 111111 0"。根據(jù)RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法的工作過程和原理,本發(fā)明還提供 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的通訊裝置,該裝置采用FPGA進行設計, 如圖5所示,該通訊裝置包括本級數(shù)據(jù)上行單元,用于產(chǎn)生寫允許信號,存入CPU查詢該信號有效后發(fā) 送的數(shù)據(jù)幀,進行CRC檢驗、并/串轉(zhuǎn)換、編碼,并緩存;后級數(shù)據(jù)上行單元,用于接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,并緩存;序列產(chǎn)生器507,用于生成教:據(jù)幀的標志序列;上行多路選擇器,用于通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、 第三緩存單元的后級數(shù)據(jù)或序列產(chǎn)生器的標志序列。在較優(yōu)的實施例中,所述本級數(shù)據(jù)上行單元包括第一緩存單元502和第二 緩存單元504,所述第一緩存單元502和第二緩存單元504的容量根據(jù)數(shù)據(jù)幀 的最大長度設計,CPU —次性將數(shù)據(jù)幀寫入第一緩存單元502,由封裝單元503 進行CRC檢驗、并/串轉(zhuǎn)換、編碼后的數(shù)據(jù)存入第二緩存單元504中。在較優(yōu)的實施例中,所述上行多路選擇器發(fā)送所述第三緩存單元506的后 級數(shù)據(jù)之后,發(fā)送第二緩存單元的本級數(shù)據(jù),當?shù)诙彺鎲卧?04和第三緩存 單元506無數(shù)據(jù)時,發(fā)送序列產(chǎn)生器507的標志序列。在優(yōu)選實施例中,其具體的工作過程是,對于上行HDLC鏈路,流量控制單元501產(chǎn)生CPU寫允許信號cpu—write_grant,當CPU發(fā)送HDLC數(shù)據(jù)之 前首先查詢卬u—write—grant信號,如果該信號有效,CPU向FPGA的第一緩存單元502連續(xù)寫入一個完整的HDLC幀,否則等;f寺一定時間后繼續(xù)查詢,直 到信號有效為止。寫允許信號cpu一write一grant的產(chǎn)生原則是當?shù)谝痪彺鎲卧?502和第二緩存單元504中均無數(shù)據(jù)時,將cpu—write—grant置為有效狀態(tài),否 則置為無效狀態(tài)。當CPU寫完一幀數(shù)據(jù)之后,封裝單元503從第一緩存單元 502中讀取數(shù)據(jù)并進行CRC校驗、并/串轉(zhuǎn)換和HDLC編碼,然后將編碼后的 HDLC數(shù)據(jù)寫入第二緩存單元504。對于后級RRU產(chǎn)生的上行HDLC信號ul_hdlc—link,凈荷提取單元505從 ul—hdlcjink中提取HDLC凈荷,并將其存入第三緩存單元506。序列產(chǎn)生器 507生成HDLC幀的標志序列"O 111111 0"。上行多路選擇器508從第二緩存單元502 、第三緩存單元506和序列產(chǎn)生 器507三者中選取合適的數(shù)據(jù)源讀取信號,并將其通過上行HDLC鏈路送往 BBU,完成HDLC幀的復接。上行多路選擇器508的數(shù)據(jù)選取原則是優(yōu)先選 取第三緩存單元506中的數(shù)據(jù),其次選擇第二緩存單元502中的數(shù)據(jù),當這兩 個緩存單元中均無數(shù)據(jù)時,選擇序列產(chǎn)生器507的數(shù)據(jù)。由于本級數(shù)據(jù)上行的 產(chǎn)生是可以控制的,而后一級發(fā)送過來的數(shù)據(jù)不能控制,而且后級的往往比較 多,因此優(yōu)先發(fā)送后級的數(shù)據(jù)。以上所述實施例仫束達了本發(fā)明的幾種實施方式,其描述較為具體和詳細, 但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域 的普通技術人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和 改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附 權(quán)利要求為準。
權(quán)利要求
1、 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在于,包括 FPGA接收數(shù)據(jù)幀,判斷所述數(shù)據(jù)幀含有有效數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)幀的地址信息檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);如果是本級數(shù)據(jù),則進行譯碼和CRC校驗,并存入緩存單元,通知CPU 讀取緩存單元中的本級數(shù)據(jù);如果是后級數(shù)據(jù),則發(fā)送至后級RRU。
2、 根據(jù)權(quán)利要求1所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在 于,所述4企測過程具體為對所述接收的數(shù)據(jù)幀進^^碼,提取該數(shù)據(jù)幀的地址信息并與本級RRU的 地址進行比較,如果地址一致則該數(shù)據(jù)幀是本級數(shù)據(jù),否則是后級數(shù)據(jù)。
3、 根據(jù)權(quán)利要求2所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在 于,所述4企測為本級數(shù)據(jù)之后,具體包括對本級數(shù)據(jù)進行地址檢測過程的時延補償;對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、CRC枱N瞼、插入設定的幀頭和幀尾, 存入緩存單元;發(fā)送中斷信號通知CPU讀取所述緩存單元的數(shù)據(jù)。
4、 根據(jù)權(quán)利要求3所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在于在所述插入幀頭和幀尾的過程中,如果所述數(shù)據(jù)中的序列與插入的幀頭或 幀尾中含有的序列相同,則在該數(shù)據(jù)的序列后插入識別序列; CPU響應中斷讀取上述數(shù)據(jù)時,將插入的識別序列刪除。
5、 根據(jù)權(quán)利要求3所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在 于,所述發(fā)送中斷信號的條件為當所述緩存單元中存儲的數(shù)據(jù)個數(shù)大于設定的門限值時,發(fā)送中斷信號, CPU響應中斷后讀取數(shù)據(jù);或,當距離上次中斷的時間大于設定的門限值時,發(fā)送中斷信號,CPU響應中 斷后讀取數(shù)據(jù)。
6、 根據(jù)權(quán)利要求2所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的方法,其特征在于,所述檢測為后級數(shù)據(jù),發(fā)送至后級RRU的具體過程包括對后級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,當檢測為后級數(shù)據(jù)時發(fā) 送至后級RRU,否則發(fā)送序列發(fā)生器生成的標志序列至后級RRU。
7、 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法,其特征在于,包括 FPGA產(chǎn)生寫允許信號,CPU查詢該信號有效后向所述FPGA的第一緩存單元寫入數(shù)據(jù)幀,F(xiàn)PGA進行CRC4企驗、并/串轉(zhuǎn)換、編碼,存入第二緩存單元; 接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,存入第三緩存單元; 序列產(chǎn)生器生成數(shù)據(jù)幀的標志序列;通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、第三緩存單元的后級數(shù) 據(jù)或序列產(chǎn)生器的標志序列。
8、 根據(jù)權(quán)利要求7所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法,其特征在 于,所述寫入數(shù)據(jù)幀的具體過程為所述第一緩存單元和第二緩存單元的容量根據(jù)數(shù)據(jù)幀的最大長度設計, CPU —次性將數(shù)據(jù)幀寫入第一緩存單元。
9、 根據(jù)權(quán)利要求7所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的方法,其特征在 于,所述發(fā)送的具體過程為發(fā)送所述第三緩存單元的后級數(shù)據(jù)之后,發(fā)送第二緩存單元的本級數(shù)據(jù), 當?shù)诙彺鎲卧偷谌彺鎲卧獰o數(shù)據(jù)時,發(fā)送序列產(chǎn)生器的標志序列。
10、 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置,其特征在于,該裝置 采用FPGA進行設計,包括地址檢測單元,用于將接收的數(shù)據(jù)幀的地址信息與本級RRU的地址進行比 較,檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);本級數(shù)據(jù)下行單元,用于對本級數(shù)據(jù)進^^碼和CRC校驗,并存入緩存單 元,通知CPU讀取緩存單元中的本級數(shù)據(jù);. .后級數(shù)據(jù)下行單元,用于將后級數(shù)據(jù)發(fā)送至后級RRU。
11、 根據(jù)權(quán)利要求10所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置,其 特征在于,所述本級數(shù)據(jù)下行單元包括譯碼單元,用于對本級數(shù)據(jù)進行譯碼;本級時延單元,用于對譯碼后的本級數(shù)據(jù)進行地址檢測過程的時延補償; 打包單元,用于對對時延補償后的數(shù)據(jù)進行串/并轉(zhuǎn)換、CRC檢驗、插入設 定的幀頭和幀尾;緩存單元,用于存儲所述打包單元發(fā)送的數(shù)據(jù);中斷單元,用于向CPU發(fā)送中斷信號,通知CPU讀取所述緩存單元的數(shù)據(jù)。
12、 根據(jù)權(quán)利要求10所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)下行的通訊裝置,其 特征在于,所述中斷單元發(fā)送中斷信號的條件為當所述緩存單元中存儲的數(shù)據(jù)個數(shù)大于設定的門限值時,向CPU發(fā)送中斷 信號;或,當距離上次中斷的時間大于設定的門限值時,向CPU發(fā)送中斷信號。
13、 根據(jù)權(quán)利要求10所述的RRU網(wǎng)絡一 HDLC數(shù)據(jù)下行的通訊裝置,其 特征在于,所述后級數(shù)據(jù)下行單元包括后級時延單元,用于對后級數(shù)據(jù)進行譯碼和地址檢測過程的時延補償,并 發(fā)送到多路選擇器;序列發(fā)生器,用于生成標志序列;多路選擇器,用于當所述地址檢測單元檢測當前數(shù)據(jù)為后級數(shù)據(jù)時,將進 行時延補償后的后級數(shù)據(jù)發(fā)送到下級RRU,否則發(fā)送所述序列發(fā)生器生成的標 志序列。
14、 一種RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的通訊裝置,其特征在于,該裝置 采用FPGA進行設計,包括本級數(shù)據(jù)上行單元,用于產(chǎn)生寫允許信號,存入CPU查詢該信號有效后發(fā) 送的數(shù)據(jù)幀,進行CRC4企-瞼、并/串轉(zhuǎn)換、編碼,并緩存;后級數(shù)據(jù)上行單元,用于接收后級RRU發(fā)生的數(shù)據(jù)幀進行凈荷提取,并緩存;序列產(chǎn)生器,用于生成教:據(jù)幀的標志序列;上行多路選擇器,用于通過上行鏈路發(fā)送所述第二緩存單元的本級數(shù)據(jù)、 第三緩存單元的后級數(shù)據(jù)或序列產(chǎn)生器的標志序列。
15、 根據(jù)權(quán)利要求14所述的RRU網(wǎng)絡中'HDLC數(shù)據(jù)上行的通訊裝置,其 特征在于所述本級數(shù)據(jù)上行單元包括第 一緩存單元和第二緩存單元,所述第 一緩存 單元和第二緩存單元的容量才艮據(jù)數(shù)據(jù)幀的最大長度設計,CPU —次性將數(shù)據(jù)幀 寫入第一緩存單元,進行CRC檢驗、并/串轉(zhuǎn)換、編碼后的數(shù)據(jù)存入第二緩存 單元中。
16、 根據(jù)權(quán)利要求15所述的RRU網(wǎng)絡中HDLC數(shù)據(jù)上行的通訊裝置,其 特征在于所述上行多路選擇器發(fā)送所述第三緩存單元的后級數(shù)據(jù)之后,發(fā)送第二緩 存單元的本級數(shù)據(jù),當?shù)诙彺鎲卧偷谌彺鎲卧獰o數(shù)據(jù)時,發(fā)送序列產(chǎn)生 器的標志序列。
全文摘要
本發(fā)明公開了一種RRU網(wǎng)絡中HDLC數(shù)據(jù)下行、上行的方法及通訊裝置,所述數(shù)據(jù)下行的方法包括FPGA接收數(shù)據(jù)幀,判斷所述數(shù)據(jù)幀含有有效數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)幀的地址信息檢測該數(shù)據(jù)幀是本級數(shù)據(jù)或是后級數(shù)據(jù);如果是本級數(shù)據(jù),則進行譯碼和CRC校驗,并存入緩存單元,通知CPU讀取緩存單元中的本級數(shù)據(jù);如果是后級數(shù)據(jù),則發(fā)送至后級RRU。本發(fā)明還提供了數(shù)據(jù)上行的方法以及數(shù)據(jù)下行、上行的通訊裝置。本發(fā)明采用了FPGA,且對上行或下行的本級數(shù)據(jù)和非本級數(shù)據(jù)是分開處理的,減少了CPU的工作量,可以采用低速的CPU,降低了成本,且即使本級CPU出現(xiàn)了問題,也不會影響到后級數(shù)據(jù)的傳輸,提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
文檔編號H04L29/06GK101146102SQ200710123938
公開日2008年3月19日 申請日期2007年10月16日 優(yōu)先權(quán)日2007年10月16日
發(fā)明者張明生, 璟 諶 申請人:深圳國人通信有限公司