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

Zabezpieczenie avr przed zablokowaniem przy programowaniu

Sław1980 11 Maj 2012 07:55 1632 9
  • #2 11 Maj 2012 08:55
    McMonster
    Poziom 32  

    Może ściągając pin SCK do masy tranzystorem sterowanym z wejścia RESET? Bez zegara na SPI układ się nie zaprogramuje.

    0
  • #3 11 Maj 2012 09:00
    piotrva
    Moderator na urlopie...

    Np. bramki logiczne AND na liniach programatora - jedne linie podpięte do programatora-procesora, a drugie wejścia podpięte do VCC płytki i ściągane jakimś rezystorem do masy. Teoretycznie powinno zadziałać. Ale i tak najlepszym rozwiązaniem jest OSTROŻNOŚĆ.

    Dodano po 3 [minuty]:

    McMonster napisał:
    Może ściągając pin SCK do masy tranzystorem sterowanym z wejścia RESET? Bez zegara na SPI układ się nie zaprogramuje.

    Tak? A jak będziesz chciał wykorzystać ten pin do czego innego podczas normalnej pracy? Może to też być przyczyną zwarcia w układzie i uszkodzenia układu - raczej nie polecam.

    0
  • #4 11 Maj 2012 12:08
    McMonster
    Poziom 32  

    piotrva napisał:
    Np. bramki logiczne AND na liniach programatora - jedne linie podpięte do programatora-procesora, a drugie wejścia podpięte do VCC płytki i ściągane jakimś rezystorem do masy. Teoretycznie powinno zadziałać. Ale i tak najlepszym rozwiązaniem jest OSTROŻNOŚĆ.

    Dodano po 3 [minuty]:

    McMonster napisał:
    Może ściągając pin SCK do masy tranzystorem sterowanym z wejścia RESET? Bez zegara na SPI układ się nie zaprogramuje.

    Tak? A jak będziesz chciał wykorzystać ten pin do czego innego podczas normalnej pracy? Może to też być przyczyną zwarcia w układzie i uszkodzenia układu - raczej nie polecam.


    Przepraszam, skrót myślowy. Chodziło mi w skrócie zablokowanie sygnału SCK do mikrokontrolera, gdzieś w innym wątku widziałem podobny problem (programowanie wielu AVR z jednego złącza ISP), ale znaleźć go teraz nie mogę.

    0
  • #6 11 Maj 2012 20:49
    McMonster
    Poziom 32  

    Właśnie o temat z tego drugiego linka mi chodziło.

    0
  • #7 15 Gru 2014 19:32
    Sław1980
    Poziom 17  

    No więc znalazłem sposób żeby zminimalizować opcję zablokowania procesora. Najprostszym sposobem jest przed zaprogramowaniem odczytać ustawienia fusebitów jeśli coś będzie źle podłączone wyskoczy błąd po którym instynktownie sprawdza się zasilanie. Zdażyło się raz że mimo braku zasilania mikroprocesor podał informację na temat fusebitów więc dla pewności przed programowaniem staram się ze dwa razy kliknąć opcję "odczyt" i jak do tej pory pomysł sprawdza się w 100% :) Może to i mało profesjonalne ale działa ;)
    Dzięki wszystkim za pomoc i pozdrawiam.

    0
  • #8 15 Gru 2014 19:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    Sław1980 napisał:
    Zdażyło się raz że mimo braku zasilania mikroprocesor podał informację na temat fusebitów ...

    Stało się tak zapewne dlatego, że zasilał się pasożytniczo przez diody zabezpieczające piny mikrokontrolera. :)

    0
  • #9 15 Gru 2014 20:23
    tmf
    Moderator Mikrokontrolery Projektowanie

    Sław1980 napisał:
    No więc znalazłem sposób żeby zminimalizować opcję zablokowania procesora. Najprostszym sposobem jest przed zaprogramowaniem odczytać ustawienia fusebitów jeśli coś będzie źle podłączone wyskoczy błąd po którym instynktownie sprawdza się zasilanie. Zdażyło się raz że mimo braku zasilania mikroprocesor podał informację na temat fusebitów więc dla pewności przed programowaniem staram się ze dwa razy kliknąć opcję "odczyt" i jak do tej pory pomysł sprawdza się w 100% :) Może to i mało profesjonalne ale działa ;)
    Dzięki wszystkim za pomoc i pozdrawiam.


    No można po raz kolejny wynajdywać koło na nowo. Ale nie prościej skorzystać z sensownego programatora (np. Atmel-ICE, Dragon, AVRISP itd.) i sensownego softu (np. Atmel Studio), ktore razem działają tak, że jeśli nie ma Vcc na urządzeniu programowanym lub jest ono poza specyfikacją, to AS wyrzuca błąd i nie podejmuje nawet próby programowania? Bo bez obrazy, ale twój sosób jest co najmniej dziwny. Jeśli przed każdym programowaniem mam pamiętać, aby najpierw testowo odczytać fusebity, to równie dobrze, a nawet lepiej mogę pamiętać, żeby sprawdzić czy podpiąłem Vcc. Poza tym, jak pisze kolega Dondu, MCU może być zasilany pasożytniczo i twoja metoda nie zadziała, nawet jeśli odczyt ponowisz i 100 razy - wszystko zależy od programowanego układu.

    0