Anfängerfragen zum STK500 (quarz,etc.)

GreenArrow

Neues Mitglied
26. Aug. 2008
23
0
0
Sprachen
Hey Leute, ich habe bis jetzt ja nur Attinys programmiert und da mir da oft die I/O Ports nich reichen,wollte ich mal aufrüsten. Hab mir also ein STK500 bestellt. Dieses kam leider ohne jegliche Dokumentation. Hab dann durchs googlen ne deutsche Beschreibung gefunden,mit der es mir zumindest gelungen ist das board in betrieb zu nehmen :).
Nun zu meinen Fragen. Auf dem Board ist ein Atmega85151. Ich wusste nicht das es bei den Atmega8´s so viele unterschiede gibt und hab bei der bestellung einen Mitbestellt der Atmega8-16PU hieß. Leider ist der viel kleiner und ich weiß nicht ob ich den in den SCKT3200A2 Sockel oder den SCKT3500D- Sockel stecken soll? Gibts da irgendwo ne Liste welches µC in welchen Sockel gehört?
Naja,im Moment läuft der Atmega85151 ja noch und ich wollte die serielle übertragung mal testen.
Also hab ich von Microkontroller.net das UART Tut gelesen und den ASM Code in den Controller kopiert. Wenn ich den aber anschließe überträgt der nicht immer "Test" sonder immer nur ein "T" in endlosschleife. Also stimmt da irgendwas mim Timing nich.
Ich nutze keinen Externen Quarz, sondern habe den Interenen 4Mhz Oszi genommen.
Beim Attiny hatte ich mit den internen nie Probleme,aber bei den Atmegas hab ich nun in einigen Foren gelesen sollte man unbedingt nen externen quarz nehmen. Jetzt würd ich mir ja einen kaufen aber ich weiß nicht welchen.
Nehm ich jetzt einfach nen 4 Mhz Quarz und schließ den an den Crystal eingang an und jumper den oscel um und dann läuft das oder denkt ihr ich mach vielleicht noch was anderes falsch?

Ich mein ich hab oft gelesen das der Interne Kalibriert werden muss. Hab dann im AVR Studio im STK500 Fenster unter "Advanced" den Punkt gefunden wo steht Calibrate for frequenzy. Da hab ich dann 4 Mhz ausgewählt und dann auf read geklickt. Das Ergebnis in Value hab ich dann in Adress eingetragen und auf write geklickt. Dann sollte der doch kalibriert sein oder?

Hoffe ihr blickt noch durch :)
Vielleicht könnt ihr mir da ja irgendwie weiterhelfen. Mfg GreenArrow
 
Hallo,

Hey Leute, ich habe bis jetzt ja nur Attinys programmiert und da mir da oft die I/O Ports nich reichen,wollte ich mal aufrüsten. Hab mir also ein STK500 bestellt. Dieses kam leider ohne jegliche Dokumentation. Hab dann durchs googlen ne deutsche Beschreibung gefunden,mit der es mir zumindest gelungen ist das board in betrieb zu nehmen :).
wage ich mal zu bezweifeln ;) Da lag bestimmt ne DVD mit drin
(ATMEL-Techlib-DVD , ca 1,4GB hier auch zum runterladen)
Da ist normalerweise alles wichtige mit drauf. Die Dokus mit Schaltplänen
gibts aber auch einzeln auf der Atmel-Homepage. Ich hab mir das ganze
Geraffel letztens mal ausgedruckt. In Papier liest sich einfach besser :rolleyes:

Nun zu meinen Fragen. Auf dem Board ist ein Atmega85151. Ich wusste nicht das es bei den Atmega8´s so viele unterschiede gibt und hab bei der bestellung einen Mitbestellt der Atmega8-16PU hieß. Leider ist der viel kleiner und ich weiß nicht ob ich den in den SCKT3200A2 Sockel oder den SCKT3500D- Sockel stecken soll? Gibts da irgendwo ne Liste welches µC in welchen Sockel gehört?
Der Mega8151 ist KEIN Mega8. Das sind zwar alles 8Bit-RISC-CPUs so wie
die ATtiny auch aber dann hört die Gemeinsamkeit auch auf. Jeder Typ hat
seine Eigenheiten mit Timern, USARTs, IO-Register, CPU-Takt, Speicher, ...
Also bei Problemen erst mal im Datenblatt nachsehen ;)

Naja,im Moment läuft der Atmega85151 ja noch und ich wollte die serielle übertragung mal testen.
Also hab ich von Microkontroller.net das UART Tut gelesen und den ASM Code in den Controller kopiert. Wenn ich den aber anschließe überträgt der nicht immer "Test" sonder immer nur ein "T" in endlosschleife. Also stimmt da irgendwas mim Timing nich.
Ich nutze keinen Externen Quarz, sondern habe den Interenen 4Mhz Oszi genommen.
Wie gesagt, es gibt Unterschiede bei den Typen. Für welchen Prozessor ist
das Programm geschrieben worden ? Für nen ATmega8 ? ATmega32 ? ATtiny ?

Beim Attiny hatte ich mit den internen nie Probleme,aber bei den Atmegas hab ich nun in einigen Foren gelesen sollte man unbedingt nen externen quarz nehmen. Jetzt würd ich mir ja einen kaufen aber ich weiß nicht welchen.
Die Low-Power-Versionen der Prozessoren können 8MHz und die anderen
entweder 16MHz oder 20MHz (siehe Datenblatt). Ich würde zum Testen
ruhig die maximale Frequenz verwenden. Aber der STK500 hat auch nen
Oszillator drauf, den man einstellen kann (wenn ich mich nicht irre).

Nehm ich jetzt einfach nen 4 Mhz Quarz und schließ den an den Crystal eingang an und jumper den oscel um und dann läuft das oder denkt ihr ich mach vielleicht noch was anderes falsch?
Mein erster Fehler war das URSEL-Bit im UBBRH-Register das zwischen dem
UBBRH- und dem UCSRC-Register umschaltet. Wenn man sich da vertut
dann verstellt man aus Versehen die Baudrate. Hab ich dann bei mir statt
9k6 auf einmal 200Baud drin gehabt ;)

Ich mein ich hab oft gelesen das der Interne Kalibriert werden muss. Hab dann im AVR Studio im STK500 Fenster unter "Advanced" den Punkt gefunden wo steht Calibrate for frequenzy. Da hab ich dann 4 Mhz ausgewählt und dann auf read geklickt. Das Ergebnis in Value hab ich dann in Adress eingetragen und auf write geklickt. Dann sollte der doch kalibriert sein oder?
Da würde ich erst mal die Finger von lassen. Bei mir läuft die serielle
Übertragung auch noch bei 1-2% Abweichung von der Baudrate. Solltest
Du also nicht so eng sehen. Man kann es ganz genau machen aber wenn es
nicht ganz genau trifft ist das für einen Test auch nicht so schlimm. Das
synchronisiert sich da schon halbwegs auf ;)

Hoffe ihr blickt noch durch :)
Vielleicht könnt ihr mir da ja irgendwie weiterhelfen. Mfg GreenArrow
Also dieses Wochenende werd ich evtl ne Menge mit dem STK500 rumspielen ;)
Wolln mal sehen was man da alles probieren kann ...

Gruß
Dino
 
Hallo zusammen,

Dino hat schon sehr viel dazugeschrieben. Ich möchte noch kurz was zum internen Clock sagen. Speziell bei Mega8 und Mega16 ist mir aufgefallen, dass der interne Clock eigentlich nur bei 1MHz einigermaßen sauber läuft. Sobald ich auf z.B. 8 MHz gegangen bin war es eher zufall, auf welcher realen Geschwindigkeit der Mega rennt. Es gab auch Unterschiede von StartUp zu StartUp.

Bei normalen Programmen die ne Taste einlesen, etwas berechnen und auf dem Display ausgeben war das noch "fast" akzeptabel. Ich hatte aber super super Probleme mit der RS232 Übertragung von Zeichen. Damit kann ich das Problem von GreenArrow ein Stück bestätigen. Ich habe einiges probiert und meine Probleme nur durch den Einsatz eines externen Quarz (ich bin gleich auf 16MHz gegange) hinbekommen.
Bei mir wurden auch nur teilweise Zeichen übertragen. Ich vermute, dass die interne Taktquell eso ungenau schwingt dass besonders im Bereich von RS232 die Probleme sichtbar wurden.

Interessanter Weise ist mri das nur mit Mega8 und Mega16 aufgefallen, nicht aber mit Mega128 mit dem ich sehr ausgiebige Test gemacht hatte.

Grüße,
Markus
 
@Markus + Dino:
als erstes vielen Dank für die ausführlichen Antworten.
Es könnte tatsächlich daran liegen das das Programm für nen Atmega8 geschrieben wurde, und ich dachte ja der 85151 wär einer :-( Aber die 10 die ich mir direkt mit dazu bestellt habe, müssten welche sein. Da steht nämlich exakt Atmel Atmega8 - 16PU drauf. Das heißt ich könnte das Programm ja in einen von denen flashen,dann müsste ich halt nur wissen in welchen der beiden Sockel auf dem Board ich den stecken muss?

Achja,die Sache mit dem UBBRH Register stand auch im Tut von Mikrocontroller, daher sollte der Code von denen eigentlich fehlerfrei sein, hoffe ich :)

Mfg GreenArrow
 
Hallo GreenArrow,

vor den Erfolg haben die Götter den Schweiß gesetzt :p

Tue Dir bitte selbst den gefallen und lese Dir das Handbuch unter dem Link von Echo gut durch. Da steht sehr viel nützliches drin und ich bin sicher Du wirst verstehen was ich meine.

Das STK500 ist "mächtig" und mann kann viel damit machen. Es gibt X Jumper-Einstellungen und wenn man nicht weiß was man da vor der Nase hat dann gibt es auch genauso viele Stolperfallen.

Nur als Tipp so am Rande....

Abhängig was Du alles mit dem STK500 machen möchstest solltest Du auch den Schaltplan verinnerlichen.

Den findet Du üblich unter:

C:\Program Files\Atmel\AVR Tools\Help\STK500.chm

wenn Du das AVR-Studio mit der beigelegten DVD installiert hast.

Beim STK ist es nämlich so, dass eigentlich alle PIN's der Megas irgendwo auf Sticftleisten zur Verüfgung stehen. Dabei ist es aber oft nicht eine 1:1 Verdrahtung sondern es hängt noch was anderes drauf und wann wundert sich beim Testen, dass sich ein PIN komisch anders verhält.

Also bitte, in eigenem Interesse und Du wirst sehen, dass Du deutlich mehr Freue und vor allem Verständnis für das STK500 haben wirst.:stupido2:

Aus meiner Sicht kommst Du nicht darum herum. Zum Glück ist jetzt auch klar, ws Du am Wochenende machen kannst :p

Grüße,
Markus
 
Nochmals vielen Dank für eure Antworten. Ich denke auch das es das beste ist,wenn ich mich vielleicht erstmal durch die Datenblätter und Handbücher kämpfe. Außerdem kann man bei dem Wetter eh nix anderes machen :)
Wenn ich dann mit der Theorie durch bin und Anfange zu programmieren und zu basteln, werden die nächsten Fragen bestimmt nicht allzu lange auf sich warten lassen :). Also bis bald, GreenArrow
 
Jederzeit gerne! Viel Erfolg!

Grüße,
Ma
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)