如何在SoC設計中加入低開(kāi)銷(xiāo)、低功耗的音頻處理功能
如果你打算設計一個(gè)包含數字音頻的SoC系統,或者正在進(jìn)行這樣一個(gè)項目,那么花幾分鐘時(shí)間閱讀本文可以幫助你在各種技術(shù)參數之間做出更好的平衡,避免設計方向出現偏差,提高流片的成功率,從而節省數周的開(kāi)發(fā)時(shí)間。我們將為你逐一分析設計備選方案,評估中的關(guān)鍵因素以及由此做出的決策。
消費類(lèi)音頻產(chǎn)品的歷史
消費類(lèi)音頻產(chǎn)品的歷史最早可以追溯到130年前,在開(kāi)始的100年間,音頻回放只能采用模擬技術(shù)。那時(shí)采用數字技術(shù)的產(chǎn)品體積龐大,價(jià)格昂貴,對于消費類(lèi)產(chǎn)品來(lái)說(shuō)也過(guò)于復雜。直到1982年,CD光盤(pán)和CD播放器的出現徹底改變了這種局面,黑膠唱片設備似乎一夜之間就消失了。
與此同時(shí),個(gè)人電腦的迅速普及使消費類(lèi)音頻產(chǎn)品與數字技術(shù)緊密結合在一起?;诖疟P(pán)和閃存的MP3(如iPOD)等數字音樂(lè )播放器已經(jīng)取代了磁帶設備。今后音頻產(chǎn)品的發(fā)展方向是什么呢?那就是更加真實(shí)的還原聲音。聲音還原技術(shù)一直在不斷的發(fā)展完善,從早期的單聲道到立體聲,再到用多個(gè)揚聲器營(yíng)造的3D環(huán)繞音效。短短幾年間,家庭影院系統已經(jīng)從5.1聲道進(jìn)化為10.1聲道。每次技術(shù)的飛躍都伴隨著(zhù)更多聲道,更高的采樣位數,以及更強的處理能力。
日趨復雜的音頻編解碼格式對性能的需求不斷增長(cháng),要求處理器的主頻也不斷提高。然而,提高主頻會(huì )給設計帶來(lái)一系列的問(wèn)題,更高的主頻意味著(zhù)更高的功耗,更多的發(fā)熱量,需要容量更大的電池,為了散熱而增加的風(fēng)扇也會(huì )增加產(chǎn)品成本,并會(huì )帶來(lái)令人討厭的噪音。SoC設計過(guò)程中,更高的處理器主頻同時(shí)會(huì )使時(shí)序收斂變得更困難。所有這些問(wèn)題都應該引起設計者的注意。
迄今為止,銷(xiāo)量最大的數字音頻播放器是移動(dòng)電話(huà)。除了撥打電話(huà)的功能,現在的移動(dòng)電話(huà)實(shí)際上都是小型的多媒體終端,既可以播放音視頻內容,又能運行包含了復雜音效的游戲,這些功能要求移動(dòng)電話(huà)具有強勁的音頻處理能力,同時(shí)功耗又要盡可能的低,因為消費者總是希望他們購買(mǎi)的手機有足夠長(cháng)的待機時(shí)間,同時(shí)希望MP3播放器在提供優(yōu)秀音質(zhì)的同時(shí)也能長(cháng)時(shí)間播放。
伴隨著(zhù)音頻的數字化,視頻也已經(jīng)完成了數字化。如今大多數的視頻播放設備都兼容多種音頻標準。在汽車(chē)音響領(lǐng)域,數字化也在如火如荼的進(jìn)行中。多年以前,CD被作為標準裝備裝入汽車(chē),近年來(lái),隨著(zhù)高保真衛星廣播的普及,數字收音機也進(jìn)入了汽車(chē)電子領(lǐng)域。在GPS導航設備中,需要文本到語(yǔ)音的轉換,某些GPS設備還兼具個(gè)人媒體播放器的功能。
音頻編解碼
編解碼格式是所有數字音頻應用中的核心元素,它定義了模擬音頻信號如何數字化并被壓縮成比特流,以及比特流如何被解壓并還原為模擬音頻信號。
在消費類(lèi)產(chǎn)品領(lǐng)域最流行的壓縮算法是MP3格式,它于1991年同MPEG-1視頻標準一起推出,90年代中期,誕生了第一臺MP3播放器。隨后,廠(chǎng)商們不停在推廣其他可以提供更高保真度和更低比特率的算法格式,但MP3仍然在音頻標準中占有重要地位,當前幾乎所有的消費類(lèi)產(chǎn)品都支持MP3格式。
大多數的音頻編解碼算法都采用有損壓縮來(lái)降低所需的比特率。有損壓縮可以減小數據交換和存儲的帶寬需求,從而降低成本,這也是廠(chǎng)商們采用有損壓縮的原因。然而,有損壓縮也會(huì )降低音頻的質(zhì)量,質(zhì)量下降的程度與壓縮算法有關(guān)。只要有足夠強大的處理能力,就可以將聲音損失控制在人耳無(wú)法分辨的水平,因此壓縮算法研究人員依然在不斷改進(jìn)他們的算法。不同的應用需要根據自身特點(diǎn)在音頻質(zhì)量和帶寬需求之間作出平衡,造成了多種數字音頻編解碼格式并存的局面。
當你開(kāi)始考慮如何實(shí)現一種音頻編解碼算法時(shí),你實(shí)際上有4種備選方案
1. 在通用處理器上依靠軟件實(shí)現音頻編解碼。例如在PC上運行的MP3播放器程序。
2. 利用專(zhuān)用的硬件實(shí)現音頻編解碼,早期的便攜MP3播放器采用這種方案。
3. 在DSP處理器上依靠軟件實(shí)現音頻編解碼。
4. 在基于通用處理器進(jìn)行擴展的音頻專(zhuān)用處理器上用軟件實(shí)現音頻編解碼。
方案1,用一個(gè)通用處理器來(lái)實(shí)現所有系統功能,包括用戶(hù)界面,I/O和數字音頻編解碼。這個(gè)方案有以下幾個(gè)優(yōu)點(diǎn)。首先,音頻編解碼只是通用處理器上運行的一段軟件程序,唯一的硬件開(kāi)銷(xiāo)也許只是增加少量的指令內存。其次,由于采用了軟件實(shí)現編解碼,可以實(shí)現多種編解碼算法。最后,當出現新的編解碼算法時(shí),只需要升級軟件就可以支持。
這種方案也的缺點(diǎn)也很明顯。數字音頻對于暫時(shí)失靈很敏感,因為人耳可以捕捉到非常細小的錯誤。在這一點(diǎn)上音頻應用比視頻應用的要求更苛刻。在視頻應用中,一個(gè)錯誤的像素往往不會(huì )被注意到,而音頻應用中則不然。采用通用處理器來(lái)進(jìn)行音頻編解碼,由于處理器還會(huì )執行其他的任務(wù),其帶寬并非音頻專(zhuān)用,這樣增加了音頻編解碼暫時(shí)失靈的概率。
除此以外,大多數的通用處理器沒(méi)有音頻專(zhuān)用指令,不能 高效的執行音頻編解碼程序,從而不得不提高處理器的主頻,在單位時(shí)間里執行更多的指令來(lái)達到性能要求。
評論