Подсистема радиолокационного распознавания для БПЛА
Подсистема разведки — это высокочастотное широкополосное радиоустройство. Сложности данного проекта в КБ РАДАР были обусловлены более глубоким, нежели изначально ожидалось, взаимодействием модулей в подсистемах высокочастотной аппаратной обработки сигналов, реализуемых в ПЛИС на HDL и на С. На момент обращения в Центр Инженерных Технологий и Моделирования “Экспонента” проект длился полгода с использованием классических методов разработки. Поскольку для КБ РАДАР было критично сдать проект в установленные сроки, специалисты решили подстраховать основную ветвь разработки, инициировав совместный проект с инженерами ЦИТМ “Экспонента”.
Для данного проекта специалистами ЦИТМ Экспонента было использовано несколько приемов из методологии модельно-ориентированного проектирования сложных технических систем.
- Системная модель изделия. Построив целостную системную модель, включающую в себя как РЧ так ЦОС блоки, инженеры Экспоненты улучшили архитектуру подсистемы разведки. Системная модель показала, что совместное использование каналов для амплитудного детектирования и цифровой обработки сигнала даст прирост в отношении сигнал/шум в 2дБ, а замена отдельной микросхемы амплитудного детектора с передачей её функций блоку ЦОС позволит исключить её из схемы, что повысит надежность системы и сократит количество компонентов.
- Реализация модуля поддержки целевой платы (Target Support Package). Для ускорения проекта и возможности более легкого применения различных автоматизаций (автоматический синтеза кода, сборки и заливки проекта HDL и С, верификации “ПЛИС в контуре” и т.п) были разработаны драйверы и создан пакет поддержки всей периферии целевой платы. Это позволило значительно ускорить проект на этапе реализации двух частей проекта — в Си (оптимизированном для ARM ядра), и в HDL.
- Реализация оптимизированных алгоритмов на HDL и C для Zynq-7000 с использованием автоматического синтеза кода и верификации. Модуль, реализованный на С, получили с помощью генератора кода Embedded Coder, который расширили блоками драйверов к периферии Zynq. Широкополосный сигнал требовалось обрабатывать на ПЛИС с частотой 125 МГц. Чтобы обеспечить такую пропускную способность на ПЛИС настроили конвейеризацию алгоритмов с помощью HDL Coder. Сгенерированный код алгоритма автоматизировано оборачивался интерфейсами AXI и AXI-Stream, что позволило легко встроить их в общий проект Vivado. Взаимодействие между подсистемами ПЛИС и ARM реализовали по интерфейсу AXI-Stream через модуль DMA, поддержка драйвера которого есть в Embedded Coder. Так как сгенерированный HDL код «до такта» и «до бита» соответствовал модели, все алгоритмы ПЛИС, а также их взаимодействие с модулем, реализованном на C для ядра ARM, отлаживались на моделях, а не на коде. Это радикально сократило количество багов, сроки и трудозатраты на верификацию.
Главный результат — ветвь разработки, предложенная ЦИТМ Экспонента стала основной ветвью проекта в КБ Радар, а время разработки по сравнению с ранее использованным классическим подходом сократилось в два раза. Этап работ по изделию сдан в срок и позволил расширить географию сбыта изделия КБ Радар. Группа инженеров КБ РАДАР частично переняли методы ускоренного проектирования ЦИТМ Экспонента (Модельно-Ориентированное Проектирование).