看到 Sam 和 k900733 兩位大大在隔壁樓講系統時間準確度及對時,也去讀了他們提到的幾篇文章/討論。先把看到的一些資料簡略整理出來供大家參考。目前我的系統正自行放暑假、我也忙著看環法大賽、沒空實驗。還望技術能力較強和有空實測的版上先進不吝補充、糾正、分享:
首先,
這篇提到 S/PDIF 的訊號傳輸並不是以 DAC 端的時鐘頻率為準去從電腦拉訊號,而是電腦的時鐘和 DAC 的晶振各自爲政,你丟你的,我接我的,兩者的時鐘/晶振頻率可能有差異。而即使看似微小的差異,在很短的時間內就可能造成電腦丟出來的訊號塞車、累積到超過 DAC 暫存記憶體的容量而丟失;也可能電腦發訊號發得太慢,造成 DAC 收訊號開天窗。Airplay 的訊號傳輸有同樣的問題:
同一篇還提到 DAC 對訊號做 asynchronous 頻率重建會造成訊號品質劣化。我好奇這裡說的取樣頻率轉換跟 FIFO 所做的處理是不是同一件事:
如果電腦常常向標準時鐘對時的話,電腦調時間的機制不是一下子把時間往回撥(回撥可能造成剛剛系統已用過的時間印記再度出現、造成混亂)或往前撥,而是以調整時間走快或走慢(也就是微調振盪的頻率)的方式去修正。電腦經常對時會導致電腦的振盪頻率(時間走得快或慢)趨近於準確(標準時鐘),如果 DAC 端的晶振很準的話,前面提到的訊號塞車或開天窗現象就不會出現。若不考慮其他因素的話,電腦經常向標準時鐘對時應該有正面的效果。
以下讓 Windows 系統更頻繁去對時的步驟來自
這一篇:(我自己還沒試)
這篇作者提醒:對時過於頻繁可能會被標準時鐘服務器誤判為惡意攻擊:
對時也沒想像中單純。
電腦與標準時鐘間溝通的來回傳輸條件是否對稱也會影響。還有網路延遲、層級/stratum 等等都會影響。