主要内容

编写一个参考设计Zynq板音频系统

这个例子展示了如何构建一个参考设计运行一个音频算法和访问音频输入和输出Zynq®。

介绍

在本例中您将创建一个参考设计从Zedboard接收音频输入,执行一些处理,传送Zedboard处理音频数据。你也生成IP核外围接口使用高密度脂蛋白工作流顾问

执行Zedboard音频处理,需要以下协议:

  1. I2C配置ADAU1761 Zedboard音频编解码器芯片。

  2. i2之间的数字化音频数据流解码芯片和Zynq织物。

上面的图是一个高级架构图,显示了如何使用的参考设计滤波算法IP。i2 IP在50 mhz频率而可能需要运行在更高的频率滤波算法IP。这个频率是控制步骤1。4高密度脂蛋白工作流顾问。在这个例子中,假设过滤器在80 mhz。自从i2和过滤算法ip工作在不同频率,我们需要处理时钟域交叉fifo。根据滤波器的类型选择、过滤算法IP过滤从传入音频数据的频率范围,并将过滤后的音频数据。在上面的图中,滤波算法IP是我们的主要算法,我们在仿真软件建模。万博1manbetx尽管Vivado FIFO提供IP, I2C和i2 IPs需要创建。这里,用户有3个选择:(a)使用预包装的IP,例如,如果一个人存在,(b)模型在仿真软件并生成一个IP核心使用IP核心代工作流或(c)使用遗留HDL代码。万博1manbetx创建一个IP遗留HDL代码,使用仿真软件模型黑盒HDL代码并生成IP核。万博1manbetxFIFO IPs处理传入的音频数据之间的时钟域交叉50 mhz,过滤器运行频率为80 mhz的IP。I2C、i2、锁相环、FIFO IPs和处理系统形成一个参考设计的一部分。

使用以下步骤创建上述参考设计:

  1. 生成的IP核外围接口

  2. 创建一个自定义音频编解码器在Vivado参考设计

  3. 创建参考设计定义文件

  4. 验证参考设计

1。生成的IP核外围接口使用HDL工作流顾问

在这个例子中,

  1. I2C IP使用Stateflow块是由建模,并使用硬件描述语言(VHDL)遗产代码为三态缓冲。

  2. i2 IP是由建模仿真软件。万博1manbetx

1.1创建I2C IP

创建I2C IP配置音频编解码器ADAU1761参考IP核心代一个I2C控制器IP配置音频编解码器芯片篇文章。

1.2创建i2 IP

设计一个模型在仿真软件MATLAB函万博1manbetx数实现i2协议。

modelname =“hdlcoder_I2S_adau1761”;open_system (modelname);

创建一个模型试验台模拟传入的音频编解码器的数据。

喂这数据子系统块i2的操作。验证子系统的输出范围。

开始的高密度脂蛋白工作流顾问DUT子系统。在任务1.1中,保持相同的设置的I2C IP生成。在任务1.2中,设置目标平台接口如下所示:

3.2运行任务,生成ip核。

2。创建一个自定义音频编解码器在Vivado参考设计

I2C、i2和FIFO IPs融入自定义参考设计。创建一个自定义的参考设计,指的是“创造和导出自定义参考设计使用Xilinx Vivado”部分定义定制的董事会和参考设计Zynq工作流

重点注意在创建这个自定义参考设计:

  1. 我们必须理解的理论操作的音频编解码器芯片Zedboard。

  2. fifo将默认值的配置。

  3. 使用HDL生成工作流的IP核心顾问,IPCORE_CLKAXI4_Lite_ACLK应该连接到同一个时钟脉冲源。

  4. 在Vivado验证块设计,不应该有重要的警告除了无关的港口。

  5. 在这个参考设计,音频编解码器配置在主模式。

以下信号运行之间的参考设计Zynq Soc和音频编解码器Zedboard:

  1. Bit_clock采样频率的乘积,位/通道和通道的数量。它是由主模式的音频编解码器。在这个例子中,采样频率是48 khz,没有2频道,每个频道24比特数。

  2. Left_right_select区分左音频通道数据和正确的音频通道数据。在与一些时钟同步。

  3. Serial_data_in模拟到数字的转换音频编解码器的数据。

  4. Serial_data_out数字音频数据要编解码器被转换成模拟形式。

  5. I2C_CLKI2C_DATA是标准I2C信号

  6. ADDR0ADDR1I2C地址位。

  7. Clk_24MHz是24 mhz时钟信号所需的编解码器。

创建自定义音频编解码器参考设计对于这个示例如下所示:

3所示。创建参考设计定义文件

下面的代码描述的内容Zedboard参考设计定义文件plugin_rd.m上述参考设计。更多细节关于如何定义并注册自定义,请参考定义定制的董事会和参考设计Zynq工作流的例子。

Zedboard文件夹使用以下命令:

解压缩(“ZedBoard.zip”);目录(genpath (“ZedBoard”));

参考设计所需的所有文件,如IP核心文件,XDC文件,plugin_rd文件等应该被添加到MATLAB路径,在里面Zedboard文件夹使用如下所示的层次结构。应该在用户生成的IP核心文件+ vivado文件夹中。plugin_rd.m, tcl files and xdc files should be in the reference design plugin folder, for example,+ vivado_audio_filter_2017_2文件夹中。

4所示。验证参考设计

为了确保设计和接口的引用参考按预期设计工作,设计一个仿真软件模型,通过算法IP发送音频,将它与Zedboard参考设计和测试。万博1manbetx用户应该能够听到声音回环。

modelname =“hdlcoder_audio_pass_through”;open_system (modelname);

在模型中应该选择的接口如下所示:

从模型生成IP核和集成音频编解码器参考设计,请参考运行一个音频过滤器使用Zynq板现场音频输入的例子。