此示例向您展示如何从硬件记录真实数据以用于模拟。
金宝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子系统生成频率为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.