Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Использование NXP i.MX RT500 для DSP-устройств: многопоточность, XOS и Cadence Fusion F1 Audio DSP

Исследуем многопоточность, RTOS XOS, семафорное разделение ресурсов и то, как MCU i.MX RT500 от NXP обеспечивает работу DSP-устройств

Современная потребительская электроника требует компонентов, способных обрабатывать огромные объемы данных со скоростью и эффективностью. Микроконтроллеры с интегрированными высокооптимизированными цифровыми процессорами сигналов (DSP) необходимы для приложений безопасности, голосового управления и обработки изображений.

В этой статье рассматривается аудиопроцессор Cadence® Tensilica® Fusion F1 — автономный сопроцессор, который в паре с ядрами Cortex‑M33 i.MX RT500 обеспечивает высокопроизводительную обработку сигналов.

Основные концепции многопоточных программ

Современные процессоры создают впечатление одновременного выполнения нескольких потоков, однако одно ядро CPU выполняет только один поток за раз. Когда количество потоков превышает доступные ядра, операционная система должна планировать задачи.

ОС отслеживает состояние каждого потока, выделяя кванты процессорного времени так, чтобы приложения выглядели как работающие параллельно, сохраняя справедливость распределения ресурсов.

Использование NXP i.MX RT500 для DSP-устройств: многопоточность, XOS и Cadence Fusion F1 Audio DSP
Рисунок 1. Состояния жизненного цикла потока

Планировщик поддерживает три очереди: готовых, заблокированных и выполняющихся. Он учитывает приоритеты потоков, блокирующие события (например, ввод-вывод, прерывания) и необходимость вытеснения. Выбор подходящей стратегии планирования критически важен для задач реального времени.

Условия и события в XOS

XOS позволяет разработчикам определять условия, блокирующие поток до истинности пользовательского предиката. События, представленные как битовые маски, позволяют синхронизировать несколько потоков или обработчиков прерываний одновременно.

Прерывания в XOS

XOS поддерживает быструю, настраиваемую обработку прерываний, включая вложенные прерывания — когда прерывание с более высоким приоритетом временно приостанавливает прерывание с более низким. Система автоматически возобновляет прерванную службу после завершения более приоритетной.

Потоки также получают выгоду от задержек по таймеру и периодических обратных вызовов. DSP-сопроцессор предлагает до трех внутренних таймеров, которые разработчики могут настраивать по необходимости.

Понимание семафоров

Семафоры координируют доступ к общим ресурсам. Они поддерживают внутренний счетчик, отражающий, сколько потоков может одновременно войти в критическую секцию. Когда счетчик достигает нуля, ожидающие потоки блокируются до освобождения ресурса.

Использование NXP i.MX RT500 для DSP-устройств: многопоточность, XOS и Cadence Fusion F1 Audio DSP
Рисунок 2. Диаграмма работы семафора

Обзор MCU i.MX RT500 и DSP

Серия i.MX RT500 включает два ядра Cortex‑M33 с тактовой частотой до 275 МГц и до 5 МБ ОЗУ. Безопасность усилена за счет Arm TrustZone, MPU с восемью регионами и криптографического сопроцессора CASPER для аппаратного ускорения асимметричных алгоритмов.

Варианты управления питанием позволяют инженерам точно подстраивать потребление под нужды приложения. Выделенные ускорители — включая аудио-DSP Cadence® Tensilica® Fusion F1, 2D GPU и множество дисплейных интерфейсов — обеспечивают безопасную, низкопотребляющую работу в HMI, IoT, наушниках и голосовых ассистентах.

Разбор аудио-DSP

Fusion DSP работает на частоте до 200 МГц и обладает аппаратным блоком плавающей запятой, что делает его идеальным для всегда включенных голосовых триггеров. Он включает модули пред- и постобработки для широкого спектра аудиокодеков.

DSP использует общую с MCU SRAM для обмена данными, соблюдая границы защиты памяти для безопасного доступа.

Программирование с учетом DSP

DSP Tensilica совместимы с FreeRTOS®, Zephyr®, Linux® и XOS. Ядро XOS от Cadence, написанное на стандартном C, предлагает планирование задач, адаптивное переключение контекста, примитивы синхронизации и надежную обработку прерываний — все адаптировано для процессоров Xtensa.

Соответствие требованиям умных потребительских устройств

Благодаря сочетанию производительности ядер, безопасности и специализированных ускорителей i.MX RT500 позволяет инженерам создавать новое поколение умных, всегда включенных потребительских устройств.

Для более глубокого понимания обратитесь к приложению NXP AN13159, в котором подробно описаны поддерживаемые API, примеры условий и событий XOS и многое другое. На сайте NXP также размещены обучающие материалы — видео, вебинары и документация — для быстрого старта разработчиков.

Индустриальные статьи — это форма контента, позволяющая промышленным партнерам делиться полезными новостями, сообщениями и технологиями с читателями All About Circuits способом, не подходящим для редакционного контента. Все промышленные статьи подлежат строгим редакционным рекомендациям для предоставления читателям полезных новостей, технической экспертизы или историй. Точки зрения и мнения, выраженные в промышленных статьях, принадлежат партнеру и не обязательно совпадают с позицией All About Circuits или его авторов.

Встроенный

  1. Освоение операторов using в C#: импорт, псевдонимы и статические директивы
  2. CEVA-BX: Унифицированный DSP/MCU процессор для IoT, авто и промышленности нового поколения
  3. Когда DSP превосходит аппаратный ускоритель
  4. Выбор между аппаратными ускорителями и DSP: практическое руководство
  5. Бесконтактное измерение уровня жидкости с рефлектометрическим чипом
  6. RFID-основанная домашняя безопасность: дешёвые беспроводные решения без батарей
  7. Чипсеты 4D-образующего радара обеспечивают точное распознавание объектов для автосенсоров нового поколения
  8. Renesas RX23W MCU укрепляет IoT-безопасность с Bluetooth 5.0
  9. STM32WB50: Двухъядерный беспроводной MCU для безопасных IoT-приложений
  10. Освоение пульта DSP: ключевые правила для оптимальной работы