新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoC的AC97技術(shù)硬件設(shè)計(jì)

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

作者: 時(shí)間:2011-09-21 來(lái)源:網(wǎng)絡(luò) 收藏
SOC仿真環(huán)境的構(gòu)成和原理

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

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

內(nèi)核仿真環(huán)境的以Xilinx公司的MICroBlaze多媒體開(kāi)發(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)。內(nèi)核仿真環(huán)境的構(gòu)成如圖2所示。

本文引用地址:http://m.butianyuan.cn/article/150187.htm

圖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)讀寫(xiě)內(nèi)存、訪問(wèn)音頻控制器(包括讀寫(xiě)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集成開(kāi)發(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開(kāi)發(fā)電路板上的晶振發(fā)出27MHz和50MHz的占空比1:1的方波信號(hào)作為時(shí)鐘發(fā)生模塊的輸入,調(diào)用數(shù)字鎖相環(huán)硬核模塊(CLOCKGEN.v和CLOCKGEN.ucf)可輸出各倍頻時(shí)鐘(本用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)更改音頻控制器的。這樣就能使音頻控制器的特性也能和內(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開(kāi)發(fā)電路板的耳機(jī)插口,可以聽(tīng)到維持將近3秒鐘的音頻信號(hào),和原音頻文件的聲音基本一致。使用音頻分析軟件Audicity來(lái)分析音頻播放效果,原始音源與開(kā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)的效率。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉