Utiliser des pwms dans des applications compatibles en 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 la modulation de largeur d’impulsions. La modulation de largeur d’impulsions s’effectue en faisant varier le rapport cyclique (ratio entre le temps de marche et le temps d’arrêt) d’un signal numérique pulsé. Les modulateurs de largeur d’impulsions (PWM) sont utilisés dans un large éventail d’applications, comme le contrôle de moteur numérique, la communication et la conversion numérique-analogique.
Cette rubrique décrit comment utiliser des PWM dans les applications prenant en charge le temps réel (RTApp). Pour plus d’informations sur l’utilisation de PWM dans les applications de haut niveau, consultez Utilisation de PWM 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.
Prise en charge MT3620 des PWM sur les cœurs en temps réel
Cette section décrit les options PWM applicables uniquement lors de l’exécution d’Azure Sphere sur le MT3620.
Les fonctionnalités PWM prises en charge par le MT3620 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 ainsi que leurs fonctions.
Le MT3620 a 12 canaux PWM identifiés comme ceci : PWM0-PWM11. Ces derniers sont organisés en 3 groupes de 4 canaux. Chaque groupe est associé à un contrôleur PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Les canaux PWM et les broches GPIO allant de GPIO0 à GPIO11 correspondent aux mêmes broches sur le MT3620. Si votre application utilise un contrôleur PWM, toutes les broches associées à ce contrôleur sont allouées pour une utilisation en tant que sorties PWM. Aucune d’elles ne peut être utilisée pour GPIO.
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.
Le matériel PWM peut être configuré pour utiliser l’une des trois fréquences d’horloge : 32 KHz, 2 MHz (XTAL/13) ou 26 MHz (XTAL). Sur les cœurs en temps réel (RT), une application en temps réel (RTApp) peut sélectionner l’horloge à utiliser comme base. Les fréquences de base définies par l’utilisateur ne sont pas prises en charge. Toutefois, votre application peut générer des fréquences de signal dérivées de la fréquence de base sélectionnée. Pour obtenir un exemple, consultez l’exemple d’application PWMAudio dans la galerie Azure Sphere.
Paramètres de manifeste de l’application
Pour utiliser un PWM dans une application RTApp, vous ajoutez la Pwm
fonctionnalité au manifeste de l’application et spécifiez les contrôleurs PWM qui seront utilisés dans l’application. Par exemple, la ligne suivante spécifie le contrôleur PWM 0 à utiliser dans une application RTApp qui cible la carte de développement de référence (RDB) MT3620 :
"Capabilities": {
"Pwm": [ "PWM-CONTROLLER-0" ] }
Le manifeste d’application Azure Sphere contient plus de détails sur le manifeste de l’application.
Exemples d’applications PWM
Le dépôt CodethinkLabs sur GitHub contient un certain nombre d’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, l’exemple PWM_RTApp_MT3620_BareMetal montre comment incorporer un périphérique PWM dans une application compatible en temps réel.
Le projet PWMAudio montre comment utiliser les cœurs en temps réel pour générer l’audio PWM (Pulse Width Modulation). Ce projet fait partie de la galerie Azure Sphere, une collection de scripts, utilitaires et fonctions non maintenus.