Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Progger, atmega32 of klok stuk?

Pagina: 1
Acties:

  • Paul
  • Registratie: September 2000
  • Laatst online: 13:03
Ik heb hier, op wat experimenteerprint, een atmega32, een kristal, de benodigde condensatortjes, spoeltjes en de pull-up van de !reset gesoldeerd, samen met pinheaders voor de poorten, een ISP en een JTAG connector.

Mijn programmer wordt door avrprog/avr studio 4 gezien en ondersteund.

Op de interne klok werkt alles perfect, programma's flashen en runnen, zowel op een mega32 als een mega88. Als ik echter aan de fuses durf te zitten gaat het fout. Ik heb een 14,7456 MHz kristal en 2stuks 22pF condensatortje, en in AVR-prog (na een read) de "Ext XTAL, Startup: 67ms + 16K CK" gekozen en op "write" geklikt.

Sindsdien valt er met die atmega niets meer te doen. avr prog zegt steeds dat alle lock bits op mode 3 staan, alle vinkjes (SPI enable, bootrst, eesave, ocd enable en jtag enable) staan aan en als device signature en calibration byte staan alleen maar nullen. Chip erase lijkt totaal niets te doen, als ik wil flashen dan mislukt de verificatie etc.
Dit is me al met 2 atmega32's gelukt :P

Wie klinkt dit bekend in de oren en weet hoe ik dit op kan lossen? :P

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Lock bits zijn als het goed is met chip erase wel weer te resetten, maar het lijkt erop dat je verbinding weg is gezien de device signature allemaal nullen geeft. Die zou in ieder geval een geldige signature moeten geven. Als je de fuses netjes hebt aangepast (die optie die je noemt is goed) zou het kristal misschien niet goed kunnen oscilleren, verbindingen goed gemaakt? Of je hebt de fuses zo gezet dat je het hele ding niet meer kunt programmeren maar vanuit AVR studio gaat dat meestal niet zo gauw per ongeluk.

www.madwizard.org


  • Paul
  • Registratie: September 2000
  • Laatst online: 13:03
Verbindingen zijn afaik goed, kristal tussen XTAL1 en XTAL2, met een 22pF condensatortje tussen XTAL1 en GND, en zonzelfde tussen XTAL2 en gnd.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Dat klopt idd, heb je een ander kristal waar je het mee kunt proberen? Waarschijnlijk zijn de fuse en lock bits die AVR studio nu aangeeft ook onzin omdat er niets goed uitgelezen wordt. Misschien heb je het geheel op externe klok gezet ipv extern kristal, in dat geval helpt het een kloksignaal aan te bieden aan XTAL1 (geloof ik, kan ook 2 zijn). Heb je een scope waarmee je kan kijken of het kristal werkt?

www.madwizard.org


  • Paul
  • Registratie: September 2000
  • Laatst online: 13:03
Ik heb wel een ander kristal, 4mhz maar dat zou geen probleem moeten zijn. Die zal ik morgen eens proberen.

Hoe maak je zo'n externe klok? Gewoon in een oneindige loop een pin hoog/laag maken (met een nop ertussen om de jmp te compenseren)?

Ik heb een Fluke scopemeter geleend van mijn neefje, maar aangezien ik zo'n ding eigenlijk nog nooit gebruikt heb, heb ik dus geen idee wat ik moet verwachten. Een signaal dat iedere 0,7ns van hoog naar laag en terug gaat?

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Paul Nieuwkamp schreef op maandag 25 december 2006 @ 01:08:
Ik heb wel een ander kristal, 4mhz maar dat zou geen probleem moeten zijn. Die zal ik morgen eens proberen.
Lager moet idd geen probleem zijn. Heb je trouwens een low voltage versie (met L erachter dus)? Officieel gaan die tot 8MHz, al kan je daar in de praktijk flink overheen gaan misschien dat je net pech hebt.
Hoe maak je zo'n externe klok? Gewoon in een oneindige loop een pin hoog/laag maken (met een nop ertussen om de jmp te compenseren)?
Inderdaad, alleen neemt een jump wel 2 cycles in. Dit zou moeten werken:
code:
1
2
3
4
5
6
_clock:
    sbi PORTB, PORTB0
    nop
    nop
    cbi PORTB, PORTB0
    rjmp _clock


(zet er een klein weerstandje tussen voor het geval de AVR toch geen kloksignaal verwacht)
Ik heb een Fluke scopemeter geleend van mijn neefje, maar aangezien ik zo'n ding eigenlijk nog nooit gebruikt heb, heb ik dus geen idee wat ik moet verwachten. Een signaal dat iedere 0,7ns van hoog naar laag en terug gaat?
Meer elke 67,8ns, 1/14,7456MHz. Je krijgt waarschijnlijk meer een sinusachtig signaal te zien, mogelijk ook niet over de hele voedingsspanning maar een deel daarvan. In ieder geval een oscillerend signaal.
Je kan ook nog de condensatoren iets kleiner proberen te maken al heb ik in al mijn projecten 22pF gebruikt en nog nooit problemen gehad.

[ Voor 3% gewijzigd door madwizard op 25-12-2006 01:25 ]

www.madwizard.org


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Of je pakt gewoon een kristaloscillator; da;s zo'n fijn metalen blokje met 4 pinnetjes erop en een frequentie eropgeschreven. Heeft mij ook al een paar keer gered :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Verwijderd

Iets soortgelijks een paar keer meegemaakt. In het ene geval een AT90S2313 waarvan de lockbits gezet waren. Daardoor kon de programmer niets meer inlezen ook geen device signature. Volledig wissen was de oplossing. Tweede geval was een ATtiny13 waarvan de SPI fuse uit stond (bleek achteraf). Na het programmeren deed die gewoon helemaal niets meer. Na uiteindelijk een simpele parallele programmer gebouwd te hebben kon ik deze weer uitlezen. Zo kwam ik er ook achter dat de SPI fuse uit stond. Ik had de fuses overigens helemaal niet gewijzigd. Maar vermoedelijk is het gekomen door een slecht contact in de ISP connectie.

Probeer in elk geval eerst eens een clocksignaal aan te leggen. Werkt dat niet dan kan een parallel programmer als de STK500 altijd nog uitkomst bieden.Eventueel ook zelf te maken http://elm-chan.org/works/avrx/report_e.html

  • guus.assmann
  • Registratie: Augustus 2006
  • Laatst online: 27-04-2021
Dit heb ik ook met diverse Mega 161 en 163 gehad.
Nu gebruik ik een programmer via de LPT-poort en met een ander progje kwam het weer goed.
Heeft te maken met diverse configuratie bits.
Bij één processor is het nooit meer goed gekomen. (Die is nu nog bruikbaar als punaise / duimspijker, die ook nog grote trefkans heeft na veel drank >:) )

Bij meten met een probe (Ook van een fluke meter) zul je waarschijnlijk maar op een pen van het kristal een signaal meten.
De tweede pen wordt door de meting te zwaar belast, waardoor de oscillatie stopt.
Soms is het dan nodig om de voeding aan de processor opnieuw aan te sluiten.

Guus Assmann


  • [TazZ]
  • Registratie: April 2001
  • Laatst online: 25-06 15:06
Op school zijn we ook wel eens problemen tegen gekomen met die fuses. Uiteindelijk hebben we ze met een Galep ingesteld. Als we ze met de JTAG interface aanpasten liep alles fout. Dit was met een Atmega32.

Ik weet zo niet hoe het met de JTAG normaal aan de gang te krijgen is.

Resetten van alles lost het weer op iig :).

If it ain't broke, fix it till it is...


  • Paul
  • Registratie: September 2000
  • Laatst online: 13:03
Ik heb net het kristal vervangen door een 4MHz exemplaar en nu werkt het wel naar behoren.

Ik heb _niet_ de L-versie, dus ik denk dat het aan een slechte soldeerverbinding lag ofzo. Iig allemaal bedankt voor het meedenken :)

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock

Pagina: 1