2017/8 18

再來聊一下 PCM2706 不指定

yrc , 00:30 , DAC 時脈 , 評論(0) , 引用(0) , 閱讀(3118) , Via 本站原創 | |
會有這一篇,是為了將來要講的東西先做準備,把看起來好像根本無關的東西先跑過一次,做個小整理,把觀念先帶過,站長也是很怕麻煩的人,就盡可能做到簡單詳細又清楚。所以也不會講到什麼東西好不好,什麼能用什麼不能用,這次算是講解課程吧。

這顆 PCM2706 也用了有一段時間,就拿來當做這次講解的範例。

在官方網站中說 PCM2706 是一顆備有 USB 介面的 DAC、是歸在 USB 轉換器類別的晶片,所以 PCM2706 到底是不是 DAC?就以最後呈現的功能來講當然是 DAC,可是既然 PCM2706 也有 USB 介面,我會更傾向把這顆當做一個微處理器來看。

所以站長是在龜毛什麼?在挑人家名詞使用上的語病嗎?若我故意不使用 PCM2706 的 USB 介面,PCM2706 可以當做純 DAC 來用嗎?答案當然是不行的。什麼是純 DAC?我在前幾篇一口氣做了好幾組 DAC 模組,還有三年前做的 PCM1794A,這些都是純 DAC。


這是 PCM2706 的功能架構圖,PCM2706 內建了 5v 轉 3.3v 的穩壓電路、內建 PLL、USB 介面、也能外接 EEPROM、有 SPI 介面、有 DAC、可輸出 SPDIF 數位、可輸出 I2S 數位、也能當耳擴。所以 DAC 只是 PCM2706 裡面的其中一個功能而已,光是這樣還不能說 PCM2706 是一顆功能整合型的晶片嗎?


這是 PCM2706 的時脈輸入,外接一顆 12 MHz 的震盪器,但是第一個步驟就先經過一個八倍頻線路變成 96 MHz,所以這才是實際上 PCM2706 的工作頻率,搞到這樣跟一顆 CPU 有什麼差別?


這些都是 PCM2706 能夠做輸出的功能,可是接下來大家應該會有個問題。我們就以 SPDIF 的數位輸出來看,16/32 的聲音輸出是 2.048 MHz,16/44.1 是 2.8224 MHz,16/48 是 3.072 MHz,上述都是 PCM2706 能夠支援的聲音取樣率,可是 SPDIF 的輸出頻率有哪一個是能跟 96 MHz 整除的?

以前做的 DAC,要發揮 44.1k 的取樣率倍數(88.2k、176.4k、352.8k),所以使用 22.5792 MHz 的震盪器。要發揮 48k 的取樣率倍數(96k、192k、384k),就用 24.576 MHz 的震盪器。都能跟震盪器的頻率整除,這很合理,因為震盪器的頻率就直接餵給 DAC 使用。

那在 PCM2706 裡的 DAC、SPDIF、I2S 所需要剛剛講的取樣頻率怎麼來?就看上圖右上方的 Analog PLL 方塊,大家需要的頻率都從這個 PLL 來(PLL 又是尛?請自行搜尋囉)。就想得簡單一點,這個地方應該就是做非整數除頻的,所以可以把 96 MHz 轉成上面講的三個頻率。



大致上就是這樣,明明是 DAC 晶片,可是都在講無關緊要的東西,就只是稍微深入說明一下 PCM2706 這顆晶片的架構。同樣的架構以前用過的 PCM2902 也都通用,大部分各家的同類型晶片都是用這種作法。

還是稍微提一下 PLL 這東西唄,雖然這個站長其實是完全不懂。PLL 的內部是純電子電路組成,所以在實際的應用上本來就有一定的可靠性,外接 12 MHz 震盪器是做外部參考時脈用的。前幾篇文有提到,數位的裝置一定會需要時脈,其實也會同時需要 PLL 這東西,可以算是理所當然應該要有的元件。

再換個方式來解釋,同樣以 PCM2706 為例,支援三種取樣頻率,又支援 USB 傳輸,是不是就代表著至少要安裝四顆不同頻率的震盪器,才能將這晶片給跑起來,這樣不是反而搞事?PLL 已經是穩定的東西,就拿來做升頻降頻給內部各元件使用,也解決很多問題。不過像 XMOS 就是實務上採用多顆震盪器同時運作的晶片,也是一個例子。
發表評論
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
開啟HTML
開啟UBB
開啟表情
隱藏
記住我
暱稱   密碼   訪客無需密碼
網址   電郵   [註冊]