Périphérique Convertisseur Analogique/Numérique Notation Votre note est : 3 sur

Périphérique Convertisseur Analogique/Numérique Notation Votre note est : 3 sur 10 Correction Question 1 Dans un convertisseur à approximation successives, comme celui du STM32, après le calcul du 7ième bit, sera effectué Mauvaise réponse La bonne réponse était le calcul du 6ième bit Question 2 Si le convertisseur ADC1 du STM32 est hors tension, et que par programmation le bit ADON est mis à 1, que se passe-t-il ? Mauvaise réponse La bonne réponse était Le convertisseur est mis sous tension Question 3 L'instruction RCC->APB2ENR |= 512 permet de Bonne réponse La bonne réponse était d'autoriser l'horloge du bus APB2 du périphérique ADC1 Question 4 L'instruction NVIC->ISER[0] = 0x40000; permet de Bonne réponse La bonne réponse était Autoriser les interruptions provenant des ADC Question 5 L'instruction ADC1->CR2 |= 257 Accède aux champs Bonne réponse La bonne réponse était Form@Web Jacquenod Frederic http://bertrand.granado.free.fr/iWeb/microcontroleur/MicroControleur... 1 of 5 1/7/2021, 12:20 AM DMA et ADON du registre CR2 de l'ADC1 Question 6 Soit la fonction d'interruption suivante : void isr_adc(void) __irq { ADC1-> SR &= 0xFFFFFFFD; Converted_Data = ADC1->DR; } Mauvaise réponse La bonne réponse était L'adresse du début de cette fonction est stockée dans la table des vecteurs d'interruptions, à un décalage de 0x88 par rapport au début de la table. Question 7 Les bits 23 à 20 du registre SQR1 de l'ADC1 sont Mauvaise réponse La bonne réponse était le champ indiquant le nombre de conversion successives à réaliser ? Question 8 Dans l'ADC du STM32, en mode balayage multi-canaux, comment peut-on récupérer les résultats des N conversions successives ? Mauvaise réponse La bonne réponse était A l'aide du DMA, car le STM32 ne possède qu'un registre DR Question 9 Le bit EOC du registre SR est Mauvaise réponse La bonne réponse était un drapeau indiquant une fin de conversion qui n'est pas remis automatiquement à zéro lors d'un service d'interruption Question 10 Si le sixième bit du registre CR1 est mis à un cela signifie Mauvaise réponse La bonne réponse était Que les interruptions provoquées par la fin d'une conversion sont autorisées Form@Web Jacquenod Frederic http://bertrand.granado.free.fr/iWeb/microcontroleur/MicroControleur... 2 of 5 1/7/2021, 12:20 AM Explication Question1 Dans un convertisseur à approximation successives, comme celui du STM32, après le calcul du 7ième bit, sera effectué Explication : Dans un mécanisme par approximation successive, les bits sont calculés les uns après les autres en débutant par le bit de poids fort (le 12ième pour le STM32) jusqu'au bit de poids faible. C'est un processus itératif. Question2 Si le convertisseur ADC1 du STM32 est hors tension, et que par programmation le bit ADON est mis à 1, que se passe-t-il ? Explication : C'est le préalable à l'utilisation de l'ADC1. Une conversion peut ensuite être initiée en écrivant à nouveau 1 dans le bit ADON Question3 L'instruction RCC->APB2ENR |= 512 permet de Explication : Le registre APB2ENR est le registre qui permet d'activer les horloges du bus APB2 pour les périphériques qui sont connectés sur ce bus. Question4 L'instruction NVIC->ISER[0] = 0x40000; permet de Explication : C'est l'autorisation locale aux périphériques ADC Question5 L'instruction ADC1->CR2 |= 257 Accède aux champs Explication : Voir documentation du STM32 Question6 Soit la fonction d'interruption suivante : void isr_adc(void) __irq { Form@Web Jacquenod Frederic http://bertrand.granado.free.fr/iWeb/microcontroleur/MicroControleur... 3 of 5 1/7/2021, 12:20 AM ADC1-> SR &= 0xFFFFFFFD; Converted_Data = ADC1->DR; } Explication : Il est par définition incohérent d'appeler cette fonction à partir d'un programme, qu'il soit écrit en C ou en assembleur. Cette fonction sera automatiquement exécuté lors d'une demande d'interruption de l'ADC, si les interruptions sont autorisées (Globalement, localement à l'ADC et pour la fin de conversion). Afin que cette automatisation soit possible, il faut au préalable stocker l'adresse de cette fonction dans la table des vecteurs d'interruption à l'indice qui lui est échu (0x88). Lors de la demande d'interruption, automatiquement cette table sera accedée et l'adresse contenue à l'indice 0x88 sera chargé dans le registre PC (Program Counter) du STM32. Question7 Les bits 23 à 20 du registre SQR1 de l'ADC1 sont Explication : Ce champ indique le nombre de conversion de 1 à 16 conversions successives possible, lorsque ce champ vaut 0, c'est une unique conversion. Question8 Dans l'ADC du STM32, en mode balayage multi-canaux, comment peut-on récupérer les résultats des N conversions successives ? Explication : Effectivement l'ADC ne possède qu'un registre DR, il est donc nécessaire d'avoir recours à un mécanisme de DMA qui à chaque fin de conversion copie la donnée du registre DR à un emplacement mémoire indentifié sans faire appel à une instruction exécutée sur le coeur CortexM3 du STM32. Question9 Le bit EOC du registre SR est Explication : Ce bit est remis à zéro soit lors de la lecture du registre DR, soit par programme. Question10 Si le sixième bit du registre CR1 est mis à un cela signifie Explication : Autorisation au niveau source d'interruption du périphérique, troisième niveau de masquage des interruptions. Form@Web Jacquenod Frederic http://bertrand.granado.free.fr/iWeb/microcontroleur/MicroControleur... 4 of 5 1/7/2021, 12:20 AM bertrand.granado@ensea.fr 2010-12-21 Questionnaire produit par le logiciel Form@Web ©Jacquenod Frédéric http://www.jacquenod.cicrp.jussieu.fr/Qcm Form@Web Jacquenod Frederic http://bertrand.granado.free.fr/iWeb/microcontroleur/MicroControleur... 5 of 5 1/7/2021, 12:20 AM uploads/Litterature/ convertisseur.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager