基于I2S的音频ADC_DAC的_FPGA的驱动

前言

这是博主自己原创的成果,如要转载或者引用,请标明出处,具体的视频讲解见我的bili视频讲解,先附链接

引出目的

  1. 课题项目需求做一个基于FPGA的相控扬声器
  2. 后面进行数字滤波器的设计与实现
  3. 后期FPGA算法的实现

整体模块框图

驱动原理与程序设计思路

I2S时序图详解

注意三个点:

  1. LRCK的跳变沿总是对应着BCLK的下降沿
  2. DIN总在BCK的上升沿保持不变(进行数据传输),DIN总在BCK的下降沿改变数据
  3. 对于I2S的标准模式,第一个BIT的传输总是在LRCK跳变沿后的BCK的第二个上升沿才开始进行,这里要特别注意
自己设计的PCM1690八通道DAC(已经测试通过)
ILA信号抓取
  1. ADC的BCLK的跳变沿对应MCLK的上升沿
  2. DAC的BCLK的跳变沿对应MCLK的下降沿
  3. 这可能是取决于I2S的标准版本和器件的配置

多了1bit的冗余位(最高位),0代表左声道,代表右声道

调试中的BUG

  1. 声道最高BIT位输出错误
  1. 没有声明的变量编译器没有报错

注意:这书最终修改好的程序,原来的程序是在第47行,我写的是wire dac_bclk_pose;也就是说,我没有定义dac_bclk_nege,但是程序编译正常

  1. 关于PCM1690的

使用5V供电 需要两条线,否则右声道有吱吱的电流声,或者给开发板使用DC12V进行供电!!

相关推荐
GateWorld13 小时前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之点屏五 miniLVDS
fpga开发·lcd显示·fpga点亮屏幕·minilvds
nuoxin1141 天前
WILX1200HC-5TG144I替代 LCMXO2-1200HC-5TG144I(富利威)
人工智能·嵌入式硬件·fpga开发·电脑·硬件工程·dsp开发
Bahair_1 天前
【FPGA】使用fdatool设计滤波器系数,使用FIR Compiler导入系数联合滤波
fpga开发
qq_411262421 天前
硬件是ESP32-P4连接LAN8720A,正常初始化之后,设备DHCP失败
stm32·单片机·fpga开发
第二层皮-合肥1 天前
【数据采集专栏】时钟同步(有时钟卡方案)
fpga开发
shandianchengzi2 天前
【记录】Claude Code|Windows11给Claude Code新增任务消息提示音
windows·ai·音频·claude·claude code
XINVRY-FPGA2 天前
XCKU035-2FBVA676I AMD Xilinx Kintex UltraScale FPGA
arm开发·嵌入式硬件·网络安全·fpga开发·硬件工程·信号处理·fpga
米琪脆脆屋2 天前
0-1学习FPGA之底层资源——LUT
fpga开发·fpga
大阳1232 天前
ARM.8(ADC,SPI)
单片机·嵌入式硬件·adc·spi
TTGGGFF2 天前
ModelSim SE 10.1c 超详细安装与激活保姆级教程(图文详解 2026 仅供学习)
学习·fpga开发