RocketIO收發(fā)器實現(xiàn)高速通信
8B/10B編碼可以分為256個數(shù)據(jù)字符和12個控制字符。數(shù)據(jù)字符,標為D,用于傳輸數(shù)據(jù);控制字符,標為K,用于傳輸控制序列。12個控制字符用于對齊、控制,以及將帶寬劃分為子通道。
2.2 comma字符檢測和對齊
Virtex-4 RrocketIO有可編程的逗號檢測,以便于實現(xiàn)10位字符的各種通信協(xié)議和檢測,通過對MCOMMA_10B_VALUE、DEC_MCOMMA_DETECT、PCOMMA_10B_VALUE、DEC_PCOMMA_DETECT和COMMA_10B_MASK這些參數(shù)的設置,可以實現(xiàn)任意的8位或10位符號檢測。
接收器在輸入數(shù)據(jù)流中掃描搜尋comma字符。如果找到,解串器就調整序列邊界以匹配檢測到的comma字符序列,且掃描是連續(xù)進行的。一旦對齊確定,所有后續(xù)comma字符的對齊均已確定。在任意的序列組合里,comma字符序列必須是唯一的。常用的K字符是12個K字符中的一個或多個。由于K28.1、K28.5、K28.7這些字符的頭7位都是1100000,這種比特序列模式只可以在這些控制字符中出現(xiàn),因此,這些控制字符是非常理想的對齊序列。
2.3 時鐘修正
在時鐘/數(shù)據(jù)恢復電路的作用下,從接收的串行數(shù)據(jù)流中解出時鐘的頻率和相位,一般將它的20分頻時鐘作為恢復時鐘。在恢復時鐘作用下從串行數(shù)據(jù)經(jīng)過解串器產(chǎn)生并行數(shù)據(jù)作為8B/10B譯碼的輸入,譯碼后的數(shù)據(jù)進入16×52位的接收緩沖器。輸入緩沖器的輸人數(shù)據(jù)速率是由PCS RXCLK的頻率決定的,而從緩沖器讀取端輸出的數(shù)據(jù)速率是由RXUSRCLK的頻率決定的。由于兩個時鐘會有差異,所以需要進行時鐘修正。
時鐘修正的基本原理是:在發(fā)送端,當數(shù)據(jù)發(fā)送了一定的字節(jié)或數(shù)個數(shù)據(jù)包后,通過插入和發(fā)送一些特定的字節(jié)修正字符;在接收端,當接收到這些字符后會自動地丟棄或者重復來補償時鐘的差異。時鐘修正的核心工作是在比特流中搜尋特定的字符序列。
3 MGT的測試與驗證
本實驗是在XilinX公司的ML405評估板上進行的,使用2個MGT。其中,MGT1用來發(fā)送數(shù)據(jù)(通過mgt1_tx_n和mgt1_tx_p這對差分線),MGT0用于接收數(shù)據(jù)(通過mgt0_tx_n和mgt0_tx_p這對差分線)。使用串行ATA電纜(長約100 cm)將它們連接起來形成一個大環(huán)路,進行數(shù)據(jù)讀回測試。MGT驗證實驗的硬件框圖如圖2所示。
其中,gtll_init_tx模塊產(chǎn)生tx―pmareset、tx_pcsreset復位信號以及frame―gen模塊的復位信號;frame―gen模塊產(chǎn)生帶有comma字符的數(shù)據(jù)流,每次發(fā)送的數(shù)據(jù)位寬為32位;gtll_init_rx模塊產(chǎn)生rx_pmareset、rx_pcsreset復位信號以及frame_check模塊的復位信號;frame_check模塊用來將發(fā)送的數(shù)據(jù)與實際接收到的來自于MGT0的并行輸出端口的數(shù)據(jù)進行比較,如果檢測到不一致,則frame_check模塊的ERR_COUNT計數(shù)器就加1,通過讀取該計數(shù)器的值和記錄MGT工作的時間就可以計算出該系統(tǒng)中MGT的錯誤率。
假設MGT的錯誤率為δ,MGT的數(shù)據(jù)傳輸率為μ,MGT傳輸數(shù)據(jù)的有效時間為τ,ERR_COUNT計數(shù)器的計數(shù)值為E,則有:
實驗中測得,E=319,τ=3 600s,μ=3 Gb/s。將上述數(shù)值代入式(1),求得δ=2.957×10-11。通過取不同的時間τ,每個τ對應做多次實驗,可以得到δ的范圍為[2.752×10-11,3.168×10-11]。通過該實驗可以發(fā)現(xiàn)具MGT的可靠性比較高,可以滿足我們的工程需求,具有很高的實際使用價值。
結 語
目前,系統(tǒng)對數(shù)據(jù)傳輸率的要求越來越高,高速串行互連技術由于將時鐘與數(shù)據(jù)合并進行傳輸,從而解決了高速并行數(shù)據(jù)傳輸過程中時鐘和數(shù)據(jù)的抖動問題,提高了數(shù)據(jù)傳輸速率,降低了設計復雜性和成本,減少了引腳數(shù)量和PC板面積。Xilinx公司的Virtex-4 FX系列FPGA器件中所提供的用于實現(xiàn)高速串行互連的RocketIO IP核,具有使用方便、配置靈活、集成度高等優(yōu)點,將它用于解決高速串行數(shù)據(jù)傳輸問題,既簡化了設計,又提高了系統(tǒng)的集成度和可靠性,有很好的應用前景。
分頻器相關文章:分頻器原理
評論