ATMega32 Frekvens

Jul 06, 2009 34 Replies

Hej med jer.



Jeg har lidt problemer med at få min ATMega32 til at køre 16Mhz Den sidder på et hulprint. (egen konstruktion) Når jeg sætter den til at køre intern clock kører den fint (op til 8Mhz). Når jeg så sætter fuses via AVR Studio 4 til at køre på ext. krystal går det galt. Jeg tror den går helt i stå. Ihvertfalt sker der intet. Men hvis jeg så sætter den tilbage til intern virker det fint igen. Krystallet er koplet til gnd via to 12pF kondensatorer. Nogen der har en ide om hvad der er sket ?



(Og hvis nogen kender noget til interruptprogrammering af uart'en må de også gerne sige til.)



Mvh René


Jeg har sidst brugt 22pF (ved 7MHz på ATMEGA162). Måske bruger du for lidt. Husk kort afstand på netop dette kredsløb.

Mine FUSES er FB CC FD, hvor du nok kan have FF som den sidste (LOW), altså langsom opstart

Her er min interrupt opstart af uart (i Pascal) //UART0 GPS, 9600 _UBRR0L:=47; //7.3728 /9600 /16 -1 _UCSR0B:=__RXCIE0 or __RXEN0 or __TXEN0; _UCSR0C:=__URSEL0 or __UCSZ00 or __UCSZ01;

//UART1 GSM, 115200 _UBRR1L:=3; //7.3728 /115200 /16 -1 _UCSR1B:=__RXCIE1 or __RXEN1 or __TXEN1; _UCSR1C:=__URSEL0 or __UCSZ00 or __UCSZ01;

Vektorerne skal så sættes, og interupt rutinen skal gemme alt, osv Jeg har altid en led, som jeg kan aktivere (blinke), som en simpel test i fx interupt rutiner. Bruger også tit at skrive ud noget debug tekst på en anden port (direkte, uden interrupt eller noget)

Christen Fihl

Jeg vil prøve at finde nogle 22pF og udskifte dem. Jeg synes selv at det sidder så tæt på AVR'en som jeg kan komme til, Men det er jo som det er med hulprint, at man af og til er begrænset lidt af hvordan banerne ligger. Måske jeg skulle lave det med et rigtigt print, og så lave forbindelserne til omverdenen på en eller anden flexibel måde.

Vedrørende mit UART-"sjov" så har jeg prøvet bare at lave en løkke (altså uden interrupt) der virker som "echo" og den sender af og til nogle mærkelige ting tilbage. Hvis jeg ellers bare sætter den til at sende den samme tekst hele tiden, virker det godt, så noget tyder på at der er noget galt i modtagelsen.

Har du et effektivt stel og gode afkoblinger ? Returnerer du kondensatorers "stel" direkte til processorens stel ?

Bo //

22pF er des samme som 2 i parallel af de 10pF du allerede har (sikkert flere af)

Hejsa,

Er det eksternes krystals hus forbundet til stel (med _lav_ impedans)??

/Claus

Husk at sætte CKOPT fusen.

Ulrik Smed Aarhus, Denmark

Om huset er stelforbundet har ingen betydning. Hvis det havde, var der en loddeterminal til det...

Bo //

Det er der faktisk på nogle krystaller, hvis det skal være 'fint'. Men tror nu heller ikke det betyder noget her.

Ulrik Smed Aarhus, Denmark

Til en mikroprocessor skal det ikke være fint ;-)

Bo //

"Claus" skrev i en meddelelse news:4a520cf8$0$56783$ snipped-for-privacy@dtext02.news.tele.dk...

Jeg tror at jeg vil prøve at kigge forbindelserne omkring krystallet efter i sømmene. måske der er noget helt galt der. (Måske en gnd der kunne være bedre ??) Evt finder jeg et par 22pf et eller andet sted og prøver med dem.

Mvh René

Hej,

der er et eller helt grundlæggende galt.

Det skal bare virke! Det er overhovedet ikke kritisk mht kondensatorer og stel.

Mulige fejl:

- Defekt uC

- Defekt X-tal

- Forkert forbundet

Jeg har i mine mere end 25 år i branchen ikke oplevet andre fejl!

Mvh Jens

"René" skrev i en meddelelse news:h2s9n8$1t4n$ snipped-for-privacy@newsbin.cybercity.dk...

Prøv lige at måle med scop på krystallet først (med x10). Hvis der kun er en lille gnalling signal (en halv volt agtigt) så virker det helt sikkert at sætte CKOPT fusen, så svinger den meget kraftigere og bedre med høje frekvenser. Har været ude for det samme selv på mega16.

Ulrik Smed Aarhus, Denmark

Nu er jeg desværre ikke den lykkelige indehaver af en skop. Jeg kigger på det senere. Jeg er i den uheldige situation at arbejdet tager for meget af min fritid ;o)

René

Det hjalp desværre ikke at sætte CKOPT fusen. jeg må gå det nærmere igennem i aften.

René

"JeGy" skrev i en meddelelse news:4a52f333$0$15889$ snipped-for-privacy@dtext01.news.tele.dk...

Det viste sig at det var dig der fik ret Jens. Jeg er bange for at jeg har fået det forbundet forkert et eller andet sted. Jeg pillede x-tal og kondensatorer ud. "omarrangerede" det og prøvede igen. jeg tror at jeg er kommet til at sætte gnd direkte på den ene ende af krystallet. Nu går de to kondensatorer også direkte til uC'erens gnd.

Tak for hjælp alle mand. Nu mangler jeg bare at få min uart til at opføre sig rigtigt.. om det så er software eller hardwarefejl det må jeg kigge nærmere efter.

Mvh René

Kyl en modstand på 3-10MOhm i parallel med krystallet.

>

Jeg kan da ikke lige huske, men er det den samme register, der benyttes til læsning som til skrivning?? Det tror jeg ikke

Christen

Det trækker jeg så tilbage, det er samme register UDR

Såå...

Kommer der nøjagtig 1 tegn, når du trykker på HyperTerm?

Er det altid det samme snavs for samme input? (andet for andet input?)

ja det er altid et tegn (så vidt jeg kan se...), og i ~70% er det det samme tegn, ved samme input (Dog med forbehold) Det kunne tyde på nogle bit der går galt et sted ? Som sagt, så har jeg kigget mit max232 kredsløb igennem, og ikke fundet nogen fejl der. (Synes jeg...) Der er +/- 10V på kredsen der hvor der skal være det.

Mvh René

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required