音頻系統芯片選擇多項性能參數詳解
產(chǎn)品最終贏(yíng)在細節,嘗試了種種帶硬傷的產(chǎn)品之后,我們最后不得不放棄了國產(chǎn)芯片,選擇了國外A廠(chǎng)家的產(chǎn)品。從A廠(chǎng)家的硬件系統看,可以得出的結果就是其硬件細節做得相當好。我們測試其芯片發(fā)現,其一致性很高,同時(shí)系統余量設計得很好。標稱(chēng)375MHz的芯片,在非最高核心電壓情況下基本都可以穩定超頻到572MHz,高出標稱(chēng)頻率的50%,同時(shí)DDR2時(shí)鐘超頻60%,性能不俗。從寄存器設計來(lái)說(shuō),不少都是根據Linux系統的數據結構設計的,因此只要熟悉軟件就很容易熟悉其硬件。
在大規模數據吞吐的部分,A廠(chǎng)家使用了鏈接DMA,這個(gè)細節完美保證輸出數據流的連續,最大限度保證了最重要的I2S數據輸出不會(huì )丟幀。我們測試的時(shí)候一邊解碼一邊通過(guò)SD卡進(jìn)行本地數據解壓,在CPU滿(mǎn)負荷的情況下都沒(méi)有出現丟幀,可見(jiàn)A廠(chǎng)家硬件的功力之強。
在此我們分析一下,為什么會(huì )丟幀。其實(shí)大部分系統都是完成數據流的一個(gè)傳輸,音頻解碼的數據流向就是從SD卡等媒體讀出原始碼流,然后經(jīng)CPU解碼之后送I2S輸出,這個(gè)過(guò)程有涉及到重要數據傳輸的就是媒體到RAM,再從RAM到I2S的過(guò)程,這些數據流都是DMA完成的,而瓶頸就在DMA切換的過(guò)程。Linux的文件系統由系統進(jìn)行緩存,對時(shí)序的要求不高,而I2S要求連續的數據,就和I2S的FIFO有密切的關(guān)系,如果不是系統自動(dòng)切換緩沖區的話(huà),就要求CPU介入切換,而CPU的中斷響應時(shí)間就會(huì )嚴重影響數據的連續性。比如I2S的FIFO是32個(gè)數據,如果I2S的LRCK是192kHz,那么能夠給CPU的中斷時(shí)間最長(cháng)就是32/2/192kHz=83µs,而且根據中斷機制,一般是FIFO剩下一半的時(shí)候申請中斷,那么時(shí)間就只有不到50µs,這個(gè)速度在普通Linux系統基本無(wú)法滿(mǎn)足需求,因此丟幀就是必然。IC廠(chǎng)家設計的時(shí)候指標都是按96kHz的硬件指標來(lái)設計,當然無(wú)法滿(mǎn)足高端系統的要求了。A廠(chǎng)家的自動(dòng)DMA鏈不需要CPU進(jìn)行數據的切換,而通過(guò)軟件劃分2塊或以上的數據(Ping pong buffer)讓DMA自動(dòng)切換,如此就完美保證了輸出數據的連續性。對音響系統而言,只要I2S出現丟幀馬上就會(huì )被察覺(jué),更無(wú)法通過(guò)儀器的檢測,所以這個(gè)細節如果做不到位是無(wú)法走向市場(chǎng)的。
另外A廠(chǎng)家的硬件包含了SATA接口以及兼容性和速度都無(wú)可挑剔的USB 2.0 host/SD卡支持,更出色的地方是,小小一個(gè)ARM9芯片還帶了EMAC,同時(shí)帶了兩個(gè)小單片機,每個(gè)的速度是系統時(shí)鐘速度的一半,這個(gè)小單片機可以實(shí)現的功能遠比普通MCU的功能多。如果嫌CPU速度不夠,還可以選擇引腳兼容的帶浮點(diǎn)DSP的片子,這個(gè)DSP的運算能力相當于同等ARM9在2G以上的運算速度,這對數據后端處理有著(zhù)至關(guān)重要的性能提升。A廠(chǎng)家的片子還提供TF卡啟動(dòng)功能,這樣的話(huà)可以完美地避開(kāi)NAND發(fā)展所帶來(lái)的問(wèn)題,同時(shí)解決Linux在NAND建立的文件系統的啟動(dòng)速度問(wèn)題。
這里再說(shuō)說(shuō)時(shí)鐘電路。由于需要支持32K~192K采樣率,因此必須能夠生成對應的時(shí)鐘,同時(shí)要求jitter低于50ps(處理器內置PLL時(shí)鐘一般在200ps以上)。而對于DAC,很多國產(chǎn)芯片都因為集成的成本低而將DAC集成到CPU里面,但這樣做使得性能無(wú)法提高,比如THD+N最高只能到90dB左右,而目前世界頂級的DAC其THD+N達到驚人的-120dB,同時(shí)提供135dB的動(dòng)態(tài)范圍。這樣高的性能對整個(gè)系統設計都有極其嚴格的要求,因此國外同類(lèi)產(chǎn)品售價(jià)都不低于4,000美元。另外硬件系統設計最后的一個(gè)關(guān)鍵點(diǎn)就是PCB走線(xiàn)。
在軟件方面,系統需要覆蓋數十種優(yōu)化過(guò)的音頻解碼器,解碼輸出數字信號要經(jīng)過(guò)DSP后處理,另外還涉及到FPGA Verilog軟件編程、網(wǎng)絡(luò )UPNP協(xié)議控制、文件共享、遠程播放/控制等多種協(xié)議,涵蓋范圍相當廣泛,目前國內基本上還沒(méi)有供應商能進(jìn)行相關(guān)的設計和制作。
小結
音頻系統屬于典型的低頻模擬信號和高頻數字信號結合的系統,因此能做好的廠(chǎng)家國際上都是屈指可數,國內更是罕見(jiàn)。經(jīng)過(guò)我們三年多的研發(fā),系統終于達到了國際中上游水平,產(chǎn)品聽(tīng)感和國際一線(xiàn)品牌Linn Akurate DS相當,由于系統設計合理得當,在嚴格的聽(tīng)音環(huán)境通過(guò)監聽(tīng)音箱和與市場(chǎng)價(jià)格在12,000元左右某知名歐洲品牌的DAC A/B對比,聽(tīng)感更勝一籌。
評論