Hallo zusammen,
am STK600 gibt es am AUX header einen PIN, wo 32Khz draufsteht!
Wenn ich da mit einem Oszi draufgehe messe ich aber keine 32Khz. Kann es
sein, dass man noch irgendetwas auf dem Board einstellen muss?
Hast du einen STK600 aus den Anfängen der Produktion? Ich erinnere
mich an eine Bug-Notiz, dass man dort die Kondensatoren am 32-kHz-
Quarz noch gegen einen anderen Wert tauschen musste. Wenn dem so
ist, dann frage mal den AVR-Support danach.
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?
Tommy wrote:
> Ich hab das Board von Digikey, dass heißt also ich muss ne E-Mail> hinschicken und bekomme eine Antwort in paar Wochen! Na super
Wieso Wochen?
Nein, du sollst nicht mit Digkey darüber verhandeln, sondern bei
Atmel direkt nachfragen. Die beantworten die Mails normalerweise
(glaub ich) innerhalb von drei Tagen.
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!).
EXCLK ist dafür gedacht, einen externen Takt einzuspeisen. Du
willst doch aber einen externen Quarz betreiben, oder? Dann
musst du EXCLK weglassen und nur AS2 setzen.
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
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.
>(Die dort vorgeschlagenen 220 pF halte ich für ein wenig zu hoch.)
Nee, das passt schon. Mein Board hatte das Problem auch und mit 220pF
läuft´s wie geschmiert.
Ich habe jetzt einen 220pf Kondensator auf den anderen draufgesetzt, so
stand es in der E-Mail, die ich von Atmel bekommen habe! Hätte ich
besser das alte Bauteil durch den 220pf ersetzen sollen?
Alles zurück, hatte den falschen Kondensator draufgelötet! War ein 0805
220nf, verwende jetzt mal ein 220pf Kondensator. Hab gedacht ich hätte
einen 220pf in der Hand gehabt!
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?
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.
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!
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.
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!
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.