張 新,萬 杰,蔣 勵,王 瑜,胡 陽
(西安郵電大學 電子工程學院,陜西 西安 710121)
采用多通道數(shù)據(jù)并行傳輸是提高5G通信帶寬常用的數(shù)據(jù)傳輸電路實現(xiàn)方式之一。不同通道之間的路徑不一致,會造成數(shù)據(jù)延遲的差異,導致多通道數(shù)據(jù)無法對齊。當前,多通道高速數(shù)據(jù)對齊技術是該領域的研究熱點之一[1-5],現(xiàn)有的多通道高速數(shù)據(jù)對齊技術存在一些亟待解決的問題,如多通道不同的鏈路時延會造成多通道之間的數(shù)據(jù)延時不一致,多時鐘域的存在導致每次上電延時都不一致,無法適應各種可能的時鐘場景。
針對通信系統(tǒng)中多通道數(shù)據(jù)對齊的問題,文獻[6]介紹了一種多通道對齊去偏移的方法及裝置,該方法利用多通道緩存,以及對多通道數(shù)據(jù)的數(shù)據(jù)頭進行檢查,保證多通道數(shù)據(jù)對齊,但是無法確定某一通道當前的數(shù)據(jù)頭與其他通道數(shù)據(jù)頭在源端的對齊關系,不能保證接收端的多通道數(shù)據(jù)對齊后的數(shù)據(jù)是否與源端保持一致,也未考慮多通道之間存在多個時鐘域之間的抖動帶來的偏差問題。
文獻[7]提出時隙交叉多通道對齊的方法,該方法由交叉單板生成發(fā)送幀頭和接收對齊幀頭,其中發(fā)送幀頭和接收對齊幀頭之間存在固定的延時,交叉單板根據(jù)發(fā)送幀頭將第一組數(shù)據(jù)發(fā)送給業(yè)務單板,業(yè)務單板從第一組數(shù)據(jù)中提取幀頭,對提取的幀頭進行調(diào)整獲得參考幀頭,使參考幀頭提前接收對齊幀頭,業(yè)務單板根據(jù)參考幀頭通過多個通道將后續(xù)數(shù)據(jù)發(fā)送給交叉單板。但該方法需要一個業(yè)務單板從發(fā)送側(cè)數(shù)據(jù)中提取幀頭,即必須要確定一個參考幀頭。
針對上述研究中存在的因不同通道的時延差異造成的數(shù)據(jù)延遲不一致問題,提出一種多通道高速數(shù)據(jù)對齊的實現(xiàn)方案。該方案首先通過時鐘芯片產(chǎn)生基準時鐘,利用基準時鐘同步產(chǎn)生的發(fā)送側(cè)采樣時鐘將發(fā)送側(cè)數(shù)據(jù)對齊。其次,運用基準時鐘同步產(chǎn)生的接收側(cè)讀時鐘對接收側(cè)多通道的數(shù)據(jù)同時進行采樣,得到不同通道之間的對齊數(shù)據(jù),保證數(shù)據(jù)傳輸?shù)耐?。最后,在處理機制上與現(xiàn)有方法相比,增加采樣時鐘和讀時鐘,以期通過這兩個時鐘對不同通道同時采樣得到對齊數(shù)據(jù)。
為了使通道數(shù)據(jù)對齊方案的電路設計既簡單,資源占用率較低,又有利于時序優(yōu)化,適用于高速通信系統(tǒng),提出一種解決多通道對齊的方案,其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
多通道數(shù)據(jù)對齊方案包括基準時鐘產(chǎn)生和時鐘同步設計,發(fā)送側(cè)和接收側(cè)數(shù)據(jù)對齊設計,異常情況處理,異步先進先出(first input first output,FIFO)設計。發(fā)送側(cè)到接收側(cè)的數(shù)據(jù)傳輸涉及多時鐘域,為了防止多時鐘域引起的頻率和相位差異,在獨立于發(fā)送側(cè)和接收側(cè)的板卡上,先產(chǎn)生一個基準時鐘信號,且在發(fā)送側(cè)產(chǎn)生同步于基準時鐘的采樣時鐘,在接收側(cè)產(chǎn)生同步于基準時鐘的讀時鐘。利用采樣時鐘控制發(fā)送側(cè)多通道同時采樣,防止不同通道傳輸?shù)臄?shù)據(jù)出現(xiàn)一個周期以上的延時。利用讀時鐘控制接收側(cè)多通道獨立隊列的數(shù)據(jù)采樣,在接收側(cè)得到多通道對齊的數(shù)據(jù)。
基準時鐘是由獨立于收發(fā)兩側(cè)的時鐘芯片產(chǎn)生的一個周期可配置的基準時鐘參考信號。
在數(shù)據(jù)傳輸時,由于發(fā)送側(cè)和接受側(cè)的本地時鐘之間會有一定的相位偏差,且不同通道之間的路徑不一致,會造成數(shù)據(jù)延時的差異。因此,發(fā)送側(cè)的采樣時鐘和接收側(cè)的讀時鐘,均需要由基準時鐘進行同步。
采用自同步法完成信息碼元的同步方案[8-9],首先,對信息碼元采用不歸零(not return to zero,NRZ)編碼[10-13],其次,使用時鐘數(shù)據(jù)恢復(clock data recovery,CDR)電路從傳輸?shù)男畔⒋a元中提取時鐘信息[14-16],產(chǎn)生恢復時鐘,采用鎖相環(huán)(phase locked loop,PLL)對恢復時鐘平滑過濾完成發(fā)送側(cè)的采樣時鐘和接收側(cè)讀時鐘的同步。
電路設計的發(fā)送側(cè)結(jié)構(gòu)如圖2所示,發(fā)送側(cè)用采樣時鐘n路多通道的數(shù)據(jù)同時采樣,保證發(fā)送側(cè)數(shù)據(jù)對齊。
圖2 發(fā)送側(cè)結(jié)構(gòu)
電路設計的接收側(cè)結(jié)構(gòu)如圖3所示,與發(fā)送側(cè)不同的是接收側(cè)需要從發(fā)送側(cè)傳輸?shù)膎路信息通道的數(shù)據(jù)中的碼元中提取出時鐘信息,每一路通道再分別采用PLL對提取出來的時鐘進行平滑過濾,產(chǎn)生CDR時鐘。每個通道使用各自通道的數(shù)據(jù)恢復出的CDR時鐘做為FIFO的寫側(cè)工作時鐘,再經(jīng)過讀時鐘對存入FIFO的多通道數(shù)據(jù)進行采樣,保證多通道數(shù)據(jù)對齊。
圖3 接收側(cè)結(jié)構(gòu)
當在基準時鐘出現(xiàn)異常時,采用時鐘切換PLL將發(fā)送側(cè)的采樣時鐘和接收側(cè)讀時鐘切換為本地時鐘,以保證電路系統(tǒng)時鐘的穩(wěn)定性和可恢復性。當發(fā)送側(cè)數(shù)據(jù)傳輸被中斷時,接收側(cè)使用時鐘切換PLL將恢復時鐘平滑切換為本地時鐘,保證系統(tǒng)的穩(wěn)定性和可恢復性;發(fā)送側(cè)數(shù)據(jù)恢復時,再使用時鐘切換PLL平滑切換為接受側(cè)的恢復時鐘,電路設計如圖4所示。
圖4 異常情況設計
發(fā)送側(cè)的本地工作時鐘和采樣時鐘以及接收側(cè)的恢復時鐘和讀時鐘都屬于異步時鐘,因此,需要進行跨時鐘域處理。常用的跨時鐘域方法有格雷碼、握手信號和異步FIFO等。
采用異步FIFO進行跨時鐘域處理,為了防止因FIFO兩側(cè)時鐘相差太大造成的讀空或?qū)憹M情況,需要設計合理的FIFO深度。
當發(fā)送側(cè)工作時,假設突發(fā)周期長度為T,時鐘工作頻率為N,則一個突發(fā)周期的數(shù)據(jù)量為
Z=T·N。
在數(shù)據(jù)的傳輸過程中,發(fā)送側(cè)的本地時鐘作為FIFO寫時鐘將數(shù)據(jù)寫入,通過基準時鐘同步出來的發(fā)送側(cè)的采樣時鐘作為FIFO讀側(cè)時鐘讀取數(shù)據(jù),若誤差以一個N的時鐘周期發(fā)生抖動,有可能會出現(xiàn)寫滿或讀空的問題。
假設一個突發(fā)周期內(nèi)FIFO深度為A,若系統(tǒng)誤差造成本地時鐘和采樣時鐘相差為C個百萬分率(parts per million,ppm),則FIFO內(nèi)需要C·Z字的空間進行保護,防止被寫滿或讀空。因此,可以滿足需求,F(xiàn)IFO深度一般設計為2的冪次,異步FIFO的深度為
(1)
一般情況下,晶體振蕩器的頻差在10個ppm以下,系統(tǒng)設計時一般使用50 ppm的頻差設定,保證數(shù)據(jù)傳輸過程中不會上溢或下溢,能滿足設計系統(tǒng)需求。
為了驗證所提方案的性能,將方案運用到國家標準預研產(chǎn)品25 G PON項目中進行性能測試,根據(jù)電路設計方案,通過軟件仿真和硬件測試,對系統(tǒng)的魯棒性、穩(wěn)定性、資源使用情況和資源對比進行分析。
在PON的通信中,假設并行數(shù)據(jù)帶寬為V,單位為Mbps,并行數(shù)據(jù)位寬為K,單位為bit,則時鐘頻率為
H=V/K。
(2)
其中,時鐘頻率的單位為MHz。在兩路25 G PON MAC系統(tǒng)中,數(shù)據(jù)帶寬為25 Gbps,使用的是64 bit的數(shù)據(jù)位寬并行傳輸,根據(jù)式(2)可知時鐘頻率為390.625 MHz,因此,基準時鐘為390.625 MHz,在發(fā)送側(cè)和接收側(cè)產(chǎn)生同步于基準時鐘的390.625 MHz的采樣時鐘和讀時鐘,如圖5所示。
圖5 兩路25G PON MAC 多通道結(jié)構(gòu)
考慮發(fā)送側(cè)本地時鐘和采樣時鐘不是同源時鐘,因此,需要采用異步FIFO跨時鐘域處理。在25 G PON系統(tǒng)中選用的時鐘是390.625 MHz的高頻時鐘,突發(fā)數(shù)據(jù)的周期為250 μs。根據(jù)式(1),可知FIFO的深度選擇為8字。在接收側(cè)需要通過發(fā)送側(cè)的數(shù)據(jù)使用CDR電路產(chǎn)生390.625 MHz的恢復時鐘,同樣也使用深度為8字的異步FIFO進行恢復時鐘和讀時鐘的跨時鐘域處理。
經(jīng)過時鐘優(yōu)化兩路25G PON MAC系統(tǒng)在quartus18.1上綜合出來的時序為396.98 MHz,如圖6所示,達到系統(tǒng)設計的要求。
圖6 系統(tǒng)時鐘圖
從軟件仿真和硬件測試兩個方面驗證設計方案。軟件仿真采用quartus18.0和modelsim10.4聯(lián)合仿真平臺,硬件測試是在采用INTEL Stratix10芯片的FPGA單板上進行通信。
發(fā)送側(cè)采樣數(shù)據(jù)仿真圖如圖7所示,板級硬測發(fā)送側(cè)采樣數(shù)據(jù)情況如圖8所示??梢钥闯?,在時鐘上升沿開始采樣數(shù)據(jù),lck_lane0_tx和lck_lane1_tx是發(fā)送側(cè)多通道傳輸?shù)奈磳R數(shù)據(jù),經(jīng)過異步FIFO的讀側(cè)clk_tx_sample時鐘采樣得到對齊的數(shù)據(jù)sck_lane0_tx和sck_lane1_tx,防止不同通道傳輸?shù)臄?shù)據(jù)出現(xiàn)一個周期以上的延時。從軟仿和硬測圖可以看出,發(fā)送側(cè)兩個通道的數(shù)據(jù)對齊。
圖7 發(fā)送側(cè)采樣數(shù)據(jù)
圖8 板級硬測發(fā)送側(cè)采樣數(shù)據(jù)
接收側(cè)采樣數(shù)據(jù)仿真結(jié)果如圖9所示,板級硬測接收側(cè)采樣數(shù)據(jù)結(jié)果如圖10所示。lclk_lane0_rx和lclk_lane1_rx是從發(fā)送側(cè)經(jīng)多通道傳輸?shù)浇邮諅?cè)的未對齊數(shù)據(jù),經(jīng)過接收異步FIFO的讀側(cè)clk_rx_reading時鐘采樣得到對齊的數(shù)據(jù)rclk_lane0_rx和rclk_lane1_rx。從軟仿和硬測結(jié)果可以看出,接收側(cè)兩個通道的數(shù)據(jù)對齊。
圖9 接收側(cè)采樣數(shù)據(jù)
圖10 板級硬測接收側(cè)采樣數(shù)據(jù)
考慮到數(shù)據(jù)鏈路可能存在的不穩(wěn)定場景,如發(fā)送側(cè)和接收側(cè)之間的光鏈路出現(xiàn)異常的情況,接收側(cè)采用PLL將恢復時鐘平滑切換為本地時鐘。測試過程選用3個場景測試系統(tǒng)的魯棒性。
場景1理想光衰下鏈路通信測試,測試參數(shù)如表1所示。
表1 鏈路正常通信測試參數(shù)
根據(jù)場景1提供的參數(shù)進行數(shù)據(jù)通信測試,結(jié)果如圖11所示。由圖11可以看出,上下行在持續(xù)通信過程中業(yè)務數(shù)據(jù)收發(fā)正常。
圖11 以太網(wǎng)測試儀通信數(shù)據(jù)
場景2超出理想光衰下鏈路通信測試,測試參數(shù)如表2所示。
表2 超出理想光衰下的鏈路通信參數(shù)
根據(jù)場景2提供的參數(shù)進行數(shù)據(jù)通信測試,結(jié)果如圖12所示。從圖12中可見,在數(shù)據(jù)鏈路不穩(wěn)定的場景下,上下行在通信過程業(yè)務數(shù)據(jù)收發(fā)出現(xiàn)錯誤,但是系統(tǒng)還是能夠傳輸數(shù)據(jù)。
圖12 以太網(wǎng)測試儀收發(fā)錯誤數(shù)據(jù)
場景3恢復理想光衰鏈路通信測試,測試參數(shù)如表3所示。
表3 恢復理想光衰下的鏈路通信參數(shù)
根據(jù)場景3提供的參數(shù)進行數(shù)據(jù)通信測試結(jié)果如圖13所示。從圖13可見,鏈路恢復正常,上下行在持續(xù)通信過程中業(yè)務數(shù)據(jù)收發(fā)正常。
圖13 以太網(wǎng)測試儀收發(fā)正常數(shù)據(jù)
綜合上述3個場景,可以證明系統(tǒng)在數(shù)據(jù)鏈路出現(xiàn)不穩(wěn)定時,會出現(xiàn)業(yè)務數(shù)據(jù)收發(fā)錯誤的情況,在數(shù)據(jù)鏈路恢復正常的情況下能重新開始正常工作,具有很強的魯棒性和可恢復性。
兩路25 G PON MAC系統(tǒng)在不同字節(jié)下的極限帶寬如表4所示,通過72小時連續(xù)通信的強度測試,得到收發(fā)正常的業(yè)務數(shù)據(jù),證明系統(tǒng)有較高的穩(wěn)定性。
表4 極限帶寬
圖14是方案設計中的兩路25 G PON MAC系統(tǒng)的資源使用情況結(jié)果,從圖14中可以看出,所提設計方案能減少多通道對齊去偏移的設計復雜度,提高效率,節(jié)省資源。相比于參考文獻[7]所使用的方案的資源情況結(jié)果(見圖15),自適應邏輯模塊(adaptive logic modules,ALM)中的邏輯單元使用率降低了4.2%,專用邏輯寄存器總數(shù)使用率降低了3.1%,如表5所示。
圖14 系統(tǒng)資源使用情況
圖15 系統(tǒng)資源使用情況對比
表5 資源率對比
為了解決不同通道的時延差異造成的數(shù)據(jù)延遲不一致問題,提出一種多通道高速數(shù)據(jù)對齊的實現(xiàn)方案。通過時鐘芯片產(chǎn)生一個基準時鐘信號,且在發(fā)送側(cè)產(chǎn)生同步于基準時鐘的采樣時鐘,在接收側(cè)產(chǎn)生同步于基準時鐘的讀時鐘;利用采樣時鐘控制發(fā)送側(cè)多通道同時采樣,防止不同通道傳輸?shù)臄?shù)據(jù)出現(xiàn)一個周期以上的延時;再運用讀時鐘控制接收側(cè)多通道獨立隊列的數(shù)據(jù)采樣,在接收側(cè)得到多通道對齊的數(shù)據(jù)。將所提方案運用在25 G PON系統(tǒng)中進行性能測試,實驗結(jié)果表明,所提方案能夠完成高速通信系統(tǒng)中的多通道數(shù)據(jù)對齊,其資源使用情況與現(xiàn)有方案相比利用率較高,同時,系統(tǒng)具有較高的穩(wěn)定性和魯棒性。后續(xù)將著重研究、改進、設計兼容性更強的高速多通道對齊方案。