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.