mega-AVRs - Leseprobleme

M

Michael Kamper

Guest
Hi!

Seit ein paar Tagen hab ich mich das erste mal an einen Mega-AVR gewagt.
Ok, eigentlich hatte ich noch nie Probleme mit AVRs und ich dachte das
würde auch so bleiben, aber dieser Mega treibt mich an den Rand des
Wahnsinns ;) Ich habe, abhängig von der Quarzfrequenz, riesige Probleme
beim Lesen der Teile, vom Programmieren möchte ich gar nicht sprechen...
Bei 4 MHz funktioniert noch alles einwandfrei, bei 8 MHz gehen die
Lesefehler los, bei 16 MHz wird der der AVR (ein atmega16) gar nicht
mehr erkannt! Als Programmierinterface verwende ich den SI-Prog. Die
Lesefehler sind auch sehr eigenartig. Die ersten paar Bytes funktioniert
das Auslesen problemlos, ich bekomme immer FF, danach kommen aber
plötzlich immer mehr oder weniger Zahlenreihen von 0 bis FF! Das ganze
scheint auch noch abhängig von der Kabellänge zum Programmieradapter zu
sein. Normalerweise ist das Verbindungskabel ca. 6m lang. Ich habe es
jetzt mal mit einem 2m Kabel probiert, da wurden die Lesefehler bei 8
MHz weniger, bei 16 MHz wird der Baustein sogar manchmal erkannt.

Kennt irgendjemand den Grund für solche eigenartigen Lesefehler
(Zahlenreihen von 0 - FF), kann mir irgendjemand weiterhelfen? Ist mein
AVR vielleicht schon tot? Wie gesagt, mit den "normalen" AVRs hatte ich
bei 8 MHz und langem Kabel noch nie Probleme.

Gruß
Michael
 
Am Sat, 08 Nov 2003 12:06:46 +0100 schrieb Michael Kamper:

plötzlich immer mehr oder weniger Zahlenreihen von 0 bis FF! Das ganze
scheint auch noch abhängig von der Kabellänge zum Programmieradapter zu
sein. Normalerweise ist das Verbindungskabel ca. 6m lang. Ich habe es
jetzt mal mit einem 2m Kabel probiert, da wurden die Lesefehler bei 8
MHz weniger, bei 16 MHz wird der Baustein sogar manchmal erkannt.
6m? Du meinst sechs _Meter_? Dann wundert mich nix. Mach die Leitung
1/10 so lang, dann koennte es gelingen.

Gruss
Michael
 
Am 08.11.03 13:46 schrieb Michael Linnemann:

plötzlich immer mehr oder weniger Zahlenreihen von 0 bis FF! Das ganze
scheint auch noch abhängig von der Kabellänge zum Programmieradapter zu
sein. Normalerweise ist das Verbindungskabel ca. 6m lang. Ich habe es
jetzt mal mit einem 2m Kabel probiert, da wurden die Lesefehler bei 8
MHz weniger, bei 16 MHz wird der Baustein sogar manchmal erkannt.

6m? Du meinst sechs _Meter_? Dann wundert mich nix. Mach die Leitung
1/10 so lang, dann koennte es gelingen.
Es handelt sich hierbei um das Kabel zwischen serieller Schnittstelle
und Programmieradapter. Zwischen Programmieradapter und AVR sind nochmal
ca. 15 cm. Wie gesagt, ich habe es schon mal mit einem 2m langem Kabel
probiert (das Kürzeste, das ich habe ;) Das brachte Verbesserungen, aber
immer noch Lesefehler.

Gruß
Michael
 
Michael Kamper wrote:

Am 08.11.03 13:46 schrieb Michael Linnemann:

plötzlich immer mehr oder weniger Zahlenreihen von 0 bis FF! Das
ganze scheint auch noch abhängig von der Kabellänge zum
Programmieradapter zu sein. Normalerweise ist das Verbindungskabel
ca. 6m lang. Ich habe es jetzt mal mit einem 2m Kabel probiert, da
wurden die Lesefehler bei 8 MHz weniger, bei 16 MHz wird der
Baustein sogar manchmal erkannt.

6m? Du meinst sechs _Meter_? Dann wundert mich nix. Mach die
Leitung 1/10 so lang, dann koennte es gelingen.

Es handelt sich hierbei um das Kabel zwischen serieller
Schnittstelle und Programmieradapter. Zwischen Programmieradapter
und AVR sind nochmal ca. 15 cm. Wie gesagt, ich habe es schon mal
mit einem 2m langem Kabel probiert (das Kürzeste, das ich habe ;)
Das brachte Verbesserungen, aber immer noch Lesefehler.
Was hast Du für einen Programmieradapter?

/Jan-Hinnerk
 
Am 08.11.03 15:04 schrieb Jan-Hinnerk Reichert:

Was hast Du für einen Programmieradapter?
Den "abgespeckten" SI-Prog wie hier [1] beschrieben.
Der Autor redet von maximal 2m Kabel zwischen Adapter und AVR.

Gruß
Michael

[1] http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
 
Am Sat, 08 Nov 2003 15:45:10 +0100 schrieb Michael Kamper:

Was hast Du für einen Programmieradapter?

Den "abgespeckten" SI-Prog wie hier [1] beschrieben.
Der Autor redet von maximal 2m Kabel zwischen Adapter und AVR.

[1] http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Also befindet sich nichts 'aktives' in der Naehe des Controllers. Die
Angabe von 2m kommt mir uebertrieben optimistisch vor.

Wie gesagt: versuch eine _wesentlich_ kuerzere Leitung. Dass das mit
ueblichen PC-Gehaeusen (Tower unter dem Tisch) unbequem ist, ist eben
der Preis fuer den billigen Programmieradapter.

Gruss
Michael
 
Michael Kamper wrote:

Den "abgespeckten" SI-Prog wie hier [1] beschrieben.
Der Autor redet von maximal 2m Kabel zwischen Adapter und AVR.
[1] http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Dann werde ich die Empfehlung wohl etwas überdenken müssen. Ich hatte
früher auch Kabel im Einsatz, die länger als 2m waren und diese
funktionierten mit "normalen" AVRs problemlos. Die ATmegas sind aber
etwas anders und machen Probleme. Nach Kürzung auf 2m waren die Probleme
weg, allerdings hatte ich bisher noch keinen ATmega mit 16MHz dran. Ich
werde das aber demnächst testen.

Tschüs ... Scott-Falk Hühn
--
Scott-Falk Hühn's Elektronik-Projekte: http://s-huehn.de/elektronik/
 
Am 08.11.03 22:20 schrieb Scott-Falk Huehn:

Dann werde ich die Empfehlung wohl etwas überdenken müssen. Ich hatte
früher auch Kabel im Einsatz, die länger als 2m waren und diese
funktionierten mit "normalen" AVRs problemlos. Die ATmegas sind aber
etwas anders und machen Probleme. Nach Kürzung auf 2m waren die Probleme
weg, allerdings hatte ich bisher noch keinen ATmega mit 16MHz dran. Ich
werde das aber demnächst testen.
Michael hat wohl Recht, selbst die 2m sind bei mir zu lang, ich habe
mein Kabel jetzt auf 1 m verkürzt, seitdem funktioniert es. Zufrieden
bin ich damit aber ganz und garnicht, irgendwie habe ich keine Lust
meine Schaltungen unter meinem Schreibtisch zu programmieren :( Ich habe
mal ein bischen mit einem Max232 rumgespielt, leider auch nur mit
mäßigem Erfolg.

Gruß
Michael
 
Michael Kamper schrieb:

Am 08.11.03 22:20 schrieb Scott-Falk Huehn:

Dann werde ich die Empfehlung wohl etwas überdenken müssen. Ich hatte
früher auch Kabel im Einsatz, die länger als 2m waren und diese
funktionierten mit "normalen" AVRs problemlos. Die ATmegas sind aber
etwas anders und machen Probleme. Nach Kürzung auf 2m waren die Probleme
weg, allerdings hatte ich bisher noch keinen ATmega mit 16MHz dran. Ich
werde das aber demnächst testen.

Michael hat wohl Recht, selbst die 2m sind bei mir zu lang, ich habe
mein Kabel jetzt auf 1 m verkürzt, seitdem funktioniert es. Zufrieden
bin ich damit aber ganz und garnicht, irgendwie habe ich keine Lust
meine Schaltungen unter meinem Schreibtisch zu programmieren :( Ich habe
mal ein bischen mit einem Max232 rumgespielt, leider auch nur mit
mäßigem Erfolg.
Vieleicht muß einfach das Kabel besser werden. Is es jetzt abgeschirmtes ?
Einfach mal Feritte in den Leitungen verwenden, kleine Kondesatoren nach Masse
?




Gruß
Michael
Andreas Ruetten
http://www.asratec.de
 
Michael Kamper wrote:

Michael hat wohl Recht, selbst die 2m sind bei mir zu lang, ich habe
mein Kabel jetzt auf 1 m verkürzt, seitdem funktioniert es. Zufrieden
bin ich damit aber ganz und garnicht, irgendwie habe ich keine Lust
meine Schaltungen unter meinem Schreibtisch zu programmieren :( Ich habe
mal ein bischen mit einem Max232 rumgespielt, leider auch nur mit
mäßigem Erfolg.
Man könnte es noch mit der Parallelport-Version probieren, aber ich
vermute, dass sich das Ergebnis nicht wesentlich von der seriellen
Version unterscheiden wird. Dann bleibt als Alternative wohl nur ein
aktives Interface mit Treiber-IC, oder (falls vorhanden) ein alter
Laptop, den man direkt neben die Schaltung stellen kann.
Ich werde meine Empfehlung für die Kabellänge auf 1m reduzieren und noch
ein paar Tests mit ATmegas bei höheren Taktfrequenzen durchführen.

Tschüs ... Scott-Falk Hühn
--
Scott-Falk Hühn's Elektronik-Projekte: http://s-huehn.de/elektronik/
 
Am 09.11.03 15:32 schrieb andreas ruetten:

Vieleicht muß einfach das Kabel besser werden. Is es jetzt abgeschirmtes ?
Einfach mal Feritte in den Leitungen verwenden, kleine Kondesatoren nach Masse
Ja, das Kabel ist abgeschirmt, ich werd es mal mit ein paar Ferriten
einkleiden ;) Allerdings denke ich, dass das Problem eher die Dämpfung
ist (siehe anderer Post).
Trotzdem, Danke für den Tipp!

Gruß
Michael
 
Am 09.11.03 15:44 schrieb Scott-Falk Huehn:

Man könnte es noch mit der Parallelport-Version probieren, aber ich
vermute, dass sich das Ergebnis nicht wesentlich von der seriellen
Version unterscheiden wird. Dann bleibt als Alternative wohl nur ein
aktives Interface mit Treiber-IC, oder (falls vorhanden) ein alter
Laptop, den man direkt neben die Schaltung stellen kann.
Ich werde meine Empfehlung für die Kabellänge auf 1m reduzieren und noch
ein paar Tests mit ATmegas bei höheren Taktfrequenzen durchführen.
Ich denke ich habe des Rätsels Lösung gefunden. Wie schon gesagt, hab
ich versucht v.a. den "Rückkanal", der ja direkt ohne Puffer an der
seriellen Schnittstelle hängt, mit einem max232 zu puffern. Das hat erst
gar nicht geklappt, bis ich herausgefunden habe, dass der max232 in die
Leitungen reinstört, was zu genau dem gleichen Fehlerphänomen führte wie
die lange Leitung. Ich hab jetzt eine kleine Abschirmung gebaut und
seitdem funktionieren auch die 6 m mit 16 Mhz wieder :) Am besten ist
aber denke ich wohl man puffert gleich alle Leitungen mit dem max232.

Gruß
Michael
 
Michael Kamper wrote:
Am 08.11.03 22:20 schrieb Scott-Falk Huehn:

[...]

Michael hat wohl Recht, selbst die 2m sind bei mir zu lang, ich habe
mein Kabel jetzt auf 1 m verkürzt, seitdem funktioniert es. Zufrieden
bin ich damit aber ganz und garnicht, irgendwie habe ich keine Lust
meine Schaltungen unter meinem Schreibtisch zu programmieren :( Ich habe
mal ein bischen mit einem Max232 rumgespielt, leider auch nur mit
mäßigem Erfolg.

Hallo Michael!

Setz in die Leitungen vom/zum AVR jeweils zwei Schmitttrigger-Inverter
aus der 74HCT-Serie in Reihe. Dann kannst Du das Kabel zwischen
Parallel- /Seirell-Interface locker 2m lang machen, wenn Du die Länge
zwischen dem Treiber und dem AVR nicht über 30-60cm werden läßt. Ich
versorge den HCT bei mir direkt aus der Zielschaltung. Geht ohne
Probleme, hier sogar mit ca 8m Verlängerung zwischen PC und Adapter.
Btw, ich nutze Ponyprog.

Gruß,

Ulrich
 
Am 10.11.03 09:16 schrieb Ulrich Prinz:

Setz in die Leitungen vom/zum AVR jeweils zwei Schmitttrigger-Inverter
aus der 74HCT-Serie in Reihe. Dann kannst Du das Kabel zwischen
Parallel- /Seirell-Interface locker 2m lang machen, wenn Du die Länge
zwischen dem Treiber und dem AVR nicht über 30-60cm werden läßt. Ich
versorge den HCT bei mir direkt aus der Zielschaltung. Geht ohne
Probleme, hier sogar mit ca 8m Verlängerung zwischen PC und Adapter.
Btw, ich nutze Ponyprog.
Das ist wohl auch eine Lösung. Ich habe das Problem jetzt mit einem
Max232 gelöst und bin glücklich auch weiterhin hier nicht alles komplett
umräumen zu müssen ;)

Gruß
Michael
 

Welcome to EDABoard.com

Sponsor

Back
Top