Hallo liebe Gemeinde! Ich wollte meinen ATmega8 auf einen externen Quarz von 16MHz einstellen und habe versehentlich die Einstellung "external clock" gewählt, da ich dadurch irritiert war , dass ich die Einstellung für einen externen 16MHz Quarz nicht gefunden habe. Kurz zur Umgebung : ich programmiere meine µC im Pollin Board (https://www.pollin.de/p/atmel-evaluations-board-v2-0-1-fertigmodul-810074) mit einem selbstgebauten STK200-parallel-programmer, aus BASCOM-AVR (mit der Einstellung "STK200/STK300 programmer" heraus Nun habe ich gemäss der Anleitung einen ATtiny2313 folgendermassen programmiert $regfile = "attiny2313a.dat" $crystal = 500000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Portd.5 = Output Do Toggle Portd.5 Loop End Den verfusten ATmega8 habe ich mit hochgebogenem Pin "XTAL1" in die Programmierfassung gesteckt (auf dem Pollin Board), den ATtiny2313 mit entsprechender Beschaltung auf ein Steckbrett und dann PD5 des Tiny mit dem XTAL1 des Mega verbunden. Trotzdem lässt sich der Mega8 nicht über die BASCOM-AVR Programmierschnittstelle ansprechen. Er wird gar nicht erkannt. Kann mir jemand einen Tipp geben, was ich falsch mache, oder noch tun kann ?? Gruss Frank
:
Bearbeitet durch User
GND Steckbrett und Pollin Board verbunden?
Dieter F. schrieb: > GND Steckbrett und Pollin Board verbunden? Ja , das steckbrett des ATtiny ist mit dem Pollin Steckbrettadapter angeschlossen, d.h. der ATtiny bekommt Vcc und GND vom Pollinboard. Gruss Frank
Hast Du ein Oszilloskop einen Frequenzzähler einen Logic-Analysator zur Hand um zu prüfen, ob die gewünschte Frequenz erzeugt wird? Falls ja, prüfe das und berichte ...
Vermutlich ein Geschwindigkeitsproblem. Der Takt aus dem 2313 ist zu langsam. Kannst du deinen Programmer einbremsen?
Wahrscheinlich Spannungsprobleme. Nimm mal ein rauscharmes Netzteil.
Nimm mal ein Netzwerkanalysator und prüfe deine Phasenverschiebung. Wahrscheinlich läuft der Programmer zu schnell. Du könntest die Leitungsbeläge etwas reduzieren.
MuWi schrieb: > Du könntest die > Leitungsbeläge etwas reduzieren. Ja, mit Viss putzen - Quatschkopp :-)
Hallo ! Danke für die Antworten. Der Tiny macht ein schönes Rechteck-Signal, mit dem Oszi kontrolliert. Einbremsen kann ich den programmer (wissentlich?) nicht !? Wo oder wie müsste ich dies tun ? In der Bascom-AVR Umgebung kann ich nur den Typ einstellen und die Schnittstelle. Der Tiny gibt momentan ein 500KHz Signal aus. Könnte ich dies erhöhen, statt den progger zu verlangsamen ? Gruss Frank
:
Bearbeitet durch User
Frank H. schrieb: > Wo oder wie müsste ich dies tun ? In der Bascom-AVR Umgebung kann > ich nur den Typ einstellen und die Schnittstelle. Da kann ich nicht helfen - ich kenne das Teil nicht. Kannst Du den ATTiny nicht etwas flotter machen - der kann doch 8 MHz mit der internen Taktquelle - oder?
Oder Du baust einen Oszillator mit 4060 oder Gattern auf, oder holst einen 4 poligen Quarzoszillator aus der Vorratskiste. MfG
Ich würde der Takt an PortD.5 auf zirka 125 kHz reduzierten.
BlaBla schrieb: > Ich würde der Takt an PortD.5 auf zirka 125 kHz reduzierten. Kannst Du das begründen?
sei froh, dass der m8 kaputt ist, schmeiß ihn weg und steig auf den pikompatiblen etwas neuzeitlicheren 2€-m328 um.
Dieter F. schrieb: > Frank H. schrieb: >> Wo oder wie müsste ich dies tun ? In der Bascom-AVR Umgebung kann >> ich nur den Typ einstellen und die Schnittstelle. > > Da kann ich nicht helfen - ich kenne das Teil nicht. Kannst Du den > ATTiny nicht etwas flotter machen - der kann doch 8 MHz mit der internen > Taktquelle - oder? Der progger ist ein STK200 (mit 74HC244) - s.Bild Ich kann da nix einstellen. Ja den Tiny kann ich schneller machen - momentan ist der auf 4MHZ und Teiler 8 = 500000Hz eingstellt. Wie schnell sollte er denn laufen ? Gruss Frank
BlaBla schrieb: > Ich würde der Takt an PortD.5 auf zirka 125 kHz reduzierten. Ich hatte es schon vorher mit der internen Frequenz des Tiny von 128KHz versucht. Leider ohne erfolg. Gruss Frank
> 4MHZ und Teiler 8 = 500000Hz
Dann kann doch eigentlich kein 500 kHz Signal per toggle-pin
herauskommen, sondern bestenfalls 62.5 kHz.
grundschüler schrieb: > sei froh, dass der m8 kaputt ist, schmeiß ihn weg und steig auf den > pikompatiblen etwas neuzeitlicheren 2€-m328 um. Das ginge natürlich, aber ich möchte den nicht einfach wegwerfen, wenn man ihn noch verwenden könnte... Wir werfen schon genug weg ! Gruss Frank
PS: es ist ein ATmega8L (ist das evtl. von Bedeutung) ? Gruss Frank
Vorschlag: den ATtiny2313 löschen und, bei aller Vorsicht und Konzentration, im Fuse-low-byte CKOUT einschalten ("programmieren"), dann liegt an Pin D2 der Systemtakt, d.h. diese 4 MHz.
Frank H. schrieb: > Ja den Tiny kann ich schneller machen - momentan ist der auf 4MHZ und > Teiler 8 = 500000Hz eingstellt. Wie schnell sollte er denn laufen ? Naja, am besten mit den vollen 8 MHz :) Da der ISP-Programmer mit 1/4 des Takts laufen sollte, kann er bei voller Geschwindigkeit des µC auf jeden Fall dazwischenkommen.
Frank H. schrieb: > Leider ohne erfolg. Natürlich. Ist ja auch völliger Blödsinn. Der ISP-Takt muß <1/4 F_CPU sein. D.h. Er muß schneller werden. Setze die CKOUT-Fuse und den Prescaler auf 1. Dann liegt der volle Takt an Pin6 beim 2313 an.
S. Landolt schrieb: >> 4MHZ und Teiler 8 = 500000Hz > Dann kann doch eigentlich kein 500 kHz Signal per toggle-pin > herauskommen, sondern bestenfalls 62.5 kHz. Wie hoch die Ausgabefrequenz ist habe ich nicht gemessen. Hole ich kurz nach. hatte nur mit dem USB-Oszi geschaut, ob ein Rechteck rauskommt. Wie berechnet sich die Frequenz am Pin denn ? Wieso sind das dann ur 62,5KHz ?? Der Tiny Takt läuft jedenfalls auf 500KHz. Gruss Frank
Dieter F. schrieb: > Kannst Du das begründen? Bin mir auch nicht mehr so ganz sicher. Ich dachte noch an eine gesetzte CKOPT-Fuse.
Thomas E. schrieb: > Frank H. schrieb: >> Leider ohne erfolg. > > Natürlich. Ist ja auch völliger Blödsinn. > > Der ISP-Takt muß <1/4 F_CPU sein. D.h. Er muß schneller werden. > > Setze die CKOUT-Fuse und den Prescaler auf 1. Dann liegt der volle Takt > an Pin6 beim 2313 an. Bitte nochmal für Anfänger (der ich bin) ! Was genau soll ich am 2313 einstellen ? Welchen Prescaler? Ist der interne Teiler für den Takt gemeint ? Und wer muss schneller werden ? Gruss Frank
> Wie berechnet sich die Frequenz am Pin denn ? Minimum ist sbi und rjmp, das sind 4 Takte mal 2, also /8: 500 kHz /8 = 62.5 kHz. > Und wer muss schneller werden ? Der ATtiny (als 'external clock') muss schneller werden.
Also heraus kamen ca. 25KHz !? (mit Multimeter gemessen) Bei der genannten Einstellung. Bei "interner Teiler 8 disabled" und 4MHz kommen 204KHz raus. Bei 8MHz entsprechend 408KHz Gruss Frank
Frank H. schrieb: > Bei 8MHz entsprechend 408KHz Okay. Dann muss der ISP-Programmer mit weniger als 100 kHz takten. Sonst kommt der m8 nicht mit.
> Also heraus kamen ca. 25KHz !?
Also schafft BASCOM eben nicht das Minimum mit:
1 | sbi PIND,5 |
2 | rjmp pc-1 |
sondern macht noch anderes. Dann ist wohl der Vorschlag mit CKOUT sinnvoll.
Sollte dann aber beim m8 noch die CKOPT-Fuse aktiviert sein, dann müsste der ISP-Takt kleiner als 12,75 kHz sein.
DANKE - DANKE - DANKE !! Ich habe ihn wieder ! Mit 408KHz hat es geklappt ... Und wieder gleich ein paar Sachengelernt. Vielen Dank , liebes Forum und alle Beteiligten. Gruss Frank
Beitrag #5181101 wurde vom Autor gelöscht.
Ist ein bisschen spät, weil Du es ja schon hinbekommen hast. Aber um einen guten Takt zu bekommen, kannst Du den Rechteck-Abgleich-Anschluß des Oszis nehmen. Spart dieses basteln.
> auf einen externen Quarz von 16MHz > es ist ein ATmega8L Horcht! Einen L! Habt Ihr das wohl gefasst? Ein L ist mir ein lahmer Gast. Der schafft laut Datenblatt nur acht, nicht mehr, habt Ihr daran gedacht?
Martin S. schrieb: > Ist ein bisschen spät, weil Du es ja schon hinbekommen hast. Aber um > einen guten Takt zu bekommen, kannst Du den Rechteck-Abgleich-Anschluß > des Oszis nehmen. Spart dieses basteln. Hallo, das hatte ich versucht, den 1KHz Abgriff des USB Oszis... Leider ohne Erfolg ! Vieleicht hätte es mit dem Hameg aus dem Keller geklappt ?! Trotzdem danke
Mit 1 kHz klappt es natürlich nicht, es war ja ganz offenbar deutlich mehr nötig. Ein HM604 z.B. gibt auch 1 MHz aus, allerdings nur mit 2 Vss - ob das reicht?
S. Landolt schrieb: > Horcht! Einen L! Habt Ihr das wohl gefasst? > Ein L ist mir ein lahmer Gast. > Der schafft laut Datenblatt nur acht, > nicht mehr, habt Ihr daran gedacht? Zehn sind doch nicht so viel mehr, vielleicht gibt er das doch noch her... Man könnte es ja mal probieren. Was Schlimmes kann doch kaum passieren. :) MfG Paul
S. Landolt schrieb: > Mit 1 kHz klappt es natürlich nicht, es war ja ganz offenbar > deutlich > mehr nötig. Ein HM604 z.B. gibt auch 1 MHz aus, allerdings nur mit 2 Vss > - ob das reicht? Also für meine Rettungsfälle hat es immer gereicht. Ist bei 5V Betrieb nicht ganz in der Spec, aber dieser Pegel war nie das Problem.
> nicht ganz in der Spec
Das ist gut - im Datenblatt des genannten ATmega8 lese ich 0.8 Ucc, bei
5.0 V wären das also 4.0 gegenüber den 2.0 Vss.
Aber danke, ich werde es mir merken und bei Gelegenheit mal
ausprobieren, allerdings an einem Neueren, ein ATmega8 fehlt in meiner
Sammlung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.