主要内容

记录SoC设备的I/O数据

这个示例向您展示了如何从硬件中记录真实的数据,以便在模拟中使用。

金宝app支持硬件平台:

  • Xilinx®Zynq®ZC706评估试剂盒

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

  • Zynq-7000开发委员会

  • Altera®Cyclone®V SoC开发套件

  • Altera Arria®10 SoC开发套件

在许多情况下,您可能需要根据真实数据验证算法。这个例子,使用流数据从硬件到软件模型,演示如何记录来自SoC设备上的AXI4接口的信号。通过使用预先录制的数据流代替Simulink®FPGA设计,该工作流允许您将重点放在算法的处理器端。金宝app

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

从FPGA记录数据

在本节中,将记录FPGA子系统生成的数据流数据从硬件到软件模型.在这个模型中,FPGA子系统通过拨码开关(DS1)产生频率为1kHz或10kHz的正弦信号。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.为你的硬件板创建一个数据记录器。

= soc.recorder博士(hw);

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

src = soc.iosource (hw,“阿喜流读”);src.devName =“mwfpga_algorithm_wrapper_ip0: s2mm0”;samplingFrequency = 1 e5;src。dataTypeStr =“uint32”;src。SamplesPerFrame = 1000;src。SampleTime = src.SamplesPerFrame / samplingFrequency;

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

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

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

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

设置(博士)

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

记录(博士,10)isRecording(博士)暂停(0.1);结束

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

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

保存(博士,“sine_wave_data”)

射频信号记录

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

本节要求的产品如下:下载188bet金宝搏

  • 用于Xilinx®设备的S金宝appoC Blockset支持包

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

  • Xilinx®Zynq®ZC706评估试剂盒

  • Zynq-7000开发委员会

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

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

socLoadExampleBitstream (hw“soc_rfcapture”)

2.配置无线卡。

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

3.设置数据记录器。

= soc.recorder博士(hw);src = soc.iosource (hw,“阿喜流读”);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(博士)暂停(0.1);结束保存(博士,“zynq_rf_data”)

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

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

另请参阅

用SoC设备记录的I/O数据进行模拟