基于京微雅格低功耗FPGA的8b/10b SERDES的接口設計
摘要
本文引用地址:http://dyxdggzs.com/article/269326.htm串行接口常用于芯片至芯片和電路板至電路板之間的數據傳輸。隨著(zhù)系統帶寬不斷增加至多吉比特范圍,并行接口已經(jīng)被高速串行鏈接,或SERDES (串化器/ 解串器)所取代。起初, SERDES 是獨立的ASSP 或ASIC 器件。在過(guò)去幾年中已經(jīng)看到有內置SERDES 的FPGA 器件系列,但多見(jiàn)于高端FPGA芯片中,而且價(jià)格昂貴。
本方案是以CME最新的低功耗系列FPGA的HR03為平臺,實(shí)現8/10b的SerDes接口,包括SERDES收發(fā)單元,通過(guò)完全數字化的方法實(shí)現SERDES的CDR(Clock Data Recovery,時(shí)鐘數據恢復),完成100~200Mhz的板間SERDES單通道通信,該SERDES接口方案具有成本低、靈活性高、研發(fā)周期短等特點(diǎn)。
1硬件接口:
硬件的接口如圖所示,主要包括發(fā)送與接收模塊。
發(fā)送模塊包括8b/10b編碼器,并串轉換器,鎖相環(huán)(PLL)頻率合成器和發(fā)送器,接收模塊包括 8b/10b解碼器,Comma 檢測器,串并轉換器,時(shí)鐘數據恢復器(CDR)和接收器。

8b/10b編碼器用于將從上層協(xié)議芯片發(fā)送過(guò)來(lái)的字節信號映射成直流平衡的 10 位8b/10b 編碼,并串轉換用于將 10 位編碼結果串行化,并串轉換所需的高速、低抖動(dòng)時(shí)鐘由鎖相環(huán)提供,發(fā)送器用于將 CMOS 電平的高速串行碼流轉換成抗噪聲能力較強的差分信號,經(jīng)背板連接或光纖信道發(fā)送到接收機。
在接收端,接收器將接收到的低擺幅差分信號還原為 CMOS 電平的串行信號,CDR 從串行信號中抽取時(shí)鐘信息,完成對串行數據的最佳采樣,串并轉換利用 CDR 恢復的時(shí)鐘,將串行信號轉換成 10 位的并行數據,Comma 檢測器檢測特殊的 Comma 字符,調整字邊界,字邊界正確的并行數據經(jīng)過(guò) 8b/10b 解碼,還原為字節信號,傳送到上層協(xié)議芯片,完成整個(gè)信息傳輸過(guò)程。
實(shí)際的設計中,CDR部分是由純邏輯電路完成的,為設計的核心的部分,下面將介紹數字CDR在HR03的實(shí)現方案。
2數字CDR:
CDR模塊作用是從數據中恢復嵌入的時(shí)鐘,然后接收器按照恢復的時(shí)鐘進(jìn)行數據位對齊并通過(guò)comma進(jìn)行字對齊。最后,將數據進(jìn)行8b/10b解碼,供系統使用。
本方案采用同頻多相的時(shí)鐘采樣方法,具體實(shí)現過(guò)程利用PLL產(chǎn)生4個(gè)時(shí)鐘頻率相同,相位相差90度的時(shí)鐘,分別為clk0、clk90、clk180、clk270,這四個(gè)時(shí)鐘輸出完全同步,利用4個(gè)時(shí)鐘對數據進(jìn)行采樣,以獲得4倍過(guò)采樣的效果,具體的實(shí)現過(guò)程如下圖所示:

在數據時(shí)鐘恢復時(shí),將到來(lái)的數據分別輸入到四個(gè)觸發(fā)器,分別用4個(gè)不同的相位進(jìn)行采樣,要注意保證從輸入引腳到四個(gè)觸發(fā)器的延遲基本一致。
第一列觸發(fā)器的觸發(fā)分別由時(shí)鐘CLK0、CLK90、CLK180、CLK270的上升沿觸發(fā),按照這樣的方式來(lái)觸發(fā)就可以得到四個(gè)數據采樣點(diǎn)。這樣就將原始時(shí)鐘周期分成了四個(gè)單獨的90度的區域,如果系統時(shí)鐘為200MHz,上圖所示的電路就相當于產(chǎn)生了800MHz 的采樣速率。
僅通過(guò)一階的觸發(fā)器,輸出的采樣數據存在亞穩態(tài)的問(wèn)題,因此需對采樣點(diǎn)作進(jìn)一步的處理。這里可將四個(gè)采樣點(diǎn)通過(guò)進(jìn)一步的觸發(fā),除掉亞穩態(tài)的問(wèn)題,從而使采樣點(diǎn)移到下一個(gè)相同的時(shí)鐘域。通常,亞穩態(tài)的去除要經(jīng)過(guò)兩三級的處理,這就使得在有效數據輸出前會(huì )有數位無(wú)效的數據,在數據采樣的第一個(gè)階段,電路檢測數據線(xiàn)上數據的傳輸。當檢測到有數據傳輸時(shí),對傳輸數據的有效性進(jìn)行確認。確認數據有效后,輸出高電平來(lái)指示采樣點(diǎn)有數據傳輸。

因為最終有四個(gè)輸出,所以需要一個(gè)復用器來(lái)選擇數據。發(fā)送數據與采樣時(shí)鐘的對應關(guān)系如上圖所示,其對應關(guān)系分為4種情況,每種情況下對應一個(gè)最佳的采樣時(shí)鐘,系統通過(guò)對數據邊沿位置信息的判斷,來(lái)確定哪路時(shí)鐘為最佳采樣時(shí)鐘,并利用復用器從選定的時(shí)鐘域中選擇數據位,例如檢測電路確定從時(shí)鐘域A中采樣的數據有效,那么將時(shí)鐘域A中采樣的數據通過(guò)輸出端輸出。
3結束語(yǔ):
通過(guò)對純數字電路的CDR電路,在沒(méi)有硬核的支持下,完成了FPGA上SERDES的接口設計,并通過(guò)實(shí)驗的傳輸測試,在HR03的FPGA上,可完成100~200Mbps的數據傳輸。
評論