stk600 32khz pin problem

Gast #1242725
Lesenswert?

Hab hier ein kleines Programm für den ATmega 644P geschrieben:

#include<avr/io.h>
#include<stdio.h>
#include<stdlib.h>
#include<avr/interrupt.h>

volatile uint8_t time=0;

ISR(TIMER2_OVF_vect)
{  time++;

}
int main()
{
  DDRA=0xff;
  PORTA=0xff;

  ASSR|=(1<<EXCLK)|(1<<AS2);
  TCCR2B|=(1<<CS22)|(1<<CS20);//takt durch 128 teilen
  TIMSK2|=(1<<TOIE2);  //timer overflow einschalten

  sei();
  while(1)
  {
    PORTA=time;
  }
  return(0);
}

Jedoch gehen die Lichter schneller als in einer Sekunde an!
Darufhin habe ich die Frequenz am TOSC1 PIN gemessen und die Frequenz 
stimmt nicht!
Oder ist etwas an meiner Einstelleung falsch?
Gast #1243756
Lesenswert?

Jörg vielen Dank!
Kannst du mir vielleicht auch erklären, was ich falsch mache, wenn ich 
einen 32khz Quarz an TOSC1 und TOSC2 anschließe? Bei mir tut sich 
nämlich gar nichts. So wie ich die Hilfe aber verstanden habe, müsste es 
eigentlich tuen (Mit dem obigen Beispiel!).
Gast #1243794
Lesenswert?

Das hatte ich vergessen zu schreiben, ich hatte EXCLK nicht 
eingeschaltet!
Also nur AS2 aber er läuft einfach nicht. Auch der 32,768khz Quarz 
schwingt nicht richtig, wenn ich aufs scope gucke sehe ich eine Frequenz 
von 46Hz - 1khz. Dazwischen schwankt der Quarz. Das ist doch auch nicht 
normal oder?
Danke im voraus
Moderator Persönliche Seite #1243799
Lesenswert?

Mit den langen Leitungen an TOSCx bin ich mir gar nicht sicher, ob
man da vernünftig einen externen Quarz dran bekommt.  Die gesamte
Schaltungskapazität würde ja in die Lastkapazität des Quarzes mit
einfließen.  Sie haben da sicher nicht umsonst einen 32-kHz-Oszillator
(statt nur eines Quarzes wie seinerzeit beim STK501) drauf gebaut.
Gast #1243841
Lesenswert?

Vielen Dank für eure Antworten! Der 32khz Pin funktioniert jetzt 
richtig!
Ich hätte allerdings da noch eine Frage, wenn ich später das ganze auf 
einer Platine realisieren will und da den EXCLK rausnehem und an PINT 
TOSC1 und TOSC2 ein 32khz Quarz anschließe, wird das dann funktionieren?
Moderator Persönliche Seite #1243851
Lesenswert?

Tommy wrote:

> ... wenn ich später das ganze auf
> einer Platine realisieren will und da den EXCLK rausnehem und an PINT
> TOSC1 und TOSC2 ein 32khz Quarz anschließe, wird das dann funktionieren?

Vorausgesetzt, der Quarz ,,sieht'' in deiner fertigen Schaltung die
korrekte Lastkapazität, die er laut Datenblatt bekommen muss: ja.

Was man bei diesen Quarzen gern vergisst (und was du bei dem Quarz-
oszillator auf dem STK am Ende auch nicht merken wirst): diese Quarze
brauchen auf Grund ihrer niedrigen Frequenz und ihrer Güte einige
100 ms, bis sie ein benutzbares Oszillatorsignal liefern, oft ist es
erst nach 1 s Anschwingzeit wirklich stabil.  Du solltest dem Quarz
also nach dem Einschalten ein wenig Zeit gönnen, bevor du ihn benutzt.
Gast #1243854
Lesenswert?

Hab jetzt festgestellt, das er mit einem 32,768 Quarz zwischen TORSC1 
und TOSC2 schon zählt, aber sehr langsam! Eigentlich müsste er ja jede 
Sekunde weiterzählen aber es ist ein vielfaches von dem!
Moderator Persönliche Seite #1243858
Lesenswert?

Tommy wrote:
> Hab jetzt festgestellt, das er mit einem 32,768 Quarz zwischen TORSC1
> und TOSC2 schon zählt, aber sehr langsam!

Er wird einfach extrem viel Lastkapazität bekommen, vielleicht auch
noch Störeinstrahlung auf den langen Leitungen.  Überleg mal, wie
oft die Leitungsführung da zick-zack geht von der Platine mit der
Fassung über das Routingboard und dann über das STK600 selbst.
Gast #1243864
Lesenswert?

Verstehe, aber wenn Atmel so ein Produkt rausbringt und extra solche 
Pins mit auf die Platine bringt, könnte man dann nicht damit rechnen, 
dass das eigentlich gehen müsste?
Was du schreibst klingt auf jeden Fall plausibel! Ich will halt auch 
wissen, dass ich mir sicher sein kann, das kein Fehler in den paar 
Zeilen des Codes stecken!
(Firma: TravelRec.) Persönliche Seite #1243871
Lesenswert?

Ausschnitt aus der STK600 Online-Hilfe:

On-chip Crystal Oscillator

In a real-life application where the crystal can be placed close to the 
AVR's XTAL1 and XTAL2 pins, there is no need for an external oscillator 
circuit. The long clock signal lines and socket system connectors on 
STK600 makes it difficult to drive a crystal with the on-chip 
oscillators. This is resolved by having a crystal oscillator on STK600. 
The oscillator is designed to operate over the full target voltage 
range.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren