Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Quartz et séquence de démarrage des microcontroleurs




  1. #1
    dardagnan

    Quartz et séquence de démarrage des microcontroleurs

    Bonsoir à tous,

    Il m'est arrivé plusieurs fois, en tenant de diagnostiquer des appareils en panne, de "tomber" sur ce type de situation: l'appareil semble être totalement éteint, mais les tensions d'alimentation sont bonnes. En poussant les investigations, je me rapproche du microcontrôleur de gestion et m’aperçois que son quartz ou son résonateur n'oscille pas. Il m'est déjà arrivé de changer le quartz, ou les condensateurs associés, et l'appareil repart.

    Par contre, il m'est aussi arrivé de les remplacer, sans effet, toujours pas d'oscillation.

    En fouillant sur le forum, j'ai appris que le quartz avait besoin d'être mis en oscillation, je suppose donc que c'est le micro qui doit le "lancer", via les broches Xin/Xout. Mais à quel moment le micro effectue-t-il cette action? Est-ce impérativement la toute première chose qu'il effectue dès la mise sous tension, ou est-ce après le Reset?

    Peut être que la séquence de démarrage dépend de chaque type de microcontrôleur, mais s'il y quelqu'un qui se sent de m’expliquer les bases, ça serait super!

    Merci et bonne soirée

    -----


  2. Publicité
  3. #2
    gcortex

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonjour,

    C'est une porte non qui injecte du courant en phase avec la tension pour compenser l'énergie perdue.
    En principe, çà part dès que la tension d'alim est suffisante, avec une amplitude qui augmente pendant une milliseconde.
    Un compteur peut temporiser avant d'aller chercher la première instruction du programme.

  4. #3
    bobflux

    Re : Quartz et séquence de démarrage des microcontroleurs

    La plupart des micros ont un oscillateur interne en plus de la possibilité de mettre un quartz externe, et donc il y a un mécanisme pour choisir entre les deux.

    - Certains micros démarrent d'abord sur l'oscillateur interne puis on active l'oscillateur externe en logiciel.

    - D'autres micros font la sélection en hardware (avec des "fuses") docn ça démarre direct sur le bon.

    Si tu suspectes un problème d'horloge tu peux toujours injecter une fréquence correspondant à celle du quartz sur l'entrée d'horloge du micro, avec une résistance en série. Tu verras si il boote ou pas...


  5. #4
    luc_1049

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonjour

    Il faut considérer aussi le séquencement de la tension au démarrage, la génération du signal de reset, il y a un chronogramme à respecter. Dans certain cas si la montée n'est pas monotone et croissante cela peut créer un problème. Pour certains micro il y aussi plusieurs tensions différentes, par exemple du 2.5 , du 3 V3 voire aussi du 5 V.
    Un circuit de reset est fait pour cela, un simple r c ce n'est pas aussi bien...
    Bien tendu pour lever tout risque il faut s'assurer du respect des valeurs de tensions conformément au datasheet.
    cdlt

  6. #5
    PA5CAL

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonjour

    Les oscillateurs utilisés sont classiquement du type Pierce où un amplificateur inverseur, réalisé à l'aide d'une porte inverseuse avec une résistance de contre-réaction qui fixe son point de fonctionnement moyen à environ la moitié de la tension d'alimentation, alimente une cellule de déphasage constituée (dans l'ordre) d'une résistance, d'un premier condensateur de charge, de l'élément résonant (quartz ou résonateur céramique), puis d'un second condensateur de charge relié à l'entrée de l'amplificateur.

    L'amplificateur peut contenir une seule porte non bufferisée présentant un gain de quelques centaines et offrant une bonne stabilité en fréquence à l'oscillateur, ou bien trois portes (dont seule la dernière peut délivrer de la puissance) présentant un gain supérieur à 10000 et autorisant une faible consommation avec un signal de faible amplitude.

    Lorsque la tension d'alimentation est suffisante, l'oscillateur démarre grâce à l'amplification de petites perturbations sur la tension d'entrée ou sur la tension de sortie.
    - Une mise sous tension assez rapide provoque en principe une perturbation suffisante pour ce démarrage. Dans ce cas, les circuits internes du micro-contrôleur laissent un délai pour que la tension d'alimentation atteigne le niveau minimum attendu, puis comptent quelques oscillations pour s'assurer du bon fonctionnement de l'oscillateur avec de l'utiliser pour cadencer le système.
    - Généralement, les micro-contrôleurs proposent également une mise hors fonction provisoire de l'oscillateur afin de réduire la consommation du système mis en sommeil. Dans ce cas, la tension d'alimentation reste présente et, pour repartir, l'oscillateur doit être excité par son signal de réactivation ou par des perturbations extérieures. Les circuits internes comptent alors, sans délai, un nombre d'oscillations beaucoup plus important avant de relancer le système.
    Le délai initial et les nombres d'oscillations préalables au (re)démarrage sont en principe paramétrables afin de pouvoir adapter dans une certaine mesure le micro-contrôleur aux caractéristiques de l'alimentation et de l'élément résonant.

    Dans la conception des oscillateurs Pierce, les caractéristiques de l'élément résonant sont intimement liés à ceux des éléments qui l'entourent. Je ne développerai pas ce point ici, l'article que voici fournissant une bonne introduction à cette problématique.


    Lorsqu'un oscillateur Pierce ne démarre pas, ou pas tout le temps, c'est le plus souvent parce que ses éléments constitutifs ne correspondent pas aux caractéristiques requis par sa conception (par exemple du fait d'un modèle de quartz inadapté, d'un mauvais layout du PCB, ou de valeurs incorrectes pour les condensateurs de charge, la résistance série, voire la résistance parallèle), ou à cause d'une erreur dans la configuration des paramètres de démarrage, ou du fait d'une tension d'alimentation trop lente à s'établir.

    Les problèmes peuvent aussi survenir suite à une dégradation des caractéristiques des composants sur la durée, due à leur vieillissement naturel, à des agressions extérieures ou à un dimensionnement insuffisant.

    Il arrive également que la conception de l'oscillateur soit erronée dès le départ.


    Par ailleurs, il faut garder à l'esprit que ce type d'oscillateur est en partie mécanique, et qu'il est de ce fait sensible aux chocs et aux vibrations. Son utilisation dans un environnement particulièrement violent, ou un montage mécaniquement inadapté des composants ou du circuit, sont susceptibles de provoquer des dysfonctionnement.
    Dernière modification par PA5CAL ; 05/12/2018 à 11h20.

  7. A voir en vidéo sur Futura
  8. #6
    dardagnan

    Re : Quartz et séquence de démarrage des microcontroleurs

    Merci à tous les quatre pour vos réponses précises!

    Donc si j'ai bien compris, après remplacement du quartz (ou résonateur céramique) et des capas associées, l'absence d'oscillations ne veux pas obligatoirement dire que le micro est HS. On peut imaginer un problème de timing au niveau des alims, du reset, sur la configuration du choix horloge interne ou externe.. Donc lecture assidue du datasheet du uP obligatoire!

    Je me pose donc 2 questions pour progresser dans ce domaine fort intéressant:

    - pour vérifier la conformité des timings, j'ai l'impression que mon vieil oscillo analogique ne va pas suffire... Çà fait un moment que j'envisage de le remplacer, il semble qu'on trouve aujourd'hui des modèles numériques à mémoire à tarif abordable. Pensez vous qu'il faille privilégier un 4 voies (surveillance des différents paramètres au démarrage d'un micro par exemple) ou plutôt un 2 voies avec une bande passante plus élevée?

    - quand je lis les datasheet des micros, je suis souvent un peu paumé, un certains nombre de notions m'échappent. J'envisage de commander un livre d'initiation aux PIC, est-ce que ça semble être un bon choix pour en apprendre plus sur le fonctionnement général des microcontroleurs?

    Bonne soirée à tous

  9. #7
    RISC

    Re : Quartz et séquence de démarrage des microcontroleurs

    Salut,
    Le design d'un oscillateur à quartz est tout sauf banal...
    Il suffit de pas grand chose pour qu'il n'oscille pas :
    1/ Mauvais routage
    2/ mauvais choix des condensateurs => ces valeurs ne se mettent pas au pif...elles se calculent et dépendent de la datasheet du quartz que tu choisis...
    3/ Eloignement du quartz trop important des broches du micro
    4/ Gamme d'alimentation du quartz non adaptée

    C'est pour cela qu'il existe des centaines de notes d'application autour du design des oscillateurs à quartz : http://bfy.tw/LD7K

    Bonne lecture
    a+
    Ma marotte ? les microcontrôleurs ;=)

  10. Publicité
  11. #8
    luc_1049

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonjour

    Concernant l'oscilloscope, en effet si vous voulez vérifier ou regarder plus tard des transitoires un oscilloscope avec une mémoire, un numérique ce serait bien.
    Un 4 voies vous permettra de faire plus de chose notamment si vous abordez la conception. Autre solution pour visualiser plus de signaux à condition qu'ils soient logiques un analyseur logique.
    Pour la bande passante il vous faut déjà déterminer votre domaine d'intervention, quelle serait la fréquence de travail des cartes que vous voulez observer ?
    Ensuite il vous faudra prendre de la marge pour visualiser convenablement un signal carré et apprécier un front montant par exemple, car la BP requise est plus grande à cause du contenu du signal avec ses harmoniques.

    Concernant le fait d’appréhender l'utilisation d'un micro il faut aussi pratiquer, le matériel et aussi le logiciel, en prenant soin d'éviter de copier du soft sans forcément en décortiquer la fonctionnalité. Pour commencer avec un pic un livre pourquoi pas . Cf aussi un cours en ligne MOOC correspondant pour acquérir les grandes lignes.
    Pour le datasheet d'un micro qu'il est bien de consulter il faut voir au coup par coup la fonctionnalité du micro qui vous intéresse, par exemple le synoptique de la génération des horloges du micro, la liste des broches avec leur fonction principale, le chronogramme du reset requis au démarrage, les valeurs de tension nominale, min et max...

    cdlt

  12. #9
    dardagnan

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonsoir

    @ RISC
    effectivement le sujet à l'air vaste et complexe!
    Je m'intéresse plus à la maintenance qu'à la conception , et j'ose espérer que lors de la conception d'un appareil ces différents paramètres sont bien étudiés! Enfin j'imagine qu'un défaut à ce niveau doit parfois se présenter, mais l'origine d'une panne sur un matériel agé de quelques années doit certainement être plus souvent lié au vieillissement des composants. Enfin je suppose... mais c'est un autre sujet!

    @luc1049
    Côté bande passante de l'oscillo je pense que mes moyens vont me limiter à 200Mhz. Ca devrait convenir pour mon hobbie de dépannage type TV amplis etc... Parfois les
    constructeurs donnent les chronogrammes d'établissement des diverses alimentations, protections ou bus de données... et sans oscillo à mémoire c'est difficile à mesurer!

    En tout cas encore merci pour tous les conseils, à moi de me lancer dans la pratique, je vais faire un tour des mooc existants, je n'y avais pas pensé.

    Bonne soirée

  13. #10
    jiherve

    Re : Quartz et séquence de démarrage des microcontroleurs

    Bonsoir
    et il faut vérifier que tout est bien decouplé!
    JR
    l'électronique c'est pas du vaudou!

  14. #11
    antek

    Re : Quartz et séquence de démarrage des microcontroleurs

    Citation Envoyé par dardagnan Voir le message
    Parfois les constructeurs donnent les chronogrammes d'établissement des diverses alimentations, protections ou bus de données... et sans oscillo à mémoire c'est difficile à mesurer !
    Ces données sont informatives et les mesures les concernant rarement réalisables.
    Un cours complet en français -> http://www.abcelectronique.com/bigonoff/

  15. #12
    dardagnan

    Re : Quartz et séquence de démarrage des microcontroleurs

    Citation Envoyé par jiherve Voir le message
    Bonsoir
    et il faut vérifier que tout est bien decouplé!
    JR
    Bonsoir, qu'entendez vous par bien découplé? S'il s'agit des 2 capas à proximité immédiate du crytal, il m'est déjà arrivé de les remplacer (en plus du quartz), sans effet.

  16. #13
    dardagnan

    Re : Quartz et séquence de démarrage des microcontroleurs

    Citation Envoyé par antek Voir le message
    Ces données sont informatives et les mesures les concernant rarement réalisables.
    Un cours complet en français -> http://www.abcelectronique.com/bigonoff/
    Bonsoir, il est vrai que les cours de Bigonoff ont l'air très complets!

  17. #14
    PA5CAL

    Re : Quartz et séquence de démarrage des microcontroleurs

    Citation Envoyé par dardagnan Voir le message
    Bonsoir, qu'entendez vous par bien découplé? S'il s'agit des 2 capas à proximité immédiate du crytal, il m'est déjà arrivé de les remplacer (en plus du quartz), sans effet.
    Les capas à proximité immédiate du quartz ne servent pas au découplage, mais entrent dans la boucle de contre-réaction de l'amplificateur.

    Ce dont parle jiherve, ce sont les capas de découplage du circuit, et notamment celle qui stabilise la tension d'alimentation de l'amplificateur de l'oscillateur. Un mauvais découplage pourrait modifier le comportement dynamique de l'amplificateur et l'empêcher d'entretenir l'oscillation. Un mauvais découplage des tensions d'alimentation des circuits environnants serait également susceptible de créer des perturbations.

  18. #15
    dardagnan

    Re : Quartz et séquence de démarrage des microcontroleurs

    D'accord, merci pour cette précision.

    Cette discussion me donne de nouvelles pistes à vérifier si la situation se représente un jour. Et si je bloque à nouveau j'ouvrirai un nouveau fil pour traiter une situation plus spécifique, en tout cas je considère que celui ci peut être clôturé.

    Encore merci à tous pour ces conseils, bonne soirée.

Discussions similaires

  1. [Programmation] Les microcontrôleurs.
    Par Jean-Pelouse dans le forum Électronique
    Réponses: 62
    Dernier message: 16/02/2017, 17h00
  2. séquence promotrice / séquence régulatrice
    Par fati1998 dans le forum Biologie
    Réponses: 1
    Dernier message: 16/12/2015, 17h31
  3. microcontroleurs
    Par lamboni75 dans le forum Électronique
    Réponses: 6
    Dernier message: 09/10/2013, 15h25
  4. Réponses: 2
    Dernier message: 08/12/2011, 10h24
  5. Démarrage d'un oscillateur à quartz
    Par NLS le pingouin dans le forum Électronique
    Réponses: 14
    Dernier message: 05/08/2010, 17h09