• ZYNQ自带I2S_IP核分析


    简介

    I2S Transmitter 和 I2S Receiver IP核是Xilinx公司开发的套件,支持任何采样率,可以用于音频设备传输(AES3)和接收PCM音频数据。

    参考图

    发送机

    在这里插入图片描述

    接收机

    在这里插入图片描述

    结构框图

    发送机

    在这里插入图片描述

    接收机

    在这里插入图片描述
    注:其实本IP核主要的目的是实现IIS转AES3(一种数字音频协议),不支持但接受IIS的数据。

    接口定义

    发送机

    接口名称方向类型描述
    s_axi_ctrl_aclk输入时钟信号AXI4-Lite接口的输入时钟
    s_axi_ctrl_aresetn输入复位AXI4-Lite接口的激活-低复位
    s_axi_ctrl_ *s_axi_ctrlAXI4-Lite接口
    aud_mclk输入时钟信号输入音频时钟。通常是音频采样率的倍数。
    aud_mrst输入复位信号音频接口的高重置
    s_axis_aud_aclk输入时钟信号AXIS音频流时钟
    s_axis_aud_resetn输入复位信号Active-Low AXIS audio reset
    s_axis_aud_*音频 AXIS InterfaceAXIS音频接口1
    Irq输出中断信号主动-高中断
    lrclk_out输出输出左右声道音频时钟,当核心被配置为主可用。
    sclk_out输出输出音频位时钟,当核心被配置为主可用。
    lrclk_in输入声道音频时钟输出左右声道音频时钟,当核心被配置为从可用。
    sclk_in输入音频位时钟信号输出音频位时钟,当核心被配置为从可用。
    sdata_0_out输出数据通道0I2S串行数据输出
    sdata_1_out输出I2S串行数据输出。当音频频道数为>2时可用。
    sdata_2_out输出I2S串行数据输出。当音频频道数为>4时可用。
    sdata_3_out输出I2S串行数据输出。当音频频道数为>6时可用。

    接收机

    接口名称方向类型描述
    s_axi_ctrl_aclk输入时钟信号AXI4-Lite接口的输入时钟
    s_axi_ctrl_aresetn输入复位AXI4-Lite接口的激活-低复位
    s_axi_ctrl_ *s_axi_ctrlAXI4-Lite接口
    aud_mclk输入时钟信号输入音频时钟。通常是音频采样率的倍数。
    aud_mrst输入复位信号音频接口的高重置
    m_axis_aud_aclk输入时钟信号AXIS音频流时钟
    m_axis_aud_resetn输入复位信号Active-Low AXIS audio reset
    m_axis_aud_*音频 AXIS InterfaceAXIS音频接口
    Irq输出中断信号主动-高中断
    lrclk_out输出输出左右声道音频时钟,当核心被配置为主可用。
    sclk_out输出输出音频位时钟,当核心被配置为主可用。
    lrclk_in输入输出左右声道音频时钟,当核心被配置为从可用。
    sclk_in输入输出音频位时钟,当核心被配置为从可用。
    sdata_0_out输出I2S串行数据输出
    sdata_1_out输出I2S串行数据输出。当音频频道数为>2时可用。
    sdata_2_out输出I2S串行数据输出。当音频频道数为>4时可用。
    sdata_3_out输出I2S串行数据输出。当音频频道数为>6时可用。

    如何设置sclk和lrclk的方向

    1)选中IP核后点击鼠标右键,点击Block Properties…
    在这里插入图片描述
    2)然后点击放大,最后在左下角点击Properties
    在这里插入图片描述
    在这里插入图片描述

    3)展开CONFIG,将其中的C_IS_MASTER一栏的数值修改为0。即可实现从输出变为为输入模式
    在这里插入图片描述
    在这里插入图片描述

    总结

    1)aud_mclk 该接口在IIS通信协议中就是MCLK(系统时钟),通常是采样率的256倍或384倍;

    2)lrclk 该接口在IIS通信协议中就是 LRCK(也称WS),用于切换左右声道的数据。lrclk的频率等于采样频率;

    3)sclk该接口在IIS通信协议中就是SCLK(也称BCLK)位时钟,即对应数字音频的每一位数据,sclk都有一个脉冲。sclk的频率=2×采样频率×采样位数,在此IP核中的计算公式为 sclk的频率=2×采样频率×24 或 sclk的频率=2×采样频率×16;

    4)sdata_*_out 该接口在IIS通信协议中就是串行数据SDATA,就是用二进制补码表示的音频数据;

    5)配置的过程中需要根据采样频率计算出MCLK的值,根据计算的结果提供时钟信号;

    6)sclk和lrclk的方向是需要根据是接受还是发送来配置;

    注:一般遵循谁发送数据谁提供sclk和lrck,不过该IP核作者还未验证。

  • 相关阅读:
    后端传递数据给前端做导出Excel的vo类
    docker 上mysql通过Navicat访问
    开源项目观察8月报
    android 关闭屏幕
    css中使用bootstrap框架背景图无法显示
    高等数学(第七版)同济大学 总习题四(前半部分) 个人解答
    Vue2实现图片预览功能 -- v-viewer:图片查看器
    (第十一天)初识SpringMVC SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录
    高等数学(第七版)同济大学 习题4-4(后14题) 个人解答
    频域中的后门攻击论文笔记
  • 原文地址:https://blog.csdn.net/qq_43460106/article/details/126126157