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

Bascom nie widzi programatora pod LPT

pend0lino 04 Lut 2006 23:36 2115 13
REKLAMA
  • #1 2260699
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    Cześć
    Mam mikrokontroler ATmega8. Na podstawie książki Marcina Wiązania zrobiłem programator, którego schemat jest w załączniku. Programuje w bascomie (Bascom AVR Demo). Niestety program nie widzi mikrokontrolera przez ten programator :| Cały czas wyskakuje błąd "Could not identify chip with ID:FFFFFF"
    Ten prostokąt po prawej na schemacie oznacza takie gniazdo z pinami. Ja go nie mam, więc podłączyłem bezpośrednio do podstawki pod uC. Z tym, że GND zarówno dla uC jak i dla wtyczki dałem to samo - z portu USB.
    Na pewno nie raz się spotkaliście z podobnym problemem. Co może być tego przyczyną?
    Dopiero zaczynam się bawić, a tu już na starcie taki problem :/
    Dziękuje wszystkim za pomoc.
    Załączniki:
    • Bascom nie widzi programatora pod LPT programator.png (25.39 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 2260735
    m_zim
    Poziom 18  
    Posty: 170
    Pomógł: 23
    Ocena: 1
    Układ programowany powinien być z tego co wiem zasilany podczas programowania szeregowego - czy pamiętasz o tym??? Ja korzystam z tego programatorka i jestem bardzo zadowolony:

    http://www.propox.com/products/t_77.html


    pozdrawiam
  • Pomocny post
    #3 2260747
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Jeżeli nie masz drukarki w systemie to zainstaluj jakąś poprzez "dodaj drukarkę". Zalecają Linotronic. Ustaw w opcjach Bascoma odpowiedni programator i odpowiedni adres portu LPT(adres domyślny powinien być dobry). W opcjach wskaż też programowany uC. Nooo i poczytaj tą książkę.
  • REKLAMA
  • #4 2260783
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    M. S. napisał:
    Jeżeli nie masz drukarki w systemie to zainstaluj jakąś poprzez "dodaj drukarkę". Zalecają Linotronic. Ustaw w opcjach Bascoma odpowiedni programator i odpowiedni adres portu LPT(adres domyślny powinien być dobry). W opcjach wskaż też programowany uC. Nooo i poczytaj tą książkę.

    Zrobiłem tak jak piszesz i nic to nie dało.
    Książke czytam, ale tam zakładają, że problemów z programatorem nie ma i przechodzą do programów.
  • Pomocny post
    #5 2260861
    c64club
    Poziom 18  
    Posty: 342
    Pomógł: 13
    Ocena: 70
    mozesz mieć atmegę ze źle ustawionymi fusebitami.
    Jeśli
    a)pinc.6 masz jako i/o a nie jako Reset
    i/lub
    b) ISPenable masz wyłączone

    , to nie da się programować w trybie ISP. wtedy takiego procka "naprawi" jedynie programator równoległy

    Poza tym, niech kolega nie dubluje tematów. Na forum jest dość skuteczna opcja "szukaj". Akurat w przypadku elektrody działa wyśmienicie i sprawdza się w wielu przypadkach
  • #6 2261174
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    Dzieki za odpowiedzi.

    Jeszcze jedno pytanie - jak gleboko powinien wejsc w podstawke mikrokontroler?
    Czy nozki cale powinny sie skryc czy troszke wystaja na zewnatrz?
  • Pomocny post
    #7 2261396
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Koelgo bober a jak wyczytałeś że mozna wyłaczyć ISP enable. W którym dokładnie bajcie jest ten fuse?

    Normalnie to dokumentacja firmowa do M8: strona 220, tabelka 87:
    SPIEN(1):
    Enable Serial Program and Data
    Downloading
    0 (programmed, SPI prog.
    enabled)

    I ta notka na dole:
    Notes: 1. The SPIEN Fuse is not accessible in Serial Programming mode.

    Z tego wynika ze przez programowanie szeregowe nie jesteś w stanie zmienić tego fusa.

    Co do błędów programowania:
    Odłacz uC od tego programatora i zewrzyj MISO do masy.
    I teraz musi pokazać sygnaturę 000000. Jak nie to masz problem z portem drukarki lub/i z ustawieniami własciwego programatora w samym bascomie.
  • REKLAMA
  • #8 2261863
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    szymtro napisał:
    Co do błędów programowania:
    Odłacz uC od tego programatora i zewrzyj MISO do masy.
    I teraz musi pokazać sygnaturę 000000. Jak nie to masz problem z portem drukarki lub/i z ustawieniami własciwego programatora w samym bascomie.


    Zwarłem MISO z masą i wyskakuje tak jak napisałeś błąd ID:000000. Co to oznacza? :) i jak sobie z tym poradzic?
  • Pomocny post
    #9 2263151
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    no to teraz sprawź czy aby napewno podłaczasz właściwe zasilanie. Skoro ci sie tak zrobiło to by znaczyło że chyba musisz przekrosować miso programatora z mosi mikrokontrolera?. Sprawdź czy aby napewno masz 5V podczas programowania uC.
  • Pomocny post
    #10 2263873
    c64club
    Poziom 18  
    Posty: 342
    Pomógł: 13
    Ocena: 70
    Cytat:
    Koelgo bober a jak wyczytałeś że mozna wyłaczyć ISP enable. W którym dokładnie bajcie jest ten fuse?


    Tak się zdarza że poszukałem na elektrodzie info, kiedy moja atmega nie chciała łapać z ISP, i wtedy zacząłem kopać w dokumentacji programatora
    http://elm-chan.org/works/led2/report.html, a potem porównałem to z wymienioną przez kolegę tabelką.
    Są w tym bajcie 2 bity, jeden odpowiedzialny za SPIenable (0 jeśli ma udostępniać SPI) a drugi za użycie pinu1 tego procka jako PORTC.6 lub jako resetu. jeśli chcemy używać tego pinu jako I/O to musimy programić równolegle. Mega8 to jedyny µC z taką dziką właściwością (mówię o tym porcie C.6).
    Mojej megi8 nie udało się uratować (chyba nabyłem padniętą), ale wielu kolegów z forum zaoszczędziło w ten sposób an kupnie nowej.

    Dodano po 3 [minuty]:

    Device: ATmega8
    Mode: ISP/Parallel
    Low: 76543210
         3,2,1,0 CKSEL[3:0] Clock source selection
         5,4       SUT[1:0] - Startup time
         6          BODEN (1:Disable BOD, 0:Enable BOD)
         7          BODLEVEL (1:2.7V, 0:4.0V)
    
    High:76543210
         0    BOOTRST *Refer to data sheet
         2,1 BOOTSZ[1:0] *Refer to data sheet
         3    EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
         4    CKOPT (Oscillation Mode  1:Low amplitude, 0:Full swing)
         5     SPIEN (1:Disable ISP, 0:Enable ISP)*Available only in Parallel mode
    
         6 WDTON (1:WDT normal, 0:WDT always on)
         7 RSTDISBL (RESET pin 1:Enable, 0:Disable(PC6))
    
    


    Dodano po 4 [minuty]:

    tak brzmi wspomniany przeze mnie fragment dokumentacji programatora równoległego
  • #11 2265524
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    Hej
    Kupiłem programator STK200/300 i teraz już śmiga ....ale:
    podłączam wg dodanej do programatora dokumentacji, w której jest tak opisana wtyczka (10 pinowa):
    1 - MOSI
    2 - VCC
    3 - LED
    4, 6, 8, 10 - GND
    5 - RST
    7 - SCK
    9 - MISO

    GND - połączyłem wszystkie piny (4,6,8,10) i podłączyłem pod to samo GND, które idzie do uC.
    Problem z VCC - piszę że niby ma być to samo co do uC. Jeśli tak łącze to wszystko przestaje chodzić! Kiedy odłączam, tzn. pin2 wtyczki programatora jest pusty (VCC idzie wtedy tylko do uC) wtedy się programuje.
    Czy tak właśnie powinno być czy może robie coś źle, a tylko przez jakiś przypadek wszystko chodzi?
  • REKLAMA
  • Pomocny post
    #12 2268559
    c64club
    Poziom 18  
    Posty: 342
    Pomógł: 13
    Ocena: 70
    ogólna zasada przy zasilaniu programatorów jest taka:
    -programator musi być zasilony
    -procek musi być zasilony
    -można zasilać oba z tego samego źródła
    -można zasilać każde z urządzeń indywidualnie
    -NIE WOLNO zasilać jakiego kolwiek układu/urządzenia z 2 zasilaczy naraz (np. VCC porgramacza połączone z VCC procka, jeśli prock zasilany jest z układu a programator np. z kompa czy własnego zasilazca)

    Najbezpieczniej zasilać programacza z procka (jeśli sam budujesz prog.) lub sprawdzić czy nie jest zasilany z portu. Jeśli jest to nie łączyć żyły VCC kabla programującego z VCC proca. Jeśli zaś programator nie jest niczym zasilany to oczywiście pociągnąć mu prąd z VCC proca
  • #13 2268692
    pend0lino
    Poziom 11  
    Posty: 66
    Ocena: 1
    Dziękuje za cenne wskazówki.
    Problem własnie polega na tym, że mam zasilany uC, ale nie zasilam programatora. Sprawdzałem czy może programator ma napięcie we wtyczce, ale nic z tego.
    W załączniku jest schemat wtyczki stk200. Jak już wcześniej pisałem wszystkie piny po lewej stronie wtyczki (z wyjątkiem LED) mam podłączone do odpowiednich portów procesora. 4,6,8,10 połaczone i do minusa. 2 jest wolna bo tylko w takim wypadku programator działa. W momencie dołożenia plusa do ''dwójki'' układ przestaje chodzić.
    Może tak działać czy coś jest nie tak?
    Załączniki:
    • Bascom nie widzi programatora pod LPT STK200.png (13.4 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #14 2269316
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    coś tu nie pasuje , jeżeli nie masz jakis dodatkowych przewodów to w jaki sposób zasilany jest ukł 244 , przeanalizuj to sam przecież napięcie zasilania dostarczane jest tylko przez złącze 2 plus , 4,6,8,10 minus , napięcie to powinno być z programowanego uC

Podsumowanie tematu

✨ Problem dotyczy programowania mikrokontrolera ATmega8 za pomocą programatora podłączonego do portu LPT w środowisku Bascom AVR Demo, gdzie pojawia się błąd "Could not identify chip with ID:FFFFFF". Przyczyny problemu mogą obejmować brak zasilania programowanego układu podczas programowania szeregowego ISP, nieprawidłowe ustawienia fusebitów (np. wyłączony bit SPIEN lub zmieniony pin resetu na I/O), błędne podłączenie sygnałów MISO/MOSI, a także niepoprawne ustawienia portu LPT i programatora w Bascomie. Zalecane jest sprawdzenie, czy mikrokontroler jest zasilany podczas programowania, czy programator jest zasilany (lub czy nie jest zasilany z dwóch źródeł jednocześnie), oraz czy połączenia sygnałów są zgodne ze schematem. W przypadku problemów z fusebitami, programowanie ISP może być niemożliwe i konieczne jest użycie programatora równoległego. Dodatkowo, podłączenie programatora STK200/300 wymaga odpowiedniego zasilania i prawidłowego połączenia pinów, zwłaszcza pinu VCC, który nie powinien być łączony z zasilaniem mikrokontrolera, jeśli programator nie jest zasilany samodzielnie. Test zwarcia MISO do masy pozwala na diagnozę problemów z portem LPT lub ustawieniami programatora. Wskazane jest także zainstalowanie drukarki w systemie, aby Bascom mógł poprawnie komunikować się z portem LPT.
Wygenerowane przez model językowy.
REKLAMA