Utilizar o SPI em aplicações com capacidade em tempo real
O Azure Sphere suporta a Interface de Periférico de Série (SPI) no modo mestre. O SPI é uma interface de série utilizada para a comunicação entre periféricos e circuitos integrados. Ao contrário do I2C, o SPI pode ser utilizado com periféricos de velocidade mais complexas.
Este tópico descreve como utilizar o SPI em aplicações com capacidade em tempo real (RTApp). Para obter informações sobre como utilizar o SPI em aplicações de alto nível, veja Using SPI in high-level applications (Utilizar o SPI em aplicações de alto nível).
Nota
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.
Seleção de chip
A seleção de chip gere a ligação entre uma interface mestra SPI e um conjunto de dispositivos subordinados; e permite que a interface mestra envie e receba dados para cada dispositivo subordinado de forma independente. O Azure Sphere suporta as definições active-low e active-high para seleção de chip, com active-low como predefinição. Apenas uma aplicação pode utilizar cada interface mestra SPI em qualquer altura. A aplicação tem de abrir a interface mestra SPI e identificar cada dispositivo subordinado ligado antes de realizar operações de leitura e escrita na interface.
Suporte de MT3620 para SPI nos núcleos em tempo real
Quando configurar o quadro de programador MT3620, pode utilizar qualquer porta ISU como uma interface mestra SPI. Pode ligar até dois dispositivos subordinados a cada ISU. Quando utiliza uma porta ISU como uma interface mestra SPI, não pode utilizar a mesma porta que uma interface I2C ou UART.
O MT3620 suporta transações SPI que têm até 40 MHz.
O MT3620 não suporta operações de SPI de leitura e escrita bidirecionais simultâneas (full-duplex) numa única transação de barramento.
As especificações SPI para o MT3620 estão listadas no Estado de Suporte do MT3620. O guia do utilizador do quadro de desenvolvimento MT3620 descreve o esquema de pinos e as funções para cablagem.
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 as APIs SPI, tem de adicionar a SpiMaster
capacidade ao manifesto da aplicação e, em seguida, especificar cada controlador principal SPI à capacidade.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
O manifesto da aplicação do Azure Sphere tem mais detalhes sobre o manifesto da aplicação.
As aplicações de exemplo SPI
O repositório CodethinkLabs no GitHub contém aplicações de exemplo que demonstram como utilizar periféricos suportados pelo MT3620 em aplicações compatíveis com o Azure Sphere em tempo real. Especificamente, os exemplos de SPI_RTApp_MT3620_BareMetal e SPI_SDCard_RTApp_MT3620_BareMetal demonstram como incorporar um periférico SPI numa aplicação com capacidade em tempo real.