Je me demande pourquoi Arduino ne fonctionne pas à 20 MHz, la fréquence pour laquelle l'AVR est spécifié. Maintenant, fonctionnant à 16 MHz, nous perdons 20% de performances pour rien.
Je ne pense pas qu'il y ait des implications lorsque vous remplacez le résonateur 16 MHz par un type 20 MHz, avec probablement la seule exception pour le débit en bauds dans le chargeur de démarrage. Ou y en a-t-il?
Est-ce que quelqu'un sait pourquoi les concepteurs Arduino ont choisi 16 MHz?
oscillator-clock
Joris Groosman
la source
la source
Réponses:
Il n'y a aucune raison matérielle (pour autant que je sache) que vous ne pouviez pas exécuter un Arduino approprié à 20 MHz. Cependant, vous rencontriez des inexactitudes mineures de synchronisation dans le logiciel, car la configuration Arduino standard fonctionne apparemment mieux si la vitesse d'horloge est de 8 ou 16 MHz.
Je soupçonne que c'est en grande partie pour des raisons historiques. Les premières cartes Arduino étaient basées sur des puces qui ne montaient que jusqu'à 16 MHz, comme le
ATmega8
. En utilisant la même configuration pour toutes les puces, tout reste un peu plus simple et plus cohérent.Vous trouverez plus d'informations ici sur les problèmes de synchronisation: http://forum.arduino.cc/index.php?topic=158223.0#msg_1186708
la source
Vous pouvez, et je le fais.
Ce n'est plus techniquement un Arduino, je suppose. J'ai fait ma propre carte, remplacer un résonateur sur une carte nécessitera une soudure fine, mais c'est certainement possible.
Il y a quelques problèmes: tout ce qui est lié au temps (par exemple millis ()) sera exécuté plus rapidement qu'il ne devrait - 25% de millis () en plus par seconde. De plus, le chargeur de démarrage attend 16 MHz, vous ne pourrez donc pas le reprogrammer à cette vitesse. J'ai acheté un programmeur USBASP - il se connecte à la grille 2x3 broches d'un côté de la carte et vous permet de le reprogrammer sans le chargeur de démarrage (c'est ainsi que le chargeur de démarrage est mis en place en premier lieu!). Vous aurez besoin d'au moins 4,5 volts à 20 mhz pour éviter les problèmes, contre 3,78 volts pour 16 mhz - cela signifie que les batteries se déchargeront un peu plus rapidement (les batteries 3x1,5 v se déchargeront assez rapidement), et si vous avez des moteurs ou autre tirez sur le piles, 3 piles 1.5v ne fonctionneront probablement pas même si elles sont fraîches.
Alternativement, en allant dans la direction opposée exacte, plus la vitesse d'horloge est faible, moins la tension est nécessaire - pour certains projets, vous pourriez ne pas avoir besoin de la vitesse d'horloge - vous pouvez descendre à 1,8 V fonctionnant à 4 MHz.
la source