Utiliser SPI dans les applications compatibles en temps réel
Azure Sphere prend en charge l’interface spi (Serial Peripheral Interface) en mode master. SPI est une interface série utilisée pour la communication entre les périphériques et les circuits intégrés. Contrairement à I2C, SPI peut être utilisé avec des périphériques plus complexes à vitesse plus élevée.
Cette rubrique explique comment utiliser SPI dans des applications compatibles en temps réel (RTApp). Pour plus d’informations sur l’utilisation de SPI dans des applications de haut niveau, consultez Utilisation de SPI dans les applications de haut niveau.
Note
Le système d’exploitation Azure Sphere ne réinitialise pas les périphériques au démarrage. Vos applications doivent s’assurer que les périphériques sont dans un état correct connu au démarrage ou après le redémarrage.
Sélection de puce
Chip Select gère la connexion entre une interface spi master et un ensemble d’appareils subordonnés, et permet à l’interface master d’envoyer et de recevoir des données à chaque appareil subordonné indépendamment. Azure Sphere prend en charge les paramètres actif-faible et actif-élevé pour la sélection de puce, avec actif-faible comme paramètre par défaut. Une seule application peut utiliser chaque interface spi master à tout moment. L’application doit ouvrir l’interface spi master et identifier chaque appareil subordonné connecté avant d’effectuer des opérations de lecture et d’écriture sur l’interface.
Prise en charge de MT3620 pour SPI sur les cœurs en temps réel
Lorsque vous configurez la carte de développement MT3620, vous pouvez utiliser n’importe quel port ISU comme interface spi master. Vous pouvez connecter jusqu’à deux appareils subordonnés à chaque ISU. Lorsque vous utilisez un port ISU comme interface spi master, vous ne pouvez pas utiliser le même port qu’une interface I2C ou UART.
Le MT3620 prend en charge les transactions SPI jusqu’à 40 MHz.
Le MT3620 ne prend pas en charge les opérations SPI simultanées de lecture et d’écriture bidirectionnelle (duplex intégral) au sein d’une transaction de bus unique.
Les spécifications SPI pour le MT3620 sont répertoriées dans État de prise en charge mt3620. Le guide de l’utilisateur de la carte de développement MT3620 décrit la disposition des broches et les fonctions de câblage.
Pour connaître les adresses de base d’inscription, les numéros d’interruption, la fréquence d’horloge, la fréquence d’échantillonnage et d’autres détails sur le MT3620, consultez la feuille de données MT3620 et le manuel de l’utilisateur MT3620 M4. Si des questions subsistent, vous pouvez demander des détails à Avnet en envoyant un e-mail à Azure.Sphere@avnet.com.
Paramètres du manifeste d’application
Pour utiliser les API SPI, vous devez ajouter la SpiMaster
fonctionnalité au manifeste de l’application, puis spécifier chaque contrôleur spi master à la fonctionnalité.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
Le manifeste d’application Azure Sphere contient plus de détails sur le manifeste de l’application.
Exemples d’applications SPI
Le référentiel CodethinkLabs sur GitHub contient des exemples d’applications qui montrent comment utiliser des périphériques mt3620 pris en charge dans des applications compatibles en temps réel Azure Sphere. Plus précisément, les exemples SPI_RTApp_MT3620_BareMetal et SPI_SDCard_RTApp_MT3620_BareMetal montrent comment incorporer un périphérique SPI dans une application en temps réel.