Usar SPI em aplicativos com capacidade para tempo real
Importante
Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) 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 dá suporte à SPI (Interface Periférica Serial) no modo mestre. SPI é uma interface serial usada para a comunicação entre periféricos e circuitos integrados. Diferentemente do I2C, a SPI pode ser usada com periféricos mais complexos de velocidades superiores.
Este tópico descreve como usar SPI em RTApp (aplicativos com capacidade para tempo real). Para obter informações sobre como usar SPI em aplicativos de alto nível, confira Como usar SPI em aplicativos de alto nível.
Observação
O sistema operacional do Azure Sphere não redefine os periféricos na inicialização. Seus aplicativos devem garantir que os periféricos estejam em um bom estado conhecido na inicialização ou após a reinicialização.
Seleção de chips
A seleção de chips gerencia a conexão entre uma interface mestre da SPI e um conjunto de dispositivos subordinados e, além disso, permite que a interface mestre envie e receba dados para cada dispositivo subordinado de modo independente. O Azure Sphere oferece suporte a configurações de níveis baixo e alto para a seleção de chips, sendo a de nível baixo a padrão. Somente um aplicativo pode usar cada interface mestre da SPI em um momento. O aplicativo deve abrir a interface mestre da SPI e identificar cada dispositivo subordinado conectado antes de realizar operações de leitura e gravação na interface.
Suporte ao MT3620 para SPI em núcleos em tempo real
Quando você configura a placa de desenvolvimento MT3620, pode usar qualquer porta ISU como uma interface mestre da SPI. É possível conectar até dois dispositivos subordinados a cada ISU. Quando você usa uma porta ISU como uma interface mestre do I2C, não é possível usar a mesma porta como uma interface da SPI ou do UART.
A MT3620 dá suporte a transações SPI de até 40 MHz.
A MT3620 não dá suporte a operações de leitura e gravação bidirecionais e simultâneas (full duplex) simultaneamente da SPI em uma transação de barramento único.
As especificações de SPI do MT3620 estão na lista de Status de suporte MT3620. O Guia do usuário da placa de desenvolvimento MT3620 descreve o layout e as funções do pino para fiação.
Para endereços base de registro, números de interrupção, taxa de relógio, frequência de amostragem e outros detalhes sobre o MT3620, consulte a Folha de Dados do MT3620 e o Manual do Usuário do MT3620 M4; se ainda houver dúvidas, você pode solicitar detalhes da Avnet enviando um Azure.Sphere@avnet.come-mail .
Configurações do manifesto do aplicativo
Para usar as APIs da SPI, você deve adicionar a funcionalidade SpiMaster
ao manifesto do aplicativo e, em seguida, especificar cada controlador mestre da SPI à funcionalidade.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
O manifesto do aplicativo do Azure Sphere tem mais detalhes sobre o manifesto do aplicativo.
Os aplicativos de exemplo SPI
O repositório do CodethinkLabs no GitHub contém aplicativos de exemplo que demonstram como usar os periféricos compatíveis com o MT3620 em aplicativos com capacidade para tempo real do Azure Sphere. Especificamente, as amostras de SPI_RTApp_MT3620_BareMetal e SPI_SDCard_RTApp_MT3620_BareMetal demonstram como incorporar um periférico SPI em um aplicativo com capacidade de tempo real.