Étape 1: Conception d’un bouclier de programmeur
La conception du bouclier de programmeur, j’ai regardé les exigences pour les puces de programme avec et sans bootloaders. Tout d’abord, j’ai regardé la sélection de l’oscillateur.
Oscillateur
AtMega328P avec bootloader
La puce a besoin d’un oscillateur externe doit être programmé, donc cela doit se trouver sur le bouclier.
AtMega328P sans chargeur de démarrage
Si la puce a été configurée pour utiliser l’oscillateur interne, aucuns composants supplémentaires ne sont nécessaires. Toutefois, si la puce a été précédemment configurée pour utiliser un oscillateur externe, un oscillateur sera nécessaire. Avec un oscillateur externe, les deux types peuvent être programmés.
Il est clair que l’ajout d’un oscillateur externe à l’écu, accueillera tous les types de jetons. Un cristal de 16MHz et 2 x 15pf condensateurs ou un résonateur de 16MHz peut être utilisé.
Indications LED
Le code source ou le croquis a indiqué 3 sorties qui peuvent être connectés à LEDs. Ce indications devraient être présents sur le bouclier.
Réinitialisation du programmateur
Avec un bouclier placé au dessus d’un Arduino UNO, le bouton de réinitialisation UNO est normalement hors de portée. Le bouclier devrait inclure un bouton de réinitialisation séparés.
Alimenter la puce à programmer
La puce qui doit être programmé, doit avoir pouvoir relié. Pour l’alimentation, le + 5V et 0V provient de la carte Arduino UNO. Cependant, insérer et enlever un morceau du programmateur avec alimentation sur, pourrait causer des dommages à la puce. Pour cette raison, un commutateur a été ajouté au bouclier.
Protection de Port e/s
Le bouclier de ArduinoISP définit certaines broches en sortie sur l’Arduino UNO. Si maintenant se connecter un AtMega328P utilisé précédemment pour le programmeur, il peut y avoir conflit entre i/o lignes de la deux de la puce qui pourrait endommager les ports. Pour la protection, j’ai ajouté 470R résistances entre le programmeur et la puce à programmer.
Réinitialiser les ligne de puce à programmer
Afin d’assurer qu'une écurie réinitialiser le circuit pour la puce à programmer, j’ai ajouté une résistance pull-up de 10K à la ligne RESET.
Méthode de programmation
Connecteur ZIF
Il s’agit d’un moyen facile de copeaux autonome de programme, ou brûler le bootloader sur nouvelles puces. J’ai donc ajouté le connecteur ZIF à la conception.
Câble de programmation
Comme presque toutes mes créations sont des circuits autonomes, ma programmation et le développement se fait sur maquette. Par la suite, mises à jour sont font via les en-têtes sur le circuit final de programmation. Pour cette raison, j’ai ajouté du câble de programmation pour la conception.