Данные о вводе-выводе записи из Устройства SoC

Этот пример показывает вам, как записать реальные данные из оборудования для использования в симуляции.

Поддерживаемые аппаратные платформы:

  • Оценочный комплект 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 в Данных о Потоковой передаче от Оборудования до Модели ПО. В этой модели подсистема FPGA генерирует синусоидальный сигнал с частотой 1 кГц или 10 кГц, которыми управляют через Dip-переключатель (DS1). Алгоритм FPGA фильтрует сигнал и отправляет его в процессор через Потоковый Канал Памяти AXI4.

Выполните шаги ниже, чтобы записать данные из 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')

Запишите сигналы РФ

В этом разделе вы получите сигналы РФ от AD - FMCOMMS2/3/4 карта РФ, соединенная с FPGA. Данные будут переданы потоком с карты РФ на процессор с помощью потокового интерфейса AXI4.

Следующие продукты требуются для этого раздела:

  • Пакет поддержки SoC Blockset для устройств Xilinx®

Поддерживаемые аппаратные платформы для этого раздела:

  • Оценочный комплект Xilinx® Zynq® ZC706

  • Макетная плата ZedBoard™ Zynq-7000

Чтобы сконфигурировать карту РФ относятся к Ручной Радио-Хостом Настройке оборудования (Пакет Поддержки Communications Toolbox для Xilinx Находящееся в Zynq Радио)

1. Откройте модель 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. Чтобы воспроизвести записанные данные РФ, откройте модель Playback РФ. Введите имя набора данных и исходное имя на блоке IO Data Source и моделируйте модель.

Записанный заранее файл набора данных zynq_rf_data.tgz доступен в matlabroot\toolbox\soc\socexamples.

Смотрите также

Моделируйте с Данными о вводе-выводе, Записанными от Устройства SoC