Utilizar o I2S em aplicações com capacidade em tempo real
O Azure Sphere suporta a interface de Som Inter-IC (I2S).
O I2S é uma interface de barramento em série padrão utilizada para ligar dispositivos de áudio digital em conjunto. Um barramento I2S tem sinais de dados em série e relógio separados.
Este tópico descreve como utilizar o I2S em aplicações com capacidade em tempo real (RTApps).
Nota
- Atualmente, o I2S não é suportado para utilização em aplicações de alto nível.
- O SO do Azure Sphere não repõe periféricos no arranque. As aplicações devem garantir que os periféricos estão num bom estado conhecido no arranque ou após o reinício.
Suporte de MT3620 para I2S nos núcleos em tempo real
Esta secção descreve as opções de I2S que só se aplicam ao executar o Azure Sphere no MT3620.
O MT3620 inclui duas interfaces I2S: I2S0 e I2S1. Podem ser alocados ao núcleo em tempo real atribuído durante a alocação de recursos após o arranque do sistema. Cada interface I2S está protegida por um módulo de mapeamento principal que nega o acesso de MCUs não atribuídos.
O módulo I2S suporta apenas o modo subordinado com codecs externos. O modo principal e os codecs internos não são suportados. No entanto, é fornecido um relógio principal (I2S_MCLK) para codecs externos para gerar a Sincronização de Frames I2S (I2S_FS) e um Relógio de Bits I2S (I2S_BCLK).
Os codecs de áudio internos e o modo principal não são suportados. A interface I2S é utilizada para comunicar com codecs de áudio externos através do barramento I2S como um subordinado I2S.
São suportados 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 registar endereços base, números de interrupção, velocidade do relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte a Folha de Dados MT3620 e o Manual de Utilizador mt3620 M4; Se as perguntas permanecerem, pode pedir detalhes à Avnet ao enviar um e-mail para Azure.Sphere@avnet.com.
Definições do manifesto da aplicação
Para utilizar a interface subordinada I2S, uma RTApp tem de listá-la na secção Capacidades do manifesto da aplicação. Por exemplo, o seguinte adiciona uma interface I2S à lista de recursos que podem ser acedidos por uma aplicação:
"Capabilities": {
"I2sSubordinate": [ "I2S0" ] }
A interface subordinada do Som Inter-IC (I2S) só é utilizada por uma RTApp. Esta capacidade não está disponível para aplicações de alto nível.
O manifesto da aplicação do Azure Sphere tem mais detalhes sobre o manifesto da aplicação.
As aplicações de exemplo I2S
O repositório CodethinkLabs no GitHub contém várias aplicações de exemplo que demonstram como utilizar periféricos suportados pelo MT3620 em aplicações com capacidade em tempo real do Azure Sphere. Especificamente, o exemplo de I2S_RTApp_MT3620_BareMetal demonstra como incorporar um periférico I2S numa aplicação com capacidade em tempo real.