Utiliser SPI dans les applications prenant en charge le temps réel
Important
Il s’agit de la documentation Azure Sphere (héritée). Azure Sphere (hérité) prend sa retraite le 27 septembre 2027 et les utilisateurs doivent migrer vers Azure Sphere (intégré) pour l’instant. Utilisez le sélecteur de version situé au-dessus du TOC pour afficher la documentation Azure Sphere (intégrée).
Azure Sphere prend en charge SPI (Serial Peripheral Interface) en mode maître. SPI est une interface série qui permet la communication entre des périphériques et des circuits intégrés. Contrairement à I2C, SPI peut être utilisé avec des périphériques à haute vitesse plus complexes.
Cette rubrique décrit comment utiliser SPI dans les applications prenant en charge le temps réel (RTApp). Pour plus d’informations sur l’utilisation de SPI dans les applications de haut niveau, consultez Utilisation de SPI dans les applications de haut niveau.
Remarque
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.
Chip select
Le chip select gère la connexion entre une interface maître SPI et un ensemble d’appareils subordonnés. Il permet à l’interface maître d’échanger des données avec chaque appareil subordonné indépendamment. Azure Sphere prend en charge les paramètres active-low (défaut) et active-high pour le chip select. Une seule application peut utiliser chaque interface maître SPI à tout moment. L’application doit ouvrir l’interface maître SPI et identifier chaque appareil subordonné connecté avant d’effectuer des opérations de lecture et d’écriture sur l’interface.
Prise en charge MT3620 de SPI sur les cœurs en temps réel
Quand vous configurez la carte de développement MT3620, vous avez la possibilité d’utiliser n’importe quel port ISU comme interface maître SPI. Vous pouvez connecter jusqu’à deux appareils subordonnés à chaque port ISU. Si vous utilisez un port ISU comme interface maître SPI, vous ne pouvez pas utiliser le même port comme interface I2C ou UART.
La carte MT3620 prend en charge des transactions SPI jusqu’à 40 MHz.
La carte MT3620 ne prend pas en charge les opérations SPI de lecture et d’écriture bidirectionnelles simultanées (en duplex intégral) dans une transaction de bus unique.
Pour la carte MT3620, les spécifications SPI sont listées dans État de la prise en charge du MT3620. Le guide de l’utilisateur pour la carte de développement MT3620 décrit la disposition des broches et leurs fonctions pour le câblage.
Pour inscrire des adresses de base, des numéros d’interruption, une fréquence d’horloge, une fréquence d’échantillonnage et d’autres détails sur le MT3620, consultez la feuille de données MT3620 M4 et le Manuel utilisateur MT3620 M4 ; si des questions restent, vous pouvez demander des détails auprès d’Avnet par e-mail Azure.Sphere@avnet.com.
Paramètres de manifeste de l’application
Pour utiliser les API SPI, vous devez ajouter la fonctionnalité SpiMaster
au manifeste de l’application, puis spécifier chaque contrôleur maître SPI dans 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 dépôt CodethinkLabs sur GitHub contient des exemples d’applications qui montrent comment utiliser les périphériques pris en charge par le MT3620 dans les applications prenant en charge le 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 compatible en temps réel.