低延時時,、實時聲學處理是許多嵌入式處理應用的關(guān)鍵因素,,其中包括語音預處理、語音識別和主動降噪(ANC),。隨著這些應用領(lǐng)域?qū)崟r性能的要求穩(wěn)步提高,,開發(fā)人員需要以戰(zhàn)略思維來妥善應對這些要求,。由于許多大型系統(tǒng)都由芯片提供可觀的性能,,因此我們往往會將出現(xiàn)的任何額外任務都加載到這些設(shè)備上,,但我們需要知道,延時時和其確定性是非常關(guān)鍵的因素,如果未仔細考慮,,很容易引發(fā)重大的實時系統(tǒng)問題,。本文將探討設(shè)計人員在選擇SoC和專用音頻DSP時應考慮的問題,以避免實時聲學系統(tǒng)出現(xiàn)令人不快的意外,。
低延時聲學系統(tǒng)的應用非常廣泛。例如,,單單是在汽車領(lǐng)域,,低延時對于個人音頻區(qū)域、路噪降噪和車內(nèi)通訊系統(tǒng)等都至關(guān)重要,。
隨著汽車電氣化趨勢涌現(xiàn),,路噪降噪變得更加重要,因為沒有內(nèi)燃機產(chǎn)生明顯噪音,。所以,,與汽車道路接觸相關(guān)的噪音會變得更明顯、更擾人,。減少這種噪音不僅能帶來更舒適的駕駛體驗,,還能減少駕駛員疲勞感。與在專用音頻DSP上部署低延時時聲學系統(tǒng)相比,,在SoC上部署會面臨諸多挑戰(zhàn),。這些問題包括延時時、可擴展性,、可升級性,、算法考量、硬件加速和客戶支持,。我們來逐一進行介紹,。
延時
在實時聲學處理系統(tǒng)中,延時問題非常重要,。如果處理器跟不上系統(tǒng)的實時數(shù)據(jù)搬運和計算需求,,會導致不可接受的音頻斷續(xù)。
一般來說,,SoC會配備小型片內(nèi)SRAM,,因此,大部分本地存儲器訪問必須依賴緩存,。這導致代碼和數(shù)據(jù)的使用具有不確定性,,還會增大處理延時。對于ANC這樣的實時應用來說,,單是這一點就無法接受,。但是,事實上,SoC也會運行管理繁重的多任務非實時操作系統(tǒng),。這會放大系統(tǒng)的不確定性操作特性,,使其很難在多任務環(huán)境中支持相對復雜的聲學處理。
圖1顯示了一個運行實時音頻處理負載的SoC的具體示例,,在處理更高優(yōu)先級的SoC任務時,,CPU負載出現(xiàn)峰值。例如,,在執(zhí)行以SoC為中心的任務時,,包括在系統(tǒng)上進行媒體渲染、瀏覽或執(zhí)行應用,,可能會出現(xiàn)這些峰值,。當峰值超過100% CPU負載時,SoC將不再實時運行,,這會導致音頻丟失,。
圖1.除了運行其他任務外,運行高音頻負載處理的典型SoC的瞬時CPU負載,。1
另一方面,,音頻DSP的架構(gòu)是為了在整個信號處理路徑(從采樣音頻輸入到處理(例如,音效+噪聲抑制)到揚聲器輸出)中實現(xiàn)低延時,。L1指令和數(shù)據(jù)SRAM是最接近處理器內(nèi)核的單周期存儲器,,足以支持多個處理算法,無需將中間數(shù)據(jù)轉(zhuǎn)存到片外存儲器,。此外,,片內(nèi)L2存儲器(離內(nèi)核較遠,但訪問速度仍然比片外DRAM快得多)可以在L1 SRAM的存儲容量不夠時,,提供中間數(shù)據(jù)操作緩存,。最后,音頻DSP通常運行實時操作系統(tǒng)(RTOS),,確??梢栽谛螺斎霐?shù)據(jù)到達之前完成輸入數(shù)據(jù)處理并將其搬移到目標位置,從而確保數(shù)據(jù)緩沖區(qū)在實時操作期間不會上溢,。
系統(tǒng)啟動時的實際延時時(通常通過啟動發(fā)聲來表征)也是重要指標,,尤其是對于汽車系統(tǒng),它要求在啟動后的某個窗口內(nèi)播報提示音,。在SoC領(lǐng)域,,通常采用很長的啟動時序,其中包括啟動整個設(shè)備的操作系統(tǒng),,所以很難或無法滿足這個啟動要求,。另一方面,,可以對運行自己的RTOS、不受其他無關(guān)的系統(tǒng)優(yōu)先級影響的獨立式音頻DSP實施優(yōu)化,,以加快其啟動速度,,從而滿足啟動發(fā)聲要求。
可擴展性
雖然在諸如噪聲控制等應用中,,對于SoC來說,,延時是個問題,但對于想要執(zhí)行聲學處理的SoC來說,,可擴展性是另一個缺點,。換句話說,控制具有許多不同子系統(tǒng)的大型系統(tǒng)(例如汽車多媒體主機和儀表盤)的SoC無法輕易從低端擴展到滿足高端音頻需求,,這是因為每個子系統(tǒng)組件的可擴展性需求之間始終存在沖突,需要在整體SoC利用率方面進行權(quán)衡,。例如,,如果前端SoC連接到遠端收音模組,并且適配多種車型,,那么該收音模組需要從幾個通道擴展到多個通道,,而每個通道都會加劇之前提到的實時問題。這是因為SoC控制下的每個附加特性都會改變SoC的實時行為,,以及多個功能所使用的關(guān)鍵架構(gòu)組件的資源可用性,。這些資源包括存儲器帶寬、處理器內(nèi)核周期和系統(tǒng)總線結(jié)構(gòu)仲裁槽等方面,。
除了有關(guān)連接到多任務SoC的其他子系統(tǒng)的問題外,,聲學系統(tǒng)本身也存在擴展性問題。其中涉及低端到高端的擴展(例如,,增加ANC應用中麥克風和揚聲器通道的數(shù)量),,也涉及音頻體驗擴展,從基本的音頻解碼和立體聲播放一直到3D虛擬化和其他高級功能,。雖然這些要求不具有ANC系統(tǒng)的實時限制,,但它們與系統(tǒng)音頻處理器的選擇直接相關(guān)。
使用一個單獨的音頻DSP作為SoC的協(xié)處理器是解決音頻可擴展性問題的極佳解決方案,,可以實現(xiàn)模塊化的系統(tǒng)設(shè)計和成本優(yōu)化的解決方案,。SoC可以減少對大型系統(tǒng)實時聲學處理需求的關(guān)注,將這種處理需求轉(zhuǎn)移到低延時音頻DSP上進行,。此外,,音頻DSP提供代碼兼容和引腳兼容選項,涵蓋幾種不同的價格/性能/存儲容量等級,,讓系統(tǒng)設(shè)計人員能夠最大限度地靈活選擇適合給定產(chǎn)品層級的音頻性能產(chǎn)品,。
\
圖2.ADSP-2156x DSP,高度可擴展的音頻處理器
可升級性
隨著如今的汽車越來越普遍地采用OTA,通過發(fā)布關(guān)鍵補丁或提供新功能進行升級變得越來越重要,。由于其各個子系統(tǒng)之間的依賴性增加,,這可能會導致SoC的關(guān)鍵問題。首先,,多個處理和數(shù)據(jù)移動線程會在SoC上爭奪資源,。在添加新功能時,尤其是在處于活動高峰期間時,,這會加劇處理器MIPS和存儲空間的競爭,。從音頻的角度來看,其他SoC控制域中的新增特性可能會對實時聲學性能產(chǎn)生無法預測的影響,。這種情況帶來的一個負面影響是:新功能必須在所有操作平面上進行交叉測試,,導致彼此競爭的子系統(tǒng)的各種操作模式之間出現(xiàn)無數(shù)排列組合。所以,,每個升級包的軟件驗證次數(shù)都會成倍增加,。
從另一個角度來看,可以說除了受SoC控制的其他子系統(tǒng)的功能圖譜外,,SoC音頻性能的改善還取決于可用的SoC MIPS,。
算法開發(fā)與性能
顯然,在開發(fā)實時聲學算法時,,音頻DSP旨在達成任務目標,。與SoC的顯著區(qū)別在于,獨立音頻DSP可以提供圖形化開發(fā)環(huán)境,,讓缺乏DSP編碼經(jīng)驗的工程師能夠在其設(shè)計中集成高質(zhì)量的聲學處理,。這種類型的工具可以在不犧牲質(zhì)量和性能的情況下通過縮短開發(fā)時間來降低開發(fā)成本。
例如,,ADI的SigmaStudio?圖形音頻開發(fā)環(huán)境提供多種集成至直觀的圖形用戶界面(GUI)的信號處理算法,,從而能夠創(chuàng)建復雜的音頻信號流。它還支持采用圖形A2B配置進行音頻傳輸,,非常有助于加快實時聲學系統(tǒng)開發(fā),。
音頻輔助硬件特性
除了專為高效并行浮點計算和數(shù)據(jù)訪問而設(shè)計的處理器內(nèi)核架構(gòu)外,音頻DSP通常還采用專用的多通道加速器來運行通用算法,,例如快速傅立葉變換(FFT),、有限和無限脈沖響應(FIR和IIR)濾波,以及異步采樣速率轉(zhuǎn)換(ASRC),。這樣允許在內(nèi)核CPU之外進行實時音頻濾波,、采樣和頻域轉(zhuǎn)換,從而提高內(nèi)核的有效性能,。此外,,由于它們采用優(yōu)化的架構(gòu),,提供數(shù)據(jù)流管理功能,所以有助于構(gòu)建靈活且方便用戶使用的編程模型,。
由于音頻通道數(shù)量,、濾波器流、采樣速率等增加,,我們需要使用配置程度最高的引腳接口,,以支持在線采樣速率轉(zhuǎn)換、精密時鐘和同步高速串行端口來高效的路由數(shù)據(jù),,避免導致延時或外部接口邏輯增加,。ADI公司的SHARC?系列處理器的數(shù)字音頻互連口(DAI)就展現(xiàn)了這種能力,如圖4所示,。
圖3.ADI公司的SigmaStudio圖形開發(fā)環(huán)境
圖4.數(shù)字音頻互連(DAI)框圖
客戶支持
在使用嵌入式處理器進行開發(fā)時,,我們常常會忽略一點,即客戶對設(shè)備的支持,。
盡管SoC供應商提倡在他們的內(nèi)置DSP產(chǎn)品上運行聲學算法,,但在實際使用時這會帶來一些負擔。一方面,,供應商的支持通常更復雜,因為SoC應用開發(fā)領(lǐng)域一般不涉及聲學專業(yè)知識,。因此,,往往很難為想要基于SoC的片內(nèi)DSP技術(shù)開發(fā)自己的聲學算法的客戶提供支持。而是由供應商提供標準算法,,并收取可觀的NRE費用,,然后將聲學算法移植到SoC的一個或多個內(nèi)核中。即使如此,,也無法保證一定能成功,,在供應商無法提供成熟、低延時的框架軟件時更是如此,。最后,,適合基于SoC的聲學處理的第三方生態(tài)系統(tǒng)往往相當脆弱,因為這個領(lǐng)域不是SoC關(guān)注的重點,。
顯然,,專用音頻DSP可為開發(fā)復雜的聲學系統(tǒng)提供更強大的生態(tài)系統(tǒng),從優(yōu)化的算法庫和設(shè)備驅(qū)動程序到實時操作系統(tǒng)和易于使用的開發(fā)工具,。此外,,有助于加快產(chǎn)品上市的以音頻為主的參考平臺(例如ADI的SHARC音頻模塊平臺,如圖5所示)對于SoC來說比較少見,,但在獨立音頻DSP領(lǐng)域卻很常見,。
圖5.SHARC音頻模塊(SAM)開發(fā)平臺
總之,,很明顯,設(shè)計實時聲學系統(tǒng)需要細致,、戰(zhàn)略性的規(guī)劃系統(tǒng)資源,,不能單單通過在多任務SoC上分配處理裕量來進行管理。相反,,針對低延時處理而優(yōu)化獨立的音頻DSP有望提高其耐用性,,縮短開發(fā)時間,實現(xiàn)出色的可擴展性,,以適應未來的系統(tǒng)需求和性能等級,。
參考資料
1 Paul Beckmann?!岸嗪薙OC處理器:性能,、分析和優(yōu)化?!?017年度AES國際汽車音頻大會,,2017年8月。
作者簡介
David Katz在模擬,、數(shù)字和嵌入式系統(tǒng)設(shè)計方面擁有30年的經(jīng)驗,。他是ADI公司汽車信息娛樂系統(tǒng)架構(gòu)總監(jiān)。他在國際上已發(fā)表了將近100篇關(guān)于嵌入式處理的文章,,并在該領(lǐng)域提交了數(shù)篇會議論文,。加入ADI公司之前,他在摩托羅拉公司工作,,擔任電纜調(diào)制解調(diào)器和工廠自動化部門的高級設(shè)計工程師,。David擁有康奈爾大學電氣工程學士學位和工程碩士學位。