Mam pewne doświadczenie w pracy ze stm32, ale zawsze używałem ich na płytach programistycznych.
Niedawno próbowałem wlutować stm32 i stm8 na prostej płytce zrywalnej i zaprogramować je za pomocą mojego klonu st-linkv2.
Przy pierwszym uruchomieniu mcu wydaje kilka dźwięków, takich jak palenie po kilku sekundach, a 2 minuty później pobiera 100mA i pali.
Myślę, że brakuje mi ważnych informacji. Co może pójść nie tak w takiej prostej konfiguracji? (tylko vdd, vss, cap odsprzęgający i st-link)
Próbowałem ponad 20 razy zarówno z STM8, jak i STM32.
Dostałem nakrętkę odsprzęgającą tak blisko, jak to możliwe i dostarczyłem im 3.3v.
Kilka razy udało mi się zaprogramować i zweryfikować flash, ale pokazało to dziwne zachowanie *, a po kilku minutach znowu wybuchłem dymem.
Próbowałem lutowania ciągłego, regularnego lutowania z końcówką smd i temperaturą już 260 ° C oraz czasem odnowienia po każdej padzie. Próbowałem także pistoletu na gorące powietrze w 270 ° C i jestem pewien, że problem nie polega na lutowaniu.
Próbowałem także z podciąganiem NRST i rozwijaniem BOOT0.
* dziwne zachowanie: „losowe” jak czas na prostym migaczu LED lub sygnał PWM, który spada tylko do około 2,8 V zamiast 0 V. ogólnie rzecz biorąc, jego „trochę” działa, ale tylko przez 1 min.
** problemem nie jest st-link. jego flashowanie tablicy deweloperów jest w porządku
EDYCJA 1: Oto schemat (dla STM32) (Połączenia z ST-Link oznaczone etykietami):
nie ma nic pod spodem. po prostu kolejny (niezamieszkany) ślad podłączony do pinów.
EDYCJA 2: test ciągłości: brak zwarć, wszystkie styki pinów są w porządku
EDYCJA 3: połączono VDDA i VDD i dodano kolejne 4.7uF na VDD. wciąż smażone. VDD mierzone bezpośrednio na urządzeniu: 3,36 V.
EDYCJA 4: bieżące zachowanie podczas rysowania: we wszystkich przypadkach, gdy chip jest smażony, pobiera około 20-40 mA, a czasami nagle wzrasta do 100-240 mA na kilka sekund, a następnie zeruje (mniej niż 10 mA). i pozostaje na zero przez jakiś czas przed ponownym uruchomieniem
AKTUALIZACJA: przylutowałem kolejny STM8S003F3P6,1uF na VCAP i 2x100nF i 10uF na VDD. i użył baterii jako źródła i wykonał niewielki mnożnik pojemnościowy i podążający za emiterem, aby uzyskać 3,3 V z dużą ilością ceramicznych i niskich ESR, a limit prądu ustalono na 15 mA. napięcie miało mniej niż 30mV szumów powyżej 50MHz. potem podłączyłem MCU (świeżo lutowane). pobór prądu był mniejszy niż 4 mA, a napięcie było stabilne. zostawiłem to. po minucie lub dwóch nagle zaczął przekraczać limit 15 mA i uruchomić PDR. a teraz zaczyna to robić natychmiast (nawet z zapewnieniem NRST). wygląda na to, że tego też nie ma ...
Odpowiedzi:
V. DDA nie jest podłączone.
Nota AN4325 Rozpoczęcie pracy z rozwojem sprzętu serii STM32F030xx i STM32F070xx mówi:
Więc podłącz styk 5 do styku 16 przed ponowną próbą.
źródło
Czy spojrzałeś na przebieg swojego zasilacza za pomocą oscyloskopu?
LF33 liniowy regulator napięcia o niskim zaniku napięcia, którego używasz, wymaga minimum 2µF dodatkowej pojemności wyjściowej dla stabilności, twój schemat pokazuje tylko 100nF. Ponadto nie widzę żadnej pojemności wejściowej przed regulatorem.
Jeśli regulator oscyluje, może sporadycznie przykładać pełne 5 V do pinów zasilania MCU. To przekroczyłoby maksymalną wartość 4 V dla STM32.
źródło
JEŻELI nie jesteś świadomy „zakopanego efektu zatrzasku SCR” CMOS z efektami uszkodzenia strzelania poprzez wzrost mocy wejściowej większej niż napięcie zasilające o 0,3 V, nigdy nie zapomnisz.
Jest to to samo, co zastosowanie sygnałów analogowych przed podłączeniem VddA.
Nota p11 wyraźnie wskazuje, co należy zrobić, ale nie przyczynę.
źródło
W moim doświadczeniu zawodowym znalazłem STM32 na wyjątkowo wrażliwe napięcia przejściowe na szynach zasilania i GPIO. Upewnij się, że twoje zasilacze nie przesadzają podczas uruchamiania. Aby to złagodzić, należy dodać od 10 do 100 uF na wyjściu regulatora napięcia. Powodzenia i daj nam znać jak poszło.
źródło
Rzućmy okiem na arkusz danych LF33: https://www.st.com/resource/en/datasheet/cd00000546.pdf
Pojemność 100nF, daleko od LDO, nie spełni zadania. Spróbuj sprawdzić linię zasilania za pomocą oscyloskopu. I nie smażyć następnego MCU bez dodania kondensatora elektrolitycznego 10-47uF LOW ESR w pobliżu pinów LF33.
źródło
Skąd masz uC? Czy są autentyczne?
Pracowałem z dużą ilością STMF1 i nie miałem problemów z ESD ani lutowaniem w wyższej temperaturze
Czy próbowałeś nie flashować urządzenia? Po prostu zostaw to na jakiś czas.
Gdzie dostajesz moc do 5v? Może to jakiś wyciek z tego. Spróbuj zasilić go z USB z tego samego komputera, na którym używasz flashera. Spróbuj uzyskać konwerter ftdi do szeregowego debugowania i zasil go bezpośrednio wyjściem 3v3
Z tego co mam, twój prosty test miga diodą LED. Dobrze? Jakiego prądu używasz? Kołek jest przymocowany po wysokiej lub dolnej stronie? Spróbuj użyć npn lub podobnego fet na dolnej stronie, aby przełączyć tę diodę. Może prąd go niszczy. Chociaż widziałem, jak pali IO, nie takie urządzenie.
Twoja szkoła nie wyświetla VDDY, nie jestem pewien, czy zasila ona coś innego niż ADC, ale nie powinna również nagrywać urządzenia.
Moje najlepsze przypuszczenie to odniesienie z różnych urządzeń, takich jak zasilacz i USB
źródło
Sprawdź w arkuszu danych maksymalny prąd pobierany przez F030 i ustaw limit prądu na twoim stanowisku, aby dostarczyć nieco mniej niż ta ilość, aby chronić mikro. Nie sprawdziłem arkusza danych dla twojego LDO (LF33), ale dla stabilności potrzebujesz kondensatora po stronie zasilania i kondensatora o mniejszej wartości po stronie mikro. Tego ostatniego nie należy mylić z pułapką odsprzęgającą dla VDDD i VDDA na mikro. Wreszcie ktoś już wspomniał o dostarczeniu schematu planszy. Wiele z tych zewnętrznych płyt zakłada moc i uziemienie na kołkach narożnych. W tym przypadku tak nie jest. Skorzystasz również, korzystając z bezpłatnego STM32CubeMx, aby pomóc ustawić piny i wygenerować kod konfiguracji.
źródło
Najważniejsza jest tutaj stabilność regulatora. Lekkie obciążenia są trudniejsze do utrzymania bez stabilizacji, bez dodatkowej pojemności.
Miałem podobną sytuację raz z LM317. Napięcie w tym obwodzie zbliżyło się do 12 V. Sterowanie seriami może się nie powieść.
Pracowałem z procesorami NXP Arm7, które miały problem z blokowaniem zasilania, na pinach I / O. Podejrzewam, że twój problem dotyczy stabilności, a nie zatrzaśnięcia.
źródło
W końcu odkryłem, co było przyczyną tych wszystkich. Wygląda na to, że miałem problemy z obwodem uziemiającym i podczas lutowania i włączania zasilania pojawiało się na nim wysokie napięcie prądu przemiennego i nie było wspólnego uziemienia. Chociaż ścieżka miała dość wysoką impedancję, ale najwyraźniej spowodowała wiele szkód ... STM8 miga diodą LED przez ponad 5 minut !!! (Co za osiągnięcie :)), ale nie użyłem również topnika do lutowania na tej płycie, ponieważ podejrzewałem, że pozostałości topnika również powodują pewne problemy ...
źródło
Mikołaj Tutak uderzył to w głowę. Tylko kilka notatek.
Wymagany ESR zostanie spełniony przez prawie każdy limit. Rzuć kilka tanich elektrolitów 10 uF lub 4,7 uF równolegle na wyjściu, a wszystko będzie dobrze. Arkusz danych wymaga tylko 2.2uF, ale dodatkowe nie zaszkodzi.
Użyłem tego dokładnego MCU (i K6 i CC w tym przypadku) w co najmniej 4 różnych projektach. Nigdy nie smażyłem. Użyłem tanich czapek MLCC do obejścia, ale na wejściu miałem stałe czapki AL 10uf do 22uF; Z wyjątkiem jednego przypadku miałem tantal 10uF zamiast AL. Wszystkie te projekty były jednowarstwowe na powierzchni ziemi. Brak regulatora na pokładzie.
We wszystkich moich testach mój zasilacz był identyczny, 13,8 V (z radia PS) -> przełącznik 12 V do 5 V (wnętrzności taniego klucza USB, nie mniej niż sklep ze dolarami) -> 3,3 V PS przy użyciu LM1084 . Łącznie na wyjściu około 120uF. Tanie 47uF x 2 i 10uF x 2.
źródło