• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      通用音頻解碼器驗證系統(tǒng)設計與實現(xiàn)

      2011-03-21 05:12:32全浩軍郭繼昌張濤
      電子技術應用 2011年6期
      關鍵詞:系統(tǒng)控制解碼器緩沖區(qū)

      全浩軍,郭繼昌,張濤

      (天津大學電子信息工程學院,天津300072)

      近年來,數(shù)字多媒體技術得到了前所未有的發(fā)展。數(shù)字音頻技術已經同CD、DVD和MP3等娛樂產品一起進入到人們的日常生活中,對人們的生活產生了巨大影響[1]。而隨著個人數(shù)字娛樂產品的普及,音頻專用解碼芯片以其低成本和高性能而得到了廣泛的應用[2-3]。

      在音頻解碼芯片設計過程中,研究人員往往需要對解碼器的功能進行反復驗證[4]。傳統(tǒng)的驗證方法一般是利用FPGA搭建專用的測試平臺并使用ChipScope等在線邏輯分析儀進行輔助分析。這種方法可以有針對性地獲取用戶所需數(shù)據,從而在一定程度上達到驗證的目的,但存在一些缺陷。首先,測試平臺通用性差,無法兼容多個音頻解碼器。即使對于同一個解碼器,一旦接口或內部測試模塊改變,測試平臺就需要做相應的修改。其次,受限于在線邏輯分析儀的功能,測試結果的顯示不直觀,如無法根據用戶的需求實現(xiàn)可配置的圖形化顯示功能。為此,本文設計并實現(xiàn)了一個通用的音頻解碼器測試系統(tǒng),其功能強大,并具有良好的可擴展性,可以幫助研究人員提高工作效率,具有很大的實用價值。

      圖1 通用音頻解碼器驗證系統(tǒng)總體結構

      1 系統(tǒng)結構與工作原理

      系統(tǒng)總體結構如圖1所示。在FPGA內部,該驗證系統(tǒng)主要由系統(tǒng)控制、碼流輸入、輸入緩沖、音頻解碼器、輸出緩沖、音頻輸出、信息提取和信息顯示共八個模塊組成。

      系統(tǒng)復位完成后,如果用戶在一定時間內沒有改變系統(tǒng)參數(shù),則系統(tǒng)會根據默認設置運行。首先,碼流輸入模塊接收系統(tǒng)控制模塊的指令,指定接口芯片在存儲介質的特定位置讀取數(shù)據并將其寫入輸入緩沖區(qū)中。當輸入緩沖區(qū)中的有效數(shù)據量到達預先設定的解碼最小值時,音頻解碼器便開始從輸入緩沖區(qū)中讀取編碼數(shù)據并進行解碼,之后將解碼得到的PCM樣本寫入到輸出緩沖區(qū)中。同樣,在輸出緩沖區(qū)中的有效數(shù)據量達到預先設定的播放最小值時,音頻輸出模塊開始根據獲得的音頻信息以給定的速率從輸出緩沖區(qū)中讀取PCM樣本,并按照特定的格式輸出到AC’97編解碼芯片中,從而驅動揚聲器發(fā)出聲音。在系統(tǒng)運行過程中,系統(tǒng)控制模塊實時響應用戶輸入、改變系統(tǒng)工作狀態(tài)。而信息顯示模塊則將信息提取模塊獲得的數(shù)據通過VGA顯示器或LED實時顯示出來。

      1.1 系統(tǒng)控制和信息提取

      系統(tǒng)控制模塊一方面響應用戶輸入從而對系統(tǒng)進行控制,另一方面協(xié)調各模塊工作,防止緩沖區(qū)溢出。對于用戶輸入,系統(tǒng)控制模塊采用了延時查詢與循環(huán)驗證的處理方式,這樣提高了系統(tǒng)判斷的準確性,減少了誤觸發(fā)率[5]。而對于各模塊工作的協(xié)調則由系統(tǒng)控制模塊與信息提取模塊共同完成的。例如在音樂第一幀解碼過程中,系統(tǒng)控制模塊會通過信息提取模塊獲取音樂的基本信息(聲道信息、采樣率等),之后將該信息傳遞給音頻輸出模塊,從而決定輸出緩沖區(qū)中PCM樣本與聲道的對應關系以及音樂的播放速率等。同樣,輸入輸出緩沖區(qū)中的有效數(shù)據量和剩余空間等信息也通過信息提取模塊反饋到系統(tǒng)控制模塊中,作為控制音頻解碼器是否繼續(xù)解碼的依據。此外,信息提取模塊還對獲取的數(shù)據進行整合和篩選,并將處理結果送入到信息顯示模塊中。

      1.2 碼流輸入模塊

      碼流輸入模塊通過接口芯片從存儲介質中讀取數(shù)據并將其存入到輸入緩沖區(qū)中,其結構如圖2所示。系統(tǒng)控制模塊在命令碼流輸入模塊讀取數(shù)據的同時,將起始地址(邏輯地址)和要讀取的數(shù)據量傳遞給該模塊。其中邏輯地址首先通過地址映射子模塊轉換為硬件物理地址,再送到數(shù)據讀取控制子模塊中。數(shù)據讀取控制子模塊確認來自系統(tǒng)控制模塊的指令和數(shù)據合法后,啟動進度控制狀態(tài)機,進而通過讀寫時序產生子模塊將指令寫入接口芯片內的命令寄存器中,之后等待接口芯片的反饋信息并讀取數(shù)據。在數(shù)據讀取過程中,接口芯片的工作狀態(tài)會寫入到狀態(tài)寄存器中,供數(shù)據讀取控制子模塊使用。

      圖2 碼流輸入模塊結構框圖

      1.3 音頻解碼模塊

      音頻解碼模塊即待驗證的音頻解碼器。該模塊的接口分為兩部分:一是與輸入輸出緩沖區(qū)的接口,在默認狀態(tài)下,該部分接口均為單比特串行模式,但系統(tǒng)預留了串并轉換和并串轉換模塊,因此用戶可以選擇使用并行輸入或并行輸出。此外,基于異步FIFO的設計允許用戶在解碼器輸入輸出端使用不同的時鐘;二是與系統(tǒng)控制模塊和信息提取模塊的接口,為了減少接口數(shù)量,系統(tǒng)控制模塊只提供了解碼起始信號和解碼結束反饋信號。而信息提取模塊除提供了必須的解碼信息傳遞接口外,還提供了兩組信息提取接口,一個用于時序波形的顯示,另一個用于直接的數(shù)值顯示。除使用系統(tǒng)默認的接口外,用戶也可根據自己的需要對接口進行定制或擴展??梢姡瑢τ谝话愕囊纛l解碼器,用戶無需改變接口便可將其直接嵌入到驗證系統(tǒng)中,增強了系統(tǒng)的通用性。

      1.4 音頻輸出模塊

      音頻輸出模塊是一個整合PCM輸出控制和AC’97輸入輸出控制的音頻輸出接口。由圖3可見,由比特時鐘生成的同步信號同時送入AC’97編解碼器、SDATA_IN子模塊和SDATA_OUT子模塊中。其中SDATA_OUT子模塊將指令和PCM數(shù)據串行輸出到AC’97編解碼器中,而SDATA_IN子模塊從傳輸?shù)拇行盘栔薪獬鯬CM樣本和編解碼器狀態(tài)信息,并將其送到音頻輸出控制子模塊中。音頻輸出控制子模塊一方面將輸出緩沖區(qū)中的PCM數(shù)據送到SDATA_OUT模塊中,另一方面根據獲得的編解碼器狀態(tài)信息采取相應的操作。例如,在改變音量時,可以先通過SDATA_IN子模塊讀取AC’97編解碼器中音量寄存器中的數(shù)據,再將數(shù)據進行一定的運算后發(fā)送到SDATA_OUT子模塊中,進而通過串行輸出接口寫入AC’97編解碼器的相應寄存器中,從而完成音量的改變。

      圖3 音頻輸出模塊結構框圖

      在系統(tǒng)復位完成后,音頻輸出控制子模塊首先通過SDATA_IN子模塊獲得的狀態(tài)信息判斷AC’97編解碼器的工作狀態(tài),待可以接收指令后,再通過指令控制信息命令SDATA_OUT子模塊將指令ROM中的數(shù)據依次寫入AC’97編解碼器中,從而完成初始化操作。在接收到播放指令后,音頻輸出控制子模塊開始從輸出緩沖區(qū)中讀取PCM樣本并經由SDATA_OUT子模塊將其填入AC’97幀結構的特定位置,實現(xiàn)音樂的播放。

      可見,只要將音頻輸出控制子模塊稍作修改,便可將SDATA_IN子模塊獲得的PCM數(shù)據寫入到緩沖區(qū)中,這為音頻編碼器的驗證提供了支持。

      1.5 信息顯示模塊

      由圖4可見,信息顯示模塊提供了多種數(shù)據顯示方式,即字符顯示、圖形顯示和字符與圖形混合的顯示方式。對于字符顯示,默認的每個字符大小為8×8個像素點,像素點數(shù)值由字符庫產生。在字符庫中,用戶除使用基本的ASCII碼字符外,也可自行定制字符點陣從而實現(xiàn)一些特殊字符或圖形(如公司LOGO)的顯示。因此對于較小的或可以由多個字符構成的圖形,可通過字符庫直接產生。

      圖4 信息顯示模塊結構框圖

      而對于較復雜的圖形,則由圖形生成子模塊通過逐點繪制的方式實現(xiàn)。圖形和字符數(shù)據經過合成和配色后同行場同步信號一起送入到VGA顯示模塊中。

      在信息顯示模塊中,顯示控制子模塊一方面控制行場同步信號及消隱信號的產生、保證圖像數(shù)據的同步輸出,另一方面獲取數(shù)據處理子模塊的輸出數(shù)據,控制圖像的生成。而數(shù)據處理子模塊則根據系統(tǒng)控制模塊指定的顯示方式對原始數(shù)據進行計算或排序處理。例如,當需要在屏幕的322~578行顯示PCM波形時,由于16位PCM數(shù)據的動態(tài)范圍為-32 768~32 767,因此對這些數(shù)據進行加法和移位運算從而將其映射到指定范圍。

      1.6 系統(tǒng)特點

      由以上分析可知,同現(xiàn)有的音頻解碼器驗證系統(tǒng)相比,該系統(tǒng)的優(yōu)勢主要體現(xiàn)在以下幾個方面:

      (1)兼容各種音頻解碼器,具有很好的通用性。

      (2)支持用戶自定義的顯示和分析功能,且只需稍加改動便可用于音頻編碼器的驗證,具有良好的可擴展性。

      (3)基于物理地址的底層數(shù)據讀取方式使用戶可根據需要在存儲介質的任意位置進行非連續(xù)的數(shù)據讀取,既降低了系統(tǒng)復雜度,減少了資源開銷,又增加了數(shù)據讀取的靈活性。

      (4)基于FPGA的純硬件驗證方式,驗證結果更接近流片結果。

      (5)既是一個通用的音頻解碼器驗證平臺,也是一個功能完備且數(shù)據顯示直觀的播放器和演示系統(tǒng)。

      2 系統(tǒng)實現(xiàn)及驗證實例

      整個系統(tǒng)在Xilinx公司的VirtexII pro開發(fā)板上實現(xiàn),其硬件連接結構如圖5所示。其中FPGA內部各模塊使用VHDL和Verilog HDL語言混合編程實現(xiàn),音頻解碼器為MP3解碼器[6]。在系統(tǒng)運行時,F(xiàn)PGA通過System ACE從CF卡中讀取MP3編碼數(shù)據后,在FPGA內部進行解碼,之后通過LM4550進行實時播放。在播放的過程中,系統(tǒng)通過FMS3818將解碼的信息顯示到VGA顯示器上,同時通過LED顯示當前系統(tǒng)的工作狀態(tài)。

      圖5 音頻解碼器驗證系統(tǒng)硬件結構圖

      由系統(tǒng)資源開銷情況(表1)和MP3解碼器的資源開銷情況(表2)可見,在忽略解碼器資源開銷的情況下,整個測試系統(tǒng)的各項資源開銷均不到系統(tǒng)資源的60%。此外,實驗結果表明,該系統(tǒng)的最高時鐘頻率為106.95 MHz,且輸入輸出模塊均具有很強的實時性,可以保證數(shù)據的實時讀取與聲音的流暢播放。

      表1 系統(tǒng)資源開銷情況

      表2 MP3解碼器資源開銷情況

      音頻解碼芯片的研究人員往往需要對解碼器的功能進行反復驗證,傳統(tǒng)的驗證方法存在諸多缺陷,降低了研究人員的工作效率。而本文設計的音頻解碼器驗證系統(tǒng)通用性強、數(shù)據顯示直觀、功能強大,縮短了音頻解碼器的片上驗證周期。實驗結果表明,該系統(tǒng)資源開銷低、實時性強,具有很大的實用價值。

      [1]Hu Ruimin,Zhang Yong,Ai Haojun.Digital audio compression technology and AVS audio standard research[C].proceedings of ISPACS 2005,Hong Kong,China,December,2005:757-759.

      [2]Zhang Hongsheng,Lu Mingying,Wang Guoyu.An ASIC

      implementation of MPEG audio decoders[C].ASICON′07.7th International Conference on.Guilin,China,October,2007:754-757.

      [3]宋奇剛.MP3數(shù)字音頻解碼芯片VLSI設計研究[D].成都:電子科技大學,2005.

      [4]周建,劉鵬,陳科明,等.基于FPGA平臺的媒體系統(tǒng)芯片驗證框架[J].微電子學,2006,36(3):284-287.

      [5]肖看,朱光喜,劉文予,等.FPGA按鍵模式的研究與設計[J].電子技術應用,2008,34(10):45-47.

      [6]FALTMAN I,HAST M,LUNDGREN A,et al.A hardware implementation of an MP3 decoder.DIGITAL IC-PROJECT,LTH,Sweden.2003.5.

      猜你喜歡
      系統(tǒng)控制解碼器緩沖區(qū)
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設計與實現(xiàn)
      科學解碼器(一)
      科學解碼器(二)
      科學解碼器(三)
      線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
      FANUC0iD系統(tǒng)數(shù)控機床冷卻及潤滑系統(tǒng)控制及故障診斷
      基于Lyapunov方法的電網不對稱故障下VSC-HVDC系統(tǒng)控制
      電測與儀表(2016年6期)2016-04-11 12:07:16
      關鍵鏈技術緩沖區(qū)的確定方法研究
      汽油機OBD系統(tǒng)控制原理及故障排除
      帶死區(qū)非線性輸入的未知混沌系統(tǒng)控制
      万宁市| 涞源县| 土默特左旗| 灵宝市| 吴旗县| 合肥市| 建平县| 泸定县| 石家庄市| 阳信县| 英吉沙县| 玛曲县| 农安县| 安阳市| 衡东县| 商水县| 庆云县| 莱州市| 霍山县| 保靖县| 新昌县| 邛崃市| 锦屏县| 米林县| 贡觉县| 六枝特区| 龙胜| 东乌珠穆沁旗| 余干县| 嘉善县| 广德县| 大庆市| 西城区| 集贤县| 乾安县| 中阳县| 唐海县| 湄潭县| 万安县| 洪洞县| 江孜县|