FPGA音频录音,WM8731音频采集存储DDR3

该博客介绍了使用Kintex7-410T开发板和Vivado2019.1环境,通过WM8731进行I2S音频数据转换,FPGA进行串并转换并利用DDR3缓存实现音频数据存储与回放。重点讲解了FDMA控制器设计,包括音频采集、写操作逻辑、读时序,并提供了源码获取方式。
摘要由CSDN通过智能技术生成

开发板:Kintex7-410T开发板;
开发环境:vivado2019.1;
输入:WM8731转换的ad数据;
输出:WM8731转换的da数据;
实验概述:
手机播放音乐,通过3.5mm耳机线接入Kintex7开发板,WM8731将手机播放音乐转换为I2S协议的数字信号送入FPGA,FPGA做串并转换,处理为32bit并行数据,并将数据送入DDR3缓存,同时从DDR3读出音频数据做并串转换,再送回WM8731耳机输出,效果就是通过耳机实时听到存储的音频。
工程代码架构如下:
在这里插入图片描述
工程BD部分如下:
在这里插入图片描述

1 音频采集和输出部分
音频phy芯片选择WM8731,通过iic总线配置为从机模式,之所以配置为从机模式是为了数据同步,WM8731配置为从机模式、I2S、32位、48K采样率,具体看代码,此部分代码结构如下:
在这里插入图片描述
该部分顶层如下:
在这里插入图片描述
音频采集、发送、wm8731配置均在100M时钟同步下完成,解决了数据跨时钟域问题;
2 音频缓存
这部分是核心,利用米联客的FDMA实现,这里重点介绍FDMA控制器部分的设计思路,
首先顶层参数如下:
在这里插入图片描述
音频数据操作时钟100M;
DDR3读写时钟200M;

FDMA突发长度设置为128,可修改;
FDMA读写数据位宽都设为32,与音频输出位宽一致;
音频采样率设置为48K,与wm8731设置的一致;
音频通道设为2,左右声道;
音频录音时长设为20,单位是秒,可修改;
那么,FDMA一次传输的总数据量=音频采样率X音频通道X音频录音时长;
所以,FDMA一次传输需要突发的次数=FDMA一次传输的总数据量÷FDMA突发长度;
同理,FDMA读写一次的地址增量(字节数)=32÷8XFDMA突发长度;
先来看看FDMA写时序,在代码中以注释形式给出,方便理解代码,如下:
在这里插入图片描述
具体关于FDMA的介绍可以私信联系我;
写操作逻辑十分简单,如下:
在这里插入图片描述写操作部分的fifo操作如下:
在这里插入图片描述
如果你不知道FDMA操作时序,可能看不懂代码;

FDMA读时序如下:
在这里插入图片描述
读操作部分与写同理,不再粘贴代码;

最后:需要源码的兄弟可以私信联系我,也可接受私人订制。

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
音频采集与回放电路是一种利用FPGAWM8731音频编解码芯片设计而成的可编程音频处理系统。其主要功能是对音频信号进行采集、数字化、存储和回放操作。设计这样的电路可以实现高性能、低成本的音频处理,适用于语音识别、音乐录制、数字信号处理等领域。 在这个设计中,FPGA作为核心控制芯片,负责音频数据的采集、处理和控制,具有高度可编程性和灵活性。WM8731音频编解码芯片则负责音频信号的采集和回放,采用高保真的DAC和ADC器件,能够实现高质量的音频采集和回放功能。 整个系统的设计包括以下几个部分:音频输入、ADC转换、FPGA控制、数据存储音频输出。首先是音频输入部分,通过WM8731芯片实现对外部音频输入信号的采集和转换。然后是ADC转换部分,将模拟音频信号转换成数字信号,传输给FPGA进行处理。FPGA控制部分负责音频信号的处理和存储,可以对音频数据进行滤波、压缩等处理,同时将处理后的数据存储到内部存储器中。最后是音频输出部分,通过WM8731芯片将处理后的数字音频信号转换成模拟信号进行回放。 通过这样的设计,可以实现高灵活性、低延迟、高保真度的音频采集与回放功能,满足各种音频处理的需求。同时,FPGA的可编程性也为系统的功能扩展和升级提供了可能,使得整个系统更加灵活和可靠。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

9527华安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值