国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Avalon總線的音頻編解碼控制器IP核設計

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

秦玉龍

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

Avalon總線的音頻編解碼控制器IP核設計

秦玉龍

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

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

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

引 言

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

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

1 系統(tǒng)設計

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

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

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

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

2 音頻編解碼控制器設計

2.1 WM8731音頻接口介紹

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

圖2 I2S模式下ADC/ADC數據時序波形

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

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

2.2 音頻數據采集設計

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

圖3 音頻數據采集功能框圖

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

圖4 音頻數據采集仿真波形圖

2.3 音頻數據輸出設計

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

圖5 音頻數據輸出功能框圖

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

圖6 音頻數據輸出仿真波形圖

2.4 Avalon接口設計

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

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

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

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

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

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

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

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

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

驅動程序的編寫在Nios II SBT for Eclipse環(huán)境下完成,驅動程序由I2C驅動和音頻數據的訪問程序兩部分構成,I2C驅動通過PIO端口模擬實現(xiàn)。音頻數據訪問程序可用于查看FIFO緩存器的狀態(tài),輸入和輸出音頻數據,通過以下宏實現(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各項時序要求。

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

猜你喜歡
編解碼框圖時序
基于時序Sentinel-2數據的馬鈴薯遙感識別研究
基于Sentinel-2時序NDVI的麥冬識別研究
1553B總線控制器編解碼設計
捷豹I-PACE純電動汽車高壓蓄電池充電系統(tǒng)(三)
大型民機試飛遙測視頻編解碼方法研究
基于H.265編解碼的高清視頻傳輸系統(tǒng)研究
電子測試(2018年18期)2018-11-14 02:30:54
電路圖2017年凱迪拉克XT5
算法框圖的補全
一種毫米波放大器時序直流電源的設計
電子制作(2016年15期)2017-01-15 13:39:08
基于圖表法構建《萬有引力定律與航天》知識網絡
曲周县| 酒泉市| 固阳县| 彩票| 兴宁市| 秦皇岛市| 神木县| 龙岩市| 隆子县| 福州市| 曲松县| 深州市| 胶州市| 沅江市| 东莞市| 正安县| 巴林左旗| 平泉县| 阳城县| 阿图什市| 禹城市| 汉沽区| 儋州市| 监利县| 沙河市| 岚皋县| 长乐市| 深泽县| 东安县| 扎兰屯市| 博罗县| 喀喇| 宣城市| 民和| 温州市| 娱乐| 万安县| 绥宁县| 平江县| 商城县| 神池县|