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

[AT90CAN128]JTAG brak komunikacji

08 Cze 2008 13:40 2047 24
  • Poziom 13  
    Witam.

    Chciałem zmienić program w AT90CAN128 i niestety JTAG nie potrafi połączyć się z mikrokontrolerem, a jeszcze wczoraj wszystko było ok. Myślałem, że JTAG padł, ale po podłączeniu do innego układu wszystko działa poprawnie. Sprawdziłem ustawienia COM'a, połączenia na płytce i wszystko jest w porządku. W fusebitach zmieniałem tylko źródło taktowania AT90CAN128, chociaż dla JTAG'a to nie jest istotne. Brakuje mi pomysłów co może być nie tak więc proszę o pomoc.

    Post raportowany
    Proszę stosować tagi
    And!
  • Poziom 38  
    Przepiszczane od nóżki w procku do jtaga do złącza?

    Dodano po 27 [sekundy]:

    zmniejsz częstotliwość komunikacji:> *Chyba jtag też miał taką opcję*
  • Poziom 13  
    O co chodzi z "Przepiszczane"?? :)

    Za bardzo nie wiem gdzie można zmniejszyć częstotliwość komunikacji w AVRStudio:/

    Dodano po 1 [minuty]:

    Aaa chyba już wiem co miałeś na myśli z "Przepiszczane".
    Odpowiedź: tak :)
  • Poziom 38  
    No jednak nie ma opcji zmniejszenia częstotliwości:P
    A zwarć nie ma?
    JTAGA przypadkiem nie wyłączyłeś? Spróbuj ISP i zobacz co w fuseach śmierdzi:>
  • Poziom 13  
    Zwarć też nie ma więc chyba ISP będzie jedynym wyjściem. Jutro się za to biorę i poinformuje o postępach ;)
  • Poziom 13  
    Niestety przez ISP też nie da się zaprogramować ehhh... macie jakieś pomysły co jeszcze można zrobić?
  • Poziom 13  
    Jeżeli fuse bity są zablokowane to można jeszcze je odblokować poprzez programowanie równoległe. Mój znajomy tak odblokował atmeg128. Wlutował się kabelkami do odpowiednich nóżek i przekładając kabelki wysłał komendę która wyczyściła całą pamięć + fuse bity

    komenda chip erase

    zegar był zrealizowany w następujący sposób : kabelek do plusa (narastające zbocze) kabelek do gnd ( opadające zbocze ).

    co prawda prymitywne rozwiązanie, ale atmega128 odblokowała się.
    :D:D
  • Poziom 13  
    Za bardzo nie rozumie jak mam podłączyć te kabelki. Czy mógłbyś jaśniej to napisać? ;)
  • Poziom 13  
    W dziale Memory Programming jest opis programowania Parallel Programing.
    Znadziesz tam wszystko czego potrzebujesz. Znajomy po prostu wlutował się w odpowiednie nóżki procesora i poustawiał odpowiednie wartości logiczne na nie(w ukłdzie of course :) ). Następnie stworzył zegar tak jak wcześniej mówiłem, przekładając kabelek od zegara raz do masy raz do napięcia zasilania. ( pająk jakich mało :) )

    Code:
    The following algorithm puts the device in parallel programming mode:
    
    1. Apply power between VCC and GND.
    2. Set RESET to “0” and toggle XTAL1 at least six times.
    3. Set the Prog_enable pins listed in Table 25-8 on page 340 to “0000” and wait at le
    100 ns.
    4. Apply 11.5 - 12.5V to RESET. Any activity on Prog_enable pins within 100 ns after
    +12V has been applied to RESET, will cause the device to fail entering programm
    mode.
    5. Wait at least 50 µs before sending a new command.


    Code:
    Chip Erase
    
    The Chip Erase will erase the Flash and EEPROM(1)
     memories plus Lock bits. The Lock bits are
    not reset until the program memory has been completely erased. The Fuse bits are not
    changed. A Chip Erase must be performed before the Flash and/or EEPROM are
    reprogrammed.
    Load Command “Chip Erase”
    1. Set XA1, XA0 to “10”. This enables command loading.
    2. Set BS1 to “0”.
    3. Set DATA to “1000 0000”. This is the command for Chip Erase.
    4. Give XTAL1 a positive pulse. This loads the command.
    5. Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low.
    6. Wait until RDY/BSY goes high before loading a new command.
    Note: 1. The EEPROM memory is preserved during Chip Erase if the EESAVE Fuse is programmed
  • Poziom 38  
    Mój najprostszy pomysł to dołącz generator do programowania isp na xtal:>
    Chip erase nie kasuje fuse bitów IMO tylko lock bity:>
  • Poziom 13  
    Czyli połączyć SCK z XTAL1? Dobrze zrozumiałem? Właśnie wyczytałem w datasheet'ie że fusebity nie są kasowane ehhh.
  • Poziom 38  
    źle.
    Podłącz jakiś generator ttl 400k...Mhz na xtal 1.
    Fxtal >=4*fisp
  • Poziom 13  
    Na XTAL1(AT90CAN128) podałem sygnał z wyjścia OC1A timera1 (ATmega16 ) o częstotliwości ok. 900kHz i ok 2MHz i dalej uP milczy. Strasznie dziwne to jest, a na bank fuse bitów z ISP i JTAG'a nie zmieniałem.

    Dodano po 44 [minuty]:

    Znalazłem jeszcze w datasheet'ie takie coś. Gdy patrze się na obrazek z konfiguracją pinów to: SCK --> PB1, MOSI --> PB2, MISO --> PB3.
    Na stronie 350 pdf'a znalazłem tabelkę 25-13 w której jest: MOSI --> PE0, MISO --> PE1, SCK --> PB1. Dziwne, ale może przez to nie działa ISP. Sprawdzę i dam znać ;)

    Dodano po 32 [minuty]:

    Niestety też nie działa:/
  • Poziom 38  
    Podłączyłeś do PExxx i nie działa?
  • Poziom 13  
    Tak. Już mnie to denerwuje. Jak tak dalej pójdzie to chyba nowego uP będę musiał kupić. Najgorsze jest to że nie wiem co jest nie tak.
  • Poziom 38  
    Spróbuj jeszcze raz na spokojnie.
    Podłącz zegar na xtal1 (Upewnij się, że on tam jest!).
    Podłącz RST PE0 i PE1 i SCK i spróbuj zagadać z nim...
  • Poziom 13  
    Zegar jest na XTAL1, wszystkie połączenia są ok, a ponyprog pokazuje to co zwykle: Device missing or unknown device (-24). Fuse bitów od ISP ani JTAGa nie ruszałem. W sumie bardzo dziwny przypadek bo jakimś programatorem powinno dać się zaprogramować. Dzięki wszystkim za pomoc. Trudno trochę kasy trzeba będzie wydać na nowego uP.
  • Poziom 38  
    Złóż rownoległy:>
    A oczywiście takie pierdoły jak zasilanie sprawdzałeś, prawda?:>
  • Poziom 13  
    OK dzięki za pomoc :)
  • Poziom 11  
    Witam,
    Chciałem się dowiedziec czy udało Ci sie uruchomic tego procka czy zdecydowaleś sie jednak na ten programator równoległy???
    Pozdrawiam,
    BB
  • Poziom 13  
    Zdecydowałem się jednak na kupno nowego uP, gdyż chwilowo nie mam czasu na składanie programatora równoległego ;)
  • Poziom 11  
    Pytam, bo mi się tez zablokowała mega128 i udało mi się ją ożywic właśnie generatorem ok.2MHz zrobionym na atmie16 i podpiętym pod XTAL1 megi128. Za chyba 3 razem dopiero dało radę w ponyprogu odczytac fuse i potem zmienic ich wartosc, ale sie udało i działa do tej pory ;). A nowy uC chodzi Ci bez problemów???
    Pozdrawiam,
    BB
  • Poziom 13  
    Jeszcze go nie wymieniłem, ale niedługo to zrobię;) Też taktowałem AT90CAN128 z ATmegi16 i niestety nie odpowiadał