J'ai conçu une simple carte STM32. Voici les images schématiques et la disposition de la carte PCB:
Disposition PCB avec VDD en surbrillance:
Disposition PCB avec GND en surbrillance:
Seules les parties de cette conception qui sont pertinentes pour ma question sont montrées dans les images ci-dessus.
Mon problème est: j'ai essayé d'utiliser le ST-Link intégré d'une carte de découverte STM32 pour programmer cette carte personnalisée, mais je n'ai pas encore réussi. L'application ST-Link Utility sur PC peut reconnaître le programmeur, mais elle ne peut pas détecter le MCU cible. Les messages d'erreur que j'ai reçus étaient: "Cible non connectée" et "Erreur de communication USB ST-Link".
Voici quelques faits liés à mon problème:
- La carte de découverte STM32 fonctionne bien: je peux utiliser son ST-Link intégré pour programmer son microcontrôleur STM32 intégré. C'est acceptable.
- Le MCU STM32 a été soudé avec une orientation correcte sur la carte personnalisée. J'ai vérifié cela deux fois.
- J'ai vérifié les traces VDD et SWD. Ils sont bien connectés (pas de problème de soudure). Pin Boot0 est à 0V. La broche NRST est à 3,3 V.
- Le câble SWD est court, seulement 7 à 8 cm de long.
- Le STM32 de ma carte personnalisée est du même type que celui de la carte Discovery.
J'ai suivi les instructions du manuel de la carte de découverte STM32 sur la façon d'utiliser la carte de découverte pour programmer un microcontrôleur STM32 externe. Pour être plus précis, j'ai retiré les 2 cavaliers CN3, puis j'ai connecté les cartes comme dans ce tableau:
J'ai également retiré le pont de soudure SB11 sur la carte Discovery (afin que la broche NRST puisse fonctionner correctement).
- J'ai essayé l'application ST-Link Utility et Keil. Les messages d'erreur que j'ai reçus sont les mêmes.
- Au début, je n'ai pas connecté la broche 6 sur le tableau ci-dessus (SWO) car à ma connaissance ce n'est pas nécessaire. Cependant, après cela, je l'ai également connecté, mais les choses n'ont toujours pas fonctionné.
- J'ai également ajouté un capuchon de 100 nF de la broche NRST à GND, puis une résistance de rappel de 100 k de cette broche à VDD. Le problème persiste.
- J'ai également essayé d'utiliser le mode «connexion sous réinitialisation» du programme utilitaire ST-Link. Pas de chance non plus.
Je soupçonne qu'il pourrait y avoir quelque chose de mal avec la conception, mais je ne suis pas sûr. S'il vous plaît, aidez-moi à résoudre le problème.
Merci beaucoup :)
Réponses:
Merci pour vos bons commentaires. Grâce à eux, je suis convaincu que ma conception est sans erreur. C'est pourquoi j'ai concentré mon attention sur la recherche d'erreurs dans le matériel. Et j'ai trouvé l'erreur! Il s'agit d'une erreur de soudure.
J'ai trouvé cette erreur après avoir suivi cette instruction: "Utilisez un multimètre et testez toutes les connexions pour les courts-circuits ou le manque de connexion. N'oubliez pas de toucher les broches / pads / quoi que ce soit vraiment doucement, car si vous appuyez fortement sur la sonde, vous pouvez" corriger " "la connexion temporairement (par exemple, vous poussez la broche du CI vers la trace sur le PCB et le test est OK, mais dès que vous lâchez la broche se plie à nouveau)." Le message d'origine est ici .
la source