名称:录音与播放(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
1072