Eu tenho alguma experiência trabalhando com stm32, mas eu só os usei em placas de desenvolvimento.
Recentemente, tentei soldar stm32 e stm8 em uma placa simples e programá-los com meu clone st-linkv2.
Na primeira energização, o mcu faz alguns barulhos como queima depois de alguns segundos, e 2 minutos depois está consumindo 100mA e fumando.
Acho que estou perdendo alguns detalhes importantes. O que poderia dar errado em uma configuração simples como essa? (apenas vdd, vss, limite de desacoplamento e st-link)
Eu tentei mais de 20 vezes com stm8 e stm32.
Coloquei a tampa de desacoplamento o mais próximo possível e forneci-lhes 3,3v.
Algumas vezes eu consegui programar e verificar o flash, mas ele mostrou um comportamento estranho * e voltou a fumar alguns minutos depois.
Tentei soldar por arraste, solda regular com ponta smd e temperatura tão baixa quanto 260 ° C e tempo de recarga após cada bloco. Eu também tentei pistola de ar quente em 270C e estou quase certo de que o problema não está soldando.
Eu também tentei com NRST pull-up e BOOT0 pull-down.
* comportamento estranho: "aleatório", como o tempo em um pisca-pisca simples ou um sinal pwm que só desce para cerca de 2,8v em vez de 0v. No geral, seu 'meio' funciona, mas apenas por 1min.
** o problema não é o st-link. está piscando o dev-board muito bem
EDIT 1: Aqui está o esquema (para stm32) (Conexões ao ST-Link marcadas com etiquetas):
não há nada embaixo. apenas outra pegada (não preenchida) conectada aos pinos.
EDIT 2: teste de continuidade: sem shorts, todos os contatos dos pinos estão OK
EDIT 3: conectou o VDDA e o VDD e adicionou outro 4.7uF no VDD. ainda frito. VDD medido diretamente no dispositivo: 3.36v
EDIT 4: comportamento atual da tração: em todos os casos, quando o chip é frito, ele gira em torno de 20-40mA e às vezes sobe de repente para 100-240mA por alguns segundos e depois zera (menos de 10mA). e permanece em zero por algum tempo antes de começar novamente.
ATUALIZAÇÃO: Soldamos outro STM8S003F3P6,1uF no VCAP e 2x100nF e 10uF no VDD. e usou uma bateria como fonte e produziu um pequeno multiplicador de capacitância e seguidor de emissor para fazer o 3.3v com muitas tampas de cerâmica e de baixa ESR, e um limite de corrente definido em 15mA. a voltagem apresentava um ruído inferior a 30mV acima de 50MHz. então eu conectei o MCU (recém-soldado). o consumo de corrente era menor que 4mA e a tensão era estável. Eu deixei como está. depois de um ou dois minutos, subitamente começou a ultrapassar o limite de 15mA e acionou o PDR. e agora começa a fazer isso imediatamente (mesmo com o NRST afirmado). parece que este também se foi ...
— Niko.
Se você medir a continuidade / resistência entre os pinos, a nu PCB fuga, há conexões sem escondido? (Meça o pino 1 contra 2 ... 20, o pino 2 contra 3..20, etc.)
Meu melhor palpite é que você aplique a tensão de alimentação no local errado do seu microcontrolador.
Mostre-nos fotos da sua instalação elétrica.
Com o número absurdo de fichas que você jogou, há algo fundamentalmente errado aqui. Tente uma fonte de energia completamente diferente, como emprestar o 3v3 da placa de desenvolvimento.
Como você está conectando tudo nessas placas de interrupção? Postar uma foto seria útil. Se for uma tábua de pão, está danificada ou com defeito? Para confirmar que você não possui um lote de chips com defeito ou falsificado, substitua o chip na sua placa de desenvolvimento por um desses e veja se funciona lá.
V DDA não está conectado.
Nota sobre o aplicativo AN4325 Introdução ao desenvolvimento de hardware das séries STM32F030xx e STM32F070xx , diz:
A fonte V DDA pode ser igual ou superior a V DD . Isso permite que o V DD permaneça baixo enquanto ainda fornece o desempenho completo para os blocos analógicos.
Quando uma única fonte é usada, o V DDA deve ser conectado externamente ao V DD .
Portanto, conecte o pino 5 ao pino 16 antes de tentar novamente.
Observou isso na nota de aplicação - "O nível de tensão do VDDA deve sempre ser maior ou igual ao nível de tensão do VDD e deve ser fornecido primeiro."
Simplesmente conectá-los funciona muito bem.
— berendi - protestando em 20/06
@berendi eu não estava ciente dessa necessidade. Muito obrigado. mas eu amarrei VDDA e VDD juntos e a mesma coisa aconteceu. o VDDA realmente precisa chegar ao VDD "Antes"? o documento diz que eles podem ser amarrados juntos
@Niko. Eu já vi isso trabalhando com os dois pinos de energia simplesmente conectados um ao outro. Preste atenção aos requisitos de capacitância apontados em outras respostas.
— berendi - protestando em
Você já viu a forma de onda da sua fonte de alimentação com um osciloscópio?
O regulador linear de tensão de baixa queda LF33 que você parece estar usando requer uma mínimo de 2µF de capacitância de saída adicional para estabilidade, seu esquema mostra apenas 100nF. Além disso, não vejo capacitância de entrada antes do regulador.
Se o regulador estiver oscilando, ele poderá aplicar intermitentemente os 5V completos aos pinos de alimentação do MCU. Isso excederia a classificação máxima de 4V para o STM32.
Se você não está ciente do "efeito de trava de SCR oculto" do CMOS, com efeitos de danos causados ​​pelo calor causados ​​por disparos de suprimentos provenientes de entradas que aumentam mais do que a tensão de alimentação de 0,3V, você nunca esquecerá agora.
É o mesmo que aplicar sinais analógicos antes de conectar o VddA.
A nota de aplicação p11 indica claramente o que deve ser feito, mas não o motivo.
"• O POR monitora apenas a tensão de alimentação do VDD. Durante a fase de inicialização, o VDDA deve chegar primeiro e ser maior ou igual ao VDD.
• O PDR monitora as tensões de alimentação do VDD e do VDDA.
• No entanto, o supervisor da fonte de alimentação do VDDA pode ser desativado (programando um bit de opção dedicado VDDA_MONITOR) para reduzir o consumo de energia se o design do aplicativo garantir que o VDDA seja maior ou igual ao VDD "
eu não estava, obrigado! mas que sinais estão chegando antes do VDDA? na minha sequência de poder, conecto o VDD e o VDDA (amarrados) ao 3.3 e, em seguida, conecto o ST-Link. a nota de aplicação diz que você pode unir VDD e VDDA.
OK, então ESD é outra causa disso
veja Editar 4. esse tipo de comportamento de desenho atual é devido ao chip danificado travado?
Depende de quão quente fica> 200'C por> 10s ?? mas 1W eu duvido .. Causa desconhecida
Na minha experiência profissional, encontrei o STM32 para tensões transitórias extremamente sensíveis nos trilhos de potência e no GPIO. Verifique se as fontes de alimentação não estão sobrecarregando na inicialização. O que você pode fazer para atenuar isso é adicionar entre 10uF e 100uF na saída do seu regulador de tensão. Boa sorte e deixe-nos saber como vai.
Vamos dar uma olhada na folha de dados do LF33: https://www.st.com/resource/en/datasheet/cd00000546.pdf
A capacitância de 100nF, longe da LDO, não fará o trabalho. Tente verificar a linha de energia com o osciloscópio. E não frite o próximo MCU sem adicionar o capacitor eletrolítico 10-47uF LOW ESR próximo aos pinos LF33.
— Mikołaj Tutak
Onde você conseguiu o UC? Eles são genuínos?
Eu trabalhei com muitos stmf1 e não tive problemas com esd nem solda de temperatura mais alta
Você já tentou não piscar o dispositivo? Apenas deixe por algum tempo.
Onde você está recebendo energia para 5v? Talvez seja algum vazamento disso. Tente ligá-lo a partir do USB do mesmo PC que você está usando o pisca-pisca. Tente obter um conversor ftdi para depuração serial e ligue-o diretamente com a saída 3v3
Pelo que recebi, seu teste simples está piscando. Direita? Qual corrente você está usando? O pino está preso no lado superior ou inferior? Tente usar um npn ou fet semelhante no lado inferior para alternar esse led. Talvez a corrente a esteja danificando. Embora eu tenha visto gravar E / S, não um dispositivo como este.
Sua escola não mostra vdda, não tem certeza se alimenta algo diferente de adc, mas também não deve gravar o dispositivo.
Meu melhor palpite é a referência de diferentes dispositivos, como fonte de alimentação e usb
— Eduardo A Sugai
os uCs eram genuínos. Tentei não piscar o led do dispositivo (última postagem) estava conectado com 1K de profundidade
Verifique a folha de dados para a corrente máxima que o F030 consumirá e defina o limite de corrente no suprimento de bancada para fornecer um pouco menos do que esse valor para proteger o micro. Não verifiquei a folha de dados do seu LDO (LF33), mas, para estabilidade, você precisará de um capacitor em massa no lado da fonte e um capacitor de menor valor no lado do micro. Este último não deve ser confundido com a tampa de desacoplamento para VDDD e VDDA no micro. Finalmente, alguém já mencionou o fornecimento do esquema da placa. Muitas dessas placas de terceiros assumem poder e aterramento nos pinos de canto. Esse não é o caso aqui. Você também se beneficiará com o STM32CubeMx gratuito para ajudar a definir seus pinos e gerar o código de configuração.
A estabilidade do regulador é o truque aqui. Cargas leves são mais difíceis de manter estáveis, sem capacidade adicional.
Aconteceu uma coisa semelhante uma vez com um LM317. A tensão nesse circuito foi para 12v. O controle em série pode dar errado.
Trabalhei com processadores NXP Arm7 com problemas de travamento na inicialização, nos pinos de E / S. Suspeito que seu problema seja o de estabilidade, não o travamento.
Finalmente encontrei o que estava causando tudo isso. Parece que tive alguns problemas no meu circuito de aterramento e alguma CA de alta tensão estava aparecendo no dispositivo durante a soldagem e a inicialização e não havia um aterramento comum presente. Embora o caminho tenha sido bastante alto em impedância, mas aparentemente causou muitos danos ... Eu tenho um STM8 piscando um LED por mais de 5 minutos agora !!! (Que conquista :)), mas também não usei o fluxo de solda nesta placa, pois suspeitava que os resíduos de fluxo também estavam causando alguns problemas ...
Mikołaj Tutak acertou na cabeça. Apenas algumas notas.
O ESR necessário será atendido por praticamente qualquer limite. Jogue alguns eletrolíticos baratos de 10uF ou 4.7uF em paralelo na saída e você ficará bem. A folha de dados exige apenas 2.2uF, mas extra não fará mal.
Eu usei esse MCU exato (e o K6 e o ​​CC) em pelo menos 4 projetos diferentes. Nunca frito. Usei tampas MLCC baratas para derivação, mas na minha entrada eu tinha tampas sólidas de 10uf a 22uF de AL; exceto em um caso, eu tinha 10uF de tântalo em vez de AL. Todos esses projetos eram de camada única em cima de um plano de terra. Nenhum regulador a bordo.
Em todos os meus testes, minha fonte de alimentação era idêntica: 13,8V (de um rádio PS) -> um comutador de 12V a 5V (tripas de um dongle USB barato, de uma loja do dólar) -> 3,3V PS usando um LM1084 . Cerca de 120uF total na saída. 47uF x 2 e 10uF x 2 baratos.