主要内容

记录SoC设备的I/O数据

此示例向您展示如何从硬件记录真实数据以用于模拟。

金宝app支持硬件平台:

  • Xilinx®Zynq®ZC706评估试剂盒

  • Xilinx Zynq UltraScale™+ MPSoC ZCU102评估试剂盒

  • ZedBoard™Zynq-7000开发板

  • Altera®Cyclone®V SoC开发套件

  • Altera Arria®10 SoC开发工具包

在许多情况下,您可能希望根据实际数据验证您的算法。本例中,使用流数据从硬件到软件模型,展示了如何从SoC设备上的AXI4接口记录信号。此工作流允许您通过将预先记录的数据流替换为Simulink®FPGA设计,从而专注于算法的处理器端。金宝app

我们建议填写流数据从硬件到软件的例子。

记录FPGA数据

在本节中,将记录FPGA子系统生成的数据流数据从硬件到软件模型.在该模型中,FPGA子系统生成频率为1kHz或10kHz的正弦信号,通过拨码开关(DS1)控制。FPGA算法对信号进行滤波,并通过AXI4流内存通道发送到处理器。

本节所需的产品如下:下载188bet金宝搏

  • 用于Xilinx®器件的S金宝appoC Blockset支持包

在FPGA上记录数据的操作步骤如下:

1.在MATLAB®命令提示符上执行以下命令创建一个硬件通信对象。

hw = socHardwareBoard(Xilinx Zynq ZC706评估试剂盒的主机名“10.10.10.15”...“用户名”“根”“密码”“根”

在上面的命令中输入适当的硬件板名称、IP地址和用户凭证。硬件对象hw,是一个通信网关,提供控制命令和I/O交换。

2.开放流数据从硬件到软件模型.将此模型提供的预生成的FPGA位流加载到硬件。

socLoadExampleBitstream (hw“soc_hwsw_stream_top”

3.为你的硬件板创建一个数据记录器。

Dr = soc.recorder(hw);

4.创建一个AXI流读取输入源对象并配置源属性。

SRC = soc.iosource(hw,“AXI Stream Read”);src.devName =“mwfpga_algorithm_wrapper_ip0: s2mm0”;samplingFrequency = 1e5;src。dataTypeStr =“uint32”;src。SamplesPerFrame = 1000;src。SampleTime = src.SamplesPerFrame/samplingFrequency;

samplingFrequency对象中的正弦波采样率流数据从硬件到软件模型

5.添加AXI流读取源到数据记录会话。

src addSource(博士,“AXI4流接口”

6.初始化硬件板上的I/O源进行记录。

设置(博士)

7.使用记录函数记录10秒的数据。

记录(博士,10)isRecording(dr) pause (0.1);结束

在录制过程中,通过拨动拨码开关(DS1)来改变FPGA产生的信号频率。

8.将记录的数据保存到文件:

保存(博士,“sine_wave_data”

记录射频信号

在本节中,您将从连接到FPGA的AD - FMCOMMS2/3/4射频卡捕获射频信号。数据将使用AXI4流接口从射频卡流到处理器。

本节所需的产品如下:下载188bet金宝搏

  • 用于Xilinx®器件的S金宝appoC Blockset支持包

金宝app本节支持的硬件平台为:

  • Xilinx®Zynq®ZC706评估试剂盒

  • ZedBoard™Zynq-7000开发板

射频卡的配置请参见手动主机无线电硬件设置(Xilinx zynq无线电通信工具箱支持包)金宝app

1.开放射频捕获模型.将此模型提供的预生成的FPGA位流加载到硬件。

socLoadExampleBitstream (hw“soc_rfcapture”

2.配置无线卡。

Rf = rfcard(hw);射频。CenterFrequency = 1090e6;射频。GainSource =“AGC快攻”;射频。BasebandSampleRate = 4e6;射频。ShowAdvancedProperties = true;射频。ShowInternalProperties = true;射频。BISTToneMode =“音调注入Rx”;射频();

3.设置数据记录器。

Dr = soc.recorder(hw);SRC = soc.iosource(hw,“AXI Stream Read”);src.devName =“mwfpga_data_capture_ip0: s2mm0”;src。dataTypeStr =“uint32”;src。SamplesPerFrame = 4000;src。SampleTime = src.SamplesPerFrame/rf.BasebandSampleRate;src addSource(博士,“AXI4流接口”);

4.记录无线电信号。

设置(dr)系统(hw,'devmem 0x40010100 32 1');博士记录(1)isRecording(dr) pause (0.1);结束保存(博士,“zynq_rf_data”

5.要回放记录的射频数据,打开射频回放模型.上输入数据集名称和源名称IO数据源块并模拟模型。

预先录制的数据集文件zynq_rf_data.tgz可于matlab工具箱\ \ soc \ socexamples

另请参阅

模拟从SoC设备记录的I/O数据