Étape 2: ATXmega conception de carte de programmation
La conception
Mon dessein principal de la Commission du provenait de suggestions dans Atmel AVR042 : considérations matérielles guide ainsi que des conceptions de référence différents à le œil. Le Conseil accepte l’alimentation DC et a un bord régulateur pour 3.3V propre puissance. J’ai décidé d’utiliser l’oscillateur interne de 32MHz et inclure seulement un cristal de montre de 32kHz pour gestion horloge en temps réel. Il a également soutien USART-USB via une puce FTDI sur un USB BUB de Moderndevice.com pour 14 $, donc réglettes à broches sont sur la carte pour cela. Je suis un grand fan d’indication visuelle de l’action, donc j’ai inclus un vert 3mm LED pour indiquer la puissance et un rouge LED 3mm raccordé à l’interrupteur de réinitialisation pour vérifier un hard reset de la puce.
Mon objectif principal, cependant, était de produire une planche qui a permis l’accès à la plupart de toutes les broches sans avoir à configurer les condensateurs de découplage beaucoup nécessaires pour chaque nouvelle puce à programmer. Comme mentionné, l’interface de programmation est PDI parce qu’il ne supporte pas les SPI et je n’ai pas un débogueur/programmeur JTAG (il est sur ma liste de cadeaux) donc il n’y a aucun soutien JTAG sur la planche.
Photos de la dernière conception avec Eagle CAD schématique et les dossiers du Conseil comprennent ci-dessous. J’ai également créé un panel de couches de sérigraphie, miroir haut et bas à 300dpi (envisager d’impression à 1200dpi) au format PDF. C’est ce que j’utilise pour imprimer sur du papier transfert de transparence ou de toner, pourquoi je l’ai inclus dans un but pratique. Prenez une minute pour regarder la présentation du Conseil d’administration.
Idiomes de conception matérielle
Si vous avez pris une minute pour regarder le jury vous avez sans doute remarqué qu’il peut être cassé en petits morceaux que j’aime à appeler les idiomes de conception de matériel (ou motifs). Ce sont des petits circuits qui vous font maintes et maintes fois pour chaque (ou plusieurs) modèles. J’ai partitionné toute la conception dans les styles suivants :
- Puissance
- Remise à zéro
- Découplage
- USB
- Crystal
- Programmation
- Sockets
Puissance
Le sous-système d’alimentation est le composant j’ai profiter au maximum sur mes conseils, parce que j’ai trouvé en tirant trop mA USB peut causer de sérieux problèmes (j’ai brûlé un concentrateur USB une fois). Et ayant son propre sous-système d’alimentation permet de raccorder simplement à une verrue de mur DC de 5V à ~ 20V et exécutez-le autonome tout en vous de programme. Une source d’énergie extérieure n’est nécessaire si vous utilisez le mkII AVRISP car il ne fournit pas au jury de puissance comme certains des autres programmeurs là-bas.
La conception de base de la composante électrique est simple et directe. Un DC jack accepte une fiche qui fournit la puissance avec un assez gros condensateur polarisé entre les rails positifs et négatifs. Courir (+) dans une LDO régulateur de 3.3V fixe suivi de deux condensateurs de filtrage plus à 1uF et 0.1uF. Ils n’ont pas besoin d’être polarisée comme l’indique le schéma.
Le rail de la finale (+) sur le dernier condensateur est réglé, très stable, 3.3V. Vous pouvez choisir d’utiliser des composants à travers-trou sur les composants SMD, je l’ai utilisé et qui est totalement à vous. J’utilise ce que j’ai sur place la plupart du temps. J’ai aussi utilisé un inducteur 27uH IDE oucédéromsurlesecondport AVCC de faire de la puissance analogique un peu plus propre.
J’ai également inclus deux autres constituants de l’alimentation : un en-tête sur deux fronts pour l’exportation de puissance et un cavalier 3 broches servant à indiquer si la puissance provient de la CC ou de l’USB. C’est votre option. Photo ci-dessous.
Remise à zéro
J’ai presque toujours inclure un circuit de remise à zéro dans mes dessins. C’est très pratique. Ce modèle de matériel se compose des éléments suivants :
- Tirez vers le haut ! REMIS à SCR
- Connectez un côté de l’interrupteur tactile à la ! RÉINITIALISATION de l’autre côté connectée à une paire de résistance/LED va au sol.
- Sangle a 0.1uF condensateur entre les deux parties de l’interrupteur (c’est à dire les deux chevilles que vous avez utilisé).
Remarque : Faites attention avec l’option de condensateur car il permet de désactiver l’utilisation de debugWIRE, si vous l’utilisez. Et puis, si vous l’utilisez, vous devrez ajouter votre propre connecteur de la conception.
Poussez le bouton de réinitialisation, le rouge LED s’allume et relâchez. La puce ATXmega est un matériel reset et redémarre. Voir l’image ci-dessous.
Découplage
Dans les modèles analogiques, découplage (ou un pontage ici) sert à shunt de signaux haute fréquence sur la ligne au sol. Cela se trouve à l’entrée analogique de la SCR. Dans les conceptions numériques, l’objectif est différent. L’ampérage du MCU et dispositifs à bord est une moyenne et lors de nombreuses broches sont en utilisation et le fonctionnement, l’appel de courant peut être des centaines de mA ou plus. Les condensateurs placé en travers de la SCR et au sol Loi mini réservoirs de charge qui peut fournir un port le courant qu'il faut lorsque l’alimentation est un plus loin. Il est optimal de placer ces condensateurs que follement à proximité du port, ils sont entretien possible.
Dans ma conception, vous trouverez les condensateurs de découplage en vertu de la puce de transporteur (c'est-à-dire entre les supports de double-rangée cette inclusion est importante à l’ATXmega, AVR32, et bras niveaux car beaucoup de ces puces ont des nombreuses connexions SCR et AVcc qui doivent tous être découplées. C’est une douleur pour le faire manuellement... juste ne pas le faire. Faites-le sur la carte de programmation et faire avec elle.
USB
J’aimerais souvent avoir un débouché pour la sortie de débogage. Un écran LCD peut être trop restrictive pour recevoir beaucoup de données de débogage de votre firmware. C’est pourquoi, j’ai souvent inclure un en-tête de 6 broches à angle droit qui s’interface au module USB BUB des dispositifs modernes. Il vous permet d’écrire tout simplement à votre USART RS232 et est transmis par le bus USB via une puce FTDI. Sur le PC, j’utilise ensuite AVR Terminal pour visualiser mes données de débogage. C’est une valeur inestimable (pour moi, au moins).
Vous pouvez choisir de supprimer cette option si vous n’avez pas les capacités USB, même si pour 14 $ le BUB USB est un excellent achat. Photo ci-dessous.
Crystal
Contrairement à la conception de matériel trouvée dans beaucoup de conceptions AVR, 16 MHz ou 20 MHz crystal externe n’est pas vraiment utilisé pour l’horloge système sur Xmegas. J’utilise l’oscillateur interne de 32MHz et inclure seulement un cristal de montre de 32kHz pour une utilisation en chronométrage horloge temps réel. Il n’est pas nécessaire d’utiliser, mais c’est à bord, si vous avez besoin de fonctionnalités de chronométrage. Encore une fois, il a parallèlement capacitif et utilise deux petits (généralement 18pF à 22pF) condensateurs à GND.
Comme un avantage supplémentaire, la PLL peut utiliser le cristal de 32kHz externe pour DUREE compensation de température et de la dérive, ainsi améliorer la précision de l’oscillateur 32MHz.
Photo ci-dessous.
Programmation
Maintenant, ce qui serait un Conseil de programmation sans une interface de programmation ? Ici, nous utilisons une simple réglette à broches male 2 x 3 ; le même que celui utilisé pour la programmation de SPI. Recherchez ci-dessous le brochage de l’interface PDI. J’ai simplement alimenter et faire les deux connexions appropriées de PDI et appeler cela un jour. PDI élimine le besoin pour les résistances d’isolement SPI.
Sockets
Donc, pour le Comité de programmation/devel ATXmega, vous le trouverez hérissé avec en-têtes de socket. Il y a quatre (2 en parallèle) dual-2 x 8 femelles les en-têtes de ligne à accepter les en-têtes male 2 x 8 de la Xmega carrier board. J’ai aussi essayé de faire ressortir de NIP MCU aux en-têtes d’accès développement et ceux-ci se trouvent dans les en-têtes de ligne unique femelle autour des bords extérieurs. Ceux-ci sont marqués par une couche de sérigraphie indiquant quelle goupille est mis en évidence à quel socket.