Use o SPI em aplicativos com capacidade de 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 dá suporte à SPI (Serial Peripheral Interface) no modo mestre. SPI é uma interface serial usada para comunicação entre periféricos e circuitos integrados. Em contraste com o I2C, o SPI pode ser usado com periféricos mais complexos de alta velocidade.
Este tópico descreve como usar o SPI em aplicativos com capacidade de tempo real (RTApp). Para obter informações sobre como usar SPI em aplicativos de alto nível, consulte Usando SPI em aplicativos de alto nível.
Nota
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.
Seleção de chip
Chip select gerencia a conexão entre uma interface mestre SPI e um conjunto de dispositivos subordinados; e permite que a interface mestre envie e receba dados para cada dispositivo subordinado de forma independente. O Azure Sphere dá suporte às configurações ativo-baixo e ativo-alto para seleção de chip, com ativo-baixo como a configuração padrão. Apenas um aplicativo pode usar cada interface mestre SPI a qualquer momento. O aplicativo deve abrir a interface mestre SPI e identificar cada dispositivo subordinado conectado antes de executar operações de leitura e gravação na interface.
Suporte MT3620 para SPI nos núcleos em tempo real
Ao configurar a placa de desenvolvimento MT3620, você pode usar qualquer porta ISU como uma interface mestre SPI. Você pode conectar até dois dispositivos subordinados a cada ISU. Quando você usa uma porta ISU como uma interface mestre SPI, você não pode usar a mesma porta que uma interface I2C ou UART.
O MT3620 suporta transações SPI de até 40 MHz.
O MT3620 não suporta operações SPI bidirecionais simultâneas de leitura e gravação (full-duplex) em uma única transação de barramento.
As especificações SPI para o MT3620 estão listadas em MT3620 Status de suporte. O guia do usuário da placa de desenvolvimento MT3620 descreve o layout do pino e as funções da fiação.
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 as APIs SPI, você deve adicionar o SpiMaster
recurso ao manifesto do aplicativo e, em seguida, especificar cada controlador mestre SPI para o recurso.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
O manifesto do aplicativo Azure Sphere tem mais detalhes sobre o manifesto do aplicativo.
Os aplicativos de exemplo SPI
O repositório CodethinkLabs no GitHub contém aplicativos de exemplo que demonstram como usar periféricos com suporte MT3620 em aplicativos compatíveis com o Azure Sphere em tempo real. Especificamente, as amostras de SPI_RTApp_MT3620_BareMetal e SPI_SDCard_RTApp_MT3620_BareMetal demonstram como incorporar um periférico SPI em um aplicativo capaz de tempo real.