看板 Electronics 關於我們 聯絡資訊
※ 引述《beagle (紅茶犬)》之銘言: : ※ 引述《acelp (未來,一直來一直來)》之銘言: : : crystal起振還必須依靠電容 而crystal本身對溫度會有variation : : 掛在crystal上的電容也會對溫度有variation : : 這些variation可能會造成起振的頻率偏移 甚至是jitter變大 : : jitter變大都不是一般IC所預期的 : : 而頻率的偏移會在互連的device會造成clock shift : : 簡單講假使兩個系統125M相差100ppm 表示frequency offset 12500Hz : : 那多久TX/RX間會有相差一個clock? : : 一個clock消失了 通訊上可能一個封包錯了 多媒體可能一個frame解錯 : : 所以很多通訊系統的spec都會定義對頻率的耐受度 : : 因為無法保證crystal的frequency variation : 的確, 通訊協動多會定義雙方 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: 140.112.17.105