25 августа 2016

В статье описано решение задачи по разработке С и HDL кода под Zynq-7000 и пакета поддержки аппаратуры (драйвера устройств). Результатом стала системная модель, которая позволила проработать различные архитектуры и выбрать вариант с меньшим количеством компонентов под заданные требования (амплитудный детектор реализован в цифровом виде).

Подсистема разведки – это высокочастотное широкополосное радиоустройство. Ограниченные сроки проекта, связанные с датами сдачи его заказчику, глубокое взаимодействие модулей, реализованных на HDL и С кодах, высокочастотная аппаратная обработка сигнала в ПЛИС стали основными трудностями при реализации проекта. Модельно-ориентированное проектирование и консультации инженеров MathWorks позволили выполнить и сдать проект в срок, а за счет проработки архитектуры на системных моделях – улучшить технические характеристики системы.

Консультации инженеров MathWorks

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

Проработка архитектуры на системных моделях

Применяя системную модель, включающую в себя как РЧ блоки, так и блоки ЦОС, улучшили архитектуру подсистемы разведки. Изначально здесь предполагалось использовать синфазный канал для амплитудного детектирования (отдельная микросхема), а квадратурный канал – для цифровой обработки сигнала. Системная модель показала, что совместное использование каналов для амплитудного детектирования и цифровой обработки сигнала даст прирост в отношении сигнал/шум в 2дБ, а замена отдельной микросхемы амплитудного детектора с передачей её функций блоку ЦОС позволит исключить её из схемы – это повысит надежность системы и сократит количество компонентов.

Разработка подсистем на HDL и C для Zynq-7000

Широкополосный сигнал обрабатывался на ПЛИС с частотой 125 МГц. Чтобы обеспечить такую пропускную способность, на ПЛИС применили конвейеризацию алгоритмов средствами инструмента HDL Coder. Сгенерированный код алгоритма автоматизировано оборачивался интерфейсами AXI и AXI-Stream, что позволило легко встроить их в общий проект, выполненный в Xilinx Vivado. Сгенерированный HDL код «до такта» и «до бита» соответствует модели, поэтому весь алгоритм отлаживался на моделях с отладкой взаимодействия между модулем, реализованным на языке C. Это значительно упростило процесс, поскольку исключило отладку на уровне HDL кода. Модуль, реализованный на С, получили с помощью генератора кода Embedded Coder, который расширили блоками драйверами к периферии Zynq. Взаимодействие между подсистемами ПЛИС и ARM реализовали по интерфейсу AXI-Stream через модуль DMA, поддержка драйвера которого есть в Embedded Coder.

Резюме.

Задачи:

  1. Разработка системной модели
  2. Разработка С и HDL кода под Zynq-7000
  3. Разработка пакета поддержки аппаратуры (драйвера устройств)

Результаты:

  1. Системная модель позволила проработать различные архитектуры и выбрать вариант с меньшим количеством компонентов под заданные требования (амплитудный детектор реализован в цифровом виде).
  2. Отладка алгоритмов на модели с последующим однозначным переносом на аппаратуру.
  3. Разработка драйверов под периферию Zynq-7000.
История успеха
Модельно-ориентированное проектирование для разработки встраиваемого ПО приемных модулей
21.06.2021
Новость
Внимание! Изменение формата конференции “Технологии разработки и отладки сложных технических систем” на online
18.03.2020
Новость
Доступны для скачивания материалы первого и второго дней VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
03.06.2019
Новость
Материалы первого дня VI всероссийской конференции "Технологии разработки и отладки сложных технических систем" доступны к скачиванию
31.05.2019
Новость
Материалы второго дня VI всероссийской конференции "Технологии разработки и отладки сложных технических систем" доступны к скачиванию
31.05.2019
Новость
27-28 марта 2019 года прошла VI научно-практическая конференция «Технологии разработки и отладки сложных технических систем»
05.04.2019
Новость
Второй день VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
28.03.2019
Новость
Первый день VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
27.03.2019