基于SoC的AC''97技術(shù)硬件設(shè)計(jì)
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問(wèn)次數(shù):1560
    
    
    引言
    
    符合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分別是讀寫(xiě)使能,addr(16位寬)是音頻控制器的端口地址,din和dout(都是32位寬)分別是總線上的輸入輸出數(shù)據(jù),irq和dma req分別是中斷和dma請(qǐng)求。主模塊(ac'97 ctrl master)負(fù)責(zé)音頻控制器(ac'97 controller-p.htm" target="_blank" title="controller貨源和pdf資料">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)部寄存器讀寫(xiě)緩存器(codec reg write/read buf,簡(jiǎn)稱crbuf)是2個(gè)32位寄存器。寫(xiě)緩沖器可以緩存準(zhǔn)備寫(xiě)入音頻編***內(nèi)部寄存器的控制字,其空時(shí)可以發(fā)出中斷請(qǐng)求;讀緩沖器可以緩存已經(jīng)從音頻編***內(nèi)部寄存器中讀出的狀態(tài)字,其滿時(shí)可以發(fā)出中斷請(qǐng)求?刂坪蜖顟B(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ò)讀寫(xiě)音頻控制器csrs分別來(lái)獲得音頻編***狀態(tài)和設(shè)置音頻編***工作模式;通過(guò)讀寫(xiě)fifo來(lái)緩沖音頻錄制和播放過(guò)程中的pcm音頻數(shù)據(jù);通過(guò)讀寫(xiě)crbuf來(lái)獲得音頻編***內(nèi)部寄存器狀態(tài)和設(shè)置音頻編***內(nèi)部寄存器參數(shù)。下面以音頻播放中的主要步驟為例,介紹音頻控制器的工作原理。
    
    (1)寫(xiě)滿pcm左聲道輸出fifo;
    
    (2)寫(xiě)滿pcm右聲道輸出fifo;
    
    (3)輪詢音頻編***準(zhǔn)備好(codec ready)信號(hào)是否有效;
    
    (4)讀音頻編***的26h寄存器,判斷d/a轉(zhuǎn)換器是否準(zhǔn)備好;
    
    (5)允許crbuf產(chǎn)生中斷請(qǐng)求;
    
    (6)寫(xiě)0到音頻編***的02h寄存器,使主音量衰減最;
    
    (7)等待crbuf產(chǎn)生中斷,響應(yīng)中斷并寫(xiě)0到音頻編***的18h寄存器,使
    
    
    引言
    
    符合audio codec'97協(xié)議(簡(jiǎn)稱ac'97,是由intel公司提出的數(shù)字音頻處理協(xié)議)的音頻控制器不但廣泛應(yīng)用于個(gè)人電腦聲卡,并且為個(gè)人信息終端設(shè)備的soc(如intel的a250)提供音頻解決方案。本文設(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分別是讀寫(xiě)使能,addr(16位寬)是音頻控制器的端口地址,din和dout(都是32位寬)分別是總線上的輸入輸出數(shù)據(jù),irq和dma req分別是中斷和dma請(qǐng)求。主模塊(ac'97 ctrl master)負(fù)責(zé)音頻控制器(ac'97 controller-p.htm" target="_blank" title="controller貨源和pdf資料">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)部寄存器讀寫(xiě)緩存器(codec reg write/read buf,簡(jiǎn)稱crbuf)是2個(gè)32位寄存器。寫(xiě)緩沖器可以緩存準(zhǔn)備寫(xiě)入音頻編***內(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ò)讀寫(xiě)音頻控制器csrs分別來(lái)獲得音頻編***狀態(tài)和設(shè)置音頻編***工作模式;通過(guò)讀寫(xiě)fifo來(lái)緩沖音頻錄制和播放過(guò)程中的pcm音頻數(shù)據(jù);通過(guò)讀寫(xiě)crbuf來(lái)獲得音頻編***內(nèi)部寄存器狀態(tài)和設(shè)置音頻編***內(nèi)部寄存器參數(shù)。下面以音頻播放中的主要步驟為例,介紹音頻控制器的工作原理。
    
    (1)寫(xiě)滿pcm左聲道輸出fifo;
    
    (2)寫(xiě)滿pcm右聲道輸出fifo;
    
    (3)輪詢音頻編***準(zhǔn)備好(codec ready)信號(hào)是否有效;
    
    (4)讀音頻編***的26h寄存器,判斷d/a轉(zhuǎn)換器是否準(zhǔn)備好;
    
    (5)允許crbuf產(chǎn)生中斷請(qǐng)求;
    
    (6)寫(xiě)0到音頻編***的02h寄存器,使主音量衰減最小;
    
    (7)等待crbuf產(chǎn)生中斷,響應(yīng)中斷并寫(xiě)0到音頻編***的18h寄存器,使
熱門(mén)點(diǎn)擊
- 基于FPGA的高級(jí)數(shù)據(jù)加密AES中的字節(jié)替換
- 一種電子專利附圖的制作方法
- 開(kāi)關(guān)電容器現(xiàn)場(chǎng)可編程模擬陣列的頻域SPICE
- PSPICE的應(yīng)用Ⅰ
- 利用APTIXMP3C和Spartan-II
- 基于EDA的交通燈控制系統(tǒng)
- WEBENCH2.0電源設(shè)計(jì)在線模擬器
- 基于SoC的AC''97技術(shù)硬件設(shè)計(jì)
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門(mén)信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究