許多系統采用異步通信方式,即數據在傳輸時不附帶同步時鐘信號。這種情況下,接收端必須自行確定正確的時序,才能對接收到的比特流進行解碼。從輸入數據流中提取時鐘信號,并利用該時鐘在準確時刻對比特進行采樣,從而保證數據被正確解析的過程,被稱為時鐘與數據恢復(CDR)
本文將探討 CDR 如何從歸零碼(RZ)和非歸零碼(NRZ)兩種數據格式中提取時鐘信號。在此之前,我們需要先了解異步通信與 CDR 的基本特性。為便于理解,我們先簡要介紹一種不使用 CDR的系統架構:同步時鐘轉發系統。
同步時鐘轉發系統
同步時鐘轉發系統是一種高速信令架構,發送器(TX)在發送數據的同時,會一并送出時鐘信號,幫助接收器(RX)實現同步并準確采樣數據。接收器只需將采樣時鐘與輸入時鐘對齊,無需設計復雜的 CDR 電路。圖 1 為該系統的結構示意。
![]()
盡管這種方案可以簡化接收器設計并降低功耗,但需要額外增加一條時鐘傳輸通道。由于時鐘與數據沿不同路徑傳輸,必須盡可能減小偏斜(由走線延時不等造成的時序錯位)。為有效解決這一問題,數據通路與時鐘通路的電路器件和 PCB 走線需要高度匹配,以此提升兩者之間的抖動跟蹤性能。
異步通信
同步時鐘轉發系統常見于 SPI、DDR等接口,但由于需要專用時鐘通道,在部分應用中并不實用。這時便需要采用異步通信系統,圖 2 為典型示例。
![]()
接收器在沒有發送端時鐘參考的情況下,必須完成對輸入比特的解析。缺少時序信息時,輸入波形看起來就像是一串隨機比特流,極大增加了正確解碼的難度。例如,圖 3 中的同一波形,根據采樣頻率不同,既可以被解讀為 10110,也可以被解讀為 1100111100。
![]()
那么,接收器如何從一串隨機二進制比特流中提取時鐘呢?要回答這個問題,我們需要分析數據的頻譜特性。
實現有效時鐘提取的頻譜特征
假設圖 4 為某一隨機比特序列的頻譜,其對應時鐘頻率為 fb。我們能否通過一個窄帶濾波器,將時鐘信號從其他頻譜分量中分離出來?
![]()
答案是:不能。頻率 fb 處的幅度與周圍頻率分量并無明顯差異。因此,實際濾波器會將 fb 附近通帶內的所有分量一并輸出,無法單獨提取時鐘信號。這類頻譜并不適合用于可靠的時鐘恢復。
反之,如果輸入數據的頻譜在時鐘頻率處存在明顯的能量尖峰,我們就可以通過多種信號處理方法提取時鐘信號,如圖 5 所示。
![]()
在上述頻譜中,fb 處的能量遠高于鄰近分量。正因如此,我們可以從隨機比特流中生成低噪聲的周期性時鐘信號。
數據比特序列有多種編碼方式,不同編碼對應不同的頻譜特征。在明確時鐘恢復所需的頻譜特性后,我們來分析兩種常用編碼格式的頻譜:RZ 與 NRZ。
RZ編碼數據
![]()
圖 6 展示了比特序列 1011001 的歸零碼(RZ)波形。
在該編碼方案中,比特 1 用高電平表示,并且在比特周期結束前會回到零電平;比特 0 則用低電平表示。信號在相鄰的 1 之間會拉低至零,因此得名 “歸零碼”。
圖中 Tb 表示一個符號的周期,b 代表波特(baud)。波特是衡量信道中每秒信號變化次數(即符號數)的單位。在本文討論中,波特率與比特率相等,但并非所有編碼方案都滿足這一關系,部分方案會在一個符號中嵌入多個比特。
![]()
圖 7 為 RZ 編碼數據的典型頻譜。
RZ 數據的頻譜在波特率 fb=1/Tb 處存在明顯的離散譜線(能量尖峰)。即使信號經過低通濾波(無論是人為濾波還是傳輸介質自然造成的衰減),fb 處的尖峰依然存在。圖 8 展示了濾波在時域和頻域對 RZ 信號的影響。
![]()
當 RZ 數據通過低通濾波器后,fb 處的尖峰可能會因濾波器響應產生一定衰減,但只要濾波器帶寬足夠,時域波形仍會在相鄰 1 之間歸零。此時,頻譜中 fb 處的離散分量依然保留。
我們可以使用帶通濾波器將該分量與鄰近頻率分離,從而實現 CDR。該濾波器需要具備極窄的帶寬,且中心頻率需精確對準 fb。這類濾波器可通過鎖相環(PLL)實現,如圖 9 所示。
![]()
PLL 需要鎖定在 fb 的尖峰上,同時抑制周圍無用的頻率分量。值得注意的是,PLL 的帶寬可以僅為輸入頻率的極小一部分,從而實現極高 Q 值的響應。
NRZ編碼數據
圖 10 展示了比特流 1011001 的另一種數據格式:非歸零碼(NRZ)。
![]()
在非歸零碼格式中,信號電平在整個比特周期內保持不變。這一特性提升了帶寬效率,因為它避免了 RZ 編碼中額外的電平跳變。
NRZ 碼的缺點是同步難度更高。為理解這一時序同步問題,圖 11 給出了 NRZ 數據的典型頻譜。
![]()
NRZ 數據的頻譜在波特率 fb 處不存在離散譜線。事實上,其頻譜在 fb 的整數倍處幅值為零,意味著這些頻率上沒有能量。因此,與 RZ 格式不同,PLL 無法直接從 NRZ 數據中提取時鐘。
利用邊沿檢測從NRZ數據中恢復時鐘
要從 NRZ 數據中恢復時鐘,可先將其輸入邊沿檢測電路,如圖 12 (a) 所示。
![]()
邊沿檢測會改變 NRZ 數據的頻譜,在波特率 fb 處引入頻率尖峰。生成這一尖峰后,我們就可以使用 PLL 將其與周圍頻率分量分離,從而生成低噪聲時鐘。
部分資料將該電路描述為“將 NRZ 數據轉換為類 RZ 數據”,但它并不能真正生成標準 RZ 數據。例如,當輸入連續多個 1 的 NRZ 序列時,輸出并不會像 RZ 那樣在相鄰 1 之間來回跳變。
想了解邊沿檢測為何能在 fb 處產生頻率分量,可參考 Behzad Razavi 所著《Design of CMOS Phase-Locked Loops From Circuit Level to Architecture Level》一書的 13.3 節。
總結
本文在介紹 CDR 基本概念后,分析了異步通信中 RZ 與 NRZ 兩種數據格式的時域和頻域特征。可以看到,鎖相環(PLL)在時鐘與數據恢復中扮演著關鍵角色。在下一篇文章中,我們將重點介紹用于時鐘恢復的 PLL 設計。
由于 CDR 中的 PLL 需要處理隨機輸入數據并生成周期性時鐘,只有特定類型的鑒相器適用于這一場景。我們將詳細講解其中一種經典結構:Hogge 鑒相器。
技術大會報名倒計時(免費午餐)
224G SerDes|GAN|FPGA|AI信號處理等
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.