从SoC设备记录I/O数据

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

金宝app支持硬件平台:

  • Xilinx®Zynq®ZC706评估试剂盒

  • 赛灵思的UltraScale ZYNQ™+片上多核ZCU102评估套件

  • ZedBoard™Zynq-7000开发板

  • Altera®Cyclone®V SoC开发工具包

  • Altera Arria®10 SoC开发工具包

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

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

从FPGA记录数据

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

本部分需要以下产品:下载188bet金宝搏

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

按照以下步骤从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);结束

在录制过程中,切换DIP开关(DS1),改变FPGA产生信号的频率。

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

保存(博士,'sine_wave_data')

记录RF信号

在本节中,将捕获的RF信号从AD - 连接到FPGA FMCOMMS2 / 3/4的RF卡。这些数据将来自RF卡使用AXI4流接口处理器进行流式传输。

本部分需要以下产品:下载188bet金宝搏

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

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

  • Xilinx®Zynq®ZC706评估试剂盒

  • ZedBoard™Zynq-7000开发板

要配置射频卡,请参阅手册主机的无线硬件设置(用于基于Xilinx zynq的无线电的通信工金宝app具箱支持包)

1。开放射频捕获模型。加载提供预先生成的FPGA位流,用于此模型的硬件。

socLoadExampleBitstream (hw“soc_rfcapture”)

2.配置无线卡。

RF = rfcard(HW);rf.CenterFrequency = 1090e6;rf.GainSource =“AGC快速攻击”;rf.BasebandSampleRate = 4E6;rf.ShowAdvancedProperties = TRUE;rf.ShowInternalProperties = TRUE;rf.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.要回放所记录的RF数据,开RF回放模式。输入数据集的名称,并在源名IO数据源块和模拟模型。

一个预先记录的数据集文件zynq_rf_data.tgz可在MATLAB \工具箱\ SOC \ socexamples

另请参阅

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