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

Общие сведения о включении DSP с помощью микроконтроллера кроссовера i.MX RT500 от NXP

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

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

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

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

На первый взгляд, современное аппаратное обеспечение обработки данных создает иллюзию, что оно выполняет множество потоков одновременно. На самом деле одно ядро ​​ЦП обслуживает только один поток за раз. Когда количество потоков превышает количество доступных ядер ЦП, необходима операционная система для планирования потоков.

ОС должна отслеживать все запущенные потоки и их состояние, и она назначает временные интервалы ЦП каждому потоку, чтобы различные приложения могли работать эффективно и, по-видимому, параллельно.

Рисунок 1. Различные состояния потока

Планировщик операционной системы поддерживает очередь для потоков, которые готовы к запуску, очередь для блокировки потоков, и ему необходимо хранить информацию о потоках, которые в настоящее время выполняются, чтобы обеспечить справедливое распределение времени ЦП:

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

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

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

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

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

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

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

Что такое семафоры

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

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

Рисунок 2. Блок-схема, показывающая, как работают семафоры

Обзор микроконтроллера i.MX RT500 и DSP

i.MX RT500 - это семейство двухъядерных микроконтроллеров на базе мощного ядра Arm® Cortex®-M33 с тактовой частотой до 275 МГц и поддержкой до пяти мегабайт SRAM.

MCU i.MX RT500 предлагает функции защиты, такие как Arm TrustZone и встроенный блок защиты памяти (MPU) с поддержкой до восьми регионов. Криптографический сопроцессор CASPER обеспечивает аппаратное ускорение для усиления различных функций, необходимых для асимметричных криптографических алгоритмов. Набор функций энергосбережения позволяет разработчикам подбирать энергопотребление i.MX RT500 в соответствии с требованиями своих приложений.

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

Взгляд на аудио DSP

I.MX RT500 содержит различные специальные сопроцессоры, которые могут помочь снизить нагрузку на ядра ЦП, выполняя математически сложные вычисления, оставляя ядра обработки свободными для выполнения других задач. Одним из таких выделенных процессоров является Fusion DSP, который включает в себя аудиопроцессор Cadence® Tensilica® Fusion F1 и аппаратный модуль с плавающей запятой.

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

Ядра DSP и основного процессора могут связываться друг с другом различными способами. Разработчики могут использовать всю SRAM при работе с Fusion DSP, если оперативная память не защищена, а некоторые части не помечены для безопасного доступа.

Мысль о программировании с помощью DSP

DSP Tensilica поддерживают различные операционные системы реального времени (RTOS), включая FreeRTOS ™, Zephyr ™, Linux® и XOS. Cadence разработала встроенное ядро ​​XOS в качестве эталонного дизайна с учетом процессоров Tensilica.

Облегченные функции ядра XOS включают планировщик задач, адаптивное переключение контекста, механизмы синхронизации, управление прерываниями и исключениями, а также управление критически важными ресурсами. Исходный код ядра в основном написан на стандартном языке C, а не только для процессоров Xtensa и DSP.

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

Семейство кроссоверных микроконтроллеров i.MX RT500 имеет различные функции, призванные вдохновить умные потребительские устройства завтрашнего дня. Различные сопроцессоры помогают основным ядрам обработки микроконтроллера выполнять математически сложные вычисления для приложений безопасности и обработки сигналов. Одним из таких сопроцессоров является высокооптимизированный звуковой DSP Cadence® Tensilica® Fusion F1, позволяющий постоянно активировать устройства с голосовым запуском, такие как виртуальные помощники. Программисты могут использовать XOS и Xplorer IDE для разработки приложений для выделенного процессора Cadence.


В примечании к применению AN13159 содержится дополнительная информация, список поддерживаемых функций API и примеры условий и событий в XOS, а на веб-сайте NXP представлена ​​дополнительная информация о возможностях и приложениях i.MX RT500. Он также предоставляет различные учебные материалы, такие как заметки по применению, видео и веб-семинары по запросу.

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


Встроенный

  1. С# с использованием
  2. Гибридное устройство объединяет архитектуры DSP и MCU
  3. Когда DSP превосходит аппаратный ускоритель
  4. Решения, решения:аппаратный ускоритель или DSP?
  5. Бесконтактное измерение уровня жидкости с помощью чипа рефлектометра
  6. Использование RFID-тегов для мониторинга домашней безопасности
  7. Наборы микросхем радаров для получения 4D-изображений улучшают идентификацию объектов
  8. Bluetooth MCU повышает безопасность Интернета вещей
  9. Беспроводной MCU с двухъядерной архитектурой
  10. Рекомендации по использованию DSP-обработчика