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

Atmega8 - Linie PB3-PB5 a programator ISP

Atlantis86 26 Paź 2012 18:48 1668 10
  • #1 26 Paź 2012 18:48
    Atlantis86
    Poziom 19  

    Przepraszam za głupie pytanie, ale nie mogę doszukać się jednoznacznej odpowiedzi. W podstawowych kursach nie znalazłem niczego na ten temat, a nie chciałbym czegoś namieszać (np. uczynić Atmegi nieprogramowalną).

    Krótko mówiąc: Czy fakt wykorzystania linii PB3, PB4 i PB5 jako elementów interfejsu ISP (MOSI, MISO i SCK) ma jakiś wpływ na ich normalne wykorzystanie? Mogę podłączyć do nich jakieś switche, diody albo piny wyświetlacza, czy też jest to niewskazane? Powinienem w jakiś konkretny sposób ustawiać wartości bitów rejestrów DDRB i PORTB odpowiadających tym liniom? Czy takie operacje mogą mieć jakiś wpływ na przebieg procesu programowania układu?

    0 10
  • #2 26 Paź 2012 19:05
    Krauser
    Poziom 26  

    Generalnie najlepiej jak te piny pracują w roli wyjść, a wyjścia te sterują czymś czego wysterowanie podczas programowania nie ma znaczenia np. LED. Należy unikać wykorzystania tych wyprowadzeń jako wejścia, a to dlatego, że jeśli to jest wejście to coś tam jest podłączone i to coś będzie podawać swój stan i zakłócać proces programowania np. przycisk wciśnięty podczas programowania wymusi stan niski (typowa aplikacja).

    0
  • #3 26 Paź 2012 19:06
    xury
    Poziom 38  

    Śmiało możesz korzystać z tych pinów. Po to one są. Czasem jednak przy programowaniu może wystąpić problem, gdy te piny są obciążane przez zewnętrzne elementy. Najlepiej jest więc by na czas programowania odłączyć te elementy. Można projektując płytkę np. dać montażowy DIP Switch lub zworki.

    O widzę kolega mnie uprzedził. :)

    0
  • #4 26 Paź 2012 19:43
    Atlantis86
    Poziom 19  

    Czyli krótko mówiąc jeśli:
    - Będę używał tych pinów jako wyjść (z uwzględnieniem powyższego zastrzeżenia).
    lub
    - W roli wejścia użyję jedynie prostego switcha do masy, którego podczas programowania nikt ruszał nie będzie.

    To wszystko powinno być ok? ;)

    Domyślam się też, że raczej nie powinienem raczej stosować tych pinów jako wyjść sterujących zewnętrznymi urządzeniami, np. włączających jakiś moduł przez podanie odpowiedniego impulsu?

    0
  • #5 27 Paź 2012 13:41
    mrsajm0n
    Poziom 13  

    Chodziło raczej o robienie czegokolwiek na tych pinach i możliwość odcięcia za pomocą np. switcha lub zworki na czas programowania. Dzięki temu podłączony do tych pinów jest tylko programator, a peryferia nie zakłócają.

    0
  • #6 27 Paź 2012 14:45
    Atlantis86
    Poziom 19  

    No tak, wiem.
    Tylko w czym niby może programatorowi przeszkadzać prosty switch, domyślnie rozłączony?

    0
  • #7 27 Paź 2012 15:20
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tu masz odpowiedzi:
    http://mikrokontrolery.blogspot.com/2011/04/ispwspoldzielenie-pinow_01.html
    Ogólnie polecam ci blog kolegi Dondu, jest tam bardzo dużo o mikrokontrolerach, w dodatku pojawiają się co raz to nowe treści.

    0
  • #8 27 Paź 2012 15:23
    mrsajm0n
    Poziom 13  

    W niczym. Nie rozumiem o co Ci chodzi i mam wątpliwości czy rozumiesz co ja napisałem. Nie każę Ci przecież rozdzielać switcha switchem albo switcha zworką...

    0
  • #9 27 Paź 2012 15:51
    Atlantis86
    Poziom 19  

    Wiem, wiem. Pytam w razie, gdyby jakieś pojemności między stykami miały tendencję do przeszkadzania itp.

    BTW odnośnie informacji z poprzedniego linku: czy pomylenie zworek w USBasp i przypadkowe podanie napięcia z USB programatora, gdy programowany układ ma własne zasilanie, stwarza bardzo niebezpieczną sytuację? A jeśli tak, to niebezpieczną dla układu, programatora, USB czy wszystkich razem?

    0
  • #10 29 Paź 2012 12:12
    snnaap
    Poziom 25  

    Najczęściej do linii tych podłącza się układ który komunikuje się po SPI aby wykorzystać sprzętowy kontroler. Wtedy należy koniecznie zastosowywać rezystory na liniach współdzielonych a cs zewnętrznego układu niezależnie podciągnąć do vcc. Bo co będzie jeżeli tego nie zrobimy? Pojawienie się podczas programowania uK stanu niskiego na linii CS zewnętrznego układu spowoduje uaktywnienie tego układu który może "przejąć kontrole" nad liniami ISP, spostponuje to błędy na liniach ISP a co za tym idzie błędy w programowaniu uK- co często może prowadzić do zablokowania uK.

    Pozdrawiam

    0
  • #11 29 Paź 2012 12:58
    tmf
    Moderator Mikrokontrolery Projektowanie

    Atlantis86 napisał:
    Wiem, wiem. Pytam w razie, gdyby jakieś pojemności między stykami miały tendencję do przeszkadzania itp.

    BTW odnośnie informacji z poprzedniego linku: czy pomylenie zworek w USBasp i przypadkowe podanie napięcia z USB programatora, gdy programowany układ ma własne zasilanie, stwarza bardzo niebezpieczną sytuację? A jeśli tak, to niebezpieczną dla układu, programatora, USB czy wszystkich razem?


    Stwarza dosyć niebezpieczną sytuację, a zwykle wysiądzie najsłabszy element. Wiele płyt głównych nie ma żadnego ograniczenia przeciwzwarciowego na zasilaniu USB, ew. jest tam jakiś bezpiecznik polimerowy. Niestety aby przewidzieć co się stanie trzeba znać schematy poszczególnych elementów układanki. Po prostu należy nie dopuszczać do takiej sytuacji - a jeśli zaszła - no cóż, nie pozostaje nic innego jak sprawdzić czy coś się stało. Zazwyczaj nic się nie dzieje, ew. coś się tylko zaczyna grzać. Ale jak masz pecha...

    0