名称:录音与播放(WM8731芯片)例程设计Verilog代码Quartus? AX301开发板
软件:Quartus
语言:Verilog
代码功能:
本实验的录音和播放实验因为?AX301/AX4010?FPGA?开发板上没有音频部分的电路,需要外接一个黑金的?AUDIO?音频模块?AN831。音频模块和?AX301/AX4010?的开发板上的?40?针扩展口(J2)相连实现音频数据通信。没有音频模块的用户可以到?ALINX?官方淘宝店购买,?音频模块和开发板连接。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在AX301开发板验证,AX301开发板如下,其他开发板可以修改管脚适配:
设计文档:
录音与播放例程
1?实验简介
本实验的录音和播放实验因为?AX301/AX4010 FPGA?开发板上没有音频部分的电路,需要外接一个黑金的?AUDIO?音频模块?AN831。音频模块和?AX301/AX4010?的开发板上的?40?针扩展口(J2)相连实现音频数据通信。没有音频模块的用户可以到?ALINX?官方淘宝店购买,?音频模块和开发板连接后如下图所示:
音频模块上有三个音频连接器,其中粉色的接口为麦克风输入;绿色的接口为耳机输出;蓝色的 接口为音频输入,?用于连接?DVD?等音频输出口。本实验将实现音频模块和?FPGA?之间的数据通信,?通过音频模块把麦克风输入的语音数据存储到?SDRAM?存储器里,?再把音频数据发送给音频模块,从 耳机接口进行语音的播放,从而实现录音和播放的功能。
2?实验原理
2.1?硬件介绍
AX301/AX4010?开发板通过?40PIN?的扩展口(J2)和?AN831?音频模块连接,AN831?音频模块使用WOLFSON?公司的?WM8731?芯片实现声音信号的?A/D?和?D/A?转换功能。以下为?AN831?音频模块的硬件电路:
2.2?WM8731?配置和时序
这里简单介绍一下音频模块 AN831 用到的音频编/解码芯片 WM8731。该芯片在本设计中主要 完成声音信号在采集和回放过程中的 A/D 和 D/A 转换功能。该芯片的 ADC 和 DAC 的采样频率为 8KHz 到 96KHz 可调,可转换的数据长度为 16-32 位可调。WM8731 的内部有 11 个寄存器。该芯片 的刜始化以及工作时的工作状态和功能都是通过以 I2C 总线方式对其内部的这 11 个寄存器进行相应的配置来实现的。
本设计中?WM8731?工作于主模式,采样频率设为?48KHZ,转换的数据位长度为?16?位。WM8731?的数字音频接口有?5?根引脚,分别为:BCLK(数字音频位时钟)、DACDAT(DAC?数字音频 数据输入)、DACLRC(DAC?采样左/右声道信号)、ADCDAT(ADC?数字音频信号输出)、ADCLRC(ADC?采样 左/右声道信号)。
在本设计中?FPGA?为从设备,WM8731?为主设备。ADCDAT、DACDAT、ADCLRC?和?DACLRC?不位时钟?BCLK?同步,在每个?BCLK?的下降沿进行一次数据传输。BCLK、DACDAT、ACLRC、 ADCLRC 为 WM8731 的输入信号。ADCDAT 为 WM8731 的输出信号。
在本系统中?FPAG?和?WM8731?的控制和数据通信将用到?I2C?和数字音频总线接口。FPGA?通过?I2C?接口配置?WM8731?的寄存器,通过?I2S?总线接口来进行音频数据的通信。关于?I2C?接口,其他?实验中已经有讲解,下面我们主要来了解数字音频接口。
数字音频接口可提供?4?种模式:
●?Right justified
●?Left?justified
●?I2S
●?DSP mode
Left?justified?模式
I2S?模式
Right justified 模式
DSP/PCM?模式(MODE?A)
DSP/PCM?模式(MODE?B)
本实验选择?Right justified?模式。
部分代码展示:
////////////////////////////////////////////////////////////////////////////////// //???????????????????????????????????????// //?????????????????????????????????????? // //??Author: meisq?????????????????????????????? // //??????????msq@qq.com????????????????????????// //??????????ALINX(shanghai) Technology Co.,Ltd????????????// //??????????heijin??????????????????????????// //?????WEB: http://www.alinx.cn/????????????????????? // //?????BBS: http://www.heijin.org/???????????????????? // //???????????????????????????????????????// ////////////////////////////////////////////////////////////////////////////////// //??????????????????????????????????????????????????????????????????????????????// // Copyright (c) 2017,ALINX(shanghai) Technology Co.,Ltd????????????????????????// //????????????????????All rights reserved???????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// // This source file may be used and distributed without restriction provided????// // that this copyright statement is not removed from the file and that any??????// // derivative work contains the original copyright notice and the associated????// // disclaimer.??????????????????????????????????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// //////////////////////////////////////////////////////////////////////////////////
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1351