如網友所言 有興趣可以多研究 CDR吧
有些paper專門在討論timing recovery的
舊有oversampling的方式在現階段頻率動輒幾十M的通訊系統cost太高了
而且現階段一般+-50ppm吧 crystal或oscillator也大多在此範圍之內
至於網友所言jitter一般PLL作的好 應該都不大而且應該是random
而且這本來就是CDR本來就該克服或說應該可以承受的
※ 引述《TEMmode (I am sorry..)》之銘言:
: ※ 引述《beagle (紅茶犬)》之銘言:
: : 的確, 通訊協動多會定義雙方 clock 可忍耐的差異度, 而且這容忍值頗大,
: : 好像是在 5% 還是 10% 左右... 換成 ppm 會變成天文數字...
: : 通常接收方會用 16 倍的頻率去讀訊號, 因此 1/16 或更大的 jitter 是可允許的,
: : 為了避免連續的 0 導致誤差累積, 較新的協定會用 8B/10B 或曼徹斯特編碼,
: : 提供定期的電位改變, 讓接收方可以查覺對方的 jitter 重新同步...
: : UART 是每個 byte 都有 start bit 和 stop bit, 每個 byte 都重新同步一次。
: : 這時我有個問題, 我聽過一位工程師說, 8B/10B 這類通訊協定,
: : 可以用 PLL (鎖相環) 去自動鎖頻, 接收方自然能順便取得發送方的 clock,
: : 可是我實在想不通, 上面的 16 倍頻讀取很好用, 為什麼要這樣用 PLL 做...
: 如果是光通訊中clock and data recovery(CDR)的話,或許是傳送的data速度已經很高,
: 要用比他快16倍clock去做oversampling有點困難.於是直接用個loop去取出clock的頻
: 率以及相位,用來demux或者供後段電路來使用.
: : 難道是把 PLL 鎖頻後送出的 clock 傳給 shift register,
: : 讓硬體被 clock pulse 推著解碼嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.97.52