《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于SoC的AC'97技術硬件設計

基于SoC的AC'97技術硬件設計

2011-02-11

引言

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

音頻控制器的結構和原理

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


性能指標

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

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

                                         圖1 音頻控制器的主結構

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

工作原理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(15)如果內存中PCM數據被讀完,則放音結束,否則返回第12步繼續放音。

SOC仿真環境的構成和原理

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

仿真環境的構成

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

                                       圖2 SoC內核仿真環境的構成

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

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

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

內核模擬模塊的實現原理

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

基于SoC內核仿真環境的放音實例

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

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

參考文獻
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



 

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲免费观看在线视频| 欧美精品乱人伦久久久久久| 亚洲欧洲一二三| 亚洲欧美日韩成人| 欧美性猛交99久久久久99按摩| 亚洲欧美中文日韩在线| 蜜月aⅴ免费一区二区三区| 尤物网精品视频| 一区二区三区鲁丝不卡| 中文在线一区| 欧美绝品在线观看成人午夜影视| 亚洲日本欧美天堂| 激情五月***国产精品| 亚洲乱码国产乱码精品精天堂| 国产欧美一区二区视频| 精品成人一区| 欧美精品偷拍| 欧美精品免费在线| 国产日韩欧美精品在线| 久久一区二区三区超碰国产精品| 欧美成年视频| 欧美激情亚洲综合一区| 一本久久综合| 美女图片一区二区| 国产日韩欧美另类| 亚洲欧洲综合另类| 在线视频国产日韩| 亚洲黄页一区| 欧美在线视频一区| 免费看av成人| 欧美区一区二| 国产欧美日本一区二区三区| 欧美华人在线视频| 国产视频精品xxxx| 欧美大片在线观看| 欧美美女操人视频| 亚洲精品在线三区| 亚洲精品亚洲人成人网| 1000精品久久久久久久久| 国产综合精品一区| 欧美日韩国产免费| 欧美国产高潮xxxx1819| 国产日韩精品视频一区二区三区| 女人香蕉久久**毛片精品| 美国三级日本三级久久99| 久久成年人视频| 国产精品igao视频网网址不卡日韩| 久久国产夜色精品鲁鲁99| 制服丝袜激情欧洲亚洲| 美女诱惑黄网站一区| 午夜亚洲性色福利视频| 久久综合影视| 国产精品视频一二| 美日韩精品免费观看视频| 亚洲人成亚洲人成在线观看图片| 欧美人与禽猛交乱配| 国内免费精品永久在线视频| 欧美激情一区二区三区四区| 国内精品久久久久影院优| 在线观看国产日韩| 欧美日韩一二三四五区| 国产精品入口66mio| 国产精品区一区二区三区| 欧美日韩国产一区二区| 怡红院精品视频| 亚洲国产精品久久人人爱蜜臀| 欧美一区1区三区3区公司| 国产亚洲永久域名| 国产在线观看91精品一区| 亚洲国产精品成人综合| 亚洲欧美日韩一区二区三区在线| 亚洲一区二区久久| 国产亚洲精品福利| 欧美日产在线观看| 欧美视频一区二区三区在线观看| 欧美日本国产在线| 中文av字幕一区| 9色精品在线| 欧美**字幕| 亚洲天堂av高清| 在线观看日韩av先锋影音电影院| 欧美国产综合一区二区| 美女尤物久久精品| 午夜视频久久久| 亚洲人成欧美中文字幕| 久久精品青青大伊人av| 欧美日韩国产不卡在线看| 国产欧美一区二区三区在线老狼| 亚洲二区在线视频| 西西人体一区二区| 亚洲免费视频网站| 欧美制服丝袜| 国产日韩欧美一区| 99国产成+人+综合+亚洲欧美| 亚洲观看高清完整版在线观看| 欧美视频一区二区三区| 欧美专区日韩专区| 国产精品chinese| 国产精品网站在线播放| 好吊日精品视频| 国产麻豆一精品一av一免费| 国内精品久久久久伊人av| 一区二区在线视频观看| 国产午夜精品一区理论片飘花| 欧美日韩另类国产亚洲欧美一级| 一区二区不卡在线视频 午夜欧美不卡在| 欧美中文字幕视频在线观看| 亚洲电影欧美电影有声小说| 亚洲高清视频在线| 亚洲一区视频在线观看视频| 葵司免费一区二区三区四区五区| 国内偷自视频区视频综合| 一本久道综合久久精品| 国产亚洲毛片| 欧美日韩人人澡狠狠躁视频| 在线观看欧美日韩| 午夜精品免费| 欧美国产日韩a欧美在线观看| 久久婷婷人人澡人人喊人人爽| 久久五月天婷婷| 欧美日韩国产免费观看| 国产精品老牛| 一区二区在线免费观看| 欧美在线观看你懂的| 欧美另类视频在线| 一区二区亚洲精品| 欧美日韩国产片| 亚洲另类春色国产| 亚洲欧洲一区| 亚洲二区精品| 亚洲欧美视频在线观看| 午夜影视日本亚洲欧洲精品| 欧美日韩国产精品| 久久视频一区二区| 亚洲成人在线视频网站| 国产婷婷精品| 久久一区二区视频| 午夜在线视频观看日韩17c| 亚洲美女毛片| 你懂的国产精品永久在线| 欧美大片一区| 国产精品―色哟哟| 亚洲一区二区三区免费视频| 久久精选视频| 亚洲图片在线观看| 欧美日韩视频在线观看一区二区三区| 欧美a级一区二区| 欧美一级精品大片| 欧美成人免费在线视频| 亚洲自拍电影| 欧美在线观看www| 欧美精品1区| 国产精品久久国产三级国电话系列| 亚洲国产99| 老司机免费视频一区二区| 欧美一区二区三区婷婷月色| 欧美h视频在线| 亚洲欧美日本另类| 久久一区激情| 欧美激情视频一区二区三区免费| 欧美日韩精品久久| 久久久久网址| 精品va天堂亚洲国产| 国产精品国产三级国产普通话蜜臀| 欧美日韩综合网| 亚洲国产精品免费| 99国产精品久久久久久久久久| 欧美中文字幕视频在线观看| 欧美日韩另类国产亚洲欧美一级| 国产亚洲午夜高清国产拍精品| 欧美一二三区在线观看| 欧美三级视频在线观看| 欧美a级在线| 国产精品久久国产三级国电话系列| 欧美三级欧美一级| 亚洲欧美激情一区| 亚洲精品久久在线| 亚洲日本无吗高清不卡| 国产目拍亚洲精品99久久精品| 久久精品国产亚洲一区二区三区| 欧美精品日韩三级| 久久夜色精品国产亚洲aⅴ| 久久精品国产一区二区三| 久久综合国产精品台湾中文娱乐网| 黄色亚洲在线| 欧美精品一级| 日韩一区二区精品葵司在线| 激情五月婷婷综合| 午夜视黄欧洲亚洲| 国内外成人免费视频| 欧美日韩在线视频一区| 国内精品视频666| 亚洲国产第一| 欧美14一18处毛片| 男男成人高潮片免费网站| 欧美日在线观看| 国产日韩欧美综合| 欧美日韩国产综合网| 久久女同互慰一区二区三区| 欧美乱人伦中文字幕在线| 99v久久综合狠狠综合久久| 亚洲一二三区视频在线观看| 亚洲电影欧美电影有声小说| 国产一区二区你懂的| 另类人畜视频在线| 国产一区欧美日韩| 亚洲激情在线观看视频免费| 性欧美在线看片a免费观看| 中文一区二区在线观看| 亚洲高清久久久| 亚洲国产成人精品久久久国产成人一区| 亚洲第一在线综合在线| 久久久久久久激情视频| 日韩视频国产视频| 国产精品成人aaaaa网站| 欧美在线免费| 国产精品99一区二区| 国产一区二区三区在线观看网站| 欧美午夜精品久久久久久孕妇| 国产精品久久激情| avtt综合网| 久久久成人网| 国产精品美女主播在线观看纯欲| 欧美在线免费观看视频| 久久精品一区二区三区不卡| 欧美视频你懂的| 亚洲在线观看视频| 小黄鸭精品aⅴ导航网站入口| 国产夜色精品一区二区av| 美女露胸一区二区三区| 国产精品久久久久久久电影| 欧美日本亚洲| 欧美日韩国产高清| 欧美在线资源| 亚洲在线1234| 亚洲一区二区三区精品在线| 国产精品jizz在线观看美国| 亚洲国产成人午夜在线一区| 久久久一本精品99久久精品66| 一区二区高清视频| 国产精品普通话对白| 亚洲国产欧美国产综合一区| 亚洲国产视频一区二区| 免费亚洲一区| 欧美影院午夜播放| 亚洲精品视频在线观看免费| 欧美日韩国产在线一区| 欧美有码视频| 久久精品亚洲一区二区| 欧美在线免费观看| 国产日韩欧美综合精品| 性一交一乱一区二区洋洋av| 欧美午夜精品伦理| 欧美日韩在线免费观看| 久久久久久久久久久久久9999| 99爱精品视频| 在线观看中文字幕不卡| 亚洲国产成人午夜在线一区| 你懂的国产精品| 亚洲亚洲精品三区日韩精品在线视频| 亚洲视频在线免费观看| 在线免费观看一区二区三区| 国产精品福利影院| 午夜精品影院在线观看| 亚洲欧美国产精品专区久久| 一区二区三区欧美| 尤物视频一区二区| 久久免费国产| 黄色精品一区二区| 亚洲黄色大片| 欧美日韩mv| 国产精品男人爽免费视频1| 性做久久久久久久免费看| 亚洲一区三区电影在线观看| 国产拍揄自揄精品视频麻豆| 99精品国产福利在线观看免费| 欧美日韩在线高清| 国产毛片精品国产一区二区三区| 亚洲一区二区在线看| 美女任你摸久久| 亚洲国产精品热久久| 亚洲国产美国国产综合一区二区| 久久精品色图| 99在线精品视频在线观看| 国产欧美视频一区二区| 日韩视频免费观看| 黄网站免费久久| 国产精品久久999| 久久国产黑丝| 欧美高清日韩| 亚洲免费不卡| 亚洲品质自拍| 国产色婷婷国产综合在线理论片a| 亚洲精品美女久久7777777| 欧美精品videossex性护士| 亚洲精品日韩一| 国产精品国产三级国产普通话三级| 亚洲国产日韩欧美在线图片| 红桃视频国产精品| 欧美日韩中文| 欧美日韩在线第一页| 久久成人一区| 一区二区三区中文在线观看| 亚洲国产精品成人va在线观看| 欧美日产在线观看| 欧美顶级大胆免费视频| 噜噜噜噜噜久久久久久91| 亚洲国语精品自产拍在线观看| 老司机精品视频一区二区三区| 欧美成人a∨高清免费观看| 久久高清国产| 亚洲一二区在线| 欧美成人精品一区二区三区| 日韩网站在线看片你懂的| 亚洲伊人第一页| 欧美综合激情网| ●精品国产综合乱码久久久久| 一区二区三区四区在线| 国产一区二区剧情av在线| 国产一区二区主播在线| 日韩午夜剧场| 亚洲青涩在线| 久久久久成人网| 在线综合+亚洲+欧美中文字幕| 巨胸喷奶水www久久久免费动漫| 国产欧美日韩综合| 一区二区视频在线观看| 国产精品综合色区在线观看|