logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zakłócenia linii MOSI przy programowaniu ATTiny13 z diodą na PB0

przemek_bundy 15 Lis 2007 13:41 2441 16
REKLAMA
  • #1 4483648
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    Witam...

    Mam ATTiny13. do pinu PB0 jest podpięta dioda led. W Bascomie
    napisałem program w którym przerwanie zapala i gasi diode
    co pół sekundy. Najciekawsze jest to, że nie mogę ponownie zaprogramować układu bo impulsy na PB0 zakłócają linie MOSI.
    jak rozwiązać ten problem? programator równoległy!

    Pozdrowionka...
  • REKLAMA
  • #2 4483704
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    Podeślij schemat, może będzie wystarczyło wylutowanie diody
  • #3 4483739
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    przemek_bundy napisał:
    Najciekawsze jest to, że nie mogę ponownie zaprogramować układu bo impulsy na PB0 zakłócają linie MOSI.

    Znaczy, wyłączyłeś RESET na pinie 1 (PB5) fusebitami?

    Cytat:

    jak rozwiązać ten problem? programator równoległy!

    Niezupełnie. Szeregowy, wysokonapięciowy. W praktyce chyba nie ma takich jako oddzielny typ (a szkoda, do ośmionóżkowców by się przydały) i taki tryb jest dostępny w programatorach równoległych.

    Pozdrawiam.
  • #4 4483775
    praktyk.balder
    Poziom 13  
    Posty: 62
    Pomógł: 5
    Ocena: 4
    Czy jak próbujesz skasować pamięć to procek nie odpowiada?

    Do rozpoczęcia programowania po SPI reset i SCK muszą być w stanie L podczas narastania napięcia zasilania. Jeśli nie ma gwarancji że SCK=L w czasie narastania napięcia to RESET musi dostać impuls H w czasie 2 cykli zegara po osiągnięciu przez SCK stanu niskiego - jeśli dobrze pamiętam tak podawał producent.
    Do czego masz podłączone pozostałe wyprowadzenia potrzebne do programowania ? Chodzi mi głównie o reset.
    W ATtiny13 jest jeszcze możliwość programowania wysokim napięciem ale jak nie masz czym to prościej będzie kupić nowego procka :)
  • REKLAMA
  • #5 4483918
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    ATTiny programuje w Bascomie. W innych napisanych programach
    nie było problemu z programowaniem, aż do momentu tego programiku który wykorzystuje TIMER0. (dlatego zwaliłem całą winę na TIMER0).
    FUSE-bitów wogóle nie ruszałem, a odłączenie diody led też nic nie daje.
    Bascom wyświetla komunikat, że nie może zidentyfikować układu.
    A przy próbie kasownia pamięci EEPROM (Chip Erase) na dole okienka
    pojawia się status: Chip Erased. Ale dioda dalej miga w układzie, czyli nie został skasowany...
  • #6 4483965
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    Program "w procku" nie ma nic do rzeczy.
    Prawdopodobnie masz uszkodzony procesor.
    (zaprogramowałeś , zaczął działać i się upalił)
    Schemat byłby pomocny
  • REKLAMA
  • #7 4484087
    praktyk.balder
    Poziom 13  
    Posty: 62
    Pomógł: 5
    Ocena: 4
    a programator do płytki z prockiem masz solidnie podłączony? czasami są problemy jeśli SPI podłącza się jedno rzędową listwą goldpinów a te lubią nie stykać tak jakbyśmy sobie tego chcieli gdy wiszą na przewodzie, jeśli po kasowaniu pisze ze chip erased to odłącz płytkę od programatora i jeszcze raz skasuj, jak wyskoczy błąd komunikacji to znaczy, że połączenie było oki ale skoro nie identyfikuje Ci procka to jestem z kolegą markus_wolff Tiny mógł się upalić i teraz takie cuda, wystrugaj schemat to ostatecznie forum zadecyduje :)
  • #8 4484267
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    co do schematu. to mam pająka! do "procka" mam podłączoną diodę led
    pod pin PB0. i przez rezystor do masy. reset nie podłączony.
    program do "procka" wziołem z tąd:

    https://www.elektroda.pl/rtvforum/topic566930.html

    ale "zaremowałem" linijki nr: 1,3 i tą z WAITMS1000
    P.S.
    Jak już to by mi się tak szybko upalił "procek", niecałe 300 programowań.
  • #9 4484323
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    Do pająka też trzeba mieć schemat, czy tak po prostu...
    poza tym jaki rezystor ?
  • #10 4485080
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    zrobiłem jak doradził: praktyk.balder
    erase chip, odłączyłem go i znów erase chip.
    gdy w okienku programowania wciskam: read flash rom into buffer
    dane zostają wczytane poprawnie i bufor wypełnia sie $FF.
    ale gdy robie zapis, pojawia się takie okienko i stoi.dioda w
    programatorze świeci.

    Zakłócenia linii MOSI przy programowaniu ATTiny13 z diodą na PB0

    w układzie masa idzie do rezystora 200 Ohma i do diody,druga noga diody bezpośrednio do PB0
  • Pomocny post
    #11 4486746
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    Uszkodzony procek,
    diodę podłącz odwrotnie (musisz zmienić sposób włączania w programie),
    rezystor wstaw 1K
    Programator też masz na pajączku?
  • REKLAMA
  • Pomocny post
    #12 4488551
    praktyk.balder
    Poziom 13  
    Posty: 62
    Pomógł: 5
    Ocena: 4
    Tak, zgodnie z TTL'owską szkołą masa jest silniejsza i przeważnie układy projektowało się tak, żeby diodę zapalał stan L na porcie kontrolera :) Producenci gwarantują, już wydolność prądową portów 20 czy nawet 40mA zarówno w stanie H jak i L ale zawsze trzeba się zastanowić nad rozpływem prądów i spadkiem napięć w układzie biorąc pod uwagę ewentualne zmiany jakie wprowadza podłączenie programatora w układzie. Jeśli uprzesz się przy takim sterowaniu diodą to włącz w programie wewnętrzne podciągnięcie PB0 do + zasilania.
    Zastanów się czy Twój programator jeszcze żyje bo jeśli masz go na 74XX245 to dioda z rezystorem tylko 200R mogła go w stanie H pokonać.
    :(
  • #13 4489410
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    układ też w pająku, zastosowałem układ: 74HCT244.
    (nie mieli w tym sklepie wersji HC). układ jest w pająku, ale dałem mu
    domek po pozytywce wciskanej made in china.
    a czy się spalił programator, dopiero to sprawdze na innym ATTiny.
    przy R1K nie będzie za mały prąd dla diody?
    układ zasilam napięciem 5V.
  • Pomocny post
    #14 4489489
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    Trochę mały ale bezpieczny dla nogi, to zależy od diody.
    Chociaż tak. Piszą 40mA na nogę w sumie 400mA na procesor
    jako graniczne (atmel wstawia 330 w AVR242)
    Jak nie zaświeci to wstaw mniejszy
  • #15 4492036
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    a czy ma znaczenie z której strony będzie rezystor ograniczający prąd.
    czy zaraz za pinem "procka", czy z drugiej strony np: diody led.
  • Pomocny post
    #16 4493215
    markus_wolff
    Poziom 13  
    Posty: 51
    Pomógł: 4
    nie ma znaczenia.
    zaraz, zaraz...
    w sumie nie wiadomo jak masz podłączoną diodę.
    zalecane jest aby katoda była podłączona do nogi procka.

    REM =======================
    REM Ebi is the best of the best :flasingsmile:
    REM =======================
  • #17 4495873
    przemek_bundy
    Poziom 12  
    Posty: 111
    Ocena: 90
    nie mam więcej pytań, zastosuje się do uwag.
    dziękuje za wytłumaczenie.
    Pozdrowionka...

Podsumowanie tematu

✨ Problem dotyczy programowania mikrokontrolera ATTiny13, do którego na pinie PB0 podłączona jest dioda LED przez rezystor 200 Ω do masy. Program w Bascomie wykorzystuje TIMER0 do migania diodą co pół sekundy, jednak impulsy na PB0 zakłócają linię MOSI, uniemożliwiając ponowne programowanie układu. Reset nie jest podłączony, a fuse-bity nie były zmieniane. Próby kasowania pamięci EEPROM i flash kończą się komunikatem o sukcesie, lecz dioda nadal miga, co sugeruje, że program nie został skasowany. Wskazano, że program w układzie nie wpływa na programowanie, a problem może wynikać z uszkodzenia mikrokontrolera lub nieprawidłowego podłączenia programatora. Zalecenia obejmują zmianę podłączenia diody (katoda do pinu mikrokontrolera), zwiększenie rezystora do 1 kΩ, sprawdzenie poprawności połączeń programatora (w tym użycie układu 74HCT244 zamiast 74HC244) oraz ewentualne sprawdzenie programatora na innym ATTiny. Dyskusja podkreśla, że sterowanie diodą stanem niskim (masa) jest standardową praktyką TTL, a niewłaściwe podłączenie diody i niski rezystor mogą powodować zakłócenia linii programowania SPI. Umieszczenie rezystora ograniczającego prąd po dowolnej stronie diody nie ma znaczenia, ważne jest prawidłowe podłączenie katody i anody. Ostatecznie problem rozwiązuje odpowiednia konfiguracja sprzętowa i poprawne podłączenie elementów, co eliminuje zakłócenia na linii MOSI podczas programowania ATTiny13.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA