这个例子展示了如何构建一个参考设计来运行音频算法和访问音频输入和输出在ZYBO板。
要运行此示例,必须安装并设置以下软件和硬件:
用于Xilinx Z金宝appynq平台的HDL编码器支持包
Xilinx Zynq平台的嵌金宝app入式编码器支持包
Xilinx Vivado,文档中提到的最新版本
Digilent®Zybo Zynq™开发板及其附件套件
注意:本例使用Digilent®Zybo Zynq-7000 ARM/FPGA SoC培训板。此示例不适用于Digilent®Zybo Z7: Zynq-7000 ARM/FPGA SoC开发板,该板有两个变体Zybo Z7-10和Zybo Z7-20。
要设置ZYBO板,请参考准备好泽博冲浪板部分的为Zynq工作流定义自定义板和参考设计篇文章。
在这个例子中,您将创建一个参考设计,它从ZYBO板接收音频输入,对其执行一些处理,并将处理后的音频数据从ZYBO板发送出去。您还可以使用以下方法为外围接口生成IP核高密度脂蛋白工作流顾问.
在ZYBO板上进行音频处理需要以下2个协议:
I2C配置ZYBO板上的SSM2603音频编解码芯片。
I2S在编解码器芯片和zynq结构之间传输数字化音频数据。
上图是一个高层架构图,显示了参考设计是如何被ZYBO板上的过滤算法IP使用的。这个例子类似于Zedboard的音频系统参考设计,除了ZYBO板使用SSM2603音频编解码芯片,而Zedboard使用ADAU1761音频编解码芯片。其余的操作参数与Zedboard的音频系统参考设计相同。详情请参阅为Zynq Board编写音频系统参考设计的例子。
以下步骤用于创建上述参考设计:
为外设接口生成IP核
在Vivado中创建自定义音频编解码器参考设计
创建参考设计定义文件
验证参考设计
在这个例子中,
I2C IP是使用状态流块和三状态缓冲区的遗留VHDL代码开发的。
I2S IP是通过在Simulink中建模开发的。金宝app
关于创建I2C IP以配置音频编解码SSM2603,请参阅IP Core生成I2C控制器IP,用于配置音频编解码芯片篇文章。
在Simulink中用matlab函金宝app数设计一个模型,实现I2S协议。
modelname =“hdlcoder_I2S_ssm2603”;open_system (modelname);
测试和IP核生成步骤与Zedboard I2S模型相同。I2S IP的生成请参见为Zynq Board编写音频系统参考设计的例子。
I2C, I2S和FIFO ip都包含在定制的参考设计中。要创建自定义参考设计,请参考中“使用Xilinx Vivado创建和导出自定义参考设计”一节为Zynq工作流定义自定义板和参考设计.
在创建这个自定义参考设计时需要注意的关键点:
我们必须了解ZYBO板上音频编解码芯片的操作原理。
fifo被设置为其配置的默认值。
对于使用HDL Workflow Advisor生成的IP核,IPCORE_CLK和AXI4_Lite_ACLK应该连接到相同的时钟源。
在验证Vivado的块设计时,除了未连接的端口外,应该没有任何严重警告。
在这个参考设计中,音频编解码器被配置为在主模式下运行。
以下信号在Zynq Soc上的参考设计和ZYBO板上的音频编解码器之间运行:
Bit_clock是采样频率、每个信道的比特数和信道数的乘积。它在主模式下由音频编解码器驱动。本例中采样频率为48KHz,通道数为2,每个通道的位数为24。
Serial_data_in是从编解码器中模拟到数字转换的音频数据。
Serial_data_out是将数字音频数据通过编解码器转换为模拟形式。
I2C_CLK和I2C_DATA是标准I2C信号吗
MUTEN是连接音频编解码SSM2603的硬件静音引脚。
MCLK是编解码器所需的12.288MHz时钟信号。
为这个例子创建的自定义音频编解码器参考设计如下:
以下代码描述了ZYBO板参考设计定义文件的内容plugin_rd.m供以上设计参考。有关如何定义和注册自定义板的详细信息,请参阅为Zynq工作流定义自定义板和参考设计的例子。
去ZYBO文件夹使用以下命令:
cd ([matlabroot' /工具箱/ hdlcoder / hdlcoderdemos / customboards / ZYBO ']);
参考设计所需的所有文件,如IP core文件,XDC文件,plugin_rd文件等,都应该添加到matlab路径中ZYBO文件夹使用如下所示的层次结构。用户生成的IP核心文件应该在+ vivado文件夹中。plugin_rd.m, tcl files and xdc files should be in+ vivado_audio_filter_2017_2文件夹中。
为了验证参考设计,从一个模型生成Audio Filter IP核,并将其与音频编解码器参考设计集成,请参见使用Zynq板在实时音频输入上运行音频过滤器的例子。