PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Galep-4 Fuse Bits setzen - aber wie?



rhschneider
09.12.2008, 20:51
Hallo Leute,
ich habe ein Projekt gefunden, welches in Bascom geschrieben ist. Leider habe ich zwar einen USB-ISP-Programmer jedoch kein Board, in welchem ich den dazugehörigen Atmega32L programmieren könnte. Dafür möchte ich meinen Galep-4 verwenden. In Bascom sind die Fuse-Bits gleich in den ersten Zeilen gesetzt.
($prog &HFF , &HA1 , &H99 , &H00 ' Fusebits, BODEN=2,7V, sonst Standard)
Wie mache ich das aber mit dem Galep? Es gibt zwar eine Möglichkeit (siehe Anhang) alle Fuses und Locks mit einem Haken zu aktivieren (oder umgekehrt) aber nach schier endlosen Programmierversuchen bin ich am Ende und suche Eure Hilfe.
Ich hab mir jetzt ein RN-Board für den Atmega32 bestellt - aber ich würde es doch gerne wissen wie es ansonsten,z.B. mit dem Galep-4 gemacht werden kann.
Ich würde mich sehr freuen, wenn mir jemand über diesen Weg seine Hilfe anbieten kann und will.

Vielen Dank für Eure Mühe und frohe Festtage

Richard

Frank
09.12.2008, 21:43
Wenn du die übersichtlichere Einstellung in Bascom gewohnt bist, dann programmier dort einfach einen Controller mit den Fusebits so wie du es haben willst.
Dann liest du den Controller mit Fusebits in Galep aus. Und schon siehst du wie die Einstellungen dort sein müssen!

rhschneider
09.12.2008, 22:42
Vielen Dank Frank! Das sagst du so einfach. Zum einen blick ich da eh nicht so durch und andererseits ist es ein fertiges Stück Programm. Es geht um eine Aufnahmesteuerung (Timer) für SLR Kameras, was ich im Net gefunden habe. Und ich kann auch die Instruktion sehen wie im Bascom diese Fuses gesetzt werden. Da ich (momentan) aber mit Bascom keinen AVR beschreiben kann weil mir die Hardware fehlt, möchte ich diese Sache mit meinem Galep-4 erledigen. Und da ist das Problem: Ich verstehe die Umsetzung aus Bascom nach Galep nicht. Mann was hab ich da jetz schon Energie reingesteckt und komm nicht weiter... Aber ich bin voller Hoffnung, wie man so schön sagt. Und außerdem hab ich mir ja noch das RN-Board bestellt, spätestens wenn ich das Teil habe müsste ich eigentlich problemlos mit Bascom weiterkommen. Aber es wäre dennnoch unbefriedigend, nicht zu erfahren wie ich diese Geschichte mit den Fuse-Bits mit dem Galep richtig machen kann. Eigentlich liegt es mehr an mir als am Galep - ich sollte mich wohl mehr in diese Sache reinarbeiten damit ich besseren Durchblick bekomme. Jedoch die Hoffnung stirbt zuletzt!

Danke & Gruß
Richard

Hubert.G
10.12.2008, 09:08
Wenn du mir sagst welcher Oszillator es sein soll und welche Frequenz, dann sollte das kein Problem sein.
Also Interner RC-Oszillator, Externer Takt oder Ext. Crystall/Resoantor. Das sollte bei deinem Beispielprogramm dabei stehen.

Frank
10.12.2008, 09:20
Ja du müsstest sagen was du an welchem Controller genau einstellen willst, vielleicht kann ich dir dann Galep-Einstellungsbild dazu posten.

rhschneider
10.12.2008, 09:36
Hallo Leute, das ist ja prima, sobald ich heute an den heimischen Rechner komme, werde ich die entsprechenden Daten posten.
Vorerst herzlichen Dank für eure Hilfsbereitschaft!

Gruß Richard

rhschneider
10.12.2008, 10:43
So, da habe ich einige Info zum Programm. Es ist ein Atmega32L der mit 2.7V (bzw. 3.6V)betrieben wird. Bemerkenswert ist, daß dieser nicht an den entsprechenden Eingängen mit einem Quartz beschaltet wird, sondern er hat einen Uhrenquartz an den Pinnen 28/29.
Dennoch ist im Programm von einem "$crystal = 1000000" die Rede. Was für mich eigentlich einen externen Takt bedeutet. Hier ein Auszug vom Programm:
$regfile = "m32def.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 32
$framesize = 40
$prog &HFF , &HA1 , &H99 , &H00 ' Fusebits, BODEN=2,7V, sonst Standard
Const Testmodus = 0

Also mit dem crystal komme ich bereits ins Schleudern. Wenn ich den Schaltplan ansehe, ist an den Pinnen 12/13 nix angeschlossen und demnach müsste (nach meinem Verständnis) ein interner Takt verwendet werden. Ich hänge sicherheitshalber mal einen Auszug vom Schaltplan dieser Geschichte mit an. Dort ist zwar ein Atmega16 zu sehen, es wird jedoch ein Atmega32L verwendet.

Ich hoffe ihr könnt mit den Infos was anfangen und bedanke mich für Eure Mühe!

Hubert.G
10.12.2008, 11:33
Wie ein Quarz richtig angeschlossen wird, siehst du im Datenblatt.
Der Uhrenquarz passt nicht zu deinen Daten.
Vielleicht steht in der Beschreibung noch etwas dazu.
Hier noch eine Hilfe zu den Fuse-Einstellungen: http://palmavr.sourceforge.net/cgi-bin/fc.cgi

rhschneider
10.12.2008, 12:15
Danke für den Link Hubert! Also teilst du meine Meinung, daß das mit dem Quartz technisch nicht möglich scheint. Ich blick das nicht. Seltsam jedoch ist, daß dieses Projekt ein Renner zu sein scheint. Oder ich bin so doof, daß ich garnichts von der Materie verstehe. Hier stell ich mal den Link zum Projekt rein - es wär nett wenn du (oder wer auch immer) da mal reinschauen würde. Also hier der Link:

http://www.sternhimmel-ueber-ulm.de/timer00.htm

Nun bin ich doch sehr gespannt...

Vielen Dank & Grüße
Richard

Hubert.G
10.12.2008, 14:16
Ich habe zwar nicht sehr intensiv gesucht, aber über einen Schaltplan bin ich nicht gestolpert, nur über die SW. Wenn du für den Plan einen Link hast, wäre es gut. Du musst da aufpassen, es gibt anscheinend einige Versionen.

rhschneider
10.12.2008, 14:45
Unten am Seitenende findest du einen kleinen Pfeil zum weiterschalten. Da erscheint das Layout und ebenso der Plan. Ich habe die aktuelle Hardwareversion (ohne Widerstandsarray) nachgebaut.
Jedenfalls findet man auf dieser Seite alles an Infos, was man braucht.

Gruß Richard

rhschneider
10.12.2008, 14:46
Nachtrag:

http://www.sternhimmel-ueber-ulm.de/timer01.htm

Hubert.G
10.12.2008, 15:25
So wie ich das sehe, läuft der Kontroller mit internem 1MHz Takt, für die genaue Zeit wird der Uhrenquarz verwendet.
Wenn die Fuses so eingestellt sind wie in deinem ersten Beitrag, dann sollte das so passen. Du musst dann nur mehr das *.hex File laden.

rhschneider
10.12.2008, 18:12
Vielen Dank Hubert, ich werde das sobald ich kann testen.

Gruß Richard

Frank
11.12.2008, 13:47
Ich hab mal schnell mit den Bascom Einstellungen einen M32 programmiert:



$regfile = "m32def.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 32
$framesize = 40
$prog &HFF , &HA1 , &H99 , &H00 ' Fusebits, BODEN=2,7V, sonst Standard


In Galep würde das aussehen wie im Bild (Anhang):
Also so wie du es schon hast.

rhschneider
14.12.2008, 14:46
Hallo und herzlichen Dank an alle Helfer!
Hat prima geklappt. Ich hatte nur eines vergessen: das EEprom zu programmieren. Ich hab mich davon täuschen lassen, dass der Galep sagt, dass er das tut. Freilich tut er es, aber wenn kein file geladen ist, dann isses halt dunkel. Ich hab dann über Bascom das EEprom file geladen und geschrieben und siehe da, das Display zeigt mir an was ich erwartet habe.
Ich hatte geglaubt, dass das EEprom erst vom laufenden Programm mit den entsprechenden Daten beschrieben würde.
Nun ja man lernt eben immer dazu!

Nochmals vielen Dank an Euch und ein frohes Fest!

Gruß Richard