Forum: Mikrocontroller und Digitale Elektronik Verschiedene AVR Mega8?


von Armin (Gast)


Lesenswert?

Hallo,
ich habe für Atmel Mega8 einen DCC Decoder programmiert, der die Signale 
liest (Interrupt bei Flanke an PD2), decodiert und dann per RS232 an den 
PC schickt (zur Kontrolle). Mein Problem ist, dass ein und das selbe 
Programm (selbe hex-Datei) auf dem einen Mega8 fehlerfrei funktioniert, 
auf manchen anderen nicht (im Programmierboard). Bei den problematischen 
bekomme ich dann nur sporadisch ein decodiertes Paket (per RS232 
geschickt) auf dem PC zu sehen. Mit den "funktionierenden" MCs wird 
jeder DCC Befehl innerhalb einer Sekunde angezeigt (F-Tasten etc). Ich 
habe schon die Einstellungen (Taktfrequenz, Startbedingungen etc.) 
verglichen und habe keinen Unterschied feststellen könen. Das 
Programmierboard ist ein STK 600, das Schreiben des Programms in die MCs 
funktioniert fehlerfrei. Da ich nicht glaube dass mehrere der Mega8 
defekt sind, denke ich, dass ich noch irgendwas übersehen habe, nur was? 
Es kann Zufall sein, aber die funktionierenden haben die Aufschrift 
"Atmel 0953G ATMEGA8-16PU", die (bei mir zumindest bei diesem Programm) 
problematischen "Atmel 0903G ATMEGA8-16PU". Gibt es da Unterschiede? Im 
Web habe ich dazu nichts gefunden.

Ich habe an vielen Stellen gesehen dass das DCC Signal über eine 
Schaltung mit Optokoppler an den MC geleitet wird. Kann es dran liegen 
dass ich da nur einen 10K Widerstand zwischen einem DCC Draht und PD2 
bzw Masse nutze und manche MCs das nicht "mögen"? (Bin kein 
Elekroniker).

Auch wenn sich manche an den Kopf greifen :-), wäre ich für jeden 
Hinweis dankbar.

Viele Grüße
Armin

von Peter R. (pnu)


Lesenswert?

Wird der interne Takt oder quarzstabiler Takt verwendet ? bei internem 
Takt (mit RC-Oszillator) streut die Frequenz chargenbedingt so, dass 
dieser Fehler entstehen könnte. Da versuchsweise mit den entsprechenden 
fuses den Oszillator verstellen.

unwahrscheinlicher:
Eventuell ist die Quarzfrequenz gerade so an der Grenze des erlaubten 
Bereichs, dass dadurch der Fehler entsteht. Da versuchsweise die 
pF-Kondensatoren am Quarz ändern z.B. von 22p auf 12p oder umgekehrt.

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
Noch kein Account? Hier anmelden.