Tarjeta personalizada STM32F4, baja tensión en el pin de reinicio

1

Diseñé la siguiente placa personalizada STM32F407vgt6 para un proyecto.

Recientementesoldélaspiezasyencendílaplaca.IntentéprogramarlaplacaatravésdeunaplacadedescubrimientoSTM32F429atravésdelainterfazSWDyobtuvemuchoserroresqueindicanquelaMCUseestabareiniciando.LuegoprobéelpinNRSTyleíunvalorde0,40voltios.

ElMCUesnuevo.Todosloscondensadoresdedesacoplamientoparecenestarrecibiendosuficientevoltaje(2,9voltios).Elreguladortambiénfuncionabien.NoestoysegurodeporquéelpinNRSTestáenbajatensión.Aquíestálaparterelevantedeldiseñodeltablero.

edit1:estaesunaplacadedoscapasconlacapasuperiorsiendolaseñalGND+ylaparteinferiorconlaseñalVDD+.CreoquevalelapenamencionarqueaveceselNRSTbajaa0,20voltios.Sólovaríaalrededorde0.20-0.40.

Puedoagregarunaimagendeltablerosiquierenversihayalgúnproblemaconlasoldadura.Aquíestánlasfotosdeltablero.TengaencuentaquetratédecortarlalíneaVCAP,peronoayudóasuponerquecortélalíneaconéxito.

actualización

Saqué el pin NRST alto. Después de eso, pude conectar y programar la MCU a través de la placa STM32F429 a través de la utilidad ST-Link. La utilidad ST-Link indica que la memoria está programada y verificada. Escribí un pequeño programa que alterna algunos pines GPIO, pero cuando mido el voltaje en esos pines no los veo alto (3V) o bajo (0V). Solo varían en función de los valores irrelavantes (1.2V, 0.4V, 0.9V, etc.).

    
pregunta zeke

2 respuestas

3

Una posible explicación para que NRST sea bajo, es que está siendo conducido bajo por el MCU. Esto es posible porque la familia STM32 manejará ese pin NRST externo, cuando cualquiera de los módulos de reinicio interno quiera reiniciar la MCU. El candidato obvio en este caso, es el reinicio de energía, si hay un problema relacionado con la energía. Este diagrama está tomado de la nota de aplicación ST AN4488 a la que se hace referencia a continuación:

YaqueinformaqueNRSTestáa0.4Vynoesunvoltajeaúnmásbajo,parecepocoprobablequelacausaseaelinterruptordereinicio,perovalelapenacomprobarlo.

Enunaprimerarevisiónrápidadesudiseño,veodosáreasprincipalesdepreocupación:

  • BOOT1estáflotando

    Aunque,conBOOT0conectadoatierra,elnivellógicorealdeBOOT1noafectaelmododeinicio(comosemuestraenlatabla6deSTAN4488alaquesehacereferenciaacontinuación),nohevistoundiseñodondeBOOT1pinSedejaflotando.Sibiendudoquecauseelsíntomaespecíficoqueinforma,losolucionaríaaunnivellógicoválido.Parasuinformación,losdiseñosdereferenciadelSTM32F4tienenresistenciasde10kenserieconambospinesBOOT,antesdequesecoloquenhaciaarribaohaciaabajoexternamente,segúnseanecesario.

  • VCAP1yVCAP2estánconectados

    Estaesmiprincipalpreocupación.NohevistolaarquitecturainternadeMCUparamostrarladiferenciaentreestosdospines(quedesacoplaeldominiodealimentacióninternode1.2VdelnúcleodeMCU),peroobservequeenelST"AN4488: Comenzando con el desarrollo de hardware MCU STM32F4xxxx ", estos dos pines están separados conectados a un condensador de 2.2uF - y no, como se muestra en su esquema & PCB, conectados entre sí y luego conectados conjuntamente a dos condensadores de 2.2 uF.

    Parte del texto sobre esto en el documento anterior es un poco ambiguo, pero el esquema de referencia en la página 34 de PDF es claro sobre cómo se deben usar esos pines:

    AlobservareldiseñodesuPCB,parecequesolopuedecortarlapistaqueuneloscondensadoresC11yC13pararealizarlaseparaciónnecesaria.Además,asegúresedeestarusandoeltipoespecificadodecondensadores,siaúnnoloestáhaciendo.

    MihipótesisesqueestaconexiónincorrectaentrelosdospinesVCAPpodríaestarcausandoquelaMCUmantengasureiniciointernodeenergíaactivado,queesloqueestámidiendocomolalógicabaja(0.4V)enelNRSTpin.

Recomiendoleertodoeldocumento,incluidalasección9.3titulada"La MCU no funciona correctamente", lo que puede darle más ideas de las áreas a investigar.

    
respondido por el SamGibson
0

Probablemente necesite una resistencia de pull-up (aproximadamente 10K) desde el pin de reinicio a Vcc - para asegurarse de que el pin de reinicio sea Alto cuando no se presiona el botón de reinicio.

    
respondido por el Peter Bennett

Lea otras preguntas en las etiquetas