《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 基于SoC的AC'97技術(shù)硬件設(shè)計(jì)

基于SoC的AC'97技術(shù)硬件設(shè)計(jì)

2011-02-11

引言

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

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

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


性能指標(biāo)

        本設(shè)計(jì)的音頻控制器符合AC'97規(guī)范V2.3,其主要指標(biāo)如下:支持雙聲道錄放音;支持定采樣率(48kHz)和變采樣率錄放音;20位寬16層深PCM音頻數(shù)據(jù)FIFO;支持省電模式;支持中斷、DMA和輪詢3種方式實(shí)現(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是片選信號(hào),WR和RD分別是讀寫使能,ADDR(16位寬)是音頻控制器的端口地址,DIN和DOUT(都是32位寬)分別是總線上的輸入輸出數(shù)據(jù),IRQ和DMA REQ分別是中斷和DMA請(qǐng)求。主模塊(AC'97 CTRL MASTER)負(fù)責(zé)音頻控制器(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ù)的傳輸,由主時(shí)鐘CLK同步。電源控制模塊(POWER CTRL)可以啟動(dòng)省電模式,也由主時(shí)鐘CLK同步。
 

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

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

工作原理

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

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

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

(3)輪詢音頻編解碼器準(zhǔn)備好(Codec ready)信號(hào)是否有效;

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

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

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

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

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

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

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

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

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

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

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

(15)如果內(nèi)存中PCM數(shù)據(jù)被讀完,則放音結(jié)束,否則返回第12步繼續(xù)放音。

SOC仿真環(huán)境的構(gòu)成和原理

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

仿真環(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、耳機(jī)以及麥克風(fēng)插口。可以通過(guò)這些插口來(lái)測(cè)試音頻錄放效果,也可通過(guò)電路板上的測(cè)試點(diǎn)調(diào)試部分關(guān)鍵信號(hào)。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)核的單周期指令,可以實(shí)現(xiàn)讀寫內(nèi)存、訪問(wèn)音頻控制器(包括讀寫FIFO、CRBUF以及CSRS)、響應(yīng)并處理中斷請(qǐng)求或DMA請(qǐng)求。其中,DIN_RAM是32位內(nèi)存數(shù)據(jù)輸入總線;DIN_CTRL是32位音頻控制器數(shù)據(jù)輸入總線;DOUT是32位數(shù)據(jù)輸出總線;IRQ是音頻控制器中斷請(qǐng)求;DMA REQ是音頻控制器DMA請(qǐng)求;RST是音頻控制器異步復(fù)位。

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

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

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

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

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

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

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

參考文獻(xiàn)
1 Audio Codec ’97, Revision 2.3 Revision 1.0, Intel,April 2002
2 MICroBlaze and Multimedia Development Board User Guide UG020 (v1.0),Xilinx, August 2002
3 Core Gennerator Guide - ISE 5, Xilinx
4 LM4549A AC ’97 Rev 2.1 Codec with Sample Rate Conversion and National 3D Sound, National Semiconductor, November 2002



 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
91久久在线观看| 久久国产成人| 精品999在线播放| 国产日韩欧美视频在线| 欧美视频免费看| 欧美精品一区二区视频| 久久影音先锋| 久久久久久亚洲精品杨幂换脸| 欧美一级成年大片在线观看| 亚洲男同1069视频| 亚洲综合二区| 亚洲视频在线二区| 中文欧美在线视频| 亚洲深夜福利在线| 亚洲一区二区伦理| 亚洲一区二区在线播放| 亚洲尤物在线| 亚洲一区二区免费看| 亚洲影视在线播放| 亚洲欧美日韩一区在线| 亚洲欧美日韩国产综合精品二区| 亚洲伊人一本大道中文字幕| 亚洲尤物在线| 午夜天堂精品久久久久| 欧美一级播放| 久久久人成影片一区二区三区观看| 久久精品视频99| 久久夜色精品国产噜噜av| 久久免费视频观看| 牛牛精品成人免费视频| 欧美成人有码| 欧美日韩伦理在线免费| 欧美视频中文在线看 | 亚洲视频每日更新| 亚洲影视综合| 欧美在线免费| 亚洲精品国产日韩| 亚洲美女免费视频| 亚洲自拍偷拍福利| 久久国产主播| 欧美国产另类| 国产精品久久午夜夜伦鲁鲁| 国产欧美短视频| 在线播放精品| 亚洲精品乱码久久久久久日本蜜臀| 一本久道久久久| 亚洲欧美激情精品一区二区| 久久激情综合网| 一本久久a久久精品亚洲| 亚洲男女毛片无遮挡| 欧美一站二站| 欧美成人中文字幕在线| 国产精品电影观看| 国精品一区二区三区| 亚洲欧洲精品一区二区三区 | 欧美成人激情视频免费观看| 欧美日韩视频第一区| 欧美女同视频| 99re视频这里只有精品| 亚洲经典三级| 亚洲精品色婷婷福利天堂| 一区二区三区免费看| 欧美亚洲在线观看| 美日韩精品视频| 国产精品第一区| 伊人久久噜噜噜躁狠狠躁| 99riav1国产精品视频| 午夜精品区一区二区三| 亚洲精品一区中文| 久久av免费一区| 欧美精品 日韩| 国产欧美日韩亚洲精品| 亚洲国产日韩欧美在线动漫| 亚洲一区三区电影在线观看| 亚洲日韩第九十九页| 亚洲欧美日韩国产综合精品二区| 免费欧美在线| 国产欧美日韩麻豆91| 亚洲美女色禁图| 亚洲国产成人av好男人在线观看| 亚洲性感激情| 免费高清在线一区| 国产欧美一区二区精品婷婷| 亚洲人成在线观看| 久久riav二区三区| 午夜精品久久久久久久蜜桃app| 免费久久99精品国产自在现线| 国产精品美女久久久久久久| 亚洲欧洲综合另类| 欧美专区在线播放| 午夜国产精品影院在线观看| 欧美激情精品久久久久久黑人 | 欧美视频在线一区| 亚洲第一区在线| 欧美与黑人午夜性猛交久久久| 亚洲午夜久久久久久久久电影院 | 国产精品国产三级国产普通话蜜臀 | 国产婷婷色一区二区三区四区| 99热在这里有精品免费| 亚洲国产一区二区三区高清| 久久福利毛片| 国产精品一二三四| 亚洲少妇一区| 亚洲色在线视频| 欧美精品不卡| 亚洲国产另类 国产精品国产免费| 欧美一区二区三区免费视| 亚洲欧美日韩另类| 欧美午夜精品理论片a级大开眼界| 亚洲精品日韩在线| 亚洲精品久久久久久久久久久久久 | 影院欧美亚洲| 欧美一区二区三区视频在线观看| 亚洲欧美国产77777| 欧美日韩精品伦理作品在线免费观看| 亚洲高清视频中文字幕| 亚洲电影自拍| 美女精品在线| 亚洲成色777777女色窝| 亚洲国产精品成人久久综合一区 | 在线观看欧美一区| 亚洲欧洲精品成人久久奇米网| 久久久国产一区二区| 国产视频精品va久久久久久| 欧美亚洲免费| 欧美一区免费视频| 国产欧美一区二区精品秋霞影院| 亚洲欧美日韩系列| 久久精品欧美| 国模一区二区三区| 亚洲第一黄色网| 欧美成人国产一区二区| 亚洲国产影院| 中日韩美女免费视频网址在线观看| 欧美日本乱大交xxxxx| 亚洲精品一区二区三区在线观看 | 国产精品影片在线观看| 午夜视频一区| 久久蜜桃av一区精品变态类天堂| 国外视频精品毛片| 亚洲精品影院在线观看| 欧美日韩国产高清| 在线中文字幕不卡| 欧美一区二区三区在线| 国产亚洲欧美日韩一区二区| 亚洲国产高清在线| 欧美另类一区二区三区| 一本色道久久加勒比精品 | 久久aⅴ国产紧身牛仔裤| 激情久久影院| 亚洲精品在线观看视频| 欧美日韩人人澡狠狠躁视频| 9人人澡人人爽人人精品| 香蕉成人伊视频在线观看 | 亚洲在线第一页| 久久久久91| 亚洲激情欧美| 亚洲制服丝袜在线| 国产视频久久久久久久| 亚洲激情中文1区| 国产精品r级在线| 欧美在线短视频| 欧美人与禽猛交乱配视频| 亚洲综合日韩在线| 免费在线欧美视频| 亚洲香蕉网站| 久久综合色一综合色88| 亚洲精品中文字幕有码专区| 性伦欧美刺激片在线观看| 亚洲第一在线综合网站| 亚洲在线第一页| 狠狠综合久久av一区二区小说| 99精品欧美一区二区三区| 国产精品自在线| 日韩午夜电影| 国产一级精品aaaaa看| 一区二区91| 狠狠色狠狠色综合日日tαg| 正在播放亚洲一区| 国外成人网址| 亚洲在线免费观看| 影音先锋亚洲精品| 午夜精品久久一牛影视| 亚洲高清视频在线观看| 欧美亚洲专区| 亚洲精品色婷婷福利天堂| 久久精品国产久精国产爱| 亚洲精品视频在线看| 久久久精品日韩| 亚洲香蕉网站| 欧美久久九九| 久久成人免费电影| 国产精品嫩草影院av蜜臀| 亚洲国产片色| 国产日韩1区| 亚洲一级黄色av| 91久久极品少妇xxxxⅹ软件| 久久精品123| 亚洲一区二区三区影院| 欧美精品久久久久久久免费观看 |