Pouvez-vous choisir n'importe quel cristal pour un microcontrôleur PIC?

8

J'utilise le PIC16F690 et je sais que l'oscillateur interne a certaines valeurs (20,8,4 ...).

Je voudrais mettre un cristal externe à 8 MHz, mais je n'ai pu trouver que 8,8 MHz ou 7,6 MHz.

Je voudrais savoir s'il est possible de mettre tout cela au PIC, ou doit-il être exactement 8 MHz? Aussi, comment dois-je choisir les condensateurs pour chacun?

Curnelious
la source

Réponses:

10

Vous pouvez utiliser n'importe quel cristal tant qu'il se trouve dans la plage de fréquences pour laquelle le pilote de cristal PIC est spécifié.

Le pilote Crystal de la plupart des PIC (je n'ai pas recherché votre PIC en particulier, c'est votre travail) peut être réglé sur trois niveaux de lecteur différents, généralement appelés LP (faible puissance), XT (cristal) et HS (haute vitesse). Les plus lents utilisent moins d'énergie mais ont également une fréquence de cristal maximale inférieure qu'ils peuvent supporter. Le mode HS peut saturer et endommager les cristaux sensibles à basse fréquence 32768 Hz, comme ceux utilisés dans les montres-bracelets. Ensemble, les trois niveaux de commande de cristal couvrent la plage de quelques 10s de kHz à 20 MHz, ce qui est le plus rapide que PIC puisse être piloté de toute façon.

Un autre point est que vous souhaitez utiliser un cristal spécifié pour l'application de résonance parallèle. Cela signifie que sa fréquence est spécifiée pour la façon dont le pilote de cristal PIC conduira le cristal. Ces cristaux seront spécifiés avec une capacité de charge. Les cristaux résonants en série fonctionneront, mais la fréquence ne sera probablement pas dans les tolérances.

Olin Lathrop
la source
Merci beaucoup . mon problème était que l'oscillateur interne m'a donné une horloge d'instructions 0.47us au lieu de 0.5us - pour le 8mhz. donc je suppose qu'un oscillateur EXTERNE sera plus précis. Est-ce vrai? une autre chose, je ne pouvais pas comprendre comment régler les fusibles pour ce f?
Curnelious
4
@Curn: Oui, un cristal externe sera plus précis que l'oscillateur interne. Même les cristaux bon marché sont bons pour 50 ppm, et 20 ppm sont généralement disponibles pour pas trop d'argent. Quant aux paramètres de configuration, ils sont tous bien décrits dans la fiche technique. Pour un cristal à 8 MHz, vous voudrez utiliser le mode HS.
Olin Lathrop du
8

En supposant que vous ne dépassez pas la spécification de fréquence d'horloge dans le silicium, les fusibles programmés et le code d'application, vous pouvez utiliser n'importe quel cristal que vous aimez. Les fiches techniques expliqueront quels condensateurs utiliser.

Ignacio Vazquez-Abrams
la source
3
Il convient de noter que la modification de la fréquence d'horloge modifiera également les calculs pour des éléments tels que la vitesse de transmission et les minuteries d'intervalle. Cela semble évident, mais c'est facile à oublier.
Scott Winder
@Scott: Uniquement si vous écrivez du code irresponsable avec des diviseurs de débit en bauds et autres codés en dur. Avec un codage correct, vous changez un nombre qui est la fréquence de l'oscillateur et tout est automatiquement dérivé de cela au moment de la construction, avec bien sûr une vérification des erreurs pour les cas impossibles ou hors plage. Vous avez raison en ce sens que vous devez vous rappeler de changer le seul numéro.
Olin Lathrop du
1
@OlinLathrop: Je suis d'accord avec vous en cas de légers changements de fréquence. Cependant, des changements de fréquence drastiques peuvent nécessiter une modification du pré et / ou du post-scalaire d'un générateur de vitesse de transmission afin de maintenir les fréquences intermédiaires dans la plage recommandée. Du côté de la minuterie, certains commutateurs de fréquence d'horloge peuvent entraîner des débordements et toute fréquence différente vous donnera une résolution d'horloge différente, donc la modification du nombre de temporisations (à l'aide d'une macro de fréquence) n'est qu'une partie de la solution. L'horloge de la minuterie peut également avoir besoin d'être modifiée pour atteindre la précision et la longueur requises.
Scott Winder
1
@Scott: Mais c'est tout ce qui est calculé au moment de la construction ou au moins vérifié. Si vous codez en dur quelque chose comme un prédéfinisseur (généralement pas nécessaire) et que la nouvelle fréquence des instructions ne prend pas en charge ce que vous voulez faire, le code de génération générera une erreur pour vous alerter. S'il peut le gérer, il le fait en silence. Il n'y a aucune excuse pour qu'un changement de fréquence cause silencieusement un problème. C'est juste un mauvais codage.
Olin Lathrop du
@OlinLathrop: Je ne suis pas en désaccord. Je souligne simplement que ce n'est pas toujours aussi facile que de changer un seul numéro, même dans le cas d'un bon codage. Dans tous les cas, c'est quelque chose à surveiller lors du changement de fréquence.
Scott Winder
0

Comme indiqué dans la fiche technique, vous pouvez utiliser un oscillateur jusqu'à 20 MHz. Pour le condensateur, la fiche technique peut vous dire que l'utilisation de quel type de ceux-ci, mais pour la quantité de condensateur, vous devez utiliser votre expérience.

Roh
la source
1
Bien que «l'expérience» soit toujours une bonne chose, mais la capacité de charge requise dépend du cristal et doit être spécifiée dans la fiche technique des cristaux. Cela a à voir avec la fréquence de résonance parallèle. En outre, la capacité parasite des broches uC et des traces doit être prise en compte.
Rev1.0
@ Rev1.0 Super et merci! j'ai voté pour vous. par exemple, j'ai vu cette fiche technique: html.alldatasheet.com/html-pdf/236074/CRYSTEKCRYSTAL/CYSDXX/… à droite, vous pouvez voir un tableau (numéro de pièce standard). dois-je l'utiliser pour choisir le condensateur? par exemple pour 16mhz dois-je utiliser un condensateur 20pf?
Roh
1
Non, la capacité de charge donnée est la capacité totale requise, pas la valeur pour les deux condensateurs. Calculez CX = 2 * (CL - Cstray), où CX est le condensateur dont vous avez besoin, CL = 20pf et Cstray dépend de votre conception (environ 2-5pf).
Rev1.0
1
Cstray est la capacité des broches du microcontrôleur (fiche technique) + la capacité parasite des traces sur votre carte (peut être approximée en connaissant la longueur, la largeur et la couche des traces). Si c'est juste pour un projet de loisir, supposez 5pf et soyez probablement bien.
Rev1.0
1
Lisez et comprenez ceci :). "Si Cin et Cout ne sont pas spécifiés, alors une valeur approximative de 5 pF pour chacun est un bon début."
Rev1.0