Utilize o I2S em aplicações com capacidade em tempo real
Importante
Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (Integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).
O Azure Sphere suporta a interface Inter-IC Sound (I2S).
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 relógio e serial separados.
Este tópico descreve como usar o I2S em aplicativos com capacidade de tempo real (RTApps).
Nota
- Atualmente, o I2S não é suportado para uso em aplicativos de alto nível.
- O sistema operacional Azure Sphere não redefine periféricos na inicialização. Seus aplicativos devem garantir que os periféricos estejam em um estado em boas condições na inicialização ou após a reinicialização.
Suporte 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.
MT3620 possui 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 central que nega acesso de MCUs não atribuídas.
O módulo I2S suporta apenas o modo subordinado com codecs externos. O modo mestre e os codecs internos não são suportados. No entanto, um relógio mestre (I2S_MCLK) é fornecido para codecs externos para gerar I2S Frame Sync (I2S_FS) e um I2S Bit Clock (I2S_BCLK).
Codecs de áudio internos e modo mestre não são suportados. A interface I2S é usada para se comunicar com codecs de áudio externos através do barramento I2S como um subordinado I2S.
Dois formatos de dados são suportados: 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, números de interrupção, taxa de relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte a Folha de dados MT3620 e o Manual do Usuário MT3620 M4, se ainda houver dúvidas, você pode solicitar detalhes da Avnet por e-mail.Azure.Sphere@avnet.com
Configurações de manifesto do aplicativo
Para usar a interface subordinada I2S, um RTApp deve listá-lo 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 Inter-IC Sound (I2S) é usada apenas por um RTApp. Esse recurso 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 com suporte MT3620 em aplicativos compatíveis com o Azure Sphere em tempo real. Especificamente, o exemplo de I2S_RTApp_MT3620_BareMetal demonstra como incorporar um periférico I2S em um aplicativo capaz de tempo real.