Compartilhar via


Usar o I2S em aplicativos com capacidade em tempo real

O Azure Sphere dá suporte à interface I2S (Som Inter-IC).

O I2S é um padrão de interface de barramento serial usado para conectar dispositivos de áudio digital juntos. Um barramento I2S tem sinais de dados de série e relógio separados.

Este tópico descreve como usar o I2S em aplicativos com capacidade em tempo real (RTApps).

Nota

  • No momento, não há suporte para o I2S para uso em aplicativos de alto nível.
  • O sistema operacional do Azure Sphere não redefine periféricos na inicialização. Seus aplicativos devem garantir que os periféricos estejam em um estado conhecido na inicialização ou após a reinicialização.

Suporte a MT3620 para I2S nos núcleos em tempo real

Esta seção descreve as opções I2S que só se aplicam ao executar o Azure Sphere no MT3620.

O MT3620 apresenta duas interfaces I2S: I2S0 e I2S1. Eles podem ser alocados para o núcleo atribuído em tempo real durante a alocação de recursos após a inicialização do sistema. Cada interface I2S é protegida por um módulo de mapeamento principal que nega o acesso de MCUs não assinadas.

O módulo I2S dá suporte apenas ao modo subordinado com codecs externos. Não há suporte para o modo mestre e codecs internos. No entanto, um relógio master (I2S_MCLK) é fornecido para codecs externos gerarem a Sincronização de Quadros I2S (I2S_FS) e um relógio I2S Bit (I2S_BCLK).

Não há suporte para codecs de áudio internos e master modo. A interface I2S é usada para se comunicar com codecs de áudio externos por meio do barramento I2S como subordinado do I2S.

Há suporte para dois formatos de dados: protocolo I2S padrão e protocolo TDM (Time Division Multiplexing).

Dois blocos de cinco pinos são multiplexados entre GPIO e I2S (I2S0:GPIO56-GPIO60, I2S1:GPIO61-GPIO65).

Para registrar endereços base, interromper números, taxa de relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte o Mt3620 Datasheet e o Manual de Usuário MT3620 M4; se as perguntas permanecerem, você poderá solicitar detalhes da Avnet por email .Azure.Sphere@avnet.com

Configurações do manifesto do aplicativo

Para usar a interface subordinada I2S, um RTApp deve listá-la na seção Recursos do manifesto do aplicativo. Por exemplo, o seguinte adiciona uma interface I2S à lista de recursos que podem ser acessados por um aplicativo:

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

A interface subordinada de Som Inter-IC (I2S) só é usada por um RTApp. Essa funcionalidade não está disponível para aplicativos de alto nível.

O manifesto do aplicativo Azure Sphere tem mais detalhes sobre o manifesto do aplicativo.

Os aplicativos de exemplo I2S

O repositório CodethinkLabs no GitHub contém vários aplicativos de exemplo que demonstram como usar periféricos compatíveis com MT3620 em aplicativos compatíveis com o Azure Sphere em tempo real. Especificamente, o exemplo I2S_RTApp_MT3620_BareMetal demonstra como incorporar um periférico I2S em um aplicativo com capacidade em tempo real.