 Bonjour, c'est Nicolas de ST Micro Electronics. Dans cette vidéo, je vais vous enseigner comment générer des signals custom en utilisant PWM et DMA de nos microcontrollers STM32. C'est partie 1, ce sera partie 2. L'objectif est de générer des signals custom en utilisant la mode PWM de nos timers STM32 et le DMA. Nous allons mettre les signals PWM sur le canal 1 d'un timer sélecté. Pour cet exercice, vous avez besoin de l'équipement suivant. La mode STM32 que nous allons utiliser est la Nucleo-H745ZI-Q, comme shown ici. Vous avez besoin d'un microUSB cable pour pouvoir programmer et débarquer la mode. Vous avez aussi besoin d'un scope pour vérifier les résultats. Dans la description de cette vidéo, j'ai ajouté un lien pour downloader le file zip qui contient les matériaux nécessaires pour faire cet exercice. Donc, vous devez aller dans la description de cette vidéo et downloadez le file zip et l'extractez quelque part sur votre disque. Nous allons utiliser le contenu de cet exercice durant cet exercice. En regardant les outils de software, nous allons utiliser le STM32 QID. C'est un outil STI qui intégrate le STM32 QBMX pour la configuration de projet et la génération de code. C'est aussi une bonne idée où vous pouvez construire votre projet et débarquer. Le but de cet exercice est de générer quelques signals custom. Pour cela, nous allons utiliser le mode PWM du timer et le DMA. Cette méthode va utiliser le DMA pour transférer un data continu de l'outil d'outil de signes et d'outils pour un registre CCR du timer. Le registre CCR du timer contrôlera le width du cycle PWM. Quand vous utilisez le DMA pour transférer le data, le M-Corps Cortex est libre de faire d'autres tasks. Nous pouvons générer une forme custom d'outils en ajoutant le data du signal au registre CCR du timer via le DMA. Dans cet exercice, nous allons générer une wave de signes. Nous allons dire que nous voulons générer une wave de signes. Pour faire cela, nous allons première compter notre table de data de signes avec une résolution de 10° angle. Cette est montée dans la table qui est partie du file zip que vous avez downloadé. Une off-set et une normalisation sont appliquées à l'outil de signes pour obtenir notre registre CCR des points de data. Optionnellement, la wave de signes peut être compétue directement de l'H7 STM42. Nous allons voir le data. C'est le file que je l'ai downloadé dans la description de la vidéo. Je vais le unzipper et le extracter. Dans cet ordinateur, vous trouverez après-midi le code pour être ajouté pour les projets. Ensuite, j'ai aussi ici un PDF de tous les différents étapes pour suivre si vous voulez suivre après-midi. Et ici est le data. C'est en fait le projet, le complet projet que j'ai ajouté. Nous allons regarder le data. C'est partie de cette table. Je vais l'ouvrir. C'est le contenu de la table. Comme vous pouvez le voir, il y a 36 points de data. Donc, un à chaque 10°. Ici, nous avons la version de la version de l'identité, la wave de signes, les sets positifs, la normalisation de la data, et ensuite, la date actuelle que nous allons programmer dans le registre CCR des timers. Comme vous pouvez le voir, le STM42 H745 a beaucoup de timers. Pour cet exercice, nous allons sélectionner le temps de four. Parce que le temps de four fulfilling notre objectif. Et nous n'avons pas besoin d'outils complémentaires pour cet exercice. Il n'y a que un canal. Et le temps de four va faire le travail. Maintenant, c'est temps de commencer le exercice. Pour commencer, nous allons ouvrir le STM42 QxD. Donc, double-click sur ça. Sélectionnez votre workspace et lancez. Nous allons créer un nouveau projet. Donc, nous allons filer un nouveau projet STM42. Dans la sélection du target, sélectionnez le selecteur des sélecteurs. Dans le partenariat, type Nucléo-H745Zi-Q. Maintenant, cliquez ici et pressez la prochaine. Dans cette fenêtre, donnez un nom à votre projet. Je vais l'appeler STM42H7 custom.signal. Et puis, pressez «Finish». Pour les options du projet, nous allons sélectionner les détails défauts de l'affaire. Donc, pressez «Yes». Nous allons changer la perspective du tool afin de configurer notre projet. Donc, s'il vous plait, pressez «Yes». Ok, donc, c'est notre STM42 QxD perspective du tool. Donc, nous pouvons choisir la configuration de pinout. Nous allons régler la configuration de pinout. Nous allons régler, nous sommes en train de régler à 480 MHz et à 240 MHz ici. Donc, c'est le maximum de pinout. Le STM42 H745 peut s'occuperer. Nous sommes en train de régler de l'HSE, qui est l'extrême de pinout à 8 MHz. Donc, c'est un pinout qui est élevé par le STM42 sur le bord. Et puis, en utilisant la PLL, nous sommes en train de régler à 480 MHz ici et à 240 MHz ici. Donc, faites-vous surement que vous avez cette configuration. Sinon, vous pouvez aussi régler de l'HSI. C'est parfaitement bien avec la PLL. Et vous pouvez régler à 480 MHz et à 240 MHz. Vous avez juste besoin d'entrer la valeur que vous voulez régler, d'entrer, et le tool va trouver la configuration pour vous. Donc, notre configuration de pinout est correctement configurée. Maintenant, nous allons sélectionner ou configurer le timer 4. Donc, nous allons régler la configuration de pinout et la configuration de pinout, ouvrir les timers et sélectionner Timer 4 pour le timer 4. Pour le contexte renseignement, nous allons sélectionner le Cortex-M7. Donc, cliquez Cortex-M7 et nous allons utiliser le Channel 1 pour générer les waveforms, donc le sine wave. Donc, évoquons le Channel 1 et sélectionnez PWM génération CH1. Maintenant, nous allons sélectionner le timer d'aujourd'hui. Donc, dans la configuration ici, on peut expliquer un petit peu. D'accord. Dans les settings paramétriques, premièrement, nous allons sélectionner le mode que nous allons utiliser. Donc, nous allons utiliser la mode Centreline 1. Donc, il y a différents modes de cantin, up, down ou Centreline. Dans cet exercice, nous allons utiliser la mode Centreline 1. Maintenant, nous allons sélectionner la fréquence de la signal que nous voulons générer. Pour faire ça, nous avons besoin de programmer la période de comptabilité. Pour générer quelques signals de 4 kg avec la configuration que nous avons et une priscaleur de 0, qui est un divider par 1, nous avons besoin d'input pour la période de comptabilité, 30 000. Maintenant, scroll down. Ici, pour le preload auto-reload, enable it. Scroll down. Pour la pwm generation channel 1, nous allons sélectionner la mode pwm 1, ce qui est le default 1. Et ensuite, je vais entrer une valeur initiale. Donc, on va mettre une valeur différente de 0. Donc, c'est la valeur initiale qui sera updatée de toute façon par le DMS. Donc, nous n'avons pas vraiment besoin de cette valeur. Je vais mettre 1. Nous allons maintenir le reste de la configuration par default. Pour configurer le DMA, dans la configuration, cliquez sur DMA Settings. Cliquez Add, sélectionnez Timer 4, Channel 1. Expand un peu plus. Donc, la direction sera différente. Pour notre casque, nous allons faire un membre pour l'affaire. Donc, sélectionnez membre pour l'affaire parce que la table sera en RAM. Et ensuite, nous allons transférer de S-RAM au timer. Donc, membre pour l'affaire. Allez-y, let's call down. Donc, pour le mode, nous allons utiliser un mode circulaire. Parce que nous voulons générer continuousment un signal. Donc, nous allons utiliser le mode circulaire plutôt que le mode normal. Ensuite, pour les transferts, nous allons utiliser les mots. Parce que c'est ce que mes données vont être. Donc, word-word pour l'affaire et la membre. Et nous allons enlever le 5.0. Pour l'affaire, nous allons utiliser l'affaire. Nous allons garder le reste de la configuration par default. Nous sommes maintenant avec la configuration du projet. Donc, nous allons ici et sauver votre projet. Donc, ça va générer le code de cette configuration. Donc, prenez Yes. Et ensuite, nous allons changer l'aspectif parce que nous allons entrer une perspective où nous pouvons éditer notre code. C'est la fin de part 1. Maintenant, s'il vous plait, venez au part 2 de cette vidéo.