Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

STM32f407 - zabezpieczenie przed ESD i zakłóceniami

Witold_37 06 Jun 2014 16:32 4482 9
NDN
  • #1
    Witold_37
    Level 10  
    Witam.

    Projektuje sterownik akwariowy (morskie) bazujący na procesorze STM32F407. Sterownik ma być wyposażony w port Ethernet, moduł GSM, ma zadanie sterować pompami, oświetleniem, filtrami oraz mierzyć parametry wody. Wstępna koncepcja zakłada powstanie 2 płytek:

    * cpu: zawierającej procesor, PHY Ethernet, moduł GSM, zasilacz
    * wykonawczej: zawierającej przekaźniki do sterowania urządzeniami

    Płytki mają być połączone przewodem taśmowym. Koncepcja jest taka aby płytkę CPU zaprojektować raz i dobrze i wykonać gdzieś w firmie a płyke wykonawczą móc ewentualnie prosto dostosować do zmieniających się wymagań.

    Podczas zabawy z zestawem STM32F4 Discovery zauważyłem że CPU resetuje się gdy płytka znajduje się w pobliżu zapalającej się lampy HQI (konstrukcja fabryczna). W związku z tym chciałbym uodpornić moje urządzenie na ewentualne zakłócenia - nie tylko lampy ale i silniki, grzałki itp. Dodatkowo ponieważ często przy akwarium się coś robi chciałbym zapewnić odporność na przypadkowe zwarcia, podłączanie/odłączanie płytki wykonawczej przy włączonym zasilaniu.

    W tej chwili skupiam się na płytce CPU, płytkę wykonawczą bede realizował później. Przeanalizowałem różne informacje i mam następujące przemyślenia:

    1) zabezpieczenie zasilania CPU.

    Używam zasilacza od laptopa (18-20V) i przetwornicy obniżającej napięcie STM-L5973D do 5V. Na wejściu przetwornicy dam transil 24V. CPU zasilany jest ze stabilizatora LDO 3v3V TPS79333DBVT. Czy jest sens za stabilizatorem dawać transil 3v6V aby dodatkowo zabezpieczyć CPU ? STM kiedyś poprawiał produkowane przez siebie urządzenie dodając transil:
    http://www.stm32circle.com/resources/known.php#reg_fail

    2) zabezpieczenie portów procesora:

    W niektórych opracowaniach sugerowane jest zastosowanie na wszystkich portach rezystorów szeregowych o wartości 100-330 ohm w zależności od wymaganej prędkości transmisji. Jednak wydaje mi się trochę na wyrost. W swoim projekcie chcę zabezpieczyć jedynie porty wychodzące na płytkę wykonawczą. Chcę mieć elastyczność w wykorzystaniu portów tak aby w zależności od płytki wykonawczej móc podłączyć przekaźnik (oczywiście tranzystor + dioda), przycisk (zwarcie do masy) lub wejścia analogowe (pomiary parametrów).



    Rozważam następujące podejścia:

    * dioda zenera na 3.6V z rezystorem szeregowym jak niżej:


    STM32f407 - zabezpieczenie przed ESD i zakłóceniami


    * warystor np: V3.5MLA0603NH (http://www.mouser.com/ds/2/240/Littelfuse_MLV_MLA-40405.pdf) z rezystorem szeregowym np: 1k jak niżej:


    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    * diody schottky'ego do GND i 3v3 oraz również rezystor szeregowy 1k jak niżej:

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    * alternatywnie PRTR5V0U1T
    http://www.nxp.com/products/esd_emi_and_signal_conditioning/general_esd_protection_devices/ultra_low_capacitance_esd_protection_devices_lt_2_pf/PRTR5V0U1T.html

    * albo zamiast elementów dyskretnych od razu coś w rodzaju:
    ESDA6V1S3 http://dl.btc.pl/kamami_wa/esda6v1s3_ds.pdf

    które z tych rozwiązań jest najlepsze ? Jak wygląda sprawa połączenia metody drugiej i trzeciej czy ma sens coś takiego:

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    Czy mogę w ten sam sposób zabezpieczyć porty przetwornika ADC ?

    3) zabezpieczenie interfejsu 1-wire. W dotychczasowych projektach stosowałem zwykle rozwiązanie typu dioda zenera + rezystor:

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    jednak zastanawiam się nad DS9503P
    http://datasheets.maximintegrated.com/en/ds/DS9503.pdf
    które z tych rozwiązań jest lepsze ?

    4) zabezpieczenie złącza karty SIM. W dokumentacji modułu GSM zalecane jest użycie warystorów: PESD0402-140 w trudnej do montażu obudowie 402
    http://www.mouser.com/ds/2/418/NG_CS_PESD_A-225585.pdf
    Czy zamiast nich można użyć np: USB0001
    http://www.avx.com/docs/catalogs/usb.pdf


    5) zabezpieczenie portu USB. Zastanawiam się które rozwiązanie jest lepsze: zastosowanie rezystorów i warystorów USB0001 jak w zestawie ewaluacyjnym:

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    czy też dedykowany układ np:
    http://dl.btc.pl/kamami_wa/usblc6_2sc6.pdf

    Generalnie proszę o wskazówki jakie rozwiązania wybrać, ewentualnie jakieś inne propozycje. Z góry dziękuje za wszelkie sugestie.
  • NDN
  • #2
    Tomq
    Level 38  
    Ciekawy temat, mam nadzieję, że choć kilka osób podzieli się swoimi doświadczeniami.
    Od siebie dodam, że warto wziąć pod uwagę jeszcze koraliki ferrytowe (na oscyloskopie widać, że coś tam jednak zmniejszają poziom zakłóceń) oraz bezpieczniki polimerowe PTC (działają wolno, więc raczej by zapobiegać lawinowym zniszczeniom po awarii albo po błędnym podłączeniu układu).

    Quote:
    Podczas zabawy z zestawem STM32F4 Discovery zauważyłem że CPU resetuje się gdy płytka znajduje się w pobliżu zapalającej się lampy HQI (konstrukcja fabryczna).

    Nie wiem czy to dobry trop, ale ktoś na form robił bodajże sterownik do c.o. z wyświetlaczem kompatybilnym z hd44780. Z wyświetlaczem były problemy, do czasu gdy został dołożony dodatkowy kondensator do odprzęgania zasilania (niestety nie podrzucę linka do tematu).


    Quote:
    Czy jest sens za stabilizatorem dawać transil 3v6V aby dodatkowo zabezpieczyć CPU ?

    Jak najbardziej. Stabilizator daje 3,6 pod dwoma warunkami: jest sprawny i zdąży zareagować na zmiany napięcia wejściowego.
  • NDN
  • #3
    Freddie Chopin
    MCUs specialist
    Tomq wrote:
    Jak najbardziej. Stabilizator daje 3,6 pod dwoma warunkami: jest sprawny i zdąży zareagować na zmiany napięcia wejściowego.

    Przecież transil nie zabezpieczy przed uszkodzeniem stabilizatora - ten element służy do eliminowania zakłóceń o małej mocy (impulsowych) - stałe napięcie większe od napięcia przebicia transila po prostu spowoduje spalenie go i tym samym jego rola zabezpieczająca się skończy. No chyba że ten transil będzie w D-PAK to może trochę dłużej wytrzyma w takim stanie (;

    4\/3!!
  • #4
    Tomq
    Level 38  
    Quote:
    Przecież transil nie zabezpieczy przed uszkodzeniem stabilizatora - ten element służy do eliminowania zakłóceń o małej mocy (impulsowych) - stałe napięcie większe od napięcia przebicia transila po prostu spowoduje spalenie go i tym samym jego rola zabezpieczająca się skończy. No chyba że ten transil będzie w D-PAK to może trochę dłużej wytrzyma w takim stanie (;

    Właśnie, że zabezpieczy (;. Akurat transile mam dobrze przećwiczone, zarówno w torze zasilania jak i sygnałowym (koszmarny wpływ pojemności transili od niektórych producentów).
    W pewnym układzie przez pomyłkę wlutowałem przed stabilizatorem P6SMB6.8CA (miało być P6SMB33CA) i przy podłączeniu go pod zasilacz laboratoryjny po prostu było trwałe zwarcie - transil wytrzymał i nie przepuścił "za siebie" więcej niż swoje nominalne napięcie. I nie był to D-PAK tylko SMB (DO214AA).
  • #6
    Tomq
    Level 38  
    Quote:
    Panie, przecież SMB to dalej wielka obudowa <: Mała obudowa to jest najwyżej 0805 (;

    Zależy z czym porównać - przy TO267 jest malutka (;

    Jeszcze co do pojemności to między transilem o tym samym nominalnym napięciu od różnych producentów różnica może być kilkukrotna (nie pamiętam już teraz dokładnie, ale trafiałem na takie które miały ok 1 nF i takie które miały 4nF). Niektóre też mają spory upływ prądu i miernik ustawiony na pomiar rezystancji pokaże 1-5MΩ. W przypadku lepszych nie pokaże nic nawet przy zakresie 200MΩ na mierniku. Wstawienie gorszego transila psuje już transmisje przy prędkościach 230kb/s gdzie dobre transile dają radę przy 921600kb/s w tych samych warunkach.
    Pojemność też odbija się wyraźnie na przebiegach zmiennych - na oscyloskopie widać charakterystyczne powtórzenie nieodfiltrowanej składowej zmiennej przesunięte w czasie, gdzie w tym samym układzie zabezpieczonym zenerką takiego efektu nie ma. A jeśli już jesteśmy przy filtracji to warto na własne oczy zobaczyć różnice między zwykłym elektrolitem, a Low ESR. Warto też czytać datasheety, bo o ile popularny 7805 działa w najprostszej aplikacji, to niektóre stabilizatory low-drop wymagają pojemności wyjściowej z konkretnego przedziału, żeby nie wpaść w oscylacji. Ale to już offtopic i pewnie autor o tym wie ;)
  • #7
    Freddie Chopin
    MCUs specialist
    Tomq wrote:
    Wstawienie gorszego transila psuje już transmisje przy prędkościach 230kb/s gdzie dobre transile dają radę przy 921600kb/s w tych samych warunkach.

    No chyba że użyjesz dedykowanych transili dla wysokich prędkości - są np. takie specjalne do USB 2.0 - tam jest definitywnie więcej niż 1Mbps (;

    http://www.littelfuse.com/products/pulseguard-esd-suppressors/surface-mount/pgb10603/pgb1010603.aspx

    Wg dokumentacji pojemność wynosi około 0.06 _PIKO_farada.

    4\/3!!
  • #8
    Witold_37
    Level 10  
    Witam.

    Jeśli chodzi o problemy z płytką Discovery to po zamontowaniu rezystora podciągającego linię NRST (49k) wydaje się działać poprawnie. Rezystor ten nie jest montowany mimo że na PCB znajduje się miejsce.

    Jeśli chodzi o zasilanie to myślałem o czym takim jak poniżej:

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    * pierwszy bezpiecznik 0,5A/24V oraz transil 24v zabezpieczają przetwornicę
    * drugi bezpiecznik 100mA/6V oraz transil 5V zabezpieczają układ na wypadek uszkodzenia przetwornicy
    * transil V3.5MLA zabezpiecza CPU przed ESD/przepięciami.

    STM32f407 - zabezpieczenie przed ESD i zakłóceniami

    STM zastosowało SM2T3V3A:
    http://www.stm32circle.com/resources/known.php#reg_fail

    Sprawdziłem transile i 5V zaczyna działać dla napięcia 6.8V zaś 3.5 V dla napięcia 4V.

    Jeśli chodzi o USB to używałem dotychczas warystorów USB0001 (AVX) ich pojemność to 8pf i nie zaobserwowałem żadnych problemów.

    Przeglądam w tej chwili materiały dotyczące zabezpieczeń portów i widzę generalnie 2 podejścia - realizacja na elementach dyskretnych lub użycie dedykowanych komponentów np.:
    http://www.nxp.com/documents/data_sheet/PRTR5V0U1T.pdf

    I tutaj nie wiem które podejście wybrać.
  • #9
    Tomq
    Level 38  
    Quote:
    I tutaj nie wiem które podejście wybrać.

    Ja tu już niestety nic nie podpowiem, bo nie testowałem scalonych układów zabezpieczeń. Szkoda, że doświadczeni koledzy nie chcą nic dodać.

    Quote:

    Wg dokumentacji pojemność wynosi około 0.06 _PIKO_farada.

    P6SMB6.8CA od ST MICROELECTRONICS na multimetrze Axio-met AX-588 pokazuje 1.58nF (oczywiście wykluczam wpływ pojemności przewodów, bo podczas pomiaru kondensatorów nie przekłamuje).
  • #10
    Freddie Chopin
    MCUs specialist
    Tomq wrote:
    P6SMB6.8CA od ST MICROELECTRONICS na multimetrze Axio-met AX-588 pokazuje 1.58nF (oczywiście wykluczam wpływ pojemności przewodów, bo podczas pomiaru kondensatorów nie przekłamuje).

    No i słusznie, bo wg datasheeta ten element ma taką właśnie pojemność...

    4\/3!!