Eu projetei uma placa STM32 simples. Abaixo estão as imagens esquemáticas e de layout do PWB:
Layout da placa de circuito impresso com VDD destacado:
Layout de PCB com GND destacado:
Somente as partes deste design relevantes para minha pergunta são mostradas nas figuras acima.
Meu problema é: tentei usar o ST-Link interno de uma placa de descoberta STM32 para programar essa placa personalizada, mas ainda não consegui. O aplicativo ST-Link Utility no PC pode reconhecer o programador, mas não pode detectar o MCU de destino. As mensagens de erro que recebi foram: "Alvo não conectado" e "Erro de comunicação USB do ST-Link".
Aqui estão alguns fatos relacionados sobre o meu problema:
- O STM32 Discovery Board funciona bem: eu posso usá-lo ST-Link embutido para programar o MCU STM32 integrado. Está tudo bem
- O STM32 MCU foi soldado com a orientação correta na placa personalizada. Eu verifiquei isso duas vezes.
- Eu verifiquei vestígios de VDD e SWD. Eles estão bem conectados (sem problemas de solda). O Pin Boot0 está em 0V. O pino NRST está em 3.3V.
- O cabo SWD é curto, com apenas 7-8 cm de comprimento.
- O STM32 no meu quadro personalizado é do mesmo tipo que o do Discovery Board.
Segui as instruções no manual do STM32 Discovery Board sobre como usar o Discovery Board para programar um MCU STM32 externo. Para ser mais específico, removi os 2 jumpers CN3 e conectei as placas como nesta tabela:
Também removi a ponte de solda SB11 no Discovery Board (para que o pino NRST possa funcionar corretamente).
- Eu tentei o aplicativo ST-Link Utility e Keil. As mensagens de erro que recebi são as mesmas.
- No começo, não conectei o pino 6 na tabela acima (SWO) porque, pelo que sei, não é necessário. No entanto, depois disso, liguei também, mas as coisas ainda não deram certo.
- Também adicionei uma tampa de 100nF do pino NRST ao GND e, em seguida, um resistor de 100k deste pino ao VDD. O problema ainda permanece.
- Também tentei usar o modo "conectar sob redefinição" do programa Utilitário ST-Link. Sem sorte também.
Suspeito que possa haver algo errado com o design, mas não tenho certeza. Por favor me ajude a resolver o problema.
Muito obrigado :)
Respostas:
Obrigado por seus ótimos comentários. Por causa deles, tenho certeza de que meu design é livre de erros. É por isso que concentrei minha atenção na busca por erros no hardware. E eu encontrei o erro! Este é um erro de solda.
Encontrei este erro após seguir estas instruções: "Use um multímetro e teste todas as conexões em busca de curtos ou falta de conexão. Lembre-se de tocar nos pinos / almofadas / o que for realmente delicado, porque se você pressionar a sonda com força, poderá" consertar "a conexão temporariamente (por exemplo, você empurra o pino do IC para o rastreio na PCB e o teste é bom, mas assim que você solta o pino se dobra novamente)". A postagem original está aqui .
fonte