Управление программным обеспечением и управление задачами на процессоре

Система процессора в этом приложении SoC считывает данные из внешней памяти после записи от FPGA до той памяти. Поскольку записи FPGA и взаимодействие с внешней памятью являются асинхронными, процессор использует событийно-управляемую задачу читать из памяти. Программное обеспечение также управляет регистром на FPGA, который задает коэффициент умножения, который будет использоваться в алгоритме FPGA.

Модель процессора

  1. Откройте новую модель Simulink®. Сохраните модель как soc_hwsw_proc.slx в новую подпапку, названную processor, в папке проекта.

  2. Откройте параметры конфигурации модели. Выберите вкладку Hardware Implementation и установите Hardware board на одну из поддерживаемых плат для SoC Blockset™, таких как Xilinx Zynq ZC706 evaluation kit.

    Примечание

    Модель процессора должна использовать ту же аппаратную плату и настройки параметра конфигурации решателя как модель верхнего уровня.

  3. В модели, с помощью блока Function-Call Subsystem, блока Asynchronous Task Specification, блок Inport и блоки Выходного порта, создают следующую систему.

  4. В диалоговой маске блока dataTask проверяйте Signal Attributes> Output function call, чтобы представить порт вызова функции на внешней модели.

  5. В диалоговой маске блока Asynchronous Task Specification, набор Task priority к 50.

    Примечание

    Приоритет задач блока Asynchronous Task Specification должен совпадать с приоритетом задачи в блоке Task Manager, управляющем этой задачей.

Обработка задачи

Подсистема Processor Algorithm Wrapper считывает данные из внешней памяти только после каждой записи к внешней памяти FPGA.

  1. Откройте блок Processor Algorithm Wrapper.

  2. Используя блок Stream Read, блок Constant, блок Data Type Conversion и блоки Subsystem, создают следующую модель.

  3. Откройте диалоговую маску блока Stream Read. Установите Number of buffers на 6.

  4. Откройте диалоговую маску блока Data Type Conversion и установите Output data type на uint16.

  5. Подсистема Processor Algorithm служит основой, чтобы разработать ваш собственный алгоритм обработки.

  6. Откройте блок подсистемы Register Channel Write.

  7. Добавьте блок Register Write, чтобы создать следующую модель.

  8. Откройте диалоговую маску блока Register Write. Установите Device name на /dev/mwsinewavegenerator_ip0 и Offset address к hex2dec('100').

Топ-модель

  1. В папке проекта откройте модель soc_hwsw_top.slx.

  2. Добавьте блок Subsystem в область Processor и маркируйте блок Processor.

  3. В подсистеме Processor, с помощью блока Task Manager и блока Model, создают следующую систему.

  4. Откройте диалоговую маску блока Model и установите Model name на soc_hwsw_proc.slx.

  5. Откройте диалоговую маску блока Task Manager. Поставите задачу Name к dataReadTask и установите Priority на 50. Во вкладке Simulation, набор Mean, Min и Max к 8e-05. Нажмите OK.

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

Похожие темы