 Bonjour et bienvenue à cette présentation de Cordic en pratique. Dans cette vidéo, je vais vous montrer un exemple simple sur comment utiliser la fonction phase et modulée avec le STM32 Cordic Peripheral. Dans cette présentation, je vais vous donner quelques pré-requisites nécessaires pour aller dans la vidéo afin de reproduire l'exemple et démontrer comment utiliser la fonction de Phase et Modulée en mode 0 sur Mode. Avant d'aller dans les autres détails, c'est recommandé de voir la première partie de cette série de vidéo, appelée Cordic Overview. Pour produire l'exemple même présenté dans cette vidéo, vous devez installer le STM32 Cube MX, le STM32 Cube IDE et le STM32 Cube Monitor. Finalement, cette vidéo a été faite en utilisant un Nucleo G474RE. La fonction phase et modulée prend deux arguments et génère deux résultats. Le premier argument est le ordinateur X qui est la magnité de la vector et la direction du X-axis. Si l'absolute valeur de X est plus que 1, un escalier doit être appliqué en software pour adapter à la rangée Q131 du premier argument. Le second argument est le ordinateur Y qui est la magnité de la vector et la direction du X-axis. Si l'absolute valeur de Y est plus que 1, un escalier doit être appliqué en software pour adapter à la rangée Q131 du second argument. Si la fonction phase est utilisée, le résultat primaire est le phase-angle-theta de la vector V, le phase-angle-theta doit être multipliqué par pi pour obtenir la rangée en régime. Note que les valeurs de pi sont close à pi, il peut s'entraîner à peu près de pi grâce à la nature circulaire du phase-angle. Le résultat secondaire est le modulé d'absolute valeur de V est equal au root square de X square plus Y square. Si l'absolute valeur de V est plus que 1, le résultat dans REST 1 est saturé à 1. Dans le cas où la fonction modulée est utilisée, REST 1 et REST 2 seront switchés. REST 1 sera installé dans la rangée modulée de 0 à plus de 1 et REST 2 sera installé dans la rangée phase de 1 à plus de 1. Note que même si le paramètre scale n'est pas appliqué pour cette fonction, il doit être installé à 0. La précision de l'absolute valeur d'absolute valeur est définie par le nombre de iterations configurées pour générer les résultats d'absolute valeur. Dans le cas du fonction modulé d'absolute valeur, la précision basée que l'absolute valeur pourrait bénéficier est quand elle est configurée avec 24 iterations ou 6 cycles pour 2 à la puissance de minus 19, maximum résidueux. Nous allons maintenant utiliser STM32 QBMX afin de générer un template projet en utilisant le STM32 G474RI. Dans STM32 QBMX, cliquez sur Access to Board Selector. Cliquez sur STM32 G4 et cliquez sur le Nucléo G474RI. Cliquez sur No, et cliquez sur le dialogue, Board Project Option Nucléo G474RI, et cliquez sur Pinout & Configuration Tab. Cliquez sur Pinout, Cliquez sur Yes, et cliquez sur la question de continuer. Puis, dans Computing, Cordic, vérifiez le checkbox de l'activité. Dans Project Manager, dans Project Name, type Cordic, type Modulus Z0 pour 0 Overhead Mode. Project Location, par exemple, dans Videos Cordic, et cliquez sur la chaine 2, STM32 QBMX ID. Et cliquez sur Générite Code. Lorsque le dialogue s'éteint, cliquez sur Open Project. Lorsque le projet est bien importé, une compétition complète de dialogue s'éteint, cliquez sur le OK. Le code suivant montre l'implémentation de la phase et la fonction modulée en utilisant le Cordic Peripheral dans 0 Overhead Mode. X Parameter, est donné en radian et converti pour filmer le Cordic Peripheral range de minus 1 à plus 1 dans Q131 format dans Input Q131. Pour cet exemple, nous choisissons de prendre l'exemple de la meilleure précision offerte par le Cordic pour cette fonction par prendre 6 cycles pour générer le résultat. Nous avons aussi installé le parameter scale à 0 comme mentionné. L'implémentation pour la fonction modulée est équivalente à la phase fonction mais en utilisant la fonction called Cordic Function Modulus. Ce n'est pas que le Cordic offre points à calculer l'HEL Cordic et 0 Overhead à calculer l'HEL Cordic à calculer l'O Mode. Nous choisissons d'utiliser l'HEL Cordic à calculer l'O. Pour utiliser cette fonction, nous devons ajouter le code suivant. F32 à Q131 Q131 à F132. Define Pi Include le Mite Lab puis dans l'User Code Begin 0 ajoute 2 flottes Cordic Phase et Cordic Modulus dans l'User Code Begin 1 2 flottes X et Y et puis dans l'User Code Begin 3 nous implementons un loop à partir du 360° de la circole et étudier la Phase F et la Phase F et la Phase F Modulus 1 dans la Phase F et la Phase Modulus variable chaque 10 ms note que chaque angle est convertie d'un degrés à deux degrés. Nous pouvons construire notre projet. Et puis un débug a STM32 application. Cliquez sur OK Cliquez sur Switch Free Run et Disconnect d'un degrés. Puis dans STM32 Q Monitor nous devons sélectionner le bâtiment pour exécuter. Alors, nous sommes dans Videos, Cordic, Phase Modulus et au débug. Puis nous devons sélectionner le bâtiment et le bâtiment. Cliquez sur Update Done Puis dans le bâtiment, nous devons ajouter ces deux bâtiments. Donc le bâtiment x est 10 x le bâtiment x et le bâtiment x est 10 x le bâtiment x. Cliquez sur Done Puis dans le switch nous devons montrer ces deux variables et les lier à la charte trégonométrique Déploy Et puis, quand c'est déployé, cliquez sur le dashboard et nous pouvons commencer l'acquisition. Merci