當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]符合Audio Codec'97協(xié)議(簡稱AC'97,是由Intel公司提出的數(shù)字音頻處理協(xié)議)的音頻控制器不但廣泛應用于個人電腦聲卡,并且為個人信息終端設(shè)備的SOC(如Intel的PXA250)提供音頻解決方案。本文設(shè)計的音頻控制器可為DSP內(nèi)

符合Audio Codec'97協(xié)議(簡稱AC'97,是由Intel公司提出的數(shù)字音頻處理協(xié)議)的音頻控制器不但廣泛應用于個人電腦聲卡,并且為個人信息終端設(shè)備的SOC(如Intel的PXA250)提供音頻解決方案。本文設(shè)計的音頻控制器可為DSP內(nèi)核提供數(shù)字音頻接口。全文在介紹音頻控制器結(jié)構(gòu)的同時,著重強調(diào)其與內(nèi)核之間數(shù)據(jù)的協(xié)調(diào)傳輸,并給出基于FPGA實現(xiàn)SoC內(nèi)核仿真環(huán)境對音頻控制器進行功能測試的方法。

音頻控制器的結(jié)構(gòu)和原理

        AC'97系統(tǒng)由音頻編解碼器(Codec)和音頻控制器(Controller)兩個部分組成。其中音頻編解碼器實現(xiàn)A/D、D/A轉(zhuǎn)換、音效處理等功能,而音頻控制器則是SoC內(nèi)核與音頻編解碼器之間的數(shù)字接口,負責控制數(shù)據(jù)和音頻數(shù)據(jù)的串/并、并/串轉(zhuǎn)換以及傳輸。


性能指標

        本設(shè)計的音頻控制器符合AC'97規(guī)范V2.3,其主要指標如下:支持雙聲道錄放音;支持定采樣率(48kHz)和變采樣率錄放音;20位寬16層深PCM音頻數(shù)據(jù)FIFO;支持省電模式;支持中斷、DMA和輪詢3種方式實現(xiàn)與內(nèi)核或內(nèi)存的數(shù)據(jù)交換。

        組成結(jié)構(gòu)音頻控制器的主結(jié)構(gòu)如圖1所示。內(nèi)核/內(nèi)存和音頻控制器接口(CORE/MEMORY,CTRL INTERFACE)連接音頻控制器與內(nèi)核或內(nèi)存。CS是片選信號,WR和RD分別是讀寫使能,ADDR(16位寬)是音頻控制器的端口地址,DIN和DOUT(都是32位寬)分別是總線上的輸入輸出數(shù)據(jù),IRQ和DMA REQ分別是中斷和DMA請求。主模塊(AC'97 CTRL MASTER)負責音頻控制器(AC'97 CONTROLLER)與內(nèi)核或內(nèi)存(DMA模式下)之間PCM音頻數(shù)據(jù)、控制和狀態(tài)寄存器組(CONTROL&STATUS REGS)數(shù)據(jù)以及音頻編解碼器(AC'97 CODEC)內(nèi)部寄存器數(shù)據(jù)各并行數(shù)據(jù)的傳輸,由主時鐘CLK同步。電源控制模塊(POWER CTRL)可以啟動省電模式,也由主時鐘CLK同步。
 

                                         圖1 音頻控制器的主結(jié)構(gòu)

        4組FIFO用于存放PCM音頻數(shù)據(jù),都是20位寬16層深,因此可以支持最高20位寬分辨率。當FIFO滿或者空時,可以發(fā)出中斷或DMA請求。音頻編解碼器內(nèi)部寄存器讀寫緩存器(CODEC REG WRITE/READ BUF,簡稱CRBUF)是2個32位寄存器。寫緩沖器可以緩存準備寫入音頻編解碼器內(nèi)部寄存器的控制字,其空時可以發(fā)出中斷請求;讀緩沖器可以緩存已經(jīng)從音頻編解碼器內(nèi)部寄存器中讀出的狀態(tài)字,其滿時可以發(fā)出中斷請求??刂坪蜖顟B(tài)寄存器組包含8個32位寄存器,其中,通用控制寄存器的主要功能是系統(tǒng)冷啟動、熱啟動;通用狀態(tài)寄存器反映音頻編解碼器狀態(tài);其他寄存器的功能包括配置PCM輸入輸出聲道、配置和產(chǎn)生中斷或DMA請求。輔模塊(AC'97 CTRL SLAVE)實現(xiàn)音頻控制器與音頻編解碼器之間(AC-LINK)數(shù)據(jù)幀的串行發(fā)送和接收。輸出數(shù)據(jù)(SDATA_OUT)由輔時鐘BIT_CLK上跳沿同步,輸入數(shù)據(jù)(SDATA_IN)由BIT_CLK下跳沿同步。

工作原理

        DSP內(nèi)核通過讀寫音頻控制器CSRS分別來獲得音頻編解碼器狀態(tài)和設(shè)置音頻編解碼器工作模式;通過讀寫FIFO來緩沖音頻錄制和播放過程中的PCM音頻數(shù)據(jù);通過讀寫CRBUF來獲得音頻編解碼器內(nèi)部寄存器狀態(tài)和設(shè)置音頻編解碼器內(nèi)部寄存器參數(shù)。下面以音頻播放中的主要步驟為例,介紹音頻控制器的工作原理。

(1)寫滿PCM左聲道輸出FIFO;

(2)寫滿PCM右聲道輸出FIFO;

(3)輪詢音頻編解碼器準備好(Codec ready)信號是否有效;

(4)讀音頻編解碼器的26H寄存器,判斷D/A轉(zhuǎn)換器是否準備好;

(5)允許CRBUF產(chǎn)生中斷請求;

(6)寫0到音頻編解碼器的02H寄存器,使主音量衰減最??;

(7)等待CRBUF產(chǎn)生中斷,響應中斷并寫0到音頻編解碼器的18H寄存器,使PCM輸出音量衰減最??;

(8)等待CRBUF產(chǎn)生中斷,響應中斷并寫1到音頻編解碼器的2AH寄存器,即以變采樣率播放音頻;

(9)等待CRBUF產(chǎn)生中斷,響應中斷并寫5622(十六進制)到音頻編解碼器的2CH寄存器,即以22.05kHz采樣率播放音頻;

(10)允許PCM左右聲道FIFO產(chǎn)生滿中斷;

(11)設(shè)置PCM左右聲道定速率或者變速率傳輸,并開始播放音頻;

(12)等待FIFO中的PCM碼傳送掉16層并發(fā)出中斷請求;

(13)判斷是否是PCM左聲道FIFO發(fā)出中斷請求,如果是,則寫16層PCM左聲道數(shù)據(jù);

(14)判斷是否是PCM右聲道FIFO發(fā)出中斷請求,如果是,則寫16層PCM右聲道FIFO數(shù)據(jù);

(15)如果內(nèi)存中PCM數(shù)據(jù)被讀完,則放音結(jié)束,否則返回第12步繼續(xù)放音。
[!--empirenews.page--]SOC仿真環(huán)境的構(gòu)成和原理

        由音頻控制器的工作原理可見,其每一個步驟都是在DSP內(nèi)核控制下進行的。因此在對音頻控制器進行功能驗證時,不但要保證其本身的邏輯正確,更要保證其與內(nèi)核的數(shù)據(jù)傳輸正確,這樣才有利于音頻控制器和內(nèi)核的整合。由此提出通過構(gòu)件SoC內(nèi)核仿真環(huán)境來逼近真實內(nèi)核,并在這個仿真環(huán)境中測試所設(shè)計的音頻控制器。

仿真環(huán)境的構(gòu)成

        SoC內(nèi)核仿真環(huán)境的硬件以Xilinx公司的MICroBlaze多媒體開發(fā)電路板為基礎(chǔ),其核心是Vertex II FPGA。電路板上還集成了National Semiconductor公司的AC'97 CODEC LM4549 芯片,并且提供了LINE IN/OUT、耳機以及麥克風插口??梢酝ㄟ^這些插口來測試音頻錄放效果,也可通過電路板上的測試點調(diào)試部分關(guān)鍵信號。SoC內(nèi)核仿真環(huán)境的構(gòu)成如圖2所示。

 

                                       圖2 SoC內(nèi)核仿真環(huán)境的構(gòu)成

        內(nèi)核模擬模塊(CORE SIM)是SOC內(nèi)核仿真環(huán)境的核心,以RTL代碼形式下載到Vertex II FPGA中模擬DSP內(nèi)核的單周期指令,可以實現(xiàn)讀寫內(nèi)存、訪問音頻控制器(包括讀寫FIFO、CRBUF以及CSRS)、響應并處理中斷請求或DMA請求。其中,DIN_RAM是32位內(nèi)存數(shù)據(jù)輸入總線;DIN_CTRL是32位音頻控制器數(shù)據(jù)輸入總線;DOUT是32位數(shù)據(jù)輸出總線;IRQ是音頻控制器中斷請求;DMA REQ是音頻控制器DMA請求;RST是音頻控制器異步復位。

        塊內(nèi)存模塊是由Vertex II FPGA中的塊內(nèi)存實現(xiàn)的單端口內(nèi)存,這種內(nèi)存的時序與常規(guī)SRAM相同,可以模擬最大126KB的片上SRAM。在Xilinx集成開發(fā)環(huán)境(ISE)中調(diào)用CORE Generator,就可以生成
這種靜態(tài)內(nèi)存。如果運用Memory Eidtor工具生成cgf和coe文件(塊內(nèi)存的配置文件),就可以在為FPGA下載BIT文件的同時給塊內(nèi)存賦初始值?;贔PGA這項強大的功能,就可以將從個人電腦上提取出來的PCM音頻碼下載到塊內(nèi)存中,然后在內(nèi)核模擬模塊的控制下,通過音頻控制器傳送到音頻編解碼器中,由此實現(xiàn)音頻播放。

        時鐘發(fā)生模塊(CLOCK GENERATOR)可發(fā)出27MHz、54MHz以及108MHz三種時鐘,并且產(chǎn)生音頻控制器異步復位信號RST。MICroBlaze開發(fā)電路板上的晶振發(fā)出27MHz和50MHz的占空比1:1的方波信號作為時鐘發(fā)生模塊的輸入,調(diào)用數(shù)字鎖相環(huán)硬核模塊(CLOCKGEN.v和CLOCKGEN.ucf)可輸出各倍頻時鐘(本設(shè)計用108MHz)以及異步復位信號RST。AC'97 CTRL是以RTL形式下載到Vertex II FPGA中的音頻控制器邏輯。AC'97 CODEC是National Semiconductor公司的LM4549 AC'97 CODEC芯片。

內(nèi)核模擬模塊的實現(xiàn)原理

        RTL代碼模擬的都是流水線中的指令執(zhí)行級,是音頻控制器和內(nèi)核直接交互數(shù)據(jù)的級別。根據(jù)DSP內(nèi)核在指令執(zhí)行級的行為和接口特性,可以靈活地改變內(nèi)核模擬模塊的接口和內(nèi)部信號(通過改變RTL代碼),形成不同的仿真環(huán)境。測試在新的仿真環(huán)境中音頻控制器與內(nèi)核的工作是否協(xié)調(diào)穩(wěn)定,如果結(jié)果不理想,就應更改音頻控制器的設(shè)計。這樣就能使音頻控制器的特性也能和內(nèi)核達到最好的協(xié)調(diào)。

基于SoC內(nèi)核仿真環(huán)境的放音實例

        下面給出基于SoC內(nèi)核仿真環(huán)境播放音頻的實例。音頻來源于Windows2000操作系統(tǒng)初始安裝后winnt/media目錄下的Utopia Windows Start.wav(153KB,16位單聲道的wave文件),提取出文件中的PCM音頻碼后下載到Vertex II的塊內(nèi)存中。音頻控制器在SoC內(nèi)核仿真環(huán)境中控制音頻編解碼器工作,連接耳機到MicroBlaze開發(fā)電路板的耳機插口,可以聽到維持將近3秒鐘的音頻信號,和原音頻文件的聲音基本一致。使用音頻分析軟件Audicity來分析音頻播放效果,原始音源與開發(fā)板播放的音頻略有不同,其原因有以下3點。(1)電腦聲卡錄音起點和原音頻的放音起點不同; (2)由于塊內(nèi)存的最大容量為126KB,所以所錄波形文件只截取了原文件(153KB)的前2/3部分。(3)經(jīng)過SoC內(nèi)核仿真環(huán)境放音,并由電腦聲卡錄音得到的音頻與原音頻的幅度必然不同。第1、2兩個因素引起兩個波形在時間軸方向上的偏差,因素3引起幅度軸方向上的偏差。盡管存在這些差異,但完全可以說明在SoC內(nèi)核仿真環(huán)境中,所設(shè)計的音頻控制器邏輯功能正確,與內(nèi)核能夠協(xié)調(diào)工作。

總結(jié) 
        本文根據(jù)所設(shè)計的音頻控制器的結(jié)構(gòu)詳細介紹了構(gòu)建SOC內(nèi)核仿真環(huán)境來測試音頻控制器的思想和實現(xiàn)方法?;谶@個仿真環(huán)境,不但可以測試音頻控制器實際錄放音的效果和性能,更重要的是可以及時反映其與內(nèi)核的協(xié)調(diào)程度。這樣就可避免孤立設(shè)計音頻控制器而不考慮其與SoC系統(tǒng)協(xié)調(diào)的弊端,明顯提高后期整合SoC系統(tǒng)的效率。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉