• 
    

    
    

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

      Avalon總線的音頻編解碼控制器IP核設(shè)計(jì)

      2017-06-27 08:08:46秦玉龍
      關(guān)鍵詞:編解碼框圖時序

      秦玉龍

      (宿遷學(xué)院 信息工程學(xué)院,宿遷 223800)

      Avalon總線的音頻編解碼控制器IP核設(shè)計(jì)

      秦玉龍

      (宿遷學(xué)院 信息工程學(xué)院,宿遷 223800)

      介紹了基于Avalon總線的WM8731音頻編解碼控制器IP核的設(shè)計(jì),包括音頻數(shù)據(jù)訪問接口模塊和Avalon-MM接口模塊等,并利用SOPC技術(shù)將其封裝成可重用的IP核。自定義IP核的使用,有效降低了該芯片的開發(fā)難度,同時也使系統(tǒng)易于擴(kuò)展和升級,具有較高的靈活性。在Quartus II和ModelSim下使用VHDL語言完成了控制器的設(shè)計(jì)、仿真以及Nios II系統(tǒng)的構(gòu)建,并通過SignalTap II邏輯分析儀進(jìn)行了硬件測試。仿真和測試結(jié)果表明,該控制器滿足WM8731各項(xiàng)時序要求。

      音頻編解碼;自定義IP核;Avalon總線;Nios II

      引 言

      隨著數(shù)字音頻技術(shù)在語音識別、加密、音效處理等方面的廣泛應(yīng)用,人們對語音信號的采集與處理也提出了更高的要求[1]。傳統(tǒng)的音頻數(shù)據(jù)采集與處理系統(tǒng)大多基于單片機(jī)或者數(shù)字信號處理器(DSP),其具有效率低、靈活性差等缺點(diǎn)[2]。在基于SOPC(System On Programmable Chip,片上可編程系統(tǒng))的系統(tǒng)中,由于FPGA的可編程性,可以根據(jù)實(shí)際需要裁減處理器,選擇需要的標(biāo)準(zhǔn)外設(shè),定制用戶外設(shè),為計(jì)算密集型任務(wù)開發(fā)專用的硬件加速器[3]。因此,SOPC方案具有靈活、高效等優(yōu)點(diǎn)。

      系統(tǒng)采用SOPC技術(shù),定制了基于Avalon總線的WM8731音頻編解碼控制器IP核,并將其和Nios II處理器、存儲器、I/O接口等標(biāo)準(zhǔn)IP核集成在一起,構(gòu)成用戶定制的Nios II處理器系統(tǒng)。在Quartus II 11.0環(huán)境下構(gòu)建了基于Altera公司的EP4CE115F29C7芯片的硬件系統(tǒng),在Nios II 11.0 SBT for Eclipse環(huán)境下進(jìn)行了驅(qū)動程序的設(shè)計(jì),對定制的IP核進(jìn)行了完整的測試。經(jīng)測試表明,音頻數(shù)據(jù)采集實(shí)時性高、輸出音頻質(zhì)量好,滿足WM8731各項(xiàng)時序要求。

      1 系統(tǒng)設(shè)計(jì)

      系統(tǒng)主要由Nios II處理器、SDRAM控制器、FLASH控制器、JTAG_UART等標(biāo)準(zhǔn)IP核以及音頻編解碼控制器IP核構(gòu)成。系統(tǒng)總體框圖如圖1所示。

      音頻編解碼控制器IP核由音頻數(shù)據(jù)訪問接口和Avalon接口模塊組成。音頻數(shù)據(jù)訪問接口主要負(fù)責(zé)音頻數(shù)據(jù)采集(ADC部分)和輸出(DAC部分)。Nios II處理器作為整個系統(tǒng)核心,通過I2C接口配置該控制器。I2C接口時序由PIO端口通過軟件模擬實(shí)現(xiàn),該部分內(nèi)容可參考相關(guān)文獻(xiàn),本文不再贅述。

      圖1 系統(tǒng)總體框圖

      在進(jìn)行音頻數(shù)據(jù)采集時,首先ADC部分負(fù)責(zé)將串行音頻輸入數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)并存入adcfifo,然后Nios II處理器可將adcfifo中的音頻數(shù)據(jù)讀取出來并存儲到sdram中。在輸出音頻數(shù)據(jù)時,首先Nios II處理器將存儲在sdram中的音頻數(shù)據(jù)寫入dacfifo,然后DAC部分負(fù)責(zé)從dacfifo中讀取音頻數(shù)據(jù)并進(jìn)行并串轉(zhuǎn)換。

      2 音頻編解碼控制器設(shè)計(jì)

      2.1 WM8731音頻接口介紹

      系統(tǒng)采用WM8731音頻編解碼芯片。WM8731共有4種音頻接口模式[4],這些模式指定了時鐘信號和串行數(shù)據(jù)之間的時序關(guān)系。在本系統(tǒng)中,數(shù)據(jù)訪問使用I2S模式和16位分辨率。在該模式下,ADC輸出的數(shù)據(jù)流格式如圖2所示。有效數(shù)據(jù)在adclrc發(fā)生電平變化后的第2個bclk開始。adclrc作為一個校準(zhǔn)時鐘,用于指示adcdat是左

      圖2 I2S模式下ADC/ADC數(shù)據(jù)時序波形

      聲道還是右聲道數(shù)據(jù)。當(dāng)adclrc為低電平時,輸出左聲道數(shù)據(jù);為高電平時,輸出右聲道數(shù)據(jù)。bclk作為一個位時鐘,在每個時鐘的下降沿輸出一個新的數(shù)據(jù)。首先輸出的是最高有效位。

      DAC輸出數(shù)據(jù)流格式與ADC的類似,但是數(shù)據(jù)是通過dacdat線從數(shù)據(jù)訪問接口模塊輸出到WM8731芯片,daclrc作為校準(zhǔn)時鐘。

      2.2 音頻數(shù)據(jù)采集設(shè)計(jì)

      音頻數(shù)據(jù)采集部分的功能框圖如圖3所示。首先通過移位寄存器adc_shift_reg實(shí)現(xiàn)串并轉(zhuǎn)換;然后通過數(shù)據(jù)緩沖器adc_buf將并行數(shù)據(jù)寫入adcfifo。

      圖3 音頻數(shù)據(jù)采集功能框圖

      仿真波形圖如圖4所示。由圖4可見,音頻數(shù)據(jù)的采集是從adclrc信號變化后的第二個bclk時鐘上升沿開始的,滿足I2S模式下數(shù)據(jù)流的時序要求。音頻數(shù)據(jù)的串并轉(zhuǎn)換發(fā)生在adclrc信號變?yōu)?之后的第一個bclk時鐘上升沿,將并行數(shù)據(jù)寫入adc_buf寄存器;在該時刻如果adcfifo沒有滿,則產(chǎn)生一個adcfifo寫請求信號,從而在下一個bclk時鐘上升沿將數(shù)據(jù)寫入adcfifo。

      圖4 音頻數(shù)據(jù)采集仿真波形圖

      2.3 音頻數(shù)據(jù)輸出設(shè)計(jì)

      音頻數(shù)據(jù)輸出部分的功能框圖如圖5所示。在dacfifo非空時,通過輸出數(shù)據(jù)緩沖器dac_buf將dacfifo中的數(shù)據(jù)加載到到移位寄存器,進(jìn)行并串轉(zhuǎn)換。在進(jìn)行并串轉(zhuǎn)換時,根據(jù)I2S模式下數(shù)據(jù)流的時序要求,在發(fā)送左右聲道數(shù)據(jù)之前需要插入一個時鐘周期的空閑周期,然后按照從高位到低位順序依次輸出每一位數(shù)據(jù)。

      圖5 音頻數(shù)據(jù)輸出功能框圖

      該部分仿真波形如圖6所示。當(dāng)檢測到daclrc下降沿且dacfifo非空時,發(fā)出dacfifo_rd信號將dacfifo數(shù)據(jù)讀取到q讀數(shù)據(jù)總線上;同時將dac_buf緩沖器中的數(shù)據(jù)加載到dac_shift_reg移位寄存器中。當(dāng)檢測到daclrc上升沿時,將q讀數(shù)據(jù)總線上的數(shù)據(jù)讀到dac_buf緩沖器中。

      圖6 音頻數(shù)據(jù)輸出仿真波形圖

      2.4 Avalon接口設(shè)計(jì)

      Avalon總線是Altera公司開發(fā)的用于連接Nios II處理器和各種IP核模塊的總線技術(shù)[3]。為了將控制器集成到Nios II系統(tǒng)中,必須為其封裝一個Avalon接口,使其滿足Avalon接口規(guī)范中定義的信號和時序要求。

      該控制器的Avalon接口主要包括一個Avalon存儲器映射(Avalon-MM)從接口、一個導(dǎo)管(Conduit)接口、一個時鐘輸入接口和一個復(fù)位輸入接口。從接口包含片選、地址、讀寫和讀寫數(shù)據(jù)等Avalon信號,用于與Nios II處理器交互,導(dǎo)管接口包含連接外部芯片所需的各信號??刂破魍ㄟ^從接口和Nios II處理器之間的交互如下:讀取來自于adcfifo的32位音頻數(shù)據(jù)或者adcfifo_empty、dacfifo_full狀態(tài)信號;將32位音頻數(shù)據(jù)寫入dacfifo中;發(fā)送清零命令。

      數(shù)據(jù)讀/寫操作遵循Avalon從接口的基本讀/寫時序,如圖7所示。根據(jù)Avalon總線規(guī)范要求,讀寫命令由Avalon總線在時鐘的上升沿發(fā)出[5]。對于讀操作,從接口可在當(dāng)前時鐘的下降沿提供有效數(shù)據(jù),從而保證Avalon總線能夠在下一個時鐘的上升沿讀取到有效數(shù)據(jù)。對于寫操作,從接口必須在下一個時鐘的上升沿捕獲寫數(shù)據(jù)。

      圖7 Avalon從接口基本讀寫時序圖

      3 IP核的創(chuàng)建及測試

      圖8 音頻編解碼控制 器IP核框圖

      在完成音頻編解碼控制器設(shè)計(jì)之后,可以通過Qsys系統(tǒng)集成工具來創(chuàng)建一個新的IP核,如圖8所示,可以將其集成到Nios II系統(tǒng)中。在設(shè)置Avalon-MM從接口s1時,根據(jù)上述Avalon接口部分的設(shè)計(jì),需要將等待時間設(shè)置為0,即從接口s1的讀寫操作都是在一個時鐘周期內(nèi)完成的。

      對該IP核的測試工作可分兩個方面:搭建硬件系統(tǒng)平臺、編寫驅(qū)動程序。

      硬件系統(tǒng)平臺可以在Quartus II環(huán)境下搭建,主要由Nios II處理器、SDRAM控制器、FLASH控制器等標(biāo)準(zhǔn)IP核和用戶自定義的音頻編解碼控制器IP核組成。

      驅(qū)動程序的編寫在Nios II SBT for Eclipse環(huán)境下完成,驅(qū)動程序由I2C驅(qū)動和音頻數(shù)據(jù)的訪問程序兩部分構(gòu)成,I2C驅(qū)動通過PIO端口模擬實(shí)現(xiàn)。音頻數(shù)據(jù)訪問程序可用于查看FIFO緩存器的狀態(tài),輸入和輸出音頻數(shù)據(jù),通過以下宏實(shí)現(xiàn)[6]:

      IORD(audio_base,ADC_DATA_REG);

      IORD(audio_base,STATUS_REG);

      IOWR(audio_base,DAC_DATA_REG,data);

      IOWR(audio_base,CMD_REG,data);

      宏定義中各寄存器的含義如表1所列。

      測試時通過SignalTap II邏輯分析儀采樣到的波形如圖9所示??梢姡刂破鞯妮斎?、輸出信號均滿足WM8731各項(xiàng)時序要求。

      Audio Codec Controller IP Core Design Based on Avalon Bus

      Qin Yulong

      (School of Information Technology,Suqian College,Suqian 223800,China)

      In the paper,the design of WM8731 audio codec controller IP core based on the Avalon bus is designed,including the codec data access interface module and the Avalon-MM interface module,which is encapsulated into reusable IP cores using SoPC technology.The use of custom IP core can effectively reduce the difficulty of the development of the chip,and makes the system easy to expand and upgrade,and it has the advantages of high flexibility.The design and simulation of the controller and the construction of Nios II system are completed in Quartus II and ModelSim using VHDL,and the hardware verification is performed using SignalTap II logic analyzer. The simulation and test results show that the controller can meet the timing requirements of WM8731.

      audio codec;custom IP Core;Avalon bus;Nios II

      TP334.4

      A

      猜你喜歡
      編解碼框圖時序
      時序坐標(biāo)
      基于Sentinel-2時序NDVI的麥冬識別研究
      1553B總線控制器編解碼設(shè)計(jì)
      捷豹I-PACE純電動汽車高壓蓄電池充電系統(tǒng)(三)
      大型民機(jī)試飛遙測視頻編解碼方法研究
      基于H.265編解碼的高清視頻傳輸系統(tǒng)研究
      電子測試(2018年18期)2018-11-14 02:30:54
      電路圖2017年凱迪拉克XT5
      算法框圖的補(bǔ)全
      一種毫米波放大器時序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      基于圖表法構(gòu)建《萬有引力定律與航天》知識網(wǎng)絡(luò)
      米林县| 东阳市| 华阴市| 阿尔山市| 湖州市| 高青县| 白河县| 阜宁县| 抚州市| 托克托县| 伊春市| 镇平县| 丹凤县| 崇左市| 永和县| 和政县| 霸州市| 偃师市| 洛川县| 永吉县| 象山县| 和静县| 瑞昌市| 红安县| 泰和县| 乡城县| 砚山县| 绥中县| 许昌市| 澄江县| 民丰县| 星子县| 郴州市| 蚌埠市| 巴塘县| 保山市| 平塘县| 慈溪市| 塔河县| 久治县| 广昌县|