Этот пример показывает вам, как записать реальные данные из оборудования для использования в симуляции.
Поддерживаемые аппаратные платформы:
Оценочный комплект Xilinx® Zynq® ZC706
Xilinx Zynq UltraScale™ + оценочный комплект MPSoC ZCU102
Макетная плата ZedBoard™ Zynq-7000
Комплект разработчика Altera® Cyclone® V SoC
Altera комплект разработчика Arria® 10 SoC
Во многих ситуациях можно хотеть проверить алгоритм по реальным данным. Этот пример, с помощью Данных о Потоковой передаче от Оборудования до Модели ПО, показывает, как записать сигналы от интерфейса AXI4 на устройстве SoC. Этот рабочий процесс позволяет вам фокусироваться на стороне процессора алгоритма путем замены записанным заранее потоком данных вместо проекта Simulink® FPGA.
Мы рекомендуем завершить Данные о Потоковой передаче от Оборудования до примера программного обеспечения.
В этом разделе вы запишете данные, сгенерированные подсистемой FPGA в Данных о Потоковой передаче от Оборудования до Модели ПО. В этой модели подсистема FPGA генерирует синусоидальный сигнал с частотой 1 кГц или 10 кГц, которыми управляют через Dip-переключатель (DS1). Алгоритм FPGA фильтрует сигнал и отправляет его в процессор через Потоковый Канал Памяти AXI4.
Следующие продукты требуются для этого раздела:
Пакет поддержки SoC Blockset для устройств Xilinx®
Выполните шаги ниже, чтобы записать данные из FPGA:
1. Создайте аппаратный коммуникационный объект выполнение следования командной строки MATLAB®.
hw = socHardwareBoard('Xilinx Zynq ZC706 evaluation kit','hostname','10.10.10.15',... 'username','root','password','root')
Введите соответствующее аппаратное имя платы, IP-адрес и удостоверения пользователя в команде выше. Аппаратный объект hw
, коммуникационный шлюз, который обеспечивает команды управления и обмен ввода-вывода.
2. Открытые Данные о Потоковой передаче от Оборудования до Модели ПО. Загрузите обеспеченный предсгенерированный поток битов FPGA для этой модели к оборудованию.
socLoadExampleBitstream(hw,'soc_hwsw_stream_top')
3. Создайте устройство записи данных для своей аппаратной платы.
dr = soc.recorder(hw);
4. Создайте исходный объект входа AXI Stream Read и сконфигурируйте исходные свойства.
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 в сеанс записи данных.
addSource(dr,src,'AXI4 stream interface')
6. Инициализируйте источники ввода-вывода на аппаратном управлении по записи.
setup(dr)
7. Используйте record
функционируйте, чтобы записать 10 секунд данных.
record(dr, 10) while isRecording(dr) pause (0.1); end
Во время записи переключите Dip-переключатель (DS1), чтобы изменить частоту сигнала, сгенерированного FPGA.
8. Сохраните записанные данные к файлу:
save(dr,'sine_wave_data')
В этом разделе вы получите сигналы RF от AD - карта FMCOMMS2/3/4 RF, соединенная с FPGA. Данные будут переданы потоком с карты RF на процессор с помощью потокового интерфейса AXI4.
Следующие продукты требуются для этого раздела:
Пакет поддержки SoC Blockset для устройств Xilinx®
Поддерживаемые аппаратные платформы для этого раздела:
Оценочный комплект Xilinx® Zynq® ZC706
Макетная плата ZedBoard™ Zynq-7000
Чтобы сконфигурировать карту RF относятся к Ручной Радио-Хостом Настройке оборудования (Пакет поддержки Communications Toolbox для Xilinx Находящееся в Zynq Радио)
1. Открытая модель RF Capture. Загрузите обеспеченный предсгенерированный поток битов FPGA для этой модели к оборудованию.
socLoadExampleBitstream(hw,'soc_rfcapture')
2. Сконфигурируйте плату радиоблока.
rf = rfcard(hw); rf.CenterFrequency = 1090e6; rf.GainSource = 'AGC Fast Attack'; rf.BasebandSampleRate = 4e6; rf.ShowAdvancedProperties = true; rf.ShowInternalProperties = true; rf.BISTToneMode = 'Tone Inject Rx'; rf();
3. Устройство записи данных о Setup.
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; addSource(dr,src,'AXI4 stream interface');
4. Радио-сигналы записи.
setup(dr) system(hw,'devmem 0x40010100 32 1'); record(dr,1) while isRecording(dr) pause (0.1); end save(dr,'zynq_rf_data')
5. Чтобы воспроизвести записанные данные RF, откройте модель RF Playback. Введите имя набора данных и исходное имя на блоке IO Data Source и симулируйте модель.
Записанный заранее файл набора данных zynq_rf_data.tgz доступен в matlab\toolbox\soc\socexamples.
Симулируйте с Данными о вводе-выводе, Записанными от Устройства SoC