Поделиться через


Использование I2S в приложениях с поддержкой реального времени

Azure Sphere поддерживает интерфейс меж ic sound (I2S).

I2S — это стандарт интерфейса последовательной шины, используемый для соединения цифровых аудиоустройств. Шина I2S имеет отдельные часы и последовательные сигналы данных.

В этом разделе описывается использование I2S в приложениях с поддержкой реального времени (RTApp).

Примечание

  • В настоящее время I2S не поддерживается для использования в высокоуровневых приложениях.
  • Ос Azure Sphere не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.

Поддержка MT3620 для I2S в ядрах в режиме реального времени

В этом разделе описываются параметры I2S, которые применяются только при запуске Azure Sphere в MT3620.

MT3620 имеет два интерфейса I2S: I2S0 и I2S1. Они могут быть выделены назначенному ядру в режиме реального времени во время выделения ресурсов после загрузки системы. Каждый интерфейс I2S защищен основным модулем сопоставления, который запрещает доступ для неназначенных MKU.

Модуль I2S поддерживает только подчиненный режим с внешними кодеками. Режим главного и внутренние кодеки не поддерживаются. Однако для внешних кодеков предоставляются master часы (I2S_MCLK) для создания синхронизации кадров I2S (I2S_FS) и битовые часы I2S (I2S_BCLK).

Внутренние аудиокодеки и режим master не поддерживаются. Интерфейс I2S используется для взаимодействия с внешними аудиокодеками через шину I2S в качестве подчиненного I2S.

Поддерживаются два формата данных: стандартный протокол I2S и протокол TDM.

Два блока из пяти контактов мультиплексированы между GPIO и I2S (I2S0:GPIO56-GPIO60, I2S1:GPIO61-GPIO65).

Сведения о регистрации базовых адресов, номера прерываний, частоту тактов, частоту выборки и другие сведения о MT3620 см. в таблице MT3620 и руководстве пользователя MT3620 M4. Если остались вопросы, вы можете запросить сведения из Avnet, отправив Azure.Sphere@avnet.comпо электронной почте .

Параметры манифеста приложения

Чтобы использовать подчиненный интерфейс I2S, приложение RTApp должно перечислить его в разделе Возможности манифеста приложения. Например, следующий интерфейс I2S добавляется в список ресурсов, доступ к которым может получить приложение:

"Capabilities": {
 "I2sSubordinate": [ "I2S0" ]  }

Подчиненный интерфейс I2S (Inter-IC Sound) используется только в RTApp. Эта возможность недоступна для высокоуровневых приложений.

Манифест приложения Azure Sphere содержит дополнительные сведения о манифесте приложения.

Примеры приложений I2S

Репозиторий CodethinkLabs на сайте GitHub содержит ряд примеров приложений, демонстрирующих использование периферийных устройств, поддерживаемых MT3620, в приложениях с поддержкой реального времени Azure Sphere. В частности, в примере I2S_RTApp_MT3620_BareMetal показано, как включить периферийное устройство I2S в приложение с поддержкой реального времени.