基于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进行供电!!

相关推荐
Saniffer_SH12 小时前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡16 小时前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安17 小时前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐2 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯2 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客2 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA2 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发
明德扬2 天前
AD采集卡应用示例交流:从传感器采集到高速信号验证
fpga开发
傻童:CPU2 天前
PS与PL之间的交互
fpga开发
神奇元创2 天前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发