一種通道對齊方法、裝置及系統的制作方法
【技術領域】
[0001]本發明涉及通信技術領域,尤其涉及一種通道對齊方法、裝置及系統。
【背景技術】
[0002]在高速串行收發系統中,物理編碼子層(physical coding sub-layer,PCS)完成數據流的收發,提供一個或者多個通道的數據流的編碼、解碼、對齊等功能。一般需要支持流行的串行協議,如I吉比特以太網,10吉比特以太網(XAUI)、PCI Express、Serial、RapidI O N SMPTE (The Society of Mot1n Picture and Televis1n Engineers),支持無線協議,如CPR1、0BSAI等,對單個通道來說,較容易實現支持多種協議,但是對兩個或兩個以上的通道來說,由于每個通道恢復的時鐘相位不一致,不同協議的對齊字符、協議要求的搜索區間等都不一致,再加上硬核工作時鐘頻率較高,通道對齊實現難度較大。
[0003]現有技術方案,包括下面步驟:偵測多通道到達的數據,根據檢測到的對齊字段控制各通道數據的緩存;同時從緩存各通道數據的起始位置開始讀取數據。此方案必須要檢測到對齊字段后才會開始寫入數據,且當對齊失敗時需要額外控制清除各通道的數據才能重新對齊,這些都對數據格式有特定要求,且需要額外的控制,從硬件實現不夠靈活。
【發明內容】
[0004]本發明提供一種通道對齊方法、裝置及系統,解決現有通道對齊方案不夠完善的問題。
[0005]為解決上述技術問題,本發明采用以下技術方案:
[0006]一種通道對齊方法,包括:
[0007]從待對齊通道集中確定一個主通道,其他為輔通道;并給各通道配置相同的對齊時鐘,將各通道接收數據轉換到所述對齊時鐘的時鐘并存入緩存;
[0008]若主通道接收數據中檢測到對齊字段,則根據檢測到的對齊字段配置各輔通道緩存數據的對齊字段搜索范圍,并檢測各輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段;
[0009]對于主通道緩存數據和檢測到對齊字段的輔通道緩存數據,根據檢測到的對齊字段和當前讀緩存數據地址,調整讀緩存數據地址,根據調整后的讀緩存數據地址,從對應對齊字段的位置開始讀緩存數據。
[0010]在一些實施例中,將各通道接收數據存入緩存的過程中,還包括:檢測各通道接收數據中的對齊字段,將檢測結果和各通道接收數據一起存入緩存;
[0011]所述檢測各輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段具體為:根據緩存中的檢測結果檢測各輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段。
[0012]在一些實施例中,所述給各通道配置相同的對齊時鐘具體為:從主通道接收數據中獲取主通道的恢復時鐘,將各通道的對齊時鐘配置為主通道的恢復時鐘。
[0013]在一些實施例中,所述若主通道接收數據中檢測到對齊字段,則根據檢測到的對齊字段配置各輔通道緩存數據的對齊字段搜索范圍,并檢測各輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段具體為:
[0014]若主通道接收數據中檢測到對齊字段,則主通道通知相鄰后一級輔通道,所述后一級輔通道接收到通知后,繼續通知再后一級輔通道,直至所述待對齊通道集中各輔通道均收到通知;并且收到通知的各輔通道根據主通道接收數據中檢測到的對齊字段配置本輔通道緩存數據的對齊字段搜索范圍,在同一時間,各輔通道檢測本輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段。
[0015]在一些實施例中,上述通道對齊方法還包括保存以下信息:各對齊通道的對齊字段的位置,以及調整后的讀緩存數據地址;或者讀緩存數據地址的偏移量。
[0016]在一些實施例中,上述通道對齊方法在保存上述信息之前,還包括:判斷所述待對齊通道集中各通道是否均完成讀緩存數據地址的調整;若是,則進入保存上述信息的步驟。
[0017]一種通道對齊裝置,包括:
[0018]確定模塊,用于從待對齊通道集中確定一個主通道,其他為輔通道;
[0019]時鐘配置模塊,用于給各通道配置相同的對齊時鐘;
[0020]轉換模塊,用于將各通道接收數據轉換到所述對齊時鐘的時鐘域;
[0021]緩存寫入模塊,用于將經過時鐘域轉換后的各通道接收數據存入緩存;
[0022]主通道對齊字段檢測模塊,用于檢測主通道接收數據中的對齊字段;
[0023]范圍配置模塊,用于若主通道接收數據中檢測到對齊字段,則根據檢測到的對齊字段配置各輔通道緩存數據的對齊字段搜索范圍;
[0024]輔通道對齊字段檢測模塊,用于檢測各輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段;
[0025]緩存讀取模塊,用于對于主通道緩存數據和檢測到對齊字段的輔通道緩存數據,根據檢測到的對齊字段和當前讀緩存數據地址,調整讀緩存數據地址,根據調整后的讀緩存數據地址,從對應對齊字段的位置開始讀緩存數據。
[0026]在一些實施例中,輔通道對齊字段檢測模塊包括:
[0027]第一檢測子模塊,用于所述緩存寫入模塊將各輔通道接收數據寫入緩存的過程中,檢測各輔通道接收數據中的對齊字段,得到檢測結果;
[0028]第二檢測子模塊,用于根據緩存中的所述檢測結果檢測對應的輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段;
[0029]所述緩存寫入模塊用于將所述檢測結果和各輔通道接收數據一起存入緩存。
[0030]在一些實施例中,所述時鐘配置模塊具體用于從主通道接收數據中獲取主通道的恢復時鐘,將各通道的對齊時鐘配置為主通道的恢復時鐘。
[0031 ]在一些實施例中,上述通道對齊裝置,還包括保存模塊,用于保存各對齊通道的對齊字段的位置,以及調整后的讀緩存數據地址;或者保存讀緩存數據地址的偏移量。
[0032]在一些實施例中,上述通道對齊裝置,還包括判斷模塊,用于判斷所述待對齊通道集中各通道是否均完成讀緩存數據地址的調整;若是,則通知所述保存模塊進行上述信息保存。
[0033]一種通道對齊系統,包括:
[0034]確定單元,用于從待對齊通道集中確定一個主通道,其他為輔通道;
[0035]時鐘配置單元,用于給各通道配置相同的對齊時鐘;
[0036]轉換單元,用于將各通道接收數據轉換到所述對齊時鐘的時鐘域;
[0037]主通道處理單元,用于將經過時鐘域轉換后的主通道接收數據存入緩存,檢測主通道接收數據中的對齊字段,若主通道接收數據中檢測到對齊字段,則通知相鄰后一級輔通道;還用于根據檢測到的對齊字段和當前讀緩存數據地址,調整讀緩存數據地址,根據調整后的讀緩存數據地址,從對應對齊字段的位置開始讀緩存數據;
[0038]至少一個輔通道處理單元,各輔通道處理單元用于將經過時鐘域轉換后的本輔通道接收數據存入緩存,接收到通知后,向再后一級輔通道傳輸通知直至最后一級輔通道;根據主通道接收數據中檢測到的對齊字段配置本輔通道緩存數據的對齊字段搜索范圍,檢測本輔通道緩存數據中在對應的對齊字段搜索范圍內是否有對齊字段;還用于根據檢測到的對齊字段和當前讀緩存數據地址,調整讀緩存數據地址,根據調整后的讀緩存數據地址,從對應對齊字段的位置開始讀緩存數據。
[0039]在一些實施例中,各輔通道處理單元具體用于將本輔通道接收數據寫入緩存的過程中,檢測各輔