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_ctrl | AXI4-Lite接口 | |
aud_mclk | 输入 | 时钟信号 | 输入音频时钟。通常是音频采样率的倍数。 |
aud_mrst | 输入 | 复位信号 | 音频接口的高重置 |
s_axis_aud_aclk | 输入 | 时钟信号 | AXIS音频流时钟 |
s_axis_aud_resetn | 输入 | 复位信号 | Active-Low AXIS audio reset |
s_axis_aud_* | 音频 AXIS Interface | AXIS音频接口1 | |
Irq | 输出 | 中断信号 | 主动-高中断 |
lrclk_out | 输出 | 输出左右声道音频时钟,当核心被配置为主可用。 | |
sclk_out | 输出 | 输出音频位时钟,当核心被配置为主可用。 | |
lrclk_in | 输入 | 声道音频时钟 | 输出左右声道音频时钟,当核心被配置为从可用。 |
sclk_in | 输入 | 音频位时钟信号 | 输出音频位时钟,当核心被配置为从可用。 |
sdata_0_out | 输出 | 数据通道0 | I2S串行数据输出 |
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_ctrl | AXI4-Lite接口 | |
aud_mclk | 输入 | 时钟信号 | 输入音频时钟。通常是音频采样率的倍数。 |
aud_mrst | 输入 | 复位信号 | 音频接口的高重置 |
m_axis_aud_aclk | 输入 | 时钟信号 | AXIS音频流时钟 |
m_axis_aud_resetn | 输入 | 复位信号 | Active-Low AXIS audio reset |
m_axis_aud_* | 音频 AXIS Interface | AXIS音频接口 | |
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时可用。 |
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核作者还未验证。