Ho progettato una semplice scheda STM32. Di seguito sono riportate le immagini schematiche e del layout del pcb:
Layout PCB con VDD evidenziato:
Layout PCB con GND evidenziato:
Solo le parti di questo disegno che sono rilevanti per la mia domanda sono mostrate nelle immagini sopra.
Il mio problema è: ho provato a utilizzare lo ST-Link integrato di una scheda di rilevamento STM32 per programmare questa scheda personalizzata, ma non ci sono ancora riuscito. L'applicazione ST-Link Utility su PC è in grado di riconoscere il programmatore, ma non è in grado di rilevare l'MCU di destinazione. I messaggi di errore che ho ricevuto sono stati: "Target non collegato" e "Errore di comunicazione USB ST-Link".
Ecco alcuni fatti correlati sul mio problema:
- La scheda di rilevamento STM32 funziona perfettamente: posso utilizzare il ST-Link integrato per programmare la MCU STM32 integrata. Questo va bene.
- La MCU STM32 è stata saldata con l'orientamento corretto sulla scheda personalizzata. L'ho controllato due volte.
- Ho controllato le tracce VDD e SWD. Sono collegati bene (nessun problema di saldatura). Pin Boot0 è a 0 V. Il pin NRST è a 3,3 V.
- Il cavo SWD è corto, lungo solo 7-8 cm.
- L'STM32 sulla mia scheda personalizzata è dello stesso tipo di quella sulla scheda Discovery.
Ho seguito le istruzioni nel manuale della scheda di rilevamento STM32 su come utilizzare la scheda di rilevamento per programmare un MCU STM32 esterno. Per essere più specifici, ho rimosso i 2 jumper CN3 e quindi ho collegato le schede come in questa tabella:
Ho anche rimosso il ponte di saldatura SB11 sulla scheda di rilevamento (in modo che il pin NRST possa funzionare correttamente).
- Ho provato sia l'app ST-Link Utility che Keil. I messaggi di errore che ho ricevuto sono gli stessi.
- Inizialmente non ho collegato il pin 6 nella tabella sopra (SWO) perché per quanto ne so non è necessario. Comunque dopo l'ho collegato anche io, ma le cose non hanno ancora funzionato.
- Ho anche aggiunto un cappuccio da 100nF dal pin NRST a GND, e quindi un resistore pull-up da 100k da questo pin a VDD. Il problema rimane ancora.
- Ho anche provato a utilizzare la modalità "Connetti in ripristino" del programma ST-Link Utility. Neanche fortuna.
Ho il sospetto che potrebbe esserci qualcosa di sbagliato nel design, ma non sono sicuro. Aiutatemi a risolvere il problema.
Grazie mille :)