Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Przestroga dotycząca procesorów STM32F7xx.

atom1477 08 Mar 2017 10:41 1419 20
  • #1 08 Mar 2017 10:41
    atom1477
    Poziom 43  

    Miałem jakieś nieznane problemy z takimi prockami.
    Procki w obudowie LQFP208.
    Skopiowałem sobie bibliotekę STM32F439, bo taki akurat miałem narysowany i sprawdzony (już wykonywałem dla niego płytki PCB i one działały).
    Ale nauczony przezorności sprawdziłem dla pewności położenie pinów funkcyjnych (RESET, BOOT, VCAP, itp). Niestety nie sprawdziłem pinów zasilania (w datasheecie pisało że są kompatybilne).
    Na szybko różnice znalazłem tylko w nazwach pinów 137 i 171, bo się nazwy zmieniły z VDD na VDDUSB i VDDSDMMC.
    Problemem było też to że nie znalazłem żadnej płytki wykorzystującej procki STM32F7xx w obudowie LQFP208. Bo chciałem porównać połączenia, tylko że nie było z czym porównać.

    Niestety po wykonaniu własnych płytek spaliłem 3 procki. Mimo że stosuję bezpieczne metody lutowania (najpierw lutuję stabilizator i sprawdzam czy daje 3.3V a nie więcej).
    Pierwszy procek myślałem że spaliłem przez USB. Bo pin zasilania USB idzie do pinu PA9 OTG_FS_VBUS. Teoretycznie powinien tam iść, ale niby piny są 5V tolerant tylko w przypadku zasilania procka. A u mnie najpierw pojawia się zasilanie USB, a dopiero potem wstaje stabilizator i narasta napięcie 3.3V. Więc pomyślałem że może to spaliło procka.

    Więc w drugiej płytce odłączyłem wszystko od USB, sprawdziłem czy na pewno procek jest dobrze wlutowany. I test na innym zasilaniu. I znowu to samo.
    Uszkodzenie polega na silnym grzaniu się procka i poborze prądu rzędu 0.5A. Ale napięcie zasilania 3.3V nie jest zwierane. Jest jakieś 2.5V (pewnie było by więcej (nawet 3.3V), ale mi przysiada zasilanie przed stabilizatorem).
    No to już wiedziałem że coś źle robię.
    Jednak ciekawa sprawa, bo na pinach VCAP było prawidłowe napięcie 1.2V (co sugerowało że procesor nie jest obrócony o 90°).
    Zajrzałem do Erraty ale nic tam o tym nie pisało (spodziewałem się że to coś z zasilaniem, tylko nie wiedziałem co).

    No to dzisiaj na świeżo kolejna próba na trzeciej płytce. Godziny sprawdzania płytki i orientacji procka jeszcze przed wlutowaniem (czy nie jest obrócony o 90°C).
    Lutowanie z zabezpieczeniami ESD.
    I niestety powtórka. "Dym".

    No to przysiadłem do sprawdzenia pin po pinie wszystkiego. I wyszło szydło z worka.
    Mimo zapewnień w datasheecie:
    Przestroga dotycząca procesorów STM32F7xx.
    oraz na stronie producenta:
    Przestroga dotycząca procesorów STM32F7xx.
    że procki są zgodne pinowo dla większości obudów poza LQFP100, wcale tak nie jest.
    Znalazłem dodatkowe piny zasilania dla nowego interfejsu który jest w układzie STM32F7xx a nie ma go w STM32F4xx: DSI.
    Wygląda to tak:
    Przestroga dotycząca procesorów STM32F7xx.
    No i niestety za pinen 117 (PD15) aż do pinu 129 (PG2) jest niekompatybilność dotycząca zasilania.
    Najgorzej jest z pinem 125, czyli VDD12DSI, bo w procku STM32F4xx jest to pin VSS.
    A więc zwiera mi to napięcie zasilania.
    Pozostałe piny nie dostają odpowiedniego napięcia zasilania i być może to też powoduje palenie procka.

    Problem ciekawy. Chyba zgłoszę do STMa.

    1 20
  • Computer Controls
  • #2 08 Mar 2017 10:51
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Takie życie z nowymi technologiami [; Trochę podobne doświadczenie mam z wczoraj - okazało się, ku mojemu wielkiemu zaskoczeniu, że ARM Cortex-M7 nie obsługuje bit-bandingu... Tutaj oczywiście wina jest tylko moja, bo nigdzie nie pisze że jest inaczej - po prostu przyjąłem to sobie za pewnik, że te "większe" Cortexy mają ten "ficzer", a tu się okazuje, że ma go _TYLKO_ ARM Cortex-M3 i ARM Cortex-M4.

    Ale do meritum. Zgłoszenie problemu do ST nic Ci nie da. Przykładowo w datasheecie do STM32F479 już te krytyczne dla Ciebie piny mają te same funkcje co w STM32F7. Tak więc F7 są 100% kompatybilne z F4. Tylko nie ze wszystkimi. I zapomnieli napisać z którymi [; Ot takie przemilczenie <:

    0
  • #3 08 Mar 2017 10:56
    atom1477
    Poziom 43  

    Wymieniają kompatybilność z 40x, 41x, 42x i 43x, więc chyba raczej piszą.
    Piszą też żeby sprawdzać dla obudów 64 i 100 pinowych. A nie dla wszystkich.

    0
  • #4 08 Mar 2017 11:37
    Marek_Skalski
    Moderator Projektowanie

    Faktem jest, że informacja w sekcji 1.1. jest pozostałością z poprzedniej wersji dokumentu opisującej pierwsze STM32F7xx i wprowadza w błąd.
    Niestety, jeżeli spojrzysz na stronę 60. w DS (DM00273119 rev.4), to widać wyraźnie, że te piny mają inne funkcje i trudno się pomylić.
    Nie mogę teraz sprawdzić, ale co na to Cube MX? Czy pozwala na dowolne wykorzystanie pinów DSI?
    Myślę, że informacja do ST ma sens. Może przynajmniej poprawią opis w sekcji 1.1.

    0
  • #5 08 Mar 2017 12:02
    atom1477
    Poziom 43  

    Marek_Skalski napisał:
    Niestety, jeżeli spojrzysz na stronę 60. w DS (DM00273119 rev.4), to widać wyraźnie, że te piny mają inne funkcje i trudno się pomylić.

    Tylko trzeba wiedzieć że trzeba tam spojrzeć i to sprawdzić.
    Przecież nie będę sprawdzał całego datasheeta bo gdzieś może być różnica którą widać. Bo widać. Tylko co z tego że widać, skoro jest ponad 1000 do przejrzenia?
    Napiszę do nich ale chyba będę musiał na maila bo założenie konta na ich stronie to jakaś masakra.

    0
  • Computer Controls
  • #6 08 Mar 2017 12:26
    2675900
    Użytkownik usunął konto  
  • #7 08 Mar 2017 12:31
    atom1477
    Poziom 43  

    O jakich plikach mówisz? Tzn. skąd pochodzących?

    0
  • #9 08 Mar 2017 12:40
    atom1477
    Poziom 43  

    Nie sprawdzałem. Ja sam sobie robię biblioteki.

    0
  • #10 08 Mar 2017 12:43
    2675900
    Użytkownik usunął konto  
  • #11 08 Mar 2017 12:46
    atom1477
    Poziom 43  

    No do Eagla może tak. Nie wiem jak to działa dla innych programów.
    W każdym razie dla elementu o zadeklarowanej kompatybilności nawet by mi się nie chciało importować nowego gotowego pliku. Użył bym już wcześniejszego zaimportowanego.
    Czyli problemu bym nie uniknął.
    No ale teraz będę wiedział że nawet "kompatybilne" elementy trzeba sprawdzać.

    0
  • #12 08 Mar 2017 12:56
    2675900
    Użytkownik usunął konto  
  • #13 08 Mar 2017 13:06
    atom1477
    Poziom 43  

    No to jest dobra metoda.
    Ale ja się nauczyłem samemu robić biblioteki bo mi zawsze się coś nie podoba w gotowych.
    Np. brak opisu pinów jak w przykładzie z Twojego pliku. A zobacz u mnie na fragment procka:
    Przestroga dotycząca procesorów STM32F7xx.
    Taki opis pewne wady ma, ale pozwolił mi już uniknąć wielu wtop z połączeniami różnych interfejsów do pinów. Bo po prostu od razu widać co który pin ma.

    0
  • #15 08 Mar 2017 16:13
    tadzik85
    Poziom 38  

    Zapomnieliście jednym DSI rządzi sie swoimi prawami, część pinów przezeń wykorzystywanych nawet jako GPIO nie może pracować....
    Stąd nawet F439 nie jest PIN to PIN kompatybilny z F469 nawet jeśli pominiemy obsługę LCD w oby przypadkach.

    0
  • #16 08 Mar 2017 16:17
    atom1477
    Poziom 43  

    O tym nie zapomnieliśmy. Chodzi o to że producent zapomniał o tym poinformować.

    0
  • #17 08 Mar 2017 16:39
    tadzik85
    Poziom 38  

    atom1477 napisał:
    O tym nie zapomnieliśmy. Chodzi o to że producent zapomniał o tym poinformować.

    Mocne słowa. Poza tym pin to pin oznacza w wielu przypadkach kompatybilność pod względem pinów zasilania. Porównaj F4 i F7 z DSI. Będzie zapewne pasowało. Sam uwaliłem kilka sztuk przy zamianie w ramach 1 rodziny L051 vs L031.

    0
  • #18 08 Mar 2017 17:02
    atom1477
    Poziom 43  

    tadzik85 napisał:
    atom1477 napisał:
    O tym nie zapomnieliśmy. Chodzi o to że producent zapomniał o tym poinformować.

    Mocne słowa. Poza tym pin to pin oznacza w wielu przypadkach kompatybilność pod względem pinów zasilania.

    No ale ja przecież właśnie o tym piszę. A nie o kompatybilności innych pinów, bo one nie mają znaczenia do palenia się układu.
    Wielokrotnie się zdarza że piny zmieniają funkcje albo nawet nazwy (PH mógł by się zamienić na PI) ale to nie ma aż tak dużego wpływu na możliwość wymiany procka.
    Może brakować interfejsów, ale przynajmniej się nic nie spali.
    A w tym wypadku napisali o kompatybilności pomiędzy F4 i F7, po prostu (bez rozbijania tego na różne wersje). Czyli zakładałem minimalistyczną kompatybilność. A więc że wszystko się może różnic ale nie zasilanie. A wyszło że właśnie zasilanie się różni. Dlatego o tym piszę.
    Oczywiście w wielu miejscach widać te różnice. Tylko nie w tym rzecz.
    Rzecz z tym że żeby zobaczyć różnice to trzeba patrzeć i porównywać. Tylko po co wtedy pisać o kompatybilności? Niech sobie każdy sam pin po pinie sprawdza.
    A skoro już napisali, to chyba po to żeby nie sprawdzać pin po pinie tylko zaufać deklaracji.

    Na szczęście można jeszcze uratować projekt kupując procki bez DSI.
    Ale i tu problem.
    Niech mi ktoś powie jaki kupić.
    Bo tu:
    http://www.st.com/en/microcontrollers/stm32f7-series.html?querycriteria=productId=SS1858
    piszą że STM32F7x7 nie ma DSI.
    Ale wchodzimy w datasheeta o którego przekierowuje ta właśnie strona i już widać że DSI może być albo nie.
    Więc to wprowadza w błąd, bo sugeruje że ostatnia cyfra decyduje o obecności kontrolera TFT albo DSI, a tak nie jest.
    Porównywarka na dole też daje sprzeczne wyniki.
    Dla STM32F769BI którego mam, podaje że nie ma DSI (w opisie w tabelce, oczywiście dla innych procków pokazuje więc taka pozycja w tabelce jest). Ale po kliknięciu na pozycję w tabelce przekierowuje do strony że już pisze że jest.
    No krótko mówiąc: burdel.
    Trudno nie zarzucać braku dostatecznego informowania o produktach przy takim "porządku" w oznaczeniach.

    0
  • #19 08 Mar 2017 18:03
    2675900
    Użytkownik usunął konto  
  • #20 08 Mar 2017 18:13
    tadzik85
    Poziom 38  

    atom1477 napisał:
    Czyli zakładałem minimalistyczną kompatybilność
    Czyli pewien PN z pewnym PN.....
    atom1477 napisał:
    Ale wchodzimy w datasheeta o którego przekierowuje ta właśnie strona i już widać że DSI może być albo nie.
    Więc to wprowadza w błąd, bo sugeruje że ostatnia cyfra decyduje o obecności kontrolera TFT albo DSI, a tak nie jest.
    TO racz doczytać tytuł dokumentu - dotyczy wielu PN, potem patrz tabela 2 strona 16..

    DSy do F7 podzielone są wg środkowej cyferki..

    0
  • #21 08 Mar 2017 19:39
    atom1477
    Poziom 43  

    tadzik85: tam jest informacja:

    Cytat:
    STM32F7 series is pin-to-pin compatible with the STM32F4 series

    co sugeruje że kompatybilne są każdy z każdym, bez podziału na żadne cyferki (no poza kompatybilnością różnych obudów oczywiście).
    Nawet jeżeli ten cytat miałby oznaczać co innego, to nie zmienia to faktu że jest nieprecyzyjny skoro można go źle zrozumieć.

    0