Étape 1: matériel
Le dispositif comprend un en-tête ICSP (In Circuit Serial Programming) et connexion USB de type B. En outre, il y a une seule LED et un interrupteur simple pour représenter les périphériques d’entrée et de sortie.
Le circuit est très droit avant (si vous ne comprenez pas ce niveau de l’électronique de microcontrôleur que je suggère que vous allez de l’avant et construire certains des nombreux clignotants LED et bouton poussoir tutoriels disponibles sur le web avant de tenter cela).
Le PIC18F4550 sera « bus alimenté » ; Cela signifie que l’appareil tirera sa puissance de la prise USB (votre PC) donc pas de régulation de puissance est requise.
Le condensateur 470nF (C3) est requis, donc le PIC peut exploiter le circuit USB interne (il aide à réguler les tensions USB requises par l’interface USB intégrée dans le PIC).
L’en-tête de l’ICSP permet de brancher un programmateur PIC, je suggère d’utiliser le programmateur PICkit2 peu coûteux, mais d’autres programmeurs compatibles PDCI devraient fonctionner parfaitement. L’horloge de 20Mhz est requis pour les applications USB.
Cela permet le PIC d’utiliser PLL qui ups la vitesse d’horloge au 48Mhz requis nécessaires à la communication USB.
(Lecteur [Jason] m’a envoyé un courriel précisant qu’un cristal de 20Mhz n’est pas strictement nécessaire, lorsque vous utilisez USB embarqué de la PIC18F - qui est tout à fait correct.
Vous pouvez utiliser divers cristaux si vous modifiez la configuration de fusible PIC. Découvrez les PIC18F4550 datasheet pages 29-30 pour plus d’informations - Jason Merci!).
L’image suivante montre le circuit construit sur une maquette de l’amateur. J’ai ajouté quelques étiquettes à l’image à préciser quels composants vont où.
Veuillez noter que, pour la programmation, nous allons utiliser l’alimentation 5V du programmateur. Puisqu’il s’agit d’un périphérique USB alimenté par bus les lignes 5V seront connectés au connecteur USB aussi.
Cela signifie que si le programmeur et le câble USB sont raccordés en même temps il y a le potentiel pour le programmeur d’alimentation 5V à l’hôte USB ; ce n’est pas recommandé par les normes USB.
Je n’ai jamais vu un cas où c’est important (à des fins d’expérimentation), mais si vous voulez, vous pouvez ajouter une diode de barrière au connecteur USB pour empêcher cela. Dans mes projets, j’utilise généralement une diode Schottky Barrier de 1N5817 pour cela.